Added escape sequences to FC18 maisdoc
This commit is contained in:
parent
9078b2b60d
commit
d401b4c083
9 changed files with 158 additions and 29 deletions
|
|
@ -36,6 +36,11 @@ import org.x4o.fc18.cake2.FourCornerDotCakeTower;
|
||||||
import org.x4o.fc18.cake2.FourCornerX00PetitVide;
|
import org.x4o.fc18.cake2.FourCornerX00PetitVide;
|
||||||
import org.x4o.fc18.cake2.FourCornerX18CakePointDotName;
|
import org.x4o.fc18.cake2.FourCornerX18CakePointDotName;
|
||||||
import org.x4o.fc18.cake2.FourCornerX21CodePointSequence;
|
import org.x4o.fc18.cake2.FourCornerX21CodePointSequence;
|
||||||
|
import org.x4o.fc18.cake2.zero33.dec1.FCDotCMD5401Dash2D;
|
||||||
|
import org.x4o.fc18.cake2.zero33.dec1.FCDotDEC0801DashE10;
|
||||||
|
import org.x4o.fc18.cake2.zero33.dec1.FCDotINC0801DashP8;
|
||||||
|
import org.x4o.fc18.cake2.zero33.vt06.VTDash06DotZeroACursor;
|
||||||
|
import org.x4o.fc18.cake2.zero33.vt06.VTDash06DotZeroCClear;
|
||||||
import org.x4o.maisdoc.flake.MaisDocGenerator;
|
import org.x4o.maisdoc.flake.MaisDocGenerator;
|
||||||
import org.x4o.maisdoc.flake.DefaultPageWriterHelp;
|
import org.x4o.maisdoc.flake.DefaultPageWriterHelp;
|
||||||
import org.x4o.maisdoc.flake.DefaultPageWriterTree;
|
import org.x4o.maisdoc.flake.DefaultPageWriterTree;
|
||||||
|
|
@ -67,6 +72,7 @@ public class FCDocWriter {
|
||||||
private static final String[] C_FC_WORD = {"fc-word","Word","An FC18 word.","The word of an number."};
|
private static final String[] C_FC_WORD = {"fc-word","Word","An FC18 word.","The word of an number."};
|
||||||
private static final String[] C_FC_KD = {"fc-kd","Kanji","An kanji spec.","The format spec of kanji."};
|
private static final String[] C_FC_KD = {"fc-kd","Kanji","An kanji spec.","The format spec of kanji."};
|
||||||
private static final String[] C_FC_KDL = {"fc-kdl","Kanji Literal","An kanji literal.","The kanji defined literal."};
|
private static final String[] C_FC_KDL = {"fc-kdl","Kanji Literal","An kanji literal.","The kanji defined literal."};
|
||||||
|
private static final String[] C_FC_ESC = {"fc-esc","Escape Sequence","An escape sequence.","The escape sequences."};
|
||||||
|
|
||||||
private MaisDocGenerator writer = null;
|
private MaisDocGenerator writer = null;
|
||||||
private MaisDoc doc = null;
|
private MaisDoc doc = null;
|
||||||
|
|
@ -164,8 +170,9 @@ public class FCDocWriter {
|
||||||
|
|
||||||
doc.addTreeNodeClassExclude(TDocCakeWord.class);
|
doc.addTreeNodeClassExclude(TDocCakeWord.class);
|
||||||
doc.addTreeNodeClassExclude(KanjiDictLiteral.class);
|
doc.addTreeNodeClassExclude(KanjiDictLiteral.class);
|
||||||
doc.setFrameNavConceptClass(TDocCakeSlice.class);
|
doc.addTreeNodeClassExclude(TDocCakeWordEscape.class);
|
||||||
|
|
||||||
|
doc.setFrameNavConceptClass(TDocCakeSlice.class);
|
||||||
doc.addTreeNodePageModeClass(TDocCake.class);
|
doc.addTreeNodePageModeClass(TDocCake.class);
|
||||||
doc.addTreeNodePageModeClass(TDocCakeTower.class);
|
doc.addTreeNodePageModeClass(TDocCakeTower.class);
|
||||||
doc.addTreeNodePageModeClass(KanjiDict.class);
|
doc.addTreeNodePageModeClass(KanjiDict.class);
|
||||||
|
|
@ -178,7 +185,10 @@ public class FCDocWriter {
|
||||||
MaisDocConcept adc1 = doc.addConcept(new MaisDocConcept(null,C_FC_ROOT,TDocCake.class));
|
MaisDocConcept adc1 = doc.addConcept(new MaisDocConcept(null,C_FC_ROOT,TDocCake.class));
|
||||||
MaisDocConcept adc2 = doc.addConcept(new MaisDocConcept(adc1,C_FC_TOWER,TDocCakeTower.class));
|
MaisDocConcept adc2 = doc.addConcept(new MaisDocConcept(adc1,C_FC_TOWER,TDocCakeTower.class));
|
||||||
MaisDocConcept adc3 = doc.addConcept(new MaisDocConcept(adc2,C_FC_SLICE,TDocCakeSlice.class));
|
MaisDocConcept adc3 = doc.addConcept(new MaisDocConcept(adc2,C_FC_SLICE,TDocCakeSlice.class));
|
||||||
/*ApiDocConcept adc4 = */doc.addConcept(new MaisDocConcept(adc3,C_FC_WORD,TDocCakeWord.class));
|
MaisDocConcept adc4 = doc.addConcept(new MaisDocConcept(adc3,C_FC_WORD,TDocCakeWord.class));
|
||||||
|
|
||||||
|
MaisDocConcept sliceEscapeSeq = new MaisDocConcept(adc4,C_FC_ESC,TDocCakeWordEscape.class);
|
||||||
|
adc4.addChildConcept(sliceEscapeSeq);
|
||||||
|
|
||||||
MaisDocConcept kanjiDoc = new MaisDocConcept(adc1,C_FC_KD,KanjiDict.class);
|
MaisDocConcept kanjiDoc = new MaisDocConcept(adc1,C_FC_KD,KanjiDict.class);
|
||||||
MaisDocConcept kanjiDocLit = new MaisDocConcept(adc1,C_FC_KDL,KanjiDictLiteral.class);
|
MaisDocConcept kanjiDocLit = new MaisDocConcept(adc1,C_FC_KDL,KanjiDictLiteral.class);
|
||||||
|
|
@ -202,20 +212,45 @@ public class FCDocWriter {
|
||||||
}
|
}
|
||||||
MaisDocNode sliceNode = towerNode.addNode(createNodeCakeSlice(dotCake));
|
MaisDocNode sliceNode = towerNode.addNode(createNodeCakeSlice(dotCake));
|
||||||
for (int i = 0; i < dotCake.getLength(); i++) {
|
for (int i = 0; i < dotCake.getLength(); i++) {
|
||||||
/*ApiDocNode wordNode =*/ sliceNode.addNode(createNodeCakeWord(dotCake, i));
|
MaisDocNode wordNode = sliceNode.addNode(createNodeCakeWord(dotCake, i));
|
||||||
}
|
|
||||||
|
|
||||||
|
if (FourCornerDotCake.FC_DEC2701_PX0.equals(dotCake)) {
|
||||||
|
if ("ESC_DEC0801_E10".equals(wordNode.getName())) {
|
||||||
|
for (FCDotDEC0801DashE10 vide : FCDotDEC0801DashE10.values()) {
|
||||||
|
wordNode.addNode(createNodeCakeWordEscape(vide, vide.name()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ("ESC68_INC0801_P8".equals(wordNode.getName())) {
|
||||||
|
for (FCDotINC0801DashP8 vide : FCDotINC0801DashP8.values()) {
|
||||||
|
wordNode.addNode(createNodeCakeWordEscape(vide, vide.name()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ("ESC68_CMD5401_2D".equals(wordNode.getName())) {
|
||||||
|
for (FCDotCMD5401Dash2D vide : FCDotCMD5401Dash2D.values()) {
|
||||||
|
wordNode.addNode(createNodeCakeWordEscape(vide, vide.name()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ("ESC_VT06".equals(wordNode.getName())) {
|
||||||
|
for (VTDash06DotZeroACursor vide : VTDash06DotZeroACursor.values()) {
|
||||||
|
wordNode.addNode(createNodeCakeWordEscape(vide, vide.name()));
|
||||||
|
}
|
||||||
|
for (VTDash06DotZeroCClear vide : VTDash06DotZeroCClear.values()) {
|
||||||
|
wordNode.addNode(createNodeCakeWordEscape(vide, vide.name()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// TODO: print full 21 bit unicode range too
|
// TODO: print full 21 bit unicode range too
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (kanjiDict != null) {
|
if (kanjiDict != null) {
|
||||||
MaisDocNode kanjiDictNode208 = rootNode.addNode(createNodeKanjiDict("208"));
|
MaisDocNode kanjiDictNode208 = rootNode.addNode(createNodeKanjiDict("208"));
|
||||||
for (KanjiDictLiteral literal : kanjiDict.mapKuTen208Sorted()) {
|
for (KanjiDictLiteral literal : kanjiDict.mapKuTen208Sorted()) {
|
||||||
kanjiDictNode208.addNode(createNodeKanjiDictLiteral(literal, true));
|
kanjiDictNode208.addNode(createNodeKanjiDictLiteral(literal, literal.getKuTen208()));
|
||||||
}
|
}
|
||||||
MaisDocNode kanjiDictNode213 = rootNode.addNode(createNodeKanjiDict("213"));
|
MaisDocNode kanjiDictNode213 = rootNode.addNode(createNodeKanjiDict("213"));
|
||||||
for (KanjiDictLiteral literal : kanjiDict.mapKuTen213Sorted()) {
|
for (KanjiDictLiteral literal : kanjiDict.mapKuTen213Sorted()) {
|
||||||
kanjiDictNode213.addNode(createNodeKanjiDictLiteral(literal, false));
|
kanjiDictNode213.addNode(createNodeKanjiDictLiteral(literal, literal.getKuTen213()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return doc;
|
return doc;
|
||||||
|
|
@ -225,10 +260,8 @@ public class FCDocWriter {
|
||||||
return new MaisDocNode(kanjiDict, "jis_x_0" + version, "JIS X 0" + version, "Kanji JIS X 0" + version);
|
return new MaisDocNode(kanjiDict, "jis_x_0" + version, "JIS X 0" + version, "Kanji JIS X 0" + version);
|
||||||
}
|
}
|
||||||
|
|
||||||
private MaisDocNode createNodeKanjiDictLiteral(KanjiDictLiteral literal, boolean is208) {
|
private MaisDocNode createNodeKanjiDictLiteral(KanjiDictLiteral literal, String kuTen) {
|
||||||
//String hexPoint = Integer.toHexString(literal.getCodePoint()).toUpperCase();
|
|
||||||
String utfPoint = new StringBuilder().appendCodePoint(literal.getCodePoint()).toString();
|
String utfPoint = new StringBuilder().appendCodePoint(literal.getCodePoint()).toString();
|
||||||
String kuTen = is208?literal.getKuTen208():literal.getKuTen213();
|
|
||||||
String kuTenPath = kuTen.replaceAll("-", "_");
|
String kuTenPath = kuTen.replaceAll("-", "_");
|
||||||
String firstMean = "";
|
String firstMean = "";
|
||||||
if (literal.getMeaningDefault() != null) {
|
if (literal.getMeaningDefault() != null) {
|
||||||
|
|
@ -249,6 +282,15 @@ public class FCDocWriter {
|
||||||
return new MaisDocNode(new TDocCakeSlice(slice), slice.name(), slice.nameSpec(), slice.description());
|
return new MaisDocNode(new TDocCakeSlice(slice), slice.name(), slice.nameSpec(), slice.description());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private MaisDocNode createNodeCakeWordEscape(FourCornerX00PetitVide vide, String name) {
|
||||||
|
String desc = name;
|
||||||
|
// Optional<FourCornerX06BaklavaPointSequence> x06BaklavaSequence = vide.kaasX06BaklavaSequence();
|
||||||
|
// if (x06BaklavaSequence.isPresent()) {
|
||||||
|
// desc = x06BaklavaSequence.get().baklavaPointSequence().stream().map(v -> FCDotCDC1604DashP6.valueOf(v).name()).collect(Collectors.joining(", "));
|
||||||
|
// }
|
||||||
|
return new MaisDocNode(new TDocCakeWordEscape(vide), name, name ,desc);
|
||||||
|
}
|
||||||
|
|
||||||
private MaisDocNode createNodeCakeWord(FourCornerDotCake dotCake, int offset) {
|
private MaisDocNode createNodeCakeWord(FourCornerDotCake dotCake, int offset) {
|
||||||
int cakePoint = dotCake.getStart() + offset;
|
int cakePoint = dotCake.getStart() + offset;
|
||||||
String idStr = String.format("0x%06X", cakePoint);
|
String idStr = String.format("0x%06X", cakePoint);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2004-2014, Willem Cazander
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||||
|
* that the following conditions are met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||||
|
* following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||||
|
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||||
|
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||||
|
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
package love.distributedrebirth.nx01.mushroom.mais.fc18;
|
||||||
|
|
||||||
|
import org.x4o.fc18.cake2.FourCornerX00PetitVide;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cake slice escape sequence doc model type.
|
||||||
|
*
|
||||||
|
* @author Willem Cazander
|
||||||
|
* @version 1.0 May 22, 2025
|
||||||
|
*/
|
||||||
|
public class TDocCakeWordEscape {
|
||||||
|
|
||||||
|
private final FourCornerX00PetitVide value;
|
||||||
|
|
||||||
|
public TDocCakeWordEscape(FourCornerX00PetitVide value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FourCornerX00PetitVide getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -38,12 +38,14 @@ import org.x4o.fc18.cake2.FourCornerX21CodePointSequence;
|
||||||
import org.x4o.maisdoc.flake.MaisDocContentCss;
|
import org.x4o.maisdoc.flake.MaisDocContentCss;
|
||||||
import org.x4o.maisdoc.flake.MaisDocContentWriter;
|
import org.x4o.maisdoc.flake.MaisDocContentWriter;
|
||||||
import org.x4o.maisdoc.flake.MaisDocNodeWriterMethod;
|
import org.x4o.maisdoc.flake.MaisDocNodeWriterMethod;
|
||||||
|
import org.x4o.maisdoc.model.MaisDocConcept;
|
||||||
import org.x4o.maisdoc.model.MaisDocNode;
|
import org.x4o.maisdoc.model.MaisDocNode;
|
||||||
import org.x4o.maisdoc.model.MaisDocNodeBody;
|
import org.x4o.maisdoc.model.MaisDocNodeBody;
|
||||||
import org.x4o.maisdoc.model.MaisDocWriteEvent;
|
import org.x4o.maisdoc.model.MaisDocWriteEvent;
|
||||||
import org.x4o.fc18.cake2.FourCornerX00PetitVide;
|
import org.x4o.fc18.cake2.FourCornerX00PetitVide;
|
||||||
import org.x4o.sax3.SAX3WriterHtml.Tag;
|
import org.x4o.sax3.SAX3WriterHtml.Tag;
|
||||||
|
|
||||||
|
import love.distributedrebirth.nx01.mushroom.mais.fc18.TDocCakeWordEscape;
|
||||||
import love.distributedrebirth.nx01.mushroom.mais.fc18.TDocCakeWord;
|
import love.distributedrebirth.nx01.mushroom.mais.fc18.TDocCakeWord;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -54,18 +56,51 @@ import love.distributedrebirth.nx01.mushroom.mais.fc18.TDocCakeWord;
|
||||||
*/
|
*/
|
||||||
public class FCDocSegmentWriterCakeWord implements FCDocSegmentWriter {
|
public class FCDocSegmentWriterCakeWord implements FCDocSegmentWriter {
|
||||||
|
|
||||||
@MaisDocNodeWriterMethod(nodeBody=MaisDocNodeBody.SUMMARY,targetClasses={TDocCakeWord.class})
|
//@MaisDocNodeWriterMethod(nodeBody=MaisDocNodeBody.DETAIL, targetClasses={TDocCakeWord.class}, nodeBodyOrders=20)
|
||||||
public void writeCakeWordSummary(MaisDocWriteEvent<MaisDocNode> event) throws IOException {
|
public void writeDefaultSummary(MaisDocWriteEvent<MaisDocNode> event) throws IOException {
|
||||||
|
// NOTE: copyed from defaultWriteSummary as that only called with zero summaries + changes name end in; Words
|
||||||
MaisDocContentWriter writer = event.getWriter();
|
MaisDocContentWriter writer = event.getWriter();
|
||||||
TDocCakeWord word = event.getEventObject().toUserData(TDocCakeWord.class);
|
MaisDocNode parent = event.getEventObject();
|
||||||
FourCornerX00PetitVide[] videPoints = word.getSlice().getVidePoints();
|
MaisDocConcept concept = event.getDoc().findConceptByClass(parent.getUserData().getClass());
|
||||||
if (videPoints.length == 0) {
|
List<MaisDocNode> nodes = parent.getNodes();
|
||||||
writer.printTagStart(Tag.pre);
|
if (nodes.isEmpty()) {
|
||||||
writer.printCharacters("No PetitVide data for: " + word.toString());
|
|
||||||
writer.printTagEnd(Tag.pre);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
FourCornerX00PetitVide videPoint = videPoints[word.getOffset()];
|
String name = concept.getName()+" Escape Sequences";
|
||||||
|
writer.docTableStart(name, "All childeren in "+name,MaisDocContentCss.overviewSummary);
|
||||||
|
writer.docTableHeader("Name", "Description");
|
||||||
|
for (MaisDocNode child : nodes) {
|
||||||
|
String link = MaisDocContentWriter.toSafeUri(child.getId())+"/index.html";
|
||||||
|
if (parent.getParent()==null) {
|
||||||
|
link = MaisDocContentWriter.toSafeUri(parent.getId())+"/"+link; // root node
|
||||||
|
}
|
||||||
|
writer.docTableRowLink(link,child.getName(),child.getDescription());
|
||||||
|
}
|
||||||
|
writer.docTableEnd();
|
||||||
|
}
|
||||||
|
|
||||||
|
@MaisDocNodeWriterMethod(nodeBody=MaisDocNodeBody.SUMMARY,targetClasses={TDocCakeWord.class, TDocCakeWordEscape.class}, nodeBodyOrders= {10, 10})
|
||||||
|
public void writeCakeWordSummary(MaisDocWriteEvent<MaisDocNode> event) throws IOException {
|
||||||
|
MaisDocContentWriter writer = event.getWriter();
|
||||||
|
FourCornerX00PetitVide videPoint = null;
|
||||||
|
|
||||||
|
if (TDocCakeWord.class.isAssignableFrom(event.getEventObject().getUserData().getClass())) {
|
||||||
|
TDocCakeWord word = event.getEventObject().toUserData(TDocCakeWord.class);
|
||||||
|
FourCornerX00PetitVide[] videPoints = word.getSlice().getVidePoints();
|
||||||
|
if (videPoints.length == 0) {
|
||||||
|
writer.printTagStart(Tag.pre);
|
||||||
|
writer.printCharacters("No PetitVide data for: " + word.toString());
|
||||||
|
writer.printTagEnd(Tag.pre);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
videPoint = videPoints[word.getOffset()];
|
||||||
|
} else if (TDocCakeWordEscape.class.isAssignableFrom(event.getEventObject().getUserData().getClass())) {
|
||||||
|
TDocCakeWordEscape seq = event.getEventObject().toUserData(TDocCakeWordEscape.class);
|
||||||
|
videPoint = seq.getValue();
|
||||||
|
} else {
|
||||||
|
throw new IllegalStateException("Unsupported event object: " + event.getEventObject().getUserData().getClass());
|
||||||
|
}
|
||||||
|
|
||||||
Optional<FourCornerX21CodePointSequence> x21CodeDisplay = videPoint.kaasX21CodeSequence();
|
Optional<FourCornerX21CodePointSequence> x21CodeDisplay = videPoint.kaasX21CodeSequence();
|
||||||
Optional<FourCornerX06BaklavaPointSequence> x06BaklavaSequence = videPoint.kaasX06BaklavaSequence();
|
Optional<FourCornerX06BaklavaPointSequence> x06BaklavaSequence = videPoint.kaasX06BaklavaSequence();
|
||||||
Optional<FourCornerX08MuffinPointSequence> x08MuffinSequence = videPoint.kaasX08MuffinSequence();
|
Optional<FourCornerX08MuffinPointSequence> x08MuffinSequence = videPoint.kaasX08MuffinSequence();
|
||||||
|
|
@ -74,7 +109,7 @@ public class FCDocSegmentWriterCakeWord implements FCDocSegmentWriter {
|
||||||
|
|
||||||
writer.docTableStart("Word Summary", "The cake word point value information.",MaisDocContentCss.overviewSummary);
|
writer.docTableStart("Word Summary", "The cake word point value information.",MaisDocContentCss.overviewSummary);
|
||||||
writer.docTableHeader("Point", "Value");
|
writer.docTableHeader("Point", "Value");
|
||||||
String name = word.toString();
|
String name = ""; //word.toString();
|
||||||
String value = "";
|
String value = "";
|
||||||
if (x18DotName.isPresent()) {
|
if (x18DotName.isPresent()) {
|
||||||
name = x18DotName.get().name();
|
name = x18DotName.get().name();
|
||||||
|
|
@ -138,5 +173,10 @@ public class FCDocSegmentWriterCakeWord implements FCDocSegmentWriter {
|
||||||
writer.docTableRow("Bottom", cornerKerning.coinCarneFrapper().kerningBottom().name());
|
writer.docTableRow("Bottom", cornerKerning.coinCarneFrapper().kerningBottom().name());
|
||||||
writer.docTableEnd();
|
writer.docTableEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<MaisDocNode> nodes = event.getEventObject().getNodes();
|
||||||
|
if (!nodes.isEmpty()) {
|
||||||
|
writeDefaultSummary(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ import org.x4o.fc18.cake2.zero33.dec1.FCDotDEC2701DashPX0;
|
||||||
///
|
///
|
||||||
/// @author Willem Cazander
|
/// @author Willem Cazander
|
||||||
/// @version 1.0 Jan 20, 2025
|
/// @version 1.0 Jan 20, 2025
|
||||||
public interface FourCornerDotColleZero33VT extends FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence {
|
public interface FourCornerDotColleZero33VT extends FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence, FourCornerX18CakePointDotName {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
default List<Integer> muffinPointSequence() {
|
default List<Integer> muffinPointSequence() {
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import java.util.Optional;
|
||||||
|
|
||||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||||
|
import org.x4o.fc18.cake2.FourCornerX18CakePointDotName;
|
||||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||||
|
|
||||||
|
|
@ -38,7 +39,7 @@ import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||||
* @author Willem Cazander
|
* @author Willem Cazander
|
||||||
* @version 1.0 Jan 21, 2025
|
* @version 1.0 Jan 21, 2025
|
||||||
*/
|
*/
|
||||||
public enum FCDotCMD5401Dash2D implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence {
|
public enum FCDotCMD5401Dash2D implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence, FourCornerX18CakePointDotName {
|
||||||
|
|
||||||
/// Write out an basic spanish peace sign, a virtual none-excisting symbol.
|
/// Write out an basic spanish peace sign, a virtual none-excisting symbol.
|
||||||
CMD_F4TXT0001_SP(FCDotCDC1604DashP6.NX01_A),
|
CMD_F4TXT0001_SP(FCDotCDC1604DashP6.NX01_A),
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import java.util.Objects;
|
||||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||||
|
import org.x4o.fc18.cake2.FourCornerX18CakePointDotName;
|
||||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||||
|
|
||||||
|
|
@ -42,7 +43,7 @@ import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||||
* @author Willem Cazander
|
* @author Willem Cazander
|
||||||
* @version 1.0 Jan 21, 2025
|
* @version 1.0 Jan 21, 2025
|
||||||
*/
|
*/
|
||||||
public enum FCDotDEC0801DashE10 implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence {
|
public enum FCDotDEC0801DashE10 implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence, FourCornerX18CakePointDotName {
|
||||||
|
|
||||||
/// ¡¡¡
|
/// ¡¡¡
|
||||||
/// Back to normal dough
|
/// Back to normal dough
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import java.util.Objects;
|
||||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||||
|
import org.x4o.fc18.cake2.FourCornerX18CakePointDotName;
|
||||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||||
|
|
||||||
|
|
@ -38,7 +39,7 @@ import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||||
* @author Willem Cazander
|
* @author Willem Cazander
|
||||||
* @version 1.0 Jan 21, 2025
|
* @version 1.0 Jan 21, 2025
|
||||||
*/
|
*/
|
||||||
public enum FCDotINC0801DashP8 implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence {
|
public enum FCDotINC0801DashP8 implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence, FourCornerX18CakePointDotName {
|
||||||
|
|
||||||
/// ¡¡¡
|
/// ¡¡¡
|
||||||
/// Select APL page 7A mode.
|
/// Select APL page 7A mode.
|
||||||
|
|
|
||||||
|
|
@ -37,13 +37,13 @@ import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||||
public enum VTDash06DotZeroACursor implements FourCornerDotColleZero33VT {
|
public enum VTDash06DotZeroACursor implements FourCornerDotColleZero33VT {
|
||||||
|
|
||||||
VT_CURSOR_UP(FCDotCDC1604DashP6.NX01_A),
|
VT_CURSOR_UP(FCDotCDC1604DashP6.NX01_A),
|
||||||
NX_CURSOR_DOWN(FCDotCDC1604DashP6.NX02_B),
|
VT_CURSOR_DOWN(FCDotCDC1604DashP6.NX02_B),
|
||||||
NX_CURSOR_RIGHT(FCDotCDC1604DashP6.NX03_C),
|
VT_CURSOR_RIGHT(FCDotCDC1604DashP6.NX03_C),
|
||||||
NX_CURSOR_LEFT(FCDotCDC1604DashP6.NX04_D),
|
VT_CURSOR_LEFT(FCDotCDC1604DashP6.NX04_D),
|
||||||
// E
|
// E
|
||||||
// F
|
// F
|
||||||
NX_CURSOR_GOTO(FCDotCDC1604DashP6.NX07_G),
|
VT_CURSOR_GOTO(FCDotCDC1604DashP6.NX07_G),
|
||||||
NX_CURSOR_HOME(FCDotCDC1604DashP6.NX08_H),
|
VT_CURSOR_HOME(FCDotCDC1604DashP6.NX08_H),
|
||||||
;
|
;
|
||||||
|
|
||||||
private FCDotCDC1604DashP6 actionGroup;
|
private FCDotCDC1604DashP6 actionGroup;
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public class FCDotVT06Test {
|
||||||
@Test
|
@Test
|
||||||
public void testCusorGoto() throws Exception {
|
public void testCusorGoto() throws Exception {
|
||||||
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
|
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
|
||||||
cdc.add(VTDash06DotZeroACursor.NX_CURSOR_GOTO);
|
cdc.add(VTDash06DotZeroACursor.VT_CURSOR_GOTO);
|
||||||
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.toDecimalsX06(123)); // TODO: fix these are the wrong, we need to use the txt grams version
|
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.toDecimalsX06(123)); // TODO: fix these are the wrong, we need to use the txt grams version
|
||||||
cdc.add(FCDotCDC1604DashP6._RAKA_QUESTION);
|
cdc.add(FCDotCDC1604DashP6._RAKA_QUESTION);
|
||||||
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.toDecimalsX06(456));
|
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.toDecimalsX06(456));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue