Added escape sequences to FC18 maisdoc

This commit is contained in:
Willem Cazander 2025-05-23 01:57:14 +02:00
parent 9078b2b60d
commit d401b4c083
9 changed files with 158 additions and 29 deletions

View file

@ -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);

View file

@ -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;
}
}

View file

@ -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);
}
} }
} }

View file

@ -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() {

View file

@ -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),

View file

@ -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

View file

@ -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.

View file

@ -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;

View file

@ -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));