WIP rework of ESC sequences into ~V4
This commit is contained in:
parent
39c388f145
commit
de8469f6f9
|
@ -33,6 +33,7 @@ import org.x4o.fc18.cake2.FourCornerX00PetitVide;
|
|||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||
import org.x4o.fc18.cake2.pie9d.FCDotPIE9DDash09;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.zion7.FourCornerZion7Candlelier;
|
||||
import org.x4o.fc18.zion7.FourCornerZionStenoLexer;
|
||||
|
@ -128,27 +129,26 @@ public class FourCornerUnicodeDisplay {
|
|||
}
|
||||
|
||||
private boolean printedEscape(FourCornerDotCake slice, int offset) {
|
||||
// TODO: get from PIE and update as we changed the escape code layout
|
||||
|
||||
if (FourCornerDotCake.FC_CDC1604_P6.equals(slice)) {
|
||||
if (offset < 4) {
|
||||
output.appendCodePoint(FCDotCDC1604DashP6.escapeSignUnicode(offset));
|
||||
output.appendCodePoint(FCDotPIE9DDash09.values()[offset].codePointDotIndex());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (FourCornerDotCake.FC_DEC0127_PX0.equals(slice)) {
|
||||
if (offset < 6) {
|
||||
output.appendCodePoint(FCDotCDC1604DashP6.escapeSignUnicode(offset));
|
||||
return true;
|
||||
}
|
||||
output.appendCodePoint(FCDotPIE9DDash09.IMG_ESC_DEC.codePointDotIndex());
|
||||
}
|
||||
if (FourCornerDotCake.FC_UWU0101_S1.equals(slice)) {
|
||||
output.appendCodePoint(' '); // TMP hack
|
||||
return true;
|
||||
}
|
||||
if (FourCornerDotCake.FC_TTY0001_NL.equals(slice)) {
|
||||
output.appendCodePoint('\n'); // TMP hack
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Add to pie; +(other escape signs)
|
||||
// U+FFFC  OBJECT REPLACEMENT CHARACTER,
|
||||
// U+FFFD <EFBFBD> REPLACEMENT CHARACTER
|
||||
|
||||
@Override
|
||||
public void strobeWords(FourCornerDotCake slice, List<Integer> offsets) {
|
||||
for (int i = 0; i < offsets.size(); i++) {
|
||||
|
|
|
@ -31,7 +31,10 @@ import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
|||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE10;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE16;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE19;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
|
||||
/// Imports unicode as four corner BASIC text from the "FC.CDC1604-P6" code page.
|
||||
///
|
||||
|
@ -55,7 +58,7 @@ public class FourCornerUnicodeImport {
|
|||
}
|
||||
|
||||
static public FourCornerUnicodeImport lossy() {
|
||||
return new FourCornerUnicodeImport(true, false, List.of(FCDotCDC1604DashP6.SEQ_QUESTION));
|
||||
return new FourCornerUnicodeImport(true, false, List.of(FCDotCDC1604DashP6._RAKA_QUESTION)); // TODO: change
|
||||
}
|
||||
|
||||
public List<Integer> convertToInt18(String text) {
|
||||
|
@ -98,8 +101,11 @@ public class FourCornerUnicodeImport {
|
|||
ImportState ctx = new ImportState(bits, text.codePoints().iterator(), new ArrayList<>(text.length()));
|
||||
while (ctx.input.hasNext()) {
|
||||
ctx.codePoint = ctx.input.nextInt();
|
||||
if (handleReturnTypes(ctx)) {
|
||||
continue; // \r\n and \r are not mapped, so handle with code
|
||||
if (handleDataGramWordSpacerTypes(ctx)) {
|
||||
continue; // handle white space
|
||||
}
|
||||
if (handleTypeWriterStructureTypes(ctx)) {
|
||||
continue; // \r\n and \r and \n, to manual escape
|
||||
}
|
||||
if (handleNumber(ctx)) {
|
||||
continue; // Handle number sequences manual, to escape once
|
||||
|
@ -133,11 +139,28 @@ public class FourCornerUnicodeImport {
|
|||
err.append(Integer.toHexString(ctx.codePoint));
|
||||
return err.toString();
|
||||
}
|
||||
|
||||
private boolean handleDataGramWordSpacerTypes(ImportState ctx) {
|
||||
if (' ' == ctx.codePoint) {
|
||||
ctx.reset();
|
||||
ctx.output.add(FCDotDEC2701DashPX0.ESC_DEC0801_E10);
|
||||
ctx.output.add(FCDotDEC0801DashE10.E10_UWU0101_S1);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean handleReturnTypes(ImportState ctx) {
|
||||
private boolean handleTypeWriterStructureTypes(ImportState ctx) {
|
||||
if ('\n' == ctx.codePoint) {
|
||||
ctx.reset();
|
||||
ctx.output.add(FCDotDEC2701DashPX0.ESC68_DEC0801_E19);
|
||||
ctx.output.add(FCDotDEC0801DashE19.TYPE_WRITER_TTY0001_NL);
|
||||
return true;
|
||||
}
|
||||
if ('\r' == ctx.codePoint) {
|
||||
ctx.reset();
|
||||
ctx.output.add(FCDotCDC1604DashP6._NEWLINE);
|
||||
ctx.output.add(FCDotDEC2701DashPX0.ESC68_DEC0801_E19);
|
||||
ctx.output.add(FCDotDEC0801DashE19.TYPE_WRITER_TTY0001_NL);
|
||||
if (!ctx.input.hasNext()) {
|
||||
return true; // = no next is continue to next, to exit while above
|
||||
}
|
||||
|
@ -146,7 +169,7 @@ public class FourCornerUnicodeImport {
|
|||
return true; // eat \n to have one newline
|
||||
}
|
||||
}
|
||||
return false; // normal /n is handles by generic lookup
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean handleDictionary(ImportState ctx) {
|
||||
|
@ -180,9 +203,9 @@ public class FourCornerUnicodeImport {
|
|||
if (ctx.codePoint >= '0' && ctx.codePoint <= '9') {
|
||||
if (!FCDotCDC1604DashP6.NX10_J.equals(ctx.cdcNumberTerminator)) {
|
||||
if (ctx.bits == 6) {
|
||||
ctx.output.addAll(FCDotDEC0127DashPX0.ESC68_PIE.toX06BaklavaPoints(FCDotCDC1604DashP6.NX10_J));
|
||||
ctx.output.addAll(toX06BaklavaPoints(FCDotDEC0801DashE16.ESC68_PIE, FCDotCDC1604DashP6.NX10_J));
|
||||
} else {
|
||||
ctx.output.addAll(FCDotDEC0127DashPX0.ESC68_PIE.toX08MuffinPoints(FCDotCDC1604DashP6.NX10_J));
|
||||
ctx.output.addAll(toX08MuffinPoints(FCDotDEC0801DashE16.ESC68_PIE, FCDotCDC1604DashP6.NX10_J));
|
||||
}
|
||||
ctx.cdcNumberTerminator = FCDotCDC1604DashP6.NX10_J;
|
||||
}
|
||||
|
@ -193,11 +216,10 @@ public class FourCornerUnicodeImport {
|
|||
}
|
||||
if (ctx.cdcNumberTerminator != null) {
|
||||
ctx.cdcNumberTerminator = null;
|
||||
//ctx.output.add(FCDotDEC0127DashP7G.ESC_STOP);
|
||||
if (ctx.bits == 6) {
|
||||
ctx.output.addAll(FCDotDEC0127DashPX0.ESC_STOP.toX06BaklavaPoints());
|
||||
ctx.output.addAll(toX06BaklavaEscStop());
|
||||
} else {
|
||||
ctx.output.add(FCDotDEC0127DashPX0.ESC_STOP);
|
||||
ctx.output.add(FCDotDEC2701DashPX0.ESC_STOP);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -210,9 +232,9 @@ public class FourCornerUnicodeImport {
|
|||
if (ctx.codePoint >= 'a' && ctx.codePoint <= 'z') {
|
||||
if (!FCDotCDC1604DashP6.NX26_Z.equals(ctx.cdcCaseTerminator)) {
|
||||
if (ctx.bits == 6) {
|
||||
ctx.output.addAll(FCDotDEC0127DashPX0.ESC68_PIE.toX06BaklavaPoints(FCDotCDC1604DashP6.NX26_Z));
|
||||
ctx.output.addAll(toX06BaklavaPoints(FCDotDEC0801DashE16.ESC68_PIE, FCDotCDC1604DashP6.NX26_Z));
|
||||
} else {
|
||||
ctx.output.addAll(FCDotDEC0127DashPX0.ESC68_PIE.toX08MuffinPoints(FCDotCDC1604DashP6.NX26_Z));
|
||||
ctx.output.addAll(toX08MuffinPoints(FCDotDEC0801DashE16.ESC68_PIE, FCDotCDC1604DashP6.NX26_Z));
|
||||
}
|
||||
ctx.cdcCaseTerminator = FCDotCDC1604DashP6.NX26_Z;
|
||||
}
|
||||
|
@ -224,14 +246,40 @@ public class FourCornerUnicodeImport {
|
|||
if (ctx.cdcCaseTerminator != null) {
|
||||
ctx.cdcCaseTerminator = null;
|
||||
if (ctx.bits == 6) {
|
||||
ctx.output.addAll(FCDotDEC0127DashPX0.ESC_STOP.toX06BaklavaPoints());
|
||||
ctx.output.addAll(toX06BaklavaEscStop());
|
||||
} else {
|
||||
ctx.output.add(FCDotDEC0127DashPX0.ESC_STOP);
|
||||
ctx.output.add(FCDotDEC2701DashPX0.ESC_STOP);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private List<FourCornerX06BaklavaPointSequence> toX06BaklavaEscStop() {
|
||||
List<FourCornerX06BaklavaPointSequence> result = new ArrayList<>();
|
||||
result.addAll(FCDotDEC2701DashPX0.ESC_STOP.baklavaPointSequence().stream().map(v -> FCDotCDC1604DashP6.valueOf(v)).toList());
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<FourCornerX08MuffinPointSequence> toX08MuffinPoints(FCDotDEC0801DashE16 py1, FCDotCDC1604DashP6... letters) {
|
||||
List<FourCornerX08MuffinPointSequence> result = new ArrayList<>();
|
||||
result.add(FCDotDEC2701DashPX0.ESC68_DEC0801_E16);
|
||||
result.addAll(py1.muffinPointSequence().stream().map(v -> FCDotCDC1604DashP6.valueOf(v)).toList());
|
||||
for (FCDotCDC1604DashP6 letter : letters) {
|
||||
result.add(letter);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<FourCornerX06BaklavaPointSequence> toX06BaklavaPoints(FCDotDEC0801DashE16 py1, FCDotCDC1604DashP6... letters) {
|
||||
List<FourCornerX06BaklavaPointSequence> result = new ArrayList<>();
|
||||
result.addAll(FCDotDEC2701DashPX0.ESC68_DEC0801_E16.baklavaPointSequence().stream().map(v -> FCDotCDC1604DashP6.valueOf(v)).toList());
|
||||
result.addAll(py1.baklavaPointSequence().stream().map(v -> FCDotCDC1604DashP6.valueOf(v)).toList());
|
||||
for (FCDotCDC1604DashP6 letter : letters) {
|
||||
result.add(letter);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private boolean handleDiacritics(ImportState ctx) {
|
||||
if (convertDiacritics) {
|
||||
FCDotCDC1604DashP6 alias = checkDiacriticAlias(ctx.codePoint);
|
||||
|
|
|
@ -41,7 +41,7 @@ import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash10;
|
|||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash11;
|
||||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash20;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
|
||||
/// Holds conversion maps between four corner int18 and unicode int21 points.
|
||||
///
|
||||
|
@ -88,8 +88,6 @@ public enum FourCornerUnicodeMapper {
|
|||
}
|
||||
});
|
||||
}
|
||||
// Fix space
|
||||
int21ToVide.put((int)' ', FCDotCDC1604DashP6._SPACE);
|
||||
}
|
||||
|
||||
public List<Integer> findByX18(Integer letter) {
|
||||
|
@ -105,9 +103,8 @@ public enum FourCornerUnicodeMapper {
|
|||
if (cakePoints.isEmpty()) {
|
||||
return cakePoints;
|
||||
}
|
||||
boolean lostEnd = false;
|
||||
List<Integer> result = new ArrayList<>();
|
||||
|
||||
|
||||
Iterator<Integer> i = cakePoints.iterator();
|
||||
while (i.hasNext()) {
|
||||
int cakePoint = i.next();
|
||||
|
@ -118,11 +115,14 @@ public enum FourCornerUnicodeMapper {
|
|||
if (!i.hasNext()) {
|
||||
break;
|
||||
}
|
||||
result.addAll(FCDotDEC0127DashPX0.ESC68_FC18.toInt18BaklavaPoints());
|
||||
boolean closeEnd = true;
|
||||
result.addAll(FCDotDEC2701DashPX0.ESC68_FC18.baklavaPointSequence());
|
||||
while (i.hasNext()) {
|
||||
lostEnd = false;
|
||||
if (cakePoint < 64) {
|
||||
result.addAll(FCDotDEC0127DashPX0.ESC_SEQ_SALAH.toInt18BaklavaPoints());
|
||||
result.add(FCDotCDC1604DashP6._SALAH_EXCLAMATION.baklavaPointDotIndex());
|
||||
result.add(cakePoint);
|
||||
closeEnd = false;
|
||||
break;
|
||||
}
|
||||
for (int cakePointIdx=0;cakePointIdx<=6;cakePointIdx++) {
|
||||
|
@ -130,10 +130,14 @@ public enum FourCornerUnicodeMapper {
|
|||
int letter = octal + FCDotCDC1604DashP6.NX01_A.ordinal();
|
||||
result.add(letter);
|
||||
}
|
||||
if (!i.hasNext()) {
|
||||
result.addAll(FCDotDEC0127DashPX0.ESC_SEQ_SALAH.toInt18BaklavaPoints());
|
||||
}
|
||||
cakePoint = i.next();
|
||||
lostEnd = true;
|
||||
}
|
||||
if (closeEnd) {
|
||||
result.add(FCDotCDC1604DashP6._SALAH_EXCLAMATION.baklavaPointDotIndex());
|
||||
}
|
||||
if (lostEnd) {
|
||||
result.add(cakePoint);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
|
|
@ -56,7 +56,9 @@ import org.x4o.fc18.cake2.gram5.FCDotAMD0110DashSA;
|
|||
import org.x4o.fc18.cake2.gram5.FCDotBMW0102DashS2;
|
||||
import org.x4o.fc18.cake2.gram5.FCDotDNA0104DashS4;
|
||||
import org.x4o.fc18.cake2.gram5.FCDotIBM1616DashH8;
|
||||
import org.x4o.fc18.cake2.gram5.FCDotICL0126Dash9B;
|
||||
import org.x4o.fc18.cake2.gram5.FCDotNEC0105DashS5;
|
||||
import org.x4o.fc18.cake2.gram5.FCDotNES0127Dash9C;
|
||||
import org.x4o.fc18.cake2.gram5.FCDotNXP0103DashS3;
|
||||
import org.x4o.fc18.cake2.gram5.FCDotOCE0801DashH3;
|
||||
import org.x4o.fc18.cake2.gram5.FCDotOCE0808DashH6;
|
||||
|
@ -118,6 +120,7 @@ import org.x4o.fc18.cake2.pie9d.FCDotPIE9DDash24;
|
|||
import org.x4o.fc18.cake2.pie9d.FCDotPIE9DDash25;
|
||||
import org.x4o.fc18.cake2.pie9d.FCDotPIE9DDash26;
|
||||
import org.x4o.fc18.cake2.pie9d.FCDotPIE9DDash27;
|
||||
import org.x4o.fc18.cake2.tty00.FCDotTTY0001DashNL;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotAPL0127DashP7A;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotAPL0127DashP7B;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotAPL0127DashP7C;
|
||||
|
@ -125,7 +128,7 @@ import org.x4o.fc18.cake2.zero33.FCDotBYD0127DashP7D;
|
|||
import org.x4o.fc18.cake2.zero33.FCDotBYD0127DashP7E;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotBYD0127DashP7F;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
|
||||
/// The dot cake index of four corner 18 bit words in cake slices which holds the cake points.
|
||||
///
|
||||
|
@ -136,7 +139,7 @@ public enum FourCornerDotCake {
|
|||
// =========== Allow small terminators to take over 6 bit main frame computers
|
||||
|
||||
FC_CDC1604_P6(0, 64, FCDotCDC1604DashP6.values(), "Character Dough Cake"),
|
||||
FC_DEC0127_PX0(64, 27, FCDotDEC0127DashPX0.values(), "Direct or Escaped Control"),
|
||||
FC_DEC0127_PX0(64, 27, FCDotDEC2701DashPX0.values(), "Direct or Escaped Control"),
|
||||
|
||||
FC_APL0127_P7A(91, 27, FCDotAPL0127DashP7A.values(), "Array Programming Language P7A"),
|
||||
FC_APL0127_P7B(118, 27, FCDotAPL0127DashP7B.values(), "Array Programming Language P7B"),
|
||||
|
@ -217,8 +220,6 @@ public enum FourCornerDotCake {
|
|||
// - A 32 or 64 bit, like your current computer uses 21 bit unicode
|
||||
// - A 18 or 144 bit computer uses 72 bit unicode4D vector drawing
|
||||
|
||||
// TODO: move ESC_NETHER to struct(todo) block, as escape codes should not be used in real 18 bit (text) code.
|
||||
|
||||
// =========== Allow end-user select rendering of data gram packet per context
|
||||
|
||||
FC_BMW0102_S2(1024 - 12, 2, FCDotBMW0102DashS2.values(), "Binary Model Words, for bit 0 and bit 1 notation"),
|
||||
|
@ -226,19 +227,19 @@ public enum FourCornerDotCake {
|
|||
|
||||
/// Allow HEX to be displayed in Greek/Korean/Inuktitut/etc symbols.
|
||||
FC_IBM1616_H8(1024, 256, FCDotIBM1616DashH8.values(), "Interim Byte Mode, custom HEX codes"),
|
||||
FC_NES0127_9C(1280, 27, "Nigerian Extra Smile"),
|
||||
FC_ESC0109_S9(1307, 9, "Eccentric Symbol Code"),
|
||||
FC_NES0127_9C(1280, 27, FCDotNES0127Dash9C.values(), "Nigerian Extra Smile, hebrew gematria"),
|
||||
FC_ESC0109_S9(1307, 9, "Eccentric Symbol Code"), // TODO: rename and add enum
|
||||
FC_SCO0106_S6(1316, 6, FCDotSCO0106DashS6.values(), "Six Character Object"),
|
||||
FC_NXP0103_S3(1322, 3, FCDotNXP0103DashS3.values(), "Natural X-state Phasing, for high impedance (Hi-Z) signals"),
|
||||
FC_NEC0105_S5(1325, 5, FCDotNEC0105DashS5.values(), "New Endian Compass"),
|
||||
FC_W3C0107_S7(1330, 7, FCDotW3C0107DashS7.values(), "Water 3th Color"),
|
||||
/// See: https://www.ibm.com/docs/en/db2/11.5?topic=uce-code-page-coded-character-set-identifier-ccsid-numbers-unicode-graphic-data
|
||||
// TODO: check if ?? Remove CDC white space and newline !!!
|
||||
FC_UWU0101_S1(1337, 1, FCDotUWU0101DashS1.values(), "Universal White Unidad, word spacer indicator"),
|
||||
FC_DNA0104_S4(1338, 4, FCDotDNA0104DashS4.values(), "Direct Nuclear Air strike, of quadratonic values"),
|
||||
FC_ICL0126_9B(1342, 26, FCDotICL0126Dash9B.values(), "Intentional Cookie Linker, for lowcase monsters"),
|
||||
|
||||
/// Reserved for future data grams use
|
||||
__RESERVED_DATAGRAMS(1 + FC_DNA0104_S4.getStop(), 1464 - 1 - FC_DNA0104_S4.getStop()),
|
||||
__RESERVED_DATAGRAMS(1 + FC_ICL0126_9B.getStop(), 1464 - 1 - FC_ICL0126_9B.getStop()),
|
||||
|
||||
FC_OCE0801_H3(1464, 8, FCDotOCE0801DashH3.values(), "Octal Character Encoding, in Hinari 3 bit"),
|
||||
FC_OCE0808_H6(1472, 64, FCDotOCE0808DashH6.values(), "Octal Character Encoding, in Hinari 6 bit"),
|
||||
|
@ -303,18 +304,22 @@ public enum FourCornerDotCake {
|
|||
FC_CLK1K_Z(131072 + (1024*25), 1024, FCDotCLK1KDashZ.values()),
|
||||
FC_CLK1K_AMP(131072 + (1024*26), 1024/*, FCDotCLK1KDashAmp.values()*/),
|
||||
|
||||
// =========== Allow more data grams for legacy unicode and next generation unicode
|
||||
// =========== Allow structures,sandworms and legacy unicode an pieve of the cake
|
||||
|
||||
/// Text structure control indicators
|
||||
__RESERVED_STRUCT(1 + FC_CLK1K_AMP.getStop(), 0x27000 - 576 - 1 - FC_CLK1K_AMP.getStop(), "Reserved for STRUCT"),
|
||||
/// Tele Type Ytructure00 zero one New Line
|
||||
FC_TTY0001_NL(0x026C00, 1, FCDotTTY0001DashNL.values(), "TTY00 zero one New Line"),
|
||||
|
||||
/// Preamble of a sand worm body as a identifiable type header.
|
||||
/// Reserved tele type ytructure controls.
|
||||
__RESERVED_TTY00(0x026C00 + 1, 0x026DC0 - 0x026C00 - 1, "Reserved for TTY00"),
|
||||
|
||||
/// Preamble of a sand worm body as a identifiable type header or an Número2 Lingua tree key.
|
||||
/// Octal worm encoding are 192 unique octals in ordered sequence and have allowed length of 24/48/96 or 192.
|
||||
/// This mime-type like information and decoders can be fetched from the the nether DB.
|
||||
FC_SAND_OLGOI(0x27000 - 576, 576, "Large head of logoi worm"),
|
||||
FC_SAND_OLGOI(0x026DC0, 576, "Large head of logoi worm"),
|
||||
|
||||
/// To escape the question of undefined behavior, we define it as dark nether space, so we can see it in C++
|
||||
/// Undefined octal data which are packed big indian octals per 5, which is a 15 bit data gram in one 18 bit cake point.
|
||||
/// This can encode sand worm text data like icons, bitmap images or vector images and unicode4D/etc.
|
||||
/// This can encode sand worm text data like icons, bitmap images or vector images and unicode4D/etc like HolyC of TempleOS.
|
||||
FC_SAND_KHORKHOI(0x27000, 32768, "Sand octals of large khorkhoi"),
|
||||
|
||||
/// Support lower 11 bit of unicode to be encoded with one cake point.
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
*/
|
||||
package org.x4o.fc18.cake2;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
|
@ -36,7 +35,7 @@ public interface FourCornerDotColleCLK extends FourCornerX18CakePointDotIndex {
|
|||
|
||||
FourCornerDotColleCLKParler[] clockParlers();
|
||||
|
||||
default Optional<FourCornerDotColleCLKParler> getLookupOfMerde(FourCornerDotColleCLKParlerEau merde) {
|
||||
default Optional<FourCornerDotColleCLKParler> clockParlerEau(FourCornerDotColleCLKParlerEau merde) {
|
||||
for (FourCornerDotColleCLKParler lookup : clockParlers()) {
|
||||
if (lookup.parlerMerde() == merde) {
|
||||
return Optional.of(lookup);
|
||||
|
@ -44,9 +43,4 @@ public interface FourCornerDotColleCLK extends FourCornerX18CakePointDotIndex {
|
|||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
default List<Integer> cakePointSequence() {
|
||||
return List.of(cakePointDotIndex());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,16 +22,10 @@
|
|||
*/
|
||||
package org.x4o.fc18.cake2;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/// Parent interface for all data gram enums.
|
||||
///
|
||||
/// @author Willem Cazander
|
||||
/// @version 1.0 Jan 19, 2025
|
||||
public interface FourCornerDotColleGram5 extends FourCornerX18CakePointDotIndex {
|
||||
|
||||
@Override
|
||||
default List<Integer> cakePointSequence() {
|
||||
return List.of(cakePointDotIndex());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,8 +22,13 @@
|
|||
*/
|
||||
package org.x4o.fc18.cake2;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE16;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
|
||||
/// Parent interface for all PIE9C and PIE9D enum.
|
||||
///
|
||||
/// @author Willem Cazander
|
||||
|
@ -46,11 +51,6 @@ public interface FourCornerDotCollePie9 extends FourCornerX06BaklavaPointSequenc
|
|||
return letter;
|
||||
}
|
||||
|
||||
@Override
|
||||
default List<Integer> cakePointSequence() {
|
||||
return List.of(cakePointDotIndex());
|
||||
}
|
||||
|
||||
@Override
|
||||
default List<Integer> muffinPointSequence() {
|
||||
return baklavaPointSequence();
|
||||
|
@ -60,4 +60,24 @@ public interface FourCornerDotCollePie9 extends FourCornerX06BaklavaPointSequenc
|
|||
default FourCornerX00PetitVideCoinCarneFrapper coinCarneFrapper() {
|
||||
return FourCornerX00PetitVideCoinCarneFrapper.valueForNone();
|
||||
}
|
||||
|
||||
default List<Integer> baklavaPointsPIE9C(FCDotCDC1604DashP6 letter, int offset) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
result.addAll(FCDotDEC2701DashPX0.ESC68_DEC0801_E16.baklavaPointSequence());
|
||||
result.addAll(FCDotDEC0801DashE16.ESC68_PIE.baklavaPointSequence());
|
||||
result.add(letter.baklavaPointDotIndex());
|
||||
result.add(FCDotCDC1604DashP6.NX01_A.ordinal() + offset);
|
||||
//result.add(FCDotCDC1604DashP6.SEQ_SALAH__EXCLAMATION.cakePointDotIndex()); // TODO: add api layer snake for head
|
||||
return result;
|
||||
}
|
||||
|
||||
default List<Integer> baklavaPointsPIE9D(FCDotCDC1604DashP6 letter, int offset) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
result.addAll(FCDotDEC2701DashPX0.ESC68_DEC0801_E16.baklavaPointSequence());
|
||||
result.addAll(FCDotDEC0801DashE16.ESC68_PIE.baklavaPointSequence());
|
||||
result.add(letter.baklavaPointDotIndex());
|
||||
result.add(FCDotCDC1604DashP6.NY01_AT.ordinal() - offset);
|
||||
//result.add(FCDotCDC1604DashP6.SEQ_SALAH__EXCLAMATION.cakePointDotIndex()); // TODO: add api layer snake for head
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2;
|
||||
|
||||
/// Parent interface for all tele type ytructure's.
|
||||
///
|
||||
/// @author Willem Cazander
|
||||
/// @version 1.0 Jan 22, 2025
|
||||
public interface FourCornerDotColleTTY extends FourCornerX18CakePointDotIndex {
|
||||
|
||||
}
|
|
@ -29,17 +29,12 @@ import java.util.List;
|
|||
/// @author Willem Cazander
|
||||
/// @version 1.0 Jan 19, 2025
|
||||
public interface FourCornerDotColleZero33 extends FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointDotIndex, FourCornerX21CodePointDotIndex, FourCornerX00PetitVideCoinCarne {
|
||||
|
||||
|
||||
@Override
|
||||
default List<Integer> codePointSequence() {
|
||||
return List.of(codePointDotIndex());
|
||||
}
|
||||
|
||||
@Override
|
||||
default List<Integer> cakePointSequence() {
|
||||
return List.of(cakePointDotIndex());
|
||||
}
|
||||
|
||||
@Override
|
||||
default List<Integer> muffinPointSequence() {
|
||||
return cakePointSequence();
|
||||
|
|
|
@ -22,8 +22,12 @@
|
|||
*/
|
||||
package org.x4o.fc18.cake2;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
|
||||
/// Glue interface for the command VT enums.
|
||||
///
|
||||
/// @author Willem Cazander
|
||||
|
@ -34,4 +38,20 @@ public interface FourCornerDotColleZero33VT extends FourCornerX06BaklavaPointSeq
|
|||
default List<Integer> muffinPointSequence() {
|
||||
return cakePointSequence();
|
||||
}
|
||||
|
||||
default List<Integer> baklavaPointsVT06Action(FCDotCDC1604DashP6 group, FCDotCDC1604DashP6 action) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
result.addAll(FCDotDEC2701DashPX0.ESC_VT06.baklavaPointSequence());
|
||||
result.add(group.ordinal());
|
||||
result.add(action.ordinal());
|
||||
return result;
|
||||
}
|
||||
|
||||
default List<Integer> cakePointsVT06Action(FCDotCDC1604DashP6 group, FCDotCDC1604DashP6 action) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
result.add(FCDotDEC2701DashPX0.ESC_VT06.cakePointDotIndex());
|
||||
result.add(group.cakePointDotIndex());
|
||||
result.add(action.cakePointDotIndex());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
*/
|
||||
package org.x4o.fc18.cake2;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/// Number index retriever for four corner cake points.
|
||||
///
|
||||
/// @author Willem Cazander
|
||||
|
@ -30,4 +32,9 @@ public interface FourCornerX18CakePointDotIndex extends FourCornerX18CakePointSe
|
|||
|
||||
/// One cake piece weights 800 gram
|
||||
int cakePointDotIndex();
|
||||
|
||||
@Override
|
||||
default List<Integer> cakePointSequence() {
|
||||
return List.of(cakePointDotIndex());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2.gram5;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotColleGram5;
|
||||
|
||||
/**
|
||||
* "FC.ICL0126-9B" Four Corner Intentional Cookie Linker, for lowercase monsters.
|
||||
*
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Jan 22, 2025
|
||||
*/
|
||||
public enum FCDotICL0126Dash9B implements FourCornerDotColleGram5 {
|
||||
NXX_001,
|
||||
NXX_002,
|
||||
NXX_003,
|
||||
NXX_004,
|
||||
NXX_005,
|
||||
NXX_006,
|
||||
NXX_007,
|
||||
NXX_008,
|
||||
NXX_009,
|
||||
NXX_010,
|
||||
NXX_011,
|
||||
NXX_012,
|
||||
NXX_013,
|
||||
NXX_014,
|
||||
NXX_015,
|
||||
NXX_016,
|
||||
NXX_017,
|
||||
NXX_018,
|
||||
NXX_019,
|
||||
NXX_020,
|
||||
NXX_021,
|
||||
NXX_022,
|
||||
NXX_023,
|
||||
NXX_024,
|
||||
NXX_025,
|
||||
NXX_026,
|
||||
;
|
||||
|
||||
@Override
|
||||
public int cakePointDotIndex() {
|
||||
return FourCornerDotCake.FC_ICL0126_9B.getStart() + ordinal();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2.gram5;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotColleGram5;
|
||||
|
||||
/**
|
||||
* "FC.NES0127-9C" Four Corner Nigerian Extra Smile, hebrew gematria.
|
||||
*
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Jan 22, 2025
|
||||
*/
|
||||
public enum FCDotNES0127Dash9C implements FourCornerDotColleGram5 {
|
||||
NXX_001,
|
||||
NXX_002,
|
||||
NXX_003,
|
||||
NXX_004,
|
||||
NXX_005,
|
||||
NXX_006,
|
||||
NXX_007,
|
||||
NXX_008,
|
||||
NXX_009,
|
||||
NXX_010,
|
||||
NXX_011,
|
||||
NXX_012,
|
||||
NXX_013,
|
||||
NXX_014,
|
||||
NXX_015,
|
||||
NXX_016,
|
||||
NXX_017,
|
||||
NXX_018,
|
||||
NXX_019,
|
||||
NXX_020,
|
||||
NXX_021,
|
||||
NXX_022,
|
||||
NXX_023,
|
||||
NXX_024,
|
||||
NXX_025,
|
||||
NXX_026,
|
||||
NXX_027,
|
||||
;
|
||||
|
||||
@Override
|
||||
public int cakePointDotIndex() {
|
||||
return FourCornerDotCake.FC_NES0127_9C.getStart() + ordinal();
|
||||
}
|
||||
}
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_01.
|
||||
|
@ -48,7 +47,7 @@ public enum FCDotPIE9CDash01 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX01_A, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX01_A, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_02.
|
||||
|
@ -49,7 +48,7 @@ public enum FCDotPIE9CDash02 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX02_B, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX02_B, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_03.
|
||||
|
@ -50,7 +49,7 @@ public enum FCDotPIE9CDash03 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX03_C, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX03_C, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_04.
|
||||
|
@ -51,7 +50,7 @@ public enum FCDotPIE9CDash04 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX04_D, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX04_D, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_05.
|
||||
|
@ -52,7 +51,7 @@ public enum FCDotPIE9CDash05 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX05_E, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX05_E, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_06.
|
||||
|
@ -38,12 +37,12 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
|||
*/
|
||||
public enum FCDotPIE9CDash06 implements FourCornerDotCollePie9 {
|
||||
|
||||
NXX_1('⌽'), // ⌽ = FROM APL
|
||||
NXX_2('⊖'), // ⊖ = FROM APL
|
||||
NXX_3('⍉'), // ⍉ = FROM APL
|
||||
NXX_4('⌀'),
|
||||
NXX_5('⊗'), // ⊗ = FROM APL
|
||||
NXX_6('⊗'), // ⊗ = FROM APL
|
||||
NXX_1('⍟'), // ⍟ = FROM APL
|
||||
NXX_2('⊗'), // ⊗ = FROM APL
|
||||
NXX_3('⊗'), // ⊗ = FROM APL
|
||||
NXX_4('⊖'), // ⊖ = FROM APL
|
||||
NXX_5('⍉'), // ⍉ = FROM APL
|
||||
NXX_6('⌀'),
|
||||
;
|
||||
private final List<Integer> codePointDisplay;
|
||||
|
||||
|
@ -53,7 +52,7 @@ public enum FCDotPIE9CDash06 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX06_F, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX06_F, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_07.
|
||||
|
@ -38,13 +37,13 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
|||
*/
|
||||
public enum FCDotPIE9CDash07 implements FourCornerDotCollePie9 {
|
||||
|
||||
CJK_0('零'),
|
||||
CJK_4('四'),
|
||||
CJK_5('五'),
|
||||
CJK_6('六'),
|
||||
CJK_7('七'),
|
||||
CJK_8('八'),
|
||||
CJK_9('九'),
|
||||
NXX_01('♩'),
|
||||
NXX_02('♪'),
|
||||
NXX_03('♫'),
|
||||
NXX_04('♬'),
|
||||
NXX_05('♭'),
|
||||
NXX_06('♮'),
|
||||
NXX_07('♯'),
|
||||
;
|
||||
private final List<Integer> codePointDisplay;
|
||||
|
||||
|
@ -54,7 +53,7 @@ public enum FCDotPIE9CDash07 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX07_G, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX07_G, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_08.
|
||||
|
@ -55,7 +54,7 @@ public enum FCDotPIE9CDash08 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX08_H, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX08_H, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_09.
|
||||
|
@ -56,7 +55,7 @@ public enum FCDotPIE9CDash09 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX09_I, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX09_I, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -27,7 +27,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_10.
|
||||
|
@ -57,7 +56,7 @@ public enum FCDotPIE9CDash10 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX10_J, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX10_J, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_11.
|
||||
|
@ -58,7 +57,7 @@ public enum FCDotPIE9CDash11 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX11_K, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX11_K, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_12.
|
||||
|
@ -59,7 +58,7 @@ public enum FCDotPIE9CDash12 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX12_L, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX12_L, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_13.
|
||||
|
@ -60,7 +59,7 @@ public enum FCDotPIE9CDash13 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX13_M, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX13_M, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_14.
|
||||
|
@ -61,7 +60,7 @@ public enum FCDotPIE9CDash14 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX14_N, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX14_N, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_15.
|
||||
|
@ -62,7 +61,7 @@ public enum FCDotPIE9CDash15 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX15_O, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX15_O, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_16.
|
||||
|
@ -63,7 +62,7 @@ public enum FCDotPIE9CDash16 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX16_P, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX16_P, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_17.
|
||||
|
@ -64,7 +63,7 @@ public enum FCDotPIE9CDash17 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX17_Q, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX17_Q, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_18.
|
||||
|
@ -66,7 +65,7 @@ public enum FCDotPIE9CDash18 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX18_R, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX18_R, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_19.
|
||||
|
@ -66,7 +65,7 @@ public enum FCDotPIE9CDash19 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX19_S, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX19_S, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_20.
|
||||
|
@ -67,7 +66,7 @@ public enum FCDotPIE9CDash20 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX20_T, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX20_T, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_21.
|
||||
|
@ -68,7 +67,7 @@ public enum FCDotPIE9CDash21 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX21_U, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX21_U, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_22.
|
||||
|
@ -69,7 +68,7 @@ public enum FCDotPIE9CDash22 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX22_V, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX22_V, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_23.
|
||||
|
@ -70,7 +69,7 @@ public enum FCDotPIE9CDash23 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX23_W, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX23_W, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_24.
|
||||
|
@ -71,7 +70,7 @@ public enum FCDotPIE9CDash24 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX24_X, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX24_X, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_25.
|
||||
|
@ -74,7 +73,7 @@ public enum FCDotPIE9CDash25 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX25_Y, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX25_Y, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -30,7 +30,6 @@ import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
|||
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapper;
|
||||
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapperRetrait;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_26.
|
||||
|
@ -76,7 +75,7 @@ public enum FCDotPIE9CDash26 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX26_Z, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX26_Z, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_27.
|
||||
|
@ -74,7 +73,7 @@ public enum FCDotPIE9CDash27 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9C(FCDotCDC1604DashP6.NX27_AMPERSAND, ordinal());
|
||||
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX27_AMPERSAND, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_01.
|
||||
|
@ -38,7 +37,7 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
|||
*/
|
||||
public enum FCDotPIE9DDash01 implements FourCornerDotCollePie9 {
|
||||
|
||||
NXX_1('<EFBFBD>'),
|
||||
NXX_1('〄'),
|
||||
;
|
||||
private final List<Integer> codePointDisplay;
|
||||
|
||||
|
@ -48,7 +47,7 @@ public enum FCDotPIE9DDash01 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY01_AT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY01_AT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_02.
|
||||
|
@ -51,7 +50,7 @@ public enum FCDotPIE9DDash02 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY02_BAR_V_RIGHT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY02_BAR_V_RIGHT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_03.
|
||||
|
@ -50,7 +49,7 @@ public enum FCDotPIE9DDash03 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY03_BAR_V_LEFT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY03_BAR_V_LEFT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_04.
|
||||
|
@ -51,7 +50,7 @@ public enum FCDotPIE9DDash04 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY04_BAR_UNDER, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY04_BAR_UNDER, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_05.
|
||||
|
@ -58,7 +57,7 @@ public enum FCDotPIE9DDash05 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY05_BAR_VERTICAL, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY05_BAR_VERTICAL, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_06.
|
||||
|
@ -53,7 +52,7 @@ public enum FCDotPIE9DDash06 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY06_PERCENT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY06_PERCENT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_07.
|
||||
|
@ -54,7 +53,7 @@ public enum FCDotPIE9DDash07 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY07_DOLLAR, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY07_DOLLAR, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_08.
|
||||
|
@ -55,7 +54,7 @@ public enum FCDotPIE9DDash08 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY08_HASH, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY08_HASH, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_09.
|
||||
|
@ -38,15 +37,15 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
|||
*/
|
||||
public enum FCDotPIE9DDash09 implements FourCornerDotCollePie9 {
|
||||
|
||||
NXX_01(' '),
|
||||
NXX_02(' '),
|
||||
NXX_03(' '),
|
||||
NXX_04(' '),
|
||||
NXX_05(' '),
|
||||
NXX_06(' '),
|
||||
NXX_07(' '),
|
||||
NXX_08(' '),
|
||||
NXX_09(' '),
|
||||
IMG_ESC_NUL('␀'),
|
||||
IMG_ESC6_X1('␆'),
|
||||
IMG_ESC6_X2('␇'),
|
||||
IMG_ESC6_X3('␘'),
|
||||
IMG_ESC_DEC('␛'),
|
||||
IMG_NEWLINE(''),
|
||||
IMG_SPACE('␠'),
|
||||
IMG_OBJECT(''),
|
||||
IMG_UNKNOWN('<27>'),
|
||||
;
|
||||
private final List<Integer> codePointDisplay;
|
||||
|
||||
|
@ -56,7 +55,7 @@ public enum FCDotPIE9DDash09 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY09_EQUALS, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY09_EQUALS, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_10.
|
||||
|
@ -58,7 +57,7 @@ public enum FCDotPIE9DDash10 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY10_CARET, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY10_CARET, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_11.
|
||||
|
@ -58,7 +57,7 @@ public enum FCDotPIE9DDash11 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY11_BACKTICK, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY11_BACKTICK, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_12.
|
||||
|
@ -59,7 +58,7 @@ public enum FCDotPIE9DDash12 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY12_QUOTATION, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY12_QUOTATION, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_13.
|
||||
|
@ -60,7 +59,7 @@ public enum FCDotPIE9DDash13 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY13_APOSTROPHE, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY13_APOSTROPHE, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_14.
|
||||
|
@ -61,7 +60,7 @@ public enum FCDotPIE9DDash14 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY14_SEMICOLON, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY14_SEMICOLON, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_15.
|
||||
|
@ -62,7 +61,7 @@ public enum FCDotPIE9DDash15 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY15_COLON, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY15_COLON, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_16.
|
||||
|
@ -63,7 +62,7 @@ public enum FCDotPIE9DDash16 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY16_DOT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY16_DOT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_17.
|
||||
|
@ -64,7 +63,7 @@ public enum FCDotPIE9DDash17 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY17_COMMA, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY17_COMMA, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_18.
|
||||
|
@ -66,7 +65,7 @@ public enum FCDotPIE9DDash18 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY18_ASTERISK, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY18_ASTERISK, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_19.
|
||||
|
@ -66,7 +65,7 @@ public enum FCDotPIE9DDash19 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY19_MINUS, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY19_MINUS, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_20.
|
||||
|
@ -67,7 +66,7 @@ public enum FCDotPIE9DDash20 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY20_PLUS, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY20_PLUS, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_21.
|
||||
|
@ -68,7 +67,7 @@ public enum FCDotPIE9DDash21 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY21_TILDE, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY21_TILDE, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_22.
|
||||
|
@ -69,7 +68,7 @@ public enum FCDotPIE9DDash22 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY22_TAG_CURLY_RIGHT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY22_CURLY_RIGHT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_23.
|
||||
|
@ -70,7 +69,7 @@ public enum FCDotPIE9DDash23 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY23_TAG_CURLY_LEFT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY23_CURLY_LEFT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_24.
|
||||
|
@ -71,7 +70,7 @@ public enum FCDotPIE9DDash24 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY24_TAG_ROUND_RIGHT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY24_ROUND_RIGHT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,7 +28,6 @@ import java.util.List;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_25.
|
||||
|
@ -74,7 +73,7 @@ public enum FCDotPIE9DDash25 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY25_TAG_ROUND_LEFT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY25_ROUND_LEFT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -29,7 +29,6 @@ import org.x4o.fc18.cake2.FourCornerDotCake;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
||||
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapper;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_26.
|
||||
|
@ -74,7 +73,7 @@ public enum FCDotPIE9DDash26 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY26_TAG_SQUARE_RIGHT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY26_SQUARE_RIGHT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -30,7 +30,6 @@ import org.x4o.fc18.cake2.FourCornerDotCollePie9;
|
|||
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapper;
|
||||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash26;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* Pie slice number symbols for NXX_27.
|
||||
|
@ -82,7 +81,7 @@ public enum FCDotPIE9DDash27 implements FourCornerDotCollePie9 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC68_PIE.baklavaPointsPIE9D(FCDotCDC1604DashP6.NY27_TAG_SQUARE_LEFT, ordinal());
|
||||
return baklavaPointsPIE9D(FCDotCDC1604DashP6.NY27_SQUARE_LEFT, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2.tty00;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotColleTTY;
|
||||
|
||||
/**
|
||||
* "FC.TYY0001-NL" Four Corner Tele Type Ytucture00 zero one New Line with automatic carriage return.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Jan 22, 2025
|
||||
*/
|
||||
public enum FCDotTTY0001DashNL implements FourCornerDotColleTTY {
|
||||
|
||||
NEW_LINE,
|
||||
;
|
||||
|
||||
@Override
|
||||
public int cakePointDotIndex() {
|
||||
return FourCornerDotCake.FC_TTY0001_NL.getStart() + ordinal();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Type Type Ytucture Zero Zero enums.
|
||||
*
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
package org.x4o.fc18.cake2.tty00;
|
|
@ -114,7 +114,7 @@ public enum FCDotAPL0127DashP7A implements FourCornerDotColleZero33 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC6_APL0127_P7A.baklavaPointsP7(ordinal());
|
||||
return FCDotDEC0801DashE16.ESC6_APL0127_P7A.baklavaPointsE16(ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -118,7 +118,7 @@ public enum FCDotAPL0127DashP7B implements FourCornerDotColleZero33 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC6_APL0127_P7B.baklavaPointsP7(ordinal());
|
||||
return FCDotDEC0801DashE16.ESC6_APL0127_P7B.baklavaPointsE16(ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -120,7 +120,7 @@ public enum FCDotAPL0127DashP7C implements FourCornerDotColleZero33 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC6_APL0127_P7A.baklavaPointsP7(ordinal());
|
||||
return FCDotDEC0801DashE16.ESC6_APL0127_P7A.baklavaPointsE16(ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -76,7 +76,7 @@ public enum FCDotBYD0127DashP7D implements FourCornerDotColleZero33 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC6_BYD0127_P7D.baklavaPointsP7(ordinal());
|
||||
return FCDotDEC0801DashE16.ESC6_BYD0127_P7D.baklavaPointsE16(ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -76,7 +76,7 @@ public enum FCDotBYD0127DashP7E implements FourCornerDotColleZero33 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC6_BYD0127_P7E.baklavaPointsP7(ordinal());
|
||||
return FCDotDEC0801DashE16.ESC6_BYD0127_P7E.baklavaPointsE16(ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -75,7 +75,7 @@ public enum FCDotBYD0127DashP7F implements FourCornerDotColleZero33 {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC6_BYD0127_P7F.baklavaPointsP7(ordinal());
|
||||
return FCDotDEC0801DashE16.ESC6_BYD0127_P7F.baklavaPointsE16(ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -42,7 +42,7 @@ import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapperRetrait;
|
|||
/// @version 1.0 Dec 22, 2024
|
||||
///
|
||||
public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33 {
|
||||
// [__NUL][__PIE68][__NCR68][__ESC6] [_NEWLINE][_SPACE]?! <>[] (){}
|
||||
// [__NUL][_ESC6_X1][_ESC6_X2][_ESC6_X3] !?¡¿ <>[] (){}
|
||||
// ~+-* ,.:; '"`^ =#$%
|
||||
// |_\/ @ABC DEFG HIJK
|
||||
// LMNO PQRS TUVW XYZ&
|
||||
|
@ -54,20 +54,28 @@ public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33 {
|
|||
_ESC6_X1('\u0001'),
|
||||
_ESC6_X2('\u0002'),
|
||||
_ESC6_X3('\u0003'),
|
||||
_NEWLINE('\n'), // ESC_
|
||||
_SPACE(' '), // ESC_ here or move to DEC...
|
||||
SEQ_QUESTION('?'),
|
||||
SEQ_EXCLAMATION('!'),
|
||||
|
||||
SEQ_TAG_COMPARE_LEFT('<'), // apl/byd page lower + loop || pie/ncr terminator/denominatorm lower + loop
|
||||
SEQ_TAG_COMPARE_RIGHT('>'), // up
|
||||
NY27_TAG_SQUARE_LEFT('['),
|
||||
NY26_TAG_SQUARE_RIGHT(']'),
|
||||
NY25_TAG_ROUND_LEFT('('),
|
||||
NY24_TAG_ROUND_RIGHT(')'),
|
||||
NY23_TAG_CURLY_LEFT('{'),
|
||||
NY22_TAG_CURLY_RIGHT('}'),
|
||||
/// End of argumented escape sequence prayer.
|
||||
_SALAH_EXCLAMATION('!'),
|
||||
/// Next argument separator for escape sequences.
|
||||
_RAKA_QUESTION('?'),
|
||||
|
||||
/// Use 3 pepper marks, to spice up the escape sequences.
|
||||
_PEPPER_DOWNUP_EXCLAMATION('¡'),
|
||||
_PEPPER_DOWNUP_QUESTION('¿'),
|
||||
|
||||
/// Special Argument Lexer Token, to season escape sequences.
|
||||
/// For examples in ESC68_PIE; Move to left pie.
|
||||
_SALT_COMPARE_LEFT('<'),
|
||||
_SALT_COMPARE_RIGHT('>'),
|
||||
|
||||
/// Second set of number letters.
|
||||
NY27_SQUARE_LEFT('['),
|
||||
NY26_SQUARE_RIGHT(']'),
|
||||
NY25_ROUND_LEFT('('),
|
||||
NY24_ROUND_RIGHT(')'),
|
||||
NY23_CURLY_LEFT('{'),
|
||||
NY22_CURLY_RIGHT('}'),
|
||||
NY21_TILDE('~'),
|
||||
NY20_PLUS('+'),
|
||||
NY19_MINUS('-'),
|
||||
|
@ -84,12 +92,13 @@ public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33 {
|
|||
NY08_HASH('#'),
|
||||
NY07_DOLLAR('$'),
|
||||
NY06_PERCENT('%'),
|
||||
|
||||
NY05_BAR_VERTICAL('|'),
|
||||
NY04_BAR_UNDER('_'),
|
||||
NY03_BAR_V_LEFT('\\'),
|
||||
NY02_BAR_V_RIGHT('/'),
|
||||
NY01_AT('@'),
|
||||
|
||||
/// First set of number letters.
|
||||
/// The tone letter 'A' is "one", if your computer is expensive and has a lower-case char ROM, than this is 'a' after some pie glue.
|
||||
NX01_A('A'),
|
||||
NX02_B('B'),
|
||||
|
@ -127,7 +136,15 @@ public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33 {
|
|||
|
||||
private FCDotCDC1604DashP6(int codePoint) {
|
||||
this.codePoint = codePoint;
|
||||
this.baklavaSequence = List.of(ordinal());
|
||||
this.baklavaSequence = List.of(baklavaPointDotIndex());
|
||||
}
|
||||
|
||||
public int baklavaPointDotIndex() {
|
||||
return ordinal();
|
||||
}
|
||||
|
||||
public int muffinPointDotIndex() {
|
||||
return baklavaPointDotIndex();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -137,7 +154,7 @@ public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33 {
|
|||
|
||||
@Override
|
||||
public int cakePointDotIndex() {
|
||||
return ordinal();
|
||||
return muffinPointDotIndex();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -187,28 +204,37 @@ public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33 {
|
|||
}
|
||||
|
||||
static public boolean isEscape6(int cakePoint) {
|
||||
return cakePoint == _ESC6_X1.ordinal() || cakePoint == _ESC6_X2.ordinal() || cakePoint == _ESC6_X3.ordinal();
|
||||
return cakePoint == _ESC6_X1.cakePointDotIndex() || cakePoint == _ESC6_X2.cakePointDotIndex() || cakePoint == _ESC6_X3.cakePointDotIndex();
|
||||
}
|
||||
|
||||
static public char escapeSignUnicode(int idx) {
|
||||
if (idx == 0) {
|
||||
return '␀';
|
||||
}
|
||||
if (idx == 1) {
|
||||
return '␁';
|
||||
}
|
||||
if (idx == 2) {
|
||||
return '␂';
|
||||
}
|
||||
if (idx == 3) {
|
||||
return '␃';
|
||||
}
|
||||
if (idx == 4) {
|
||||
return '␄';
|
||||
}
|
||||
if (idx == 5) {
|
||||
return '␅';
|
||||
}
|
||||
throw new IllegalArgumentException("Unsupported index: " + idx);
|
||||
static public boolean isEscapeSaltLeft(int cakePoint) {
|
||||
return cakePoint == _SALT_COMPARE_LEFT.cakePointDotIndex();
|
||||
}
|
||||
|
||||
static public boolean isEscapeSaltRight(int cakePoint) {
|
||||
return cakePoint == _SALT_COMPARE_RIGHT.cakePointDotIndex();
|
||||
}
|
||||
|
||||
static public boolean isEscapePepper(int cakePoint) {
|
||||
return cakePoint == _PEPPER_DOWNUP_EXCLAMATION.cakePointDotIndex() || cakePoint == _PEPPER_DOWNUP_QUESTION.cakePointDotIndex();
|
||||
}
|
||||
|
||||
static public int pepper3SequenceRead(FCDotCDC1604DashP6 msb, FCDotCDC1604DashP6 csb, FCDotCDC1604DashP6 lsb) {
|
||||
int c1 = msb == FCDotCDC1604DashP6._PEPPER_DOWNUP_EXCLAMATION?0:1;
|
||||
int c2 = csb == FCDotCDC1604DashP6._PEPPER_DOWNUP_EXCLAMATION?0:1;
|
||||
int c3 = lsb == FCDotCDC1604DashP6._PEPPER_DOWNUP_EXCLAMATION?0:1;
|
||||
return (c1 << 2) + (c2 << 1) + (c3 << 0);
|
||||
}
|
||||
|
||||
static public List<Integer> pepper3SequenceWritePoints(int mode) {
|
||||
return pepper3SequenceWrite(mode).stream().map(v -> v.cakePointDotIndex()).toList();
|
||||
}
|
||||
|
||||
static public List<FCDotCDC1604DashP6> pepper3SequenceWrite(int mode) {
|
||||
return List.of(
|
||||
((mode >> 2) & 0b1)==0?_PEPPER_DOWNUP_EXCLAMATION:_PEPPER_DOWNUP_QUESTION,
|
||||
((mode >> 1) & 0b1)==0?_PEPPER_DOWNUP_EXCLAMATION:_PEPPER_DOWNUP_QUESTION,
|
||||
((mode >> 0) & 0b1)==0?_PEPPER_DOWNUP_EXCLAMATION:_PEPPER_DOWNUP_QUESTION
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,318 +0,0 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2.zero33;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointDotIndex;
|
||||
|
||||
/**
|
||||
* "FC.DEC0127-PX0" Four Corner dot Direct or Escaped Control in grid of 1 by 27 of dashed CDC invisible page X Zero codes.
|
||||
*
|
||||
* A 6 bit computer always send 3 escapes to flag one of these escape control modes.
|
||||
*
|
||||
* A 8 or 18 bit computer used these escape cake points directly.
|
||||
*
|
||||
* NOTE: Only escapes starting with _ESC6_X3 are allowed to embed in a escape sequence.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Dec 24, 2024
|
||||
*/
|
||||
public enum FCDotDEC0127DashPX0 implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointDotIndex {
|
||||
|
||||
// =========== External argumented escape sequence, always has closed ending. (MUST terminate with ESC_SEQ_SALAH)
|
||||
|
||||
/// _ESC6_X1 _ESC6_X1 _ESC6_X1
|
||||
_ESC_USER_1,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X1 _ESC6_X2
|
||||
_ESC_USER_2,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X1 _ESC6_X3
|
||||
_ESC_USER_3,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X2 _ESC6_X1
|
||||
_ESC_USER_4,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X2 _ESC6_X2
|
||||
_ESC_USER_5,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X2 _ESC6_X3
|
||||
/// Virtual Typewriter 0ctal Six bit control sequences with argumented commands which MUST end with ESC_SEQ_SALAH.
|
||||
ESC_VT06,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X3 _ESC6_X1
|
||||
__ESC_RESERVED_A7,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X3 _ESC6_X2
|
||||
__ESC_RESERVED_A8,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X3 _ESC6_X3
|
||||
__ESC_RESERVED_A9,
|
||||
|
||||
// =========== Internal escape sequence, with mixed endings
|
||||
|
||||
/// _ESC6_X2 _ESC6_X1 _ESC6_X1
|
||||
__ESC_RESERVED_B1,
|
||||
// Escape to the Qualified Unique Above Kosmic Enlargement
|
||||
// On all systems indicate that the follow escape code is an upper deck duck "FC.DEC0127-PX1" quake code
|
||||
//ESC_QUAKE
|
||||
|
||||
/// _ESC6_X2 _ESC6_X1 _ESC6_X2
|
||||
__ESC_RESERVED_B2,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X1 _ESC6_X3
|
||||
__ESC_RESERVED_B3,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X2 _ESC6_X1
|
||||
__ESC_RESERVED_B4,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X2 _ESC6_X2
|
||||
__ESC_RESERVED_B5,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X2 _ESC6_X3
|
||||
/// To escape the question of undefined behavior, we define it as dark nether space, so we can see it in C++
|
||||
/// Using dark mode nether requires 18 bit cake points as we embed 15 bit data point in the cake;
|
||||
///
|
||||
/// ESC_NETHER
|
||||
/// + ?slug + ?ESC_SEQ_RAKA_AT (None or 72 to 576 bit Número2 Lingua tree key per 72 bit slug)
|
||||
/// + ?slug + ?ESC_SEQ_RAKA_AT (Up to 8 slug arguments to have max key)
|
||||
/// + ESC_SEQ_SALAH + data-block as FC_NETHER in 15 bit embedded octals.
|
||||
///
|
||||
/// NOTE: key slug format is <6><6><6><9><6><6><6><6><6><6><9> encoded as 3 bit octals with CDC MX01_A++ "letnums".
|
||||
/// On 6/8 bit systems this slug can be rendered with the ESC68_PIE.NX08_H (T008) hexa-grams octal symbols.
|
||||
/// On 18 bit systems this slug can be rendered using the FC.OCE0808-H6 and FC.OCE0864-H9 data-gram encoding.
|
||||
///
|
||||
/// With dark nether space you can add unnamed and real dark(key is optional) undefined data segments in text.
|
||||
/// With an nether DB enabled text editor, it can render for example vector graphics in source like HolyC of TempleOS.
|
||||
/// The Número2 Lingua key is a sort of mime-type lookup, and later gets also definition structure and step code for type.
|
||||
@Deprecated
|
||||
ESC_NETHER,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X3 _ESC6_X1
|
||||
/// End of argumented escape sequence prayer.
|
||||
@Deprecated
|
||||
ESC_SEQ_SALAH,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X3 _ESC6_X2
|
||||
/// Next argument separator for escape sequences, and which MUST end with ESC_SEQ_SALAH.
|
||||
@Deprecated
|
||||
ESC_SEQ_RAKA_AT,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X3 _ESC6_X3
|
||||
/// On 6/8 bit escape to 18 bit four corner cake points.
|
||||
/// Stream per six octals as CDC chars in NX01_A to NX08_H, and MUST end with ESC_SEQ_SALAH.
|
||||
ESC68_FC18,
|
||||
|
||||
// =========== Embeddable sequences, with open or manual stopped or auto stopped ending. (stop on out of range)
|
||||
|
||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X1
|
||||
/// Select APL page 7A mode.
|
||||
ESC6_APL0127_P7A,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X2
|
||||
/// Select APL page 7B mode.
|
||||
ESC6_APL0127_P7B,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X3
|
||||
/// Select APL page 7C mode.
|
||||
ESC6_APL0127_P7C,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X2 _ESC6_X1
|
||||
/// Select BYD page 7D mode.
|
||||
ESC6_BYD0127_P7D,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X2 _ESC6_X2
|
||||
/// Select BYD page 7E mode.
|
||||
ESC6_BYD0127_P7E,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X2 _ESC6_X3
|
||||
/// Select BYD page 7F mode.
|
||||
ESC6_BYD0127_P7F,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X3 _ESC6_X1
|
||||
/// Select packed pie terminator symbol on 6 and 8 bit systems.
|
||||
/// A = 1, first P6 is terminator select, than next P6 _A++ select pie part 1-27, until other P6 stops it.
|
||||
/// Example ascii "012" is
|
||||
/// 012 = __PIE NX10_J NX01_A NX02_B NX02_C
|
||||
/// TODO: Add negative AT for -1 to -27 as P6 symbols to select PIE9D + map in __RESERVED_PIE_SYMBOLS
|
||||
ESC68_PIE,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X3 _ESC6_X2
|
||||
/// Select packed pie terminator number for 6 and 8 bit systems.
|
||||
/// First NXX P6 is terminator select, than next NXX P6 are values, until out of range.
|
||||
/// TODO: Double range to 54 with the negative AT (= symbols) for -1=AT=28 -2=BAR_V_RIGHT=29
|
||||
ESC68_NCR,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X3 _ESC6_X3
|
||||
/// An optional triple escape stops the open ended escape sequence.
|
||||
ESC_STOP,
|
||||
;
|
||||
private static final FCDotDEC0127DashPX0[] VALUES = values();
|
||||
|
||||
private FCDotDEC0127DashPX0() {
|
||||
}
|
||||
|
||||
public boolean isEmbeddable() {
|
||||
if (ordinal() >= ESC6_APL0127_P7A.ordinal()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isExternal() {
|
||||
if (ordinal() <= __ESC_RESERVED_A9.ordinal()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// ============ TODO: make api more nice
|
||||
|
||||
public List<FourCornerX08MuffinPointSequence> toX08MuffinPoints(FCDotCDC1604DashP6... letters) {
|
||||
List<FourCornerX08MuffinPointSequence> result = new ArrayList<>();
|
||||
result.add(this);
|
||||
for (FCDotCDC1604DashP6 letter : letters) {
|
||||
result.add(letter);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<FourCornerX06BaklavaPointSequence> toX06BaklavaPoints(FCDotCDC1604DashP6... letters) {
|
||||
List<FourCornerX06BaklavaPointSequence> result = new ArrayList<>();
|
||||
for (int baklave : baklavaPointSequence()) {
|
||||
result.add(FCDotCDC1604DashP6.valueOf(baklave));
|
||||
}
|
||||
for (FCDotCDC1604DashP6 letter : letters) {
|
||||
result.add(letter);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<Integer> toInt18BaklavaPoints(int... letters) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
for (int baklave : baklavaPointSequence()) {
|
||||
result.add(baklave);
|
||||
}
|
||||
for (int letter : letters) {
|
||||
result.add(letter);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<Integer> baklavaPointsPIE9C(FCDotCDC1604DashP6 letter, int offset) {
|
||||
return List.of(
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() / 9),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + ((ordinal() / 3) % 3),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() % 3),
|
||||
letter.ordinal(),
|
||||
FCDotCDC1604DashP6.NX01_A.ordinal() + offset
|
||||
);
|
||||
}
|
||||
|
||||
public List<Integer> baklavaPointsPIE9D(FCDotCDC1604DashP6 letter, int offset) {
|
||||
return List.of(
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() / 9),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + ((ordinal() / 3) % 3),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() % 3),
|
||||
letter.ordinal(),
|
||||
FCDotCDC1604DashP6.NY01_AT.ordinal() - offset
|
||||
);
|
||||
}
|
||||
|
||||
public List<Integer> baklavaPointsP7(int offset) {
|
||||
return List.of(
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() / 9),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + ((ordinal() / 3) % 3),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() % 3),
|
||||
FCDotCDC1604DashP6.NX01_A.ordinal() + offset
|
||||
);
|
||||
}
|
||||
|
||||
// FIXME move
|
||||
public List<Integer> baklavaPointsVT06Action(FCDotCDC1604DashP6 group, FCDotCDC1604DashP6 action) {
|
||||
return List.of(
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() / 9),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + ((ordinal() / 3) % 3),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() % 3),
|
||||
group.ordinal(),
|
||||
action.ordinal()
|
||||
);
|
||||
}
|
||||
|
||||
public List<Integer> cakePointsVT06Action(FCDotCDC1604DashP6 group, FCDotCDC1604DashP6 action) {
|
||||
return List.of(
|
||||
ESC_VT06.cakePointDotIndex(),
|
||||
group.cakePointDotIndex(),
|
||||
action.cakePointDotIndex()
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return List.of(
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() / 9),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + ((ordinal() / 3) % 3),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() % 3)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> muffinPointSequence() {
|
||||
return cakePointSequence();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> cakePointSequence() {
|
||||
return List.of(cakePointDotIndex());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int cakePointDotIndex() {
|
||||
return FourCornerDotCake.FC_DEC0127_PX0.getStart() + ordinal();
|
||||
}
|
||||
|
||||
static public int valuesLength() {
|
||||
return VALUES.length;
|
||||
}
|
||||
|
||||
public static FCDotDEC0127DashPX0 valueOf(int idx) {
|
||||
return VALUES[idx];
|
||||
}
|
||||
|
||||
public static FCDotDEC0127DashPX0 valueOfCakePoint(int cakePoint) {
|
||||
return valueOf(cakePoint - FourCornerDotCake.FC_DEC0127_PX0.getStart());
|
||||
}
|
||||
|
||||
public static FCDotDEC0127DashPX0 valueOf(FCDotCDC1604DashP6 msb, FCDotCDC1604DashP6 csb, FCDotCDC1604DashP6 lsb) {
|
||||
int idx = 0;
|
||||
idx += (msb.ordinal() - FCDotCDC1604DashP6._ESC6_X1.ordinal()) * 9;
|
||||
idx += (csb.ordinal() - FCDotCDC1604DashP6._ESC6_X1.ordinal()) * 3;
|
||||
idx += (lsb.ordinal() - FCDotCDC1604DashP6._ESC6_X1.ordinal());
|
||||
return valueOf(idx);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2.zero33;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||
|
||||
/**
|
||||
* "FC.DEC0108-E10" Four Corner dot Directly Escaped Control of 8 embedded control codes.
|
||||
*
|
||||
* Select data gram local text symbols for 6 and 8 bit systems.
|
||||
*
|
||||
* And these can be used within an user escape sequence and/or in the vt06 sequences as serial switching.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Jan 21, 2025
|
||||
*/
|
||||
public enum FCDotDEC0801DashE10 implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence {
|
||||
|
||||
/// ¡¡¡
|
||||
/// Back to normal dough
|
||||
E10_CDC1604_P6,
|
||||
|
||||
/// ¡¡¿
|
||||
/// 2 gram of BMW (booleans)
|
||||
E10_BMW0102_S2,
|
||||
|
||||
/// ¡¿¡
|
||||
/// 10 gram of AMD (decimals)
|
||||
E10_AMD0110_SA,
|
||||
|
||||
/// ¡¿¿
|
||||
/// 27 gram of NES (unvocalized-hebrew)
|
||||
E10_NES0127_9C,
|
||||
|
||||
/// ¿¡¿
|
||||
/// 3 gram of NXP (3-phase)
|
||||
E10_NXP0103_S3,
|
||||
|
||||
/// ¿¡¿
|
||||
/// 1 gram of UWU (white space)
|
||||
/// Typewriter gram escape the the UWU word space word index register lookup the right white and left width for user.
|
||||
E10_UWU0101_S1,
|
||||
|
||||
/// ¿¡¡
|
||||
/// 26 gram of ICL (lowercase)
|
||||
E10_ICL0126_9B,
|
||||
|
||||
/// ¿¿¿
|
||||
/// 8 gram of OCE (octals)
|
||||
E10_OCE0801_H3,
|
||||
;
|
||||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotCDC1604DashP6.pepper3SequenceWritePoints(ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> muffinPointSequence() {
|
||||
return baklavaPointSequence();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> cakePointSequence() {
|
||||
return baklavaPointSequence();
|
||||
}
|
||||
|
||||
public List<Integer> baklavaPointsE10(int offset) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
result.addAll(FCDotDEC2701DashPX0.ESC_DEC0801_E10.baklavaPointSequence());
|
||||
result.addAll(baklavaPointSequence());
|
||||
result.add(FCDotCDC1604DashP6.NX01_A.ordinal() + offset);
|
||||
//result.add(FCDotCDC1604DashP6.SEQ_SALAH__EXCLAMATION.cakePointDotIndex()); // TODO: add api layer snake for head
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,100 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2.zero33;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||
|
||||
/**
|
||||
* "FC.DEC0108-E16" Four Corner dot Directly Escaped Control of 8 symbols modes.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Jan 21, 2025
|
||||
*/
|
||||
public enum FCDotDEC0801DashE16 implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence {
|
||||
|
||||
/// ¡¡¡
|
||||
/// Return back to P6 mode.
|
||||
ESC68_CDC1604_P6,
|
||||
|
||||
/// ¡¡¿
|
||||
/// Select APL page 7A mode.
|
||||
ESC6_APL0127_P7A,
|
||||
|
||||
/// ¡¿¡
|
||||
/// Select APL page 7B mode.
|
||||
ESC6_APL0127_P7B,
|
||||
|
||||
/// ¡¿¿
|
||||
/// Select APL page 7C mode.
|
||||
ESC6_APL0127_P7C,
|
||||
|
||||
/// ¿¡¿
|
||||
/// Select BYD page 7D mode.
|
||||
ESC6_BYD0127_P7D,
|
||||
|
||||
/// ¿¡¿
|
||||
/// Select BYD page 7E mode.
|
||||
ESC6_BYD0127_P7E,
|
||||
|
||||
/// ¿¡¡
|
||||
/// Select BYD page 7F mode.
|
||||
ESC6_BYD0127_P7F,
|
||||
|
||||
/// ¿¿¿
|
||||
/// Select packed pie terminator symbol on 6 and 8 bit systems.
|
||||
/// A = 1, first P6 is terminator select, than next P6 _A++ select pie part 1-27, until other P6 stops it.
|
||||
/// Example ascii "012" is
|
||||
/// 012 = __PIE NX10_J NX01_A NX02_B NX02_C
|
||||
/// TODO: Add negative AT for -1 to -27 as P6 symbols to select PIE9D + map in __RESERVED_PIE_SYMBOLS
|
||||
ESC68_PIE,
|
||||
;
|
||||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotCDC1604DashP6.pepper3SequenceWritePoints(ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> muffinPointSequence() {
|
||||
return baklavaPointSequence();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> cakePointSequence() {
|
||||
return baklavaPointSequence();
|
||||
}
|
||||
|
||||
public List<Integer> baklavaPointsE16(int offset) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
result.addAll(FCDotDEC2701DashPX0.ESC68_DEC0801_E16.baklavaPointSequence());
|
||||
result.addAll(baklavaPointSequence());
|
||||
result.add(FCDotCDC1604DashP6.NX01_A.ordinal() + offset);
|
||||
//result.add(FCDotCDC1604DashP6.SEQ_SALAH__EXCLAMATION.cakePointDotIndex()); // TODO: add api layer snake for head
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2.zero33;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||
|
||||
/**
|
||||
* "FC.DEC0108-E19" Four Corner dot Directly Escaped Control of 8 embedded control codes.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Jan 21, 2025
|
||||
*/
|
||||
public enum FCDotDEC0801DashE19 implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointSequence {
|
||||
|
||||
/// ¡¡¡
|
||||
/// Write out an basic structure NEXT token, also called a line feed with automatic carriage return.
|
||||
TYPE_WRITER_TTY0001_NL,
|
||||
|
||||
/// ¡¡¿
|
||||
__RESERVED_2,
|
||||
|
||||
/// ¡¿¡
|
||||
__RESERVED_3,
|
||||
|
||||
/// ¡¿¿
|
||||
__RESERVED_4,
|
||||
|
||||
/// ¿¡¿
|
||||
__RESERVED_5,
|
||||
|
||||
/// ¿¡¿
|
||||
__RESERVED_6,
|
||||
|
||||
/// ¿¡¡
|
||||
__RESERVED_7,
|
||||
|
||||
/// ¿¿¿
|
||||
__RESERVED_8,
|
||||
;
|
||||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotCDC1604DashP6.pepper3SequenceWritePoints(ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> muffinPointSequence() {
|
||||
return baklavaPointSequence();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> cakePointSequence() {
|
||||
return baklavaPointSequence();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2.zero33;
|
||||
|
||||
/**
|
||||
* "FC.DEC0901-EU" Four Corner dot Directly Escaped Control of 9 Extra User control codes.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Jan 21, 2025
|
||||
*/
|
||||
public enum FCDotDEC0901DashEU {
|
||||
|
||||
ESC_USER_1,
|
||||
ESC_USER_2,
|
||||
ESC_USER_3,
|
||||
ESC_USER_4,
|
||||
ESC_USER_5,
|
||||
ESC_USER_6,
|
||||
ESC_USER_7,
|
||||
ESC_USER_8,
|
||||
ESC_USER_9,
|
||||
;
|
||||
}
|
|
@ -0,0 +1,216 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.cake2.zero33;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX08MuffinPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointDotIndex;
|
||||
|
||||
/**
|
||||
* "FC.DEC0127-PX0" Four Corner dot Direct or Escaped Control in grid of 1 by 27 of dashed CDC invisible page X Zero codes.
|
||||
*
|
||||
* A 6 bit computer always send 3 escapes to flag one of these escape control modes.
|
||||
*
|
||||
* A 8 or 18 bit computer used these escape cake points directly.
|
||||
*
|
||||
* NOTE: Only escapes starting with _ESC6_X3 are allowed to embed in a escape sequence.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Dec 24, 2024
|
||||
*/
|
||||
public enum FCDotDEC2701DashPX0 implements FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointDotIndex {
|
||||
|
||||
// =========== External escape sequence, who MUST terminate with SEQ_SALAH__EXCLAMATION.
|
||||
|
||||
/// _ESC6_X1 _ESC6_X1 _ESC6_X1 = 1
|
||||
_ESC_USER_1,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X1 _ESC6_X2 = 2
|
||||
_ESC_USER_2,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X1 _ESC6_X3 = 3
|
||||
_ESC_USER_3,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X2 _ESC6_X1 = 4
|
||||
_ESC_USER_4,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X2 _ESC6_X2 = 5
|
||||
_ESC_USER_5,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X2 _ESC6_X3 = 6
|
||||
_ESC_USER_6,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X3 _ESC6_X1 = 7
|
||||
_ESC_USER_7,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X3 _ESC6_X2 = 8
|
||||
_ESC_USER_8,
|
||||
|
||||
/// _ESC6_X1 _ESC6_X3 _ESC6_X3 = 9
|
||||
_ESC_USER_9,
|
||||
|
||||
// =========== Internal escape sequence, to embed symbols,fractions and adult texts.
|
||||
|
||||
/// _ESC6_X2 _ESC6_X1 _ESC6_X1 = 10
|
||||
/// Embed data gram codes with pepper and salt in text and end with !
|
||||
/// In the above 9 "user" escapes and in ESC_VT06 this can be used without this prefix to switch.
|
||||
ESC_DEC0801_E10,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X1 _ESC6_X2 = 11
|
||||
/// If your machine has KANJI roms and display engine support than embed using this.
|
||||
/// Single argument serial bank switching kanji KuTen escape string must end with !
|
||||
/// Token to select plane;
|
||||
/// _PEPPER_DOWNUP_EXCLAMATION = JIS X 0208 plane 1 (DEFAULT and in MSX1++ ROMs)
|
||||
/// _PEPPER_DOWNUP_QUESTION = JIS X 0213 plane 2
|
||||
/// _SALT_COMPARE_LEFT = JIS X reserved plane 3
|
||||
/// _SALT_COMPARE_RIGHT = JIS X reserved plane 4
|
||||
/// Token to select KuTen
|
||||
/// NY10_CARET - NY18_ASTERISK = posimal(1-9) MSB of KuTen (1=DEFAULT)
|
||||
/// NY01_AT - NY09_EQUALS = posimal(1-9) LSB of KuTen (1=DEFAULT)
|
||||
/// NX17_Q - NX22_V = Ten row (0-16-32-48-64-80) (0=DEFAULT)
|
||||
/// Token to fire a glyph dough character;
|
||||
/// NX01_A - NX16_P = 0x0 - 0xF
|
||||
/// Token to reset banking to first value
|
||||
/// NX27_AMPERSAND = bank reset
|
||||
/// Example escape for 𪚲鳦; (last used than first used glyph or G=2-94-87 and B=2-94-1)
|
||||
/// [3*ESC]¿*_VGQB!
|
||||
ESC_KANJI,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X1 _ESC6_X3 = 12
|
||||
__ESC_RESERVED_B3,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X2 _ESC6_X1 = 13
|
||||
__ESC_RESERVED_B4,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X2 _ESC6_X2 = 14
|
||||
__ESC_RESERVED_B5,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X2 _ESC6_X3 = 15
|
||||
__ESC_RESERVED_B6,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X3 _ESC6_X1 = 16
|
||||
/// Embed symbol mode starts in CDC, use sequence of 3 UPDOWN letters to select mode and end with !
|
||||
ESC68_DEC0801_E16,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X3 _ESC6_X2 = 17
|
||||
/// Select packed pie terminator number for 6 and 8 bit systems.
|
||||
/// First NXX P6 is terminator select, than next NXX P6 are values, until out of range.
|
||||
/// TODO: Double range to 54 with the negative AT (= symbols) for -1=AT=28 -2=BAR_V_RIGHT=29
|
||||
ESC68_NCR,
|
||||
|
||||
/// _ESC6_X2 _ESC6_X3 _ESC6_X3 = 18
|
||||
/// On 6/8 bit escape to 18 bit four corner cake points.
|
||||
/// Stream per six octals as CDC chars in NX01_A to NX08_H, and MUST end with !.
|
||||
ESC68_FC18,
|
||||
|
||||
// =========== Internal control sequences
|
||||
|
||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X1 = 19
|
||||
/// Extra sequence selector for type writer signals.
|
||||
ESC68_DEC0801_E19,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X2 = 20
|
||||
__ESC_RESERVED_C2,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X3 = 21
|
||||
__ESC_RESERVED_C3,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X2 _ESC6_X1 = 22
|
||||
__ESC_RESERVED_C4,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X2 _ESC6_X2 = 23
|
||||
__ESC_RESERVED_C5,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X2 _ESC6_X3 = 24
|
||||
__ESC_RESERVED_C6,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X3 _ESC6_X1 = 25
|
||||
__ESC_RESERVED_C7,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X3 _ESC6_X2 = 26
|
||||
/// Virtual Typewriter 0ctal Six bit control sequences with argumented commands which MUST end with !
|
||||
ESC_VT06,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X3 _ESC6_X3 = 27
|
||||
/// An optional triple escape stops the open ended escape sequence.
|
||||
ESC_STOP,
|
||||
;
|
||||
private static final FCDotDEC2701DashPX0[] VALUES = values();
|
||||
|
||||
private FCDotDEC2701DashPX0() {
|
||||
}
|
||||
|
||||
public boolean isExternal() {
|
||||
if (ordinal() <= _ESC_USER_9.ordinal()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return List.of(
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() / 9),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + ((ordinal() / 3) % 3),
|
||||
FCDotCDC1604DashP6._ESC6_X1.ordinal() + (ordinal() % 3)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> muffinPointSequence() {
|
||||
return cakePointSequence();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> cakePointSequence() {
|
||||
return List.of(cakePointDotIndex());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int cakePointDotIndex() {
|
||||
return FourCornerDotCake.FC_DEC0127_PX0.getStart() + ordinal();
|
||||
}
|
||||
|
||||
static public int valuesLength() {
|
||||
return VALUES.length;
|
||||
}
|
||||
|
||||
static public FCDotDEC2701DashPX0 valueOf(int idx) {
|
||||
return VALUES[idx];
|
||||
}
|
||||
|
||||
static public FCDotDEC2701DashPX0 valueOfCakePoint(int cakePoint) {
|
||||
return valueOf(cakePoint - FourCornerDotCake.FC_DEC0127_PX0.getStart());
|
||||
}
|
||||
|
||||
static public FCDotDEC2701DashPX0 valueOf(FCDotCDC1604DashP6 msb, FCDotCDC1604DashP6 csb, FCDotCDC1604DashP6 lsb) {
|
||||
int idx = 0;
|
||||
idx += (msb.ordinal() - FCDotCDC1604DashP6._ESC6_X1.ordinal()) * 9;
|
||||
idx += (csb.ordinal() - FCDotCDC1604DashP6._ESC6_X1.ordinal()) * 3;
|
||||
idx += (lsb.ordinal() - FCDotCDC1604DashP6._ESC6_X1.ordinal());
|
||||
return valueOf(idx);
|
||||
}
|
||||
}
|
|
@ -27,7 +27,6 @@ import java.util.Objects;
|
|||
|
||||
import org.x4o.fc18.cake2.FourCornerDotColleZero33VT;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* The "VT-06.0A" cursor action sequences.
|
||||
|
@ -63,11 +62,11 @@ public enum VTDash06DotZeroACursor implements FourCornerDotColleZero33VT {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC_VT06.baklavaPointsVT06Action(actionGroup, action);
|
||||
return baklavaPointsVT06Action(actionGroup, action);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> cakePointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC_VT06.cakePointsVT06Action(actionGroup, action);
|
||||
return cakePointsVT06Action(actionGroup, action);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,6 @@ import java.util.Objects;
|
|||
|
||||
import org.x4o.fc18.cake2.FourCornerDotColleZero33VT;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/**
|
||||
* The "VT-06.0A" cursor action sequences.
|
||||
|
@ -54,11 +53,11 @@ public enum VTDash06DotZeroCClear implements FourCornerDotColleZero33VT {
|
|||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC_VT06.baklavaPointsVT06Action(actionGroup, action);
|
||||
return baklavaPointsVT06Action(actionGroup, action);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> cakePointSequence() {
|
||||
return FCDotDEC0127DashPX0.ESC_VT06.cakePointsVT06Action(actionGroup, action);
|
||||
return cakePointsVT06Action(actionGroup, action);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ package org.x4o.fc18.zion7;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0901DashEU;
|
||||
|
||||
/// Handles the lexer salah sequence strobes.
|
||||
///
|
||||
|
@ -32,5 +32,5 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
|||
/// @version 1.0 Jan 11, 2025
|
||||
public interface FourCornerZion7SalahSequence extends FourCornerZion7Candlelier {
|
||||
|
||||
void strobeSalahSequence(FCDotDEC0127DashPX0 type, List<List<Integer>> arguments);
|
||||
void strobeSalahSequence(FCDotDEC0901DashEU type, List<List<Integer>> arguments);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* 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 org.x4o.fc18.zion7;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0901DashEU;
|
||||
|
||||
/// Handles the lexer water codex strobes.
|
||||
///
|
||||
/// @author Willem Cazander
|
||||
/// @version 1.0 Jan 22, 2025
|
||||
public interface FourCornerZion7WaterCodex extends FourCornerZion7Candlelier {
|
||||
|
||||
}
|
|
@ -26,11 +26,14 @@ import java.math.BigInteger;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE10;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE16;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE19;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0901DashEU;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
|
||||
/// Parsed FC text and calls the handler methods for the classified strobe lights.
|
||||
///
|
||||
|
@ -386,11 +389,12 @@ public class FourCornerZionStenoLexer {
|
|||
static class StenoScannerCDCDEC extends StenoScanner {
|
||||
|
||||
// TODO: remove state here
|
||||
private Integer numberMode = null;
|
||||
private boolean numberPIE = true;
|
||||
private FCDotDEC0127DashPX0 decMode = null;
|
||||
private int scanIndex = 0;
|
||||
private int scanIndexEnd = 0;
|
||||
private Integer ncrMode = null;
|
||||
private Integer pieMode = null;
|
||||
private FCDotDEC2701DashPX0 decMode = null;
|
||||
private Integer pepperMode = null;
|
||||
|
||||
public StenoScannerCDCDEC() {
|
||||
super(FourCornerDotCake.FC_CDC1604_P6.getStart(), FourCornerDotCake.FC_DEC0127_PX0.getStop());
|
||||
|
@ -398,51 +402,76 @@ public class FourCornerZionStenoLexer {
|
|||
|
||||
@Override
|
||||
public void process(FourCornerZionStenoLexer lexer, int idxFirst, int idxLast) {
|
||||
numberMode = null;
|
||||
numberPIE = true;
|
||||
decMode = null;
|
||||
ncrMode = null;
|
||||
pieMode = null;
|
||||
pepperMode = null;
|
||||
scanIndex = idxFirst;
|
||||
scanIndexEnd = idxLast;
|
||||
for (scanIndex = idxFirst; scanIndex <= idxLast; scanIndex++) {
|
||||
int cdcDECPoint = lexer.input.get(scanIndex);
|
||||
// Log state changes
|
||||
if (FCDotCDC1604DashP6._NEWLINE.ordinal() == cdcDECPoint) {
|
||||
lexer.currLine++;
|
||||
lexer.currCol = 0;
|
||||
lexer.fireSignals.fireStateLine(lexer.currLine);
|
||||
lexer.fireSignals.fireStateColumn(lexer.currCol);
|
||||
}
|
||||
// No escaping, print CDC or DEC code
|
||||
if (!lexer.handlerEscape) {
|
||||
if (FourCornerDotCake.FC_DEC0127_PX0.contains(cdcDECPoint)) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_DEC0127_PX0, cdcDECPoint - FourCornerDotCake.FC_DEC0127_PX0.getStart());
|
||||
} else {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_CDC1604_P6, cdcDECPoint);
|
||||
}
|
||||
for (scanIndex = idxFirst; scanIndex <= scanIndexEnd; scanIndex++) {
|
||||
if (handleEscape(lexer)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Handle 6 bit CDC and 6/8/18 bit DEC codes
|
||||
handleCDCDEC(lexer, cdcDECPoint, null);
|
||||
if (decMode != null && handleDECMode(lexer)) {
|
||||
continue;
|
||||
}
|
||||
int cdcDECPoint = lexer.input.get(scanIndex);
|
||||
if (FourCornerDotCake.FC_DEC0127_PX0.contains(cdcDECPoint)) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_DEC0127_PX0, cdcDECPoint - FourCornerDotCake.FC_DEC0127_PX0.getStart());
|
||||
} else {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_CDC1604_P6, cdcDECPoint);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private FCDotDEC0127DashPX0 readEscape6(FourCornerZionStenoLexer lexer, int cdcPoint1) {
|
||||
// Read 8 or 18 bit Direct Escape Code
|
||||
if (FourCornerDotCake.FC_DEC0127_PX0.contains(cdcPoint1)) {
|
||||
return FCDotDEC0127DashPX0.valueOfCakePoint(cdcPoint1);
|
||||
private void cleanOldDECMode() {
|
||||
pepperMode = null;
|
||||
ncrMode = null;
|
||||
pieMode = null;
|
||||
}
|
||||
|
||||
private boolean handleEscape(FourCornerZionStenoLexer lexer) {
|
||||
if (!lexer.handlerEscape) {
|
||||
return false; // disable escape handing
|
||||
}
|
||||
// Read 6 bit escape sequence
|
||||
FCDotCDC1604DashP6 x1 = FCDotCDC1604DashP6.valueOf(cdcPoint1);
|
||||
FCDotCDC1604DashP6 x2 = null;
|
||||
FCDotCDC1604DashP6 x3 = null;
|
||||
int cdcDECPoint = lexer.input.get(scanIndex);
|
||||
if (FourCornerDotCake.FC_DEC0127_PX0.contains(cdcDECPoint)) {
|
||||
decMode = FCDotDEC2701DashPX0.valueOfCakePoint(cdcDECPoint);
|
||||
cleanOldDECMode();
|
||||
return true;
|
||||
} else if (FCDotCDC1604DashP6.isEscape6(cdcDECPoint)) {
|
||||
decMode = readEscape6(lexer);
|
||||
cleanOldDECMode();
|
||||
return true;
|
||||
}
|
||||
// TODO: move this code where used
|
||||
if (FCDotCDC1604DashP6.isEscapePepper(cdcDECPoint)) {
|
||||
pepperMode = readEscapePepper3(lexer);
|
||||
|
||||
// pepper is allowed to be last char of stream of ending with new line ending
|
||||
if (FCDotDEC2701DashPX0.ESC68_DEC0801_E19.equals(decMode)) {
|
||||
FCDotDEC0801DashE19 e19Mode = FCDotDEC0801DashE19.values()[pepperMode];
|
||||
if (e19Mode == FCDotDEC0801DashE19.TYPE_WRITER_TTY0001_NL) {
|
||||
decMode = null;
|
||||
pepperMode = null;
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_TTY0001_NL, 0); // new line
|
||||
return true;
|
||||
}
|
||||
lexer.smokeSignals.burnUnsupported(lexer.currLine, lexer.currCol, pepperMode);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private FCDotDEC2701DashPX0 readEscape6(FourCornerZionStenoLexer lexer) {
|
||||
int cdcPoint1 = lexer.input.get(scanIndex);
|
||||
if (scanIndex >= scanIndexEnd) {
|
||||
return null;
|
||||
}
|
||||
scanIndex++;
|
||||
int cdcPoint2 = lexer.input.get(scanIndex);
|
||||
if (FCDotCDC1604DashP6.isEscape6(cdcPoint2)) {
|
||||
x2 = FCDotCDC1604DashP6.valueOf(cdcPoint2);
|
||||
} else {
|
||||
if (!FCDotCDC1604DashP6.isEscape6(cdcPoint2)) {
|
||||
return null;
|
||||
}
|
||||
if (scanIndex >= scanIndexEnd) {
|
||||
|
@ -450,223 +479,255 @@ public class FourCornerZionStenoLexer {
|
|||
}
|
||||
scanIndex++;
|
||||
int cdcPoint3 = lexer.input.get(scanIndex);
|
||||
if (FCDotCDC1604DashP6.isEscape6(cdcPoint3)) {
|
||||
x3 = FCDotCDC1604DashP6.valueOf(cdcPoint3);
|
||||
} else {
|
||||
if (!FCDotCDC1604DashP6.isEscape6(cdcPoint3)) {
|
||||
return null;
|
||||
}
|
||||
return FCDotDEC0127DashPX0.valueOf(x1, x2, x3);
|
||||
FCDotCDC1604DashP6 x1 = FCDotCDC1604DashP6.valueOf(cdcPoint1);
|
||||
FCDotCDC1604DashP6 x2 = FCDotCDC1604DashP6.valueOf(cdcPoint2);
|
||||
FCDotCDC1604DashP6 x3 = FCDotCDC1604DashP6.valueOf(cdcPoint3);
|
||||
return FCDotDEC2701DashPX0.valueOf(x1, x2, x3);
|
||||
}
|
||||
|
||||
private void handleCDCDEC(FourCornerZionStenoLexer lexer, int cdcPoint, FCDotDEC0127DashPX0 startMode) {
|
||||
|
||||
// TODO: make simple
|
||||
|
||||
if (startMode != null) {
|
||||
numberMode = null;
|
||||
decMode = startMode;
|
||||
private Integer readEscapePepper3(FourCornerZionStenoLexer lexer) {
|
||||
int cdcPoint1 = lexer.input.get(scanIndex);
|
||||
if (scanIndex >= scanIndexEnd) {
|
||||
return null;
|
||||
}
|
||||
// Start of escape
|
||||
if (FCDotCDC1604DashP6.isEscape6(cdcPoint) || FourCornerDotCake.FC_DEC0127_PX0.contains(cdcPoint)) {
|
||||
numberMode = null; // out of range, thus stop
|
||||
decMode = readEscape6(lexer, cdcPoint);
|
||||
if (decMode == null) {
|
||||
lexer.smokeSignals.burnInvalidEscape(lexer.currLine, lexer.currCol, cdcPoint);
|
||||
return;
|
||||
}
|
||||
if (decMode == FCDotDEC0127DashPX0.ESC68_PIE || decMode == FCDotDEC0127DashPX0.ESC68_NCR) {
|
||||
if (scanIndex >= scanIndexEnd) {
|
||||
return;
|
||||
}
|
||||
scanIndex++;
|
||||
numberMode = lexer.input.get(scanIndex);
|
||||
numberPIE = decMode == FCDotDEC0127DashPX0.ESC68_PIE; // is false for NCR
|
||||
if (numberMode < FCDotCDC1604DashP6.NX01_A.ordinal()) {
|
||||
cdcPoint = numberMode; // print char
|
||||
numberMode = null; // invalid selector, thus stop
|
||||
} else {
|
||||
if (scanIndex >= scanIndexEnd) {
|
||||
return;
|
||||
}
|
||||
scanIndex++;
|
||||
cdcPoint = lexer.input.get(scanIndex); // fetch next letter, for number mode
|
||||
}
|
||||
} else {
|
||||
boolean modeDone = readDECMode(lexer);
|
||||
if (modeDone) {
|
||||
return; // fetch next
|
||||
}
|
||||
if (scanIndex >= scanIndexEnd) {
|
||||
return;
|
||||
}
|
||||
scanIndex++;
|
||||
cdcPoint = lexer.input.get(scanIndex); // is used by readEscape6, thus read again
|
||||
}
|
||||
scanIndex++;
|
||||
int cdcPoint2 = lexer.input.get(scanIndex);
|
||||
if (!FCDotCDC1604DashP6.isEscapePepper(cdcPoint2)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Escape without body and new escape ...
|
||||
if (FCDotCDC1604DashP6.isEscape6(cdcPoint) || FourCornerDotCake.FC_DEC0127_PX0.contains(cdcPoint)) {
|
||||
//goto next_escape; TODO: add extra loop to remove stack here...
|
||||
handleCDCDEC(lexer, cdcPoint, startMode);
|
||||
return;
|
||||
if (scanIndex >= scanIndexEnd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// FIXME: this pages need a stop on out of range too
|
||||
if (decMode == FCDotDEC0127DashPX0.ESC6_APL0127_P7A) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_APL0127_P7A, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return;
|
||||
}
|
||||
if (decMode == FCDotDEC0127DashPX0.ESC6_APL0127_P7B) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_APL0127_P7B, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return;
|
||||
}
|
||||
if (decMode == FCDotDEC0127DashPX0.ESC6_APL0127_P7C) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_APL0127_P7C, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return;
|
||||
}
|
||||
if (decMode == FCDotDEC0127DashPX0.ESC6_BYD0127_P7D) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_BYD0127_P7D, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return;
|
||||
}
|
||||
if (decMode == FCDotDEC0127DashPX0.ESC6_BYD0127_P7E) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_BYD0127_P7E, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return;
|
||||
}
|
||||
if (decMode == FCDotDEC0127DashPX0.ESC6_BYD0127_P7F) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_BYD0127_P7F, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return;
|
||||
}
|
||||
|
||||
//System.out.println("decMode="+decMode + " cdcPoint: " + cdcPoint + " numnerMode: " + numberMode);
|
||||
|
||||
if (decMode == FCDotDEC0127DashPX0.ESC_STOP) {
|
||||
//decMode = null;
|
||||
numberMode = null; // stop requested, print normal
|
||||
}
|
||||
if (numberMode != null && (cdcPoint > numberMode)) {
|
||||
numberMode = null; // out of range
|
||||
}
|
||||
if (numberMode != null && (cdcPoint < FCDotCDC1604DashP6.NX01_A.ordinal())) {
|
||||
numberMode = null; // below index 1 is end number mode
|
||||
}
|
||||
if (numberMode == null) {
|
||||
Optional<FourCornerDotCake> slice = FourCornerDotCake.valueFromCakePoint(cdcPoint);
|
||||
if (slice.isEmpty()) {
|
||||
lexer.smokeSignals.burnUnsupported(lexer.currLine, lexer.currCol, cdcPoint);
|
||||
return;
|
||||
}
|
||||
lexer.handler.strobeWord(slice.get(), cdcPoint);
|
||||
return;
|
||||
}
|
||||
if (numberPIE) {
|
||||
int terminatorOffZero = numberMode - FCDotCDC1604DashP6.NX01_A.ordinal();
|
||||
int numberIdxOffZero = cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal();
|
||||
FourCornerDotCake slice = FourCornerDotCake.values()[terminatorOffZero + FourCornerDotCake.FC_PIE9C_01.ordinal()];
|
||||
lexer.handler.strobeWord(slice, numberIdxOffZero);
|
||||
} else { // _PIN = ²⁄₁₂
|
||||
int terminatorOff = numberMode - FCDotCDC1604DashP6.NX01_A.ordinal() + 1;
|
||||
int numberIdxOff = cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal() + 1;
|
||||
BigInteger denominator = BigInteger.valueOf(terminatorOff);
|
||||
BigInteger numerator = BigInteger.valueOf(numberIdxOff);
|
||||
lexer.handler.strobeNCR1632(denominator, numerator);
|
||||
scanIndex++;
|
||||
int cdcPoint3 = lexer.input.get(scanIndex);
|
||||
if (!FCDotCDC1604DashP6.isEscapePepper(cdcPoint3)) {
|
||||
return null;
|
||||
}
|
||||
FCDotCDC1604DashP6 x1 = FCDotCDC1604DashP6.valueOf(cdcPoint1);
|
||||
FCDotCDC1604DashP6 x2 = FCDotCDC1604DashP6.valueOf(cdcPoint2);
|
||||
FCDotCDC1604DashP6 x3 = FCDotCDC1604DashP6.valueOf(cdcPoint3);
|
||||
return FCDotCDC1604DashP6.pepper3SequenceRead(x1, x2, x3);
|
||||
}
|
||||
|
||||
private boolean readDECMode(FourCornerZionStenoLexer lexer) {
|
||||
for (FCDotDEC0127DashPX0 salahMode : FCDotDEC0127DashPX0.values()) {
|
||||
if (!salahMode.isExternal()) {
|
||||
continue;
|
||||
}
|
||||
if (salahMode.equals(decMode)) {
|
||||
if (salahMode.name().startsWith("__")) {
|
||||
lexer.smokeSignals.burnSalahDECUnsupported(lexer.currLine, lexer.currCol, decMode);
|
||||
return false;
|
||||
}
|
||||
List<List<Integer>> args = new ArrayList<>();
|
||||
scanSalahRakaAt(lexer, args);
|
||||
if (!args.isEmpty() && lexer.handlerSalahSequence != null) {
|
||||
lexer.handlerSalahSequence.strobeSalahSequence(salahMode, args);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
private boolean handleDECMode(FourCornerZionStenoLexer lexer) {
|
||||
if (FCDotDEC2701DashPX0.ESC_STOP.equals(decMode)) {
|
||||
cleanOldDECMode();
|
||||
decMode = null;
|
||||
return false; // print current char
|
||||
}
|
||||
if (FCDotDEC0127DashPX0.ESC68_FC18.equals(decMode)) {
|
||||
List<List<Integer>> result = new ArrayList<>();
|
||||
scanSalahRakaAt(lexer, result);
|
||||
if (result.isEmpty()) {
|
||||
return false;
|
||||
if (decMode.isExternal()) {
|
||||
List<List<Integer>> args = new ArrayList<>();
|
||||
boolean readOK = scanSalahRakaAt(lexer, args);
|
||||
if (readOK == false) {
|
||||
return true; // point is eaten
|
||||
}
|
||||
List<Integer> renderCakePoints = new ArrayList<>();
|
||||
for (List<Integer> argu : result) {
|
||||
int cakePointArgu = 0;
|
||||
int cakePointIdx = 6;
|
||||
for (Integer octal : argu) {
|
||||
if (octal < FCDotCDC1604DashP6.NX01_A.ordinal()) {
|
||||
continue;
|
||||
}
|
||||
if (octal > FCDotCDC1604DashP6.NX08_H.ordinal()) {
|
||||
continue;
|
||||
}
|
||||
int offset = octal - FCDotCDC1604DashP6.NX01_A.ordinal();
|
||||
cakePointArgu = cakePointArgu + (offset << (cakePointIdx*3));
|
||||
cakePointIdx--;
|
||||
if (cakePointIdx < 0) {
|
||||
renderCakePoints.add(cakePointArgu);
|
||||
cakePointIdx = 6;
|
||||
cakePointArgu = 0;
|
||||
}
|
||||
}
|
||||
if (lexer.handlerSalahSequence != null) {
|
||||
FCDotDEC0901DashEU salahMode = FCDotDEC0901DashEU.values()[decMode.ordinal()];
|
||||
lexer.handlerSalahSequence.strobeSalahSequence(salahMode, args);
|
||||
}
|
||||
lexer.handler.strobeRecursiveCake(renderCakePoints);
|
||||
return true;
|
||||
}
|
||||
if (pepperMode != null) {
|
||||
return handlePepper(lexer);
|
||||
}
|
||||
if (FCDotDEC2701DashPX0.ESC68_NCR.equals(decMode)) {
|
||||
return handleNCR(lexer); // TODO: add small bank switching ?
|
||||
}
|
||||
if (FCDotDEC2701DashPX0.ESC68_FC18.equals(decMode)) {
|
||||
decMode = null;
|
||||
return handleFC18(lexer);
|
||||
}
|
||||
if (FCDotDEC2701DashPX0.ESC_VT06.equals(decMode)) {
|
||||
// TODO: impl
|
||||
}
|
||||
if (FCDotDEC2701DashPX0.ESC_KANJI.equals(decMode)) {
|
||||
// TODO: impl
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private ScanResult scanSalahRakaAt(FourCornerZionStenoLexer lexer, List<List<Integer>> result) {
|
||||
private boolean handlePepper(FourCornerZionStenoLexer lexer) {
|
||||
int cdcPoint = lexer.input.get(scanIndex);
|
||||
if (FCDotDEC2701DashPX0.ESC_DEC0801_E10.equals(decMode)) {
|
||||
FCDotDEC0801DashE10 e10Mode = FCDotDEC0801DashE10.values()[pepperMode];
|
||||
if (e10Mode == FCDotDEC0801DashE10.E10_UWU0101_S1) {
|
||||
decMode = null;
|
||||
pepperMode = null;
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_UWU0101_S1, 0); // white space
|
||||
return false; // print current char, which is the next....
|
||||
}
|
||||
lexer.smokeSignals.burnUnsupported(lexer.currLine, lexer.currCol, cdcPoint);
|
||||
return false;
|
||||
}
|
||||
if (FCDotDEC2701DashPX0.ESC68_DEC0801_E16.equals(decMode)) {
|
||||
FCDotDEC0801DashE16 e10Mode = FCDotDEC0801DashE16.values()[pepperMode];
|
||||
if (e10Mode == FCDotDEC0801DashE16.ESC68_CDC1604_P6) {
|
||||
pepperMode = null;
|
||||
return true;
|
||||
}
|
||||
// TODO: add PIE left/right + elevator button support
|
||||
if (cdcPoint < FCDotCDC1604DashP6.NX01_A.ordinal()) {
|
||||
pepperMode = null;
|
||||
return false;
|
||||
}
|
||||
if (e10Mode == FCDotDEC0801DashE16.ESC6_APL0127_P7A) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_APL0127_P7A, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return true;
|
||||
}
|
||||
if (e10Mode == FCDotDEC0801DashE16.ESC6_APL0127_P7B) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_APL0127_P7B, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return true;
|
||||
}
|
||||
if (e10Mode == FCDotDEC0801DashE16.ESC6_APL0127_P7C) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_APL0127_P7C, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return true;
|
||||
}
|
||||
if (e10Mode == FCDotDEC0801DashE16.ESC6_BYD0127_P7D) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_BYD0127_P7D, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return true;
|
||||
}
|
||||
if (e10Mode == FCDotDEC0801DashE16.ESC6_BYD0127_P7E) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_BYD0127_P7E, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return true;
|
||||
}
|
||||
if (e10Mode == FCDotDEC0801DashE16.ESC6_BYD0127_P7F) {
|
||||
lexer.handler.strobeWord(FourCornerDotCake.FC_BYD0127_P7F, cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal());
|
||||
return true;
|
||||
}
|
||||
if (e10Mode == FCDotDEC0801DashE16.ESC68_PIE) {
|
||||
return handlePIE(lexer);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean handlePIE(FourCornerZionStenoLexer lexer) {
|
||||
int cdcPoint = lexer.input.get(scanIndex);
|
||||
|
||||
if (pieMode == null) {
|
||||
pieMode = cdcPoint;
|
||||
if (pieMode < FCDotCDC1604DashP6.NX01_A.ordinal()) {
|
||||
pieMode = null; // invalid selector, thus stop
|
||||
return false; // print char
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (pieMode != null) {
|
||||
if (cdcPoint < FCDotCDC1604DashP6.NX01_A.ordinal()) {
|
||||
pieMode = null;
|
||||
return false;
|
||||
}
|
||||
if (cdcPoint > pieMode) {
|
||||
pieMode = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
int terminatorOffZero = pieMode - FCDotCDC1604DashP6.NX01_A.ordinal();
|
||||
int numberIdxOffZero = cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal();
|
||||
FourCornerDotCake slice = FourCornerDotCake.values()[terminatorOffZero + FourCornerDotCake.FC_PIE9C_01.ordinal()];
|
||||
lexer.handler.strobeWord(slice, numberIdxOffZero);
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean handleNCR(FourCornerZionStenoLexer lexer) {
|
||||
int cdcPoint = lexer.input.get(scanIndex);
|
||||
|
||||
if (ncrMode == null) {
|
||||
ncrMode = cdcPoint;
|
||||
if (ncrMode < FCDotCDC1604DashP6.NX01_A.ordinal()) {
|
||||
ncrMode = null; // invalid selector, thus stop
|
||||
return false; // print char
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (ncrMode != null) {
|
||||
if (cdcPoint < FCDotCDC1604DashP6.NX01_A.ordinal()) {
|
||||
ncrMode = null;
|
||||
return false;
|
||||
}
|
||||
if (cdcPoint > ncrMode) {
|
||||
ncrMode = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
int terminatorOff = ncrMode - FCDotCDC1604DashP6.NX01_A.ordinal() + 1;
|
||||
int numberIdxOff = cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal() + 1;
|
||||
BigInteger denominator = BigInteger.valueOf(terminatorOff);
|
||||
BigInteger numerator = BigInteger.valueOf(numberIdxOff);
|
||||
lexer.handler.strobeNCR1632(denominator, numerator);
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean handleFC18(FourCornerZionStenoLexer lexer) {
|
||||
List<List<Integer>> result = new ArrayList<>();
|
||||
scanSalahRakaAt(lexer, result);
|
||||
if (result.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
List<Integer> renderCakePoints = new ArrayList<>();
|
||||
for (List<Integer> argu : result) {
|
||||
int cakePointArgu = 0;
|
||||
int cakePointIdx = 6;
|
||||
for (Integer octal : argu) {
|
||||
if (octal < FCDotCDC1604DashP6.NX01_A.ordinal()) {
|
||||
continue;
|
||||
}
|
||||
if (octal > FCDotCDC1604DashP6.NX08_H.ordinal()) {
|
||||
continue;
|
||||
}
|
||||
int offset = octal - FCDotCDC1604DashP6.NX01_A.ordinal();
|
||||
cakePointArgu = cakePointArgu + (offset << (cakePointIdx*3));
|
||||
cakePointIdx--;
|
||||
if (cakePointIdx < 0) {
|
||||
renderCakePoints.add(cakePointArgu);
|
||||
cakePointIdx = 6;
|
||||
cakePointArgu = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (renderCakePoints.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
lexer.handler.strobeRecursiveCake(renderCakePoints);
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean scanSalahRakaAt(FourCornerZionStenoLexer lexer, List<List<Integer>> result) {
|
||||
List<Integer> argu = new ArrayList<>();
|
||||
while (scanIndex <= scanIndexEnd) {
|
||||
scanIndex++;
|
||||
int cdcPoint = lexer.input.get(scanIndex);
|
||||
if (cdcPoint == FCDotCDC1604DashP6._NUL.ordinal()) {
|
||||
lexer.smokeSignals.burnSalahInvalidCakePoint(lexer.currLine, lexer.currCol, cdcPoint);
|
||||
result.clear();
|
||||
return ScanResult.NEXT; // _NUL not allowed salah
|
||||
scanIndex--;
|
||||
return false; // _NUL not allowed salah
|
||||
}
|
||||
if (FCDotCDC1604DashP6.isEscape6(cdcPoint) || FourCornerDotCake.FC_DEC0127_PX0.contains(cdcPoint)) {
|
||||
FCDotDEC0127DashPX0 embedESC = readEscape6(lexer, cdcPoint);
|
||||
if (embedESC == null) {
|
||||
lexer.smokeSignals.burnInvalidEscape(lexer.currLine, lexer.currCol, cdcPoint);
|
||||
result.clear();
|
||||
return ScanResult.NEXT;
|
||||
}
|
||||
if (FCDotDEC0127DashPX0.ESC_SEQ_SALAH.equals(embedESC)) {
|
||||
result.add(argu);
|
||||
return ScanResult.DONE; // 6/8/18 bits are DONE
|
||||
}
|
||||
if (FCDotDEC0127DashPX0.ESC_SEQ_RAKA_AT.equals(embedESC)) {
|
||||
result.add(argu);
|
||||
argu = new ArrayList<>();
|
||||
//if (safeNext(input).isEOF()) {
|
||||
// return ScanResult.EOF;
|
||||
//}
|
||||
continue; // Next argument
|
||||
}
|
||||
if (!embedESC.isEmbeddable()) {
|
||||
lexer.smokeSignals.burnSalahDECIllegal(lexer.currLine, lexer.currCol, embedESC);
|
||||
result.clear();
|
||||
return ScanResult.NEXT;
|
||||
}
|
||||
// FIXME: this is wrong
|
||||
//handleCDCDEC(lexer, cdcPoint, embedESC);
|
||||
if (FCDotCDC1604DashP6.isEscape6(cdcPoint)) {
|
||||
result.add(argu);
|
||||
continue;
|
||||
scanIndex--;
|
||||
return true;
|
||||
}
|
||||
if (FCDotCDC1604DashP6._SALAH_EXCLAMATION.ordinal() == cdcPoint) {
|
||||
result.add(argu);
|
||||
return true;
|
||||
}
|
||||
if (FCDotCDC1604DashP6._RAKA_QUESTION.ordinal() == cdcPoint) {
|
||||
result.add(argu);
|
||||
argu = new ArrayList<>();
|
||||
scanIndex++;
|
||||
continue; // Next argument
|
||||
}
|
||||
scanIndex++;
|
||||
argu.add(cdcPoint);
|
||||
}
|
||||
lexer.smokeSignals.burnSalahMissingAmen(lexer.currLine, lexer.currCol);
|
||||
result.clear();
|
||||
return ScanResult.NEXT;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,8 +22,6 @@
|
|||
*/
|
||||
package org.x4o.fc18.zion7;
|
||||
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
|
||||
/// Provides lexer smoke signals feedback.
|
||||
///
|
||||
/// @author Willem Cazander
|
||||
|
@ -37,10 +35,6 @@ public interface FourCornerZionStenoLexerSmoke {
|
|||
|
||||
void burnSalahInvalidCakePoint(int line, int col, int cakePoint);
|
||||
|
||||
void burnSalahDECUnsupported(int line, int col, FCDotDEC0127DashPX0 mode);
|
||||
|
||||
void burnSalahDECIllegal(int line, int col, FCDotDEC0127DashPX0 mode);
|
||||
|
||||
void burnSalahMissingAmen(int line, int col);
|
||||
|
||||
|
||||
|
@ -57,14 +51,6 @@ public interface FourCornerZionStenoLexerSmoke {
|
|||
default void burnSalahInvalidCakePoint(int line, int col, int cakePoint) {
|
||||
}
|
||||
|
||||
@Override
|
||||
default void burnSalahDECUnsupported(int line, int col, FCDotDEC0127DashPX0 mode) {
|
||||
}
|
||||
|
||||
@Override
|
||||
default void burnSalahDECIllegal(int line, int col, FCDotDEC0127DashPX0 mode) {
|
||||
}
|
||||
|
||||
@Override
|
||||
default void burnSalahMissingAmen(int line, int col) {
|
||||
}
|
||||
|
|
|
@ -31,7 +31,9 @@ import org.junit.jupiter.api.Test;
|
|||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash26;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE10;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE16;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
|
||||
/**
|
||||
* Tests four corner displayed as unicode.
|
||||
|
@ -46,32 +48,38 @@ public class FourCornerUnicodeDisplayTest {
|
|||
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
|
||||
cdc.add(FCDotPIE9CDash26.LOW_A);
|
||||
cdc.add(FCDotPIE9CDash26.LOW_B); // if used as this per letter full escaping here....
|
||||
cdc.add(FCDotCDC1604DashP6._SPACE); // out of range is end lower
|
||||
//cdc.add(FCDotCDC1604DashP6._SPACE); // out of range is end lower
|
||||
cdc.add(FCDotDEC2701DashPX0.ESC_DEC0801_E10);
|
||||
cdc.add(FCDotDEC0801DashE10.E10_UWU0101_S1);
|
||||
cdc.add(FCDotCDC1604DashP6.NX02_B);
|
||||
cdc.add(FCDotCDC1604DashP6.NX03_C);
|
||||
cdc.add(FCDotCDC1604DashP6.NX04_D);
|
||||
cdc.add(FCDotCDC1604DashP6.NY16_DOT);
|
||||
cdc.addAll(FCDotDEC0127DashPX0.ESC68_PIE.toX06BaklavaPoints());
|
||||
cdc.add(FCDotDEC2701DashPX0.ESC68_DEC0801_E16);
|
||||
cdc.add(FCDotDEC0801DashE16.ESC68_PIE);
|
||||
cdc.add(FCDotCDC1604DashP6.NX26_Z); // select lower case
|
||||
cdc.add(FCDotCDC1604DashP6.NX10_J);
|
||||
cdc.add(FCDotCDC1604DashP6.NX11_K);
|
||||
cdc.add(FCDotCDC1604DashP6.NX12_L);
|
||||
cdc.add(FCDotCDC1604DashP6.NX13_M);
|
||||
cdc.addAll(FCDotDEC0127DashPX0.ESC_STOP.toX06BaklavaPoints());
|
||||
cdc.add(FCDotDEC2701DashPX0.ESC_STOP);
|
||||
cdc.add(FCDotCDC1604DashP6.NX15_O);
|
||||
|
||||
Assertions.assertEquals("ab BCD.jklmO", FourCornerUnicodeDisplay.text().renderFromX06(cdc));
|
||||
Assertions.assertEquals("␃␃␁ZA␃␃␁ZB BCD.␃␃␁ZJKLM␃␃␃O", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
|
||||
//Assertions.assertEquals("␃␃␁ZA␃␃␁ZB BCD.␃␃␁ZJKLM␃␃␃O", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
|
||||
Assertions.assertEquals("␇␘␆¿¿¿ZA␇␘␆¿¿¿ZB␇␆␆¿¡¿BCD.␇␘␆¿¿¿ZJKLM␘␘␘O", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNumberTerminatorOutOfRange() throws Exception {
|
||||
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
|
||||
cdc.add(FCDotCDC1604DashP6.NX24_X); // = X
|
||||
cdc.addAll(FCDotDEC0127DashPX0.ESC68_PIE.toX06BaklavaPoints());
|
||||
cdc.add(FCDotDEC2701DashPX0.ESC68_DEC0801_E16);
|
||||
cdc.add(FCDotDEC0801DashE16.ESC68_PIE);
|
||||
cdc.add(FCDotCDC1604DashP6.NY10_CARET); // ^
|
||||
cdc.add(FCDotCDC1604DashP6.NY06_PERCENT); // = %
|
||||
cdc.addAll(FCDotDEC0127DashPX0.ESC68_PIE.toX06BaklavaPoints());
|
||||
cdc.add(FCDotDEC2701DashPX0.ESC68_DEC0801_E16);
|
||||
cdc.add(FCDotDEC0801DashE16.ESC68_PIE);
|
||||
cdc.add(FCDotCDC1604DashP6.NY01_AT);
|
||||
cdc.add(FCDotCDC1604DashP6.NX11_K); // = K
|
||||
|
||||
|
@ -81,10 +89,12 @@ public class FourCornerUnicodeDisplayTest {
|
|||
@Test
|
||||
public void testNumberPieOutOfRange() throws Exception {
|
||||
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
|
||||
cdc.addAll(FCDotDEC0127DashPX0.ESC68_PIE.toX06BaklavaPoints());
|
||||
cdc.add(FCDotDEC2701DashPX0.ESC68_DEC0801_E16);
|
||||
cdc.add(FCDotDEC0801DashE16.ESC68_PIE);
|
||||
cdc.add(FCDotCDC1604DashP6.NX01_A);
|
||||
cdc.add(FCDotCDC1604DashP6.NX02_B); // B
|
||||
cdc.addAll(FCDotDEC0127DashPX0.ESC68_PIE.toX06BaklavaPoints());
|
||||
cdc.add(FCDotDEC2701DashPX0.ESC68_DEC0801_E16);
|
||||
cdc.add(FCDotDEC0801DashE16.ESC68_PIE);
|
||||
cdc.add(FCDotCDC1604DashP6.NX10_J);
|
||||
cdc.add(FCDotCDC1604DashP6.NX04_D); // 3
|
||||
cdc.add(FCDotCDC1604DashP6.NX11_K); // K
|
||||
|
@ -101,9 +111,9 @@ public class FourCornerUnicodeDisplayTest {
|
|||
cdc.add(FCDotCDC1604DashP6.NY20_PLUS.ordinal());
|
||||
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.embedUNI2K("𑀳𑁂𑀮𑀺𑀉𑁄𑀤𑁄𑀭𑁂𑀡 𑀪𑀸𑀕"));
|
||||
cdc.add(FCDotCDC1604DashP6.NY14_SEMICOLON.ordinal());
|
||||
cdc.add(FCDotCDC1604DashP6._NEWLINE.ordinal());
|
||||
//cdc.add(FCDotCDC1604DashP6._NEWLINE.ordinal());
|
||||
|
||||
String outputExpected = "W=©Δ∞ 仙上主天+𑀳𑁂𑀮𑀺𑀉𑁄𑀤𑁄𑀭𑁂𑀡 𑀪𑀸𑀕;\n";
|
||||
String outputExpected = "W=©Δ∞ 仙上主天+𑀳𑁂𑀮𑀺𑀉𑁄𑀤𑁄𑀭𑁂𑀡 𑀪𑀸𑀕;";
|
||||
Assertions.assertEquals(outputExpected, FourCornerUnicodeDisplay.text().renderFromInt18(cdc));
|
||||
|
||||
int bitsUTF8 = outputExpected.getBytes(StandardCharsets.UTF_8).length*8;
|
||||
|
|
|
@ -32,7 +32,8 @@ import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
|||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash10;
|
||||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash26;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0801DashE19;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
|
||||
/**
|
||||
* Tests four corner unicode import.
|
||||
|
@ -64,17 +65,20 @@ public class FourCornerUnicodeImportTest {
|
|||
List<FourCornerX06BaklavaPointSequence> cdc = FourCornerUnicodeImport.strict().convertToX06("foobar");
|
||||
Assertions.assertNotNull(cdc);
|
||||
Assertions.assertFalse(cdc.isEmpty());
|
||||
Assertions.assertEquals(10, cdc.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(0));
|
||||
Assertions.assertEquals(13, cdc.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X2, cdc.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X1, cdc.get(2));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(5));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(6));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(7));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(8));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX18_R, cdc.get(9));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(5));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdc.get(6));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdc.get(7));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(8));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(9));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(10));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(11));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX18_R, cdc.get(12));
|
||||
|
||||
String out = FourCornerUnicodeDisplay.text().renderFromX06(cdc);
|
||||
Assertions.assertEquals("foobar", out);
|
||||
|
@ -85,20 +89,23 @@ public class FourCornerUnicodeImportTest {
|
|||
List<FourCornerX06BaklavaPointSequence> cdc = FourCornerUnicodeImport.strict().convertToX06("fooBAR");
|
||||
Assertions.assertNotNull(cdc);
|
||||
Assertions.assertFalse(cdc.isEmpty());
|
||||
Assertions.assertEquals(13, cdc.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(0));
|
||||
Assertions.assertEquals(16, cdc.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X2, cdc.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X1, cdc.get(2));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(5));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(6));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(7));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(8));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(9));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(10));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(11));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX18_R, cdc.get(12));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(5));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdc.get(6));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdc.get(7));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(8));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(9));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(10));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(11));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(12));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(13));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(14));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX18_R, cdc.get(15));
|
||||
|
||||
String out = FourCornerUnicodeDisplay.text().renderFromX06(cdc);
|
||||
Assertions.assertEquals("fooBAR", out);
|
||||
|
@ -109,16 +116,19 @@ public class FourCornerUnicodeImportTest {
|
|||
List<FourCornerX08MuffinPointSequence> cdc = FourCornerUnicodeImport.strict().convertToX08("fooBAR");
|
||||
Assertions.assertNotNull(cdc);
|
||||
Assertions.assertFalse(cdc.isEmpty());
|
||||
Assertions.assertEquals(9, cdc.size());
|
||||
Assertions.assertEquals(FCDotDEC0127DashPX0.ESC68_PIE, cdc.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdc.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdc.get(2));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotDEC0127DashPX0.ESC_STOP, cdc.get(5));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(6));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(7));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX18_R, cdc.get(8));
|
||||
Assertions.assertEquals(12, cdc.size());
|
||||
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_DEC0801_E16, cdc.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(2));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdc.get(5));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(6));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(7));
|
||||
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC_STOP, cdc.get(8));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(9));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(10));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX18_R, cdc.get(11));
|
||||
|
||||
String out = FourCornerUnicodeDisplay.text().renderFromX08(cdc);
|
||||
Assertions.assertEquals("fooBAR", out);
|
||||
|
@ -171,19 +181,22 @@ public class FourCornerUnicodeImportTest {
|
|||
List<FourCornerX06BaklavaPointSequence> cdc = FourCornerUnicodeImport.strict().convertToX06("01201337");
|
||||
Assertions.assertNotNull(cdc);
|
||||
Assertions.assertFalse(cdc.isEmpty());
|
||||
Assertions.assertEquals(12, cdc.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(0));
|
||||
Assertions.assertEquals(15, cdc.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X2, cdc.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3, cdc.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X1, cdc.get(2));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX10_J, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(4)); // 0
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(5)); // 1
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdc.get(6)); // 2
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(5));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX10_J, cdc.get(6));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(7)); // 0
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(8)); // 1
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(9)); // 3
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(10)); // 3
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX08_H, cdc.get(11)); // 7
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdc.get(9)); // 2
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(10)); // 0
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(11)); // 1
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(12)); // 3
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(13)); // 3
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX08_H, cdc.get(14)); // 7
|
||||
|
||||
String out = FourCornerUnicodeDisplay.text().renderFromX06(cdc);
|
||||
Assertions.assertEquals("01201337", out);
|
||||
|
@ -194,17 +207,20 @@ public class FourCornerUnicodeImportTest {
|
|||
List<FourCornerX08MuffinPointSequence> cdc = FourCornerUnicodeImport.strict().convertToX08("01201337");
|
||||
Assertions.assertNotNull(cdc);
|
||||
Assertions.assertFalse(cdc.isEmpty());
|
||||
Assertions.assertEquals(10, cdc.size());
|
||||
Assertions.assertEquals(FCDotDEC0127DashPX0.ESC68_PIE, cdc.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX10_J, cdc.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(2)); // 0
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(3)); // 1
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdc.get(4)); // 2
|
||||
Assertions.assertEquals(13, cdc.size());
|
||||
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_DEC0801_E16, cdc.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(2));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX10_J, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(5)); // 0
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(6)); // 1
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(7)); // 3
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(8)); // 3
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX08_H, cdc.get(9)); // 7
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdc.get(7)); // 2
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(8)); // 0
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(9)); // 1
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(10)); // 3
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(11)); // 3
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX08_H, cdc.get(12)); // 7
|
||||
|
||||
String out = FourCornerUnicodeDisplay.text().renderFromX08(cdc);
|
||||
Assertions.assertEquals("01201337", out);
|
||||
|
@ -234,15 +250,19 @@ public class FourCornerUnicodeImportTest {
|
|||
List<FourCornerX06BaklavaPointSequence> cdc = FourCornerUnicodeImport.strict().convertToX06("A\nB\rC\r\nD\n");
|
||||
Assertions.assertNotNull(cdc);
|
||||
Assertions.assertFalse(cdc.isEmpty());
|
||||
Assertions.assertEquals(8, cdc.size());
|
||||
Assertions.assertEquals(12, cdc.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._NEWLINE, cdc.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(2));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._NEWLINE, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._NEWLINE, cdc.get(5));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(6));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._NEWLINE, cdc.get(7));
|
||||
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_DEC0801_E19, cdc.get(1));
|
||||
Assertions.assertEquals(FCDotDEC0801DashE19.TYPE_WRITER_TTY0001_NL, cdc.get(2));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(3));
|
||||
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_DEC0801_E19, cdc.get(4));
|
||||
Assertions.assertEquals(FCDotDEC0801DashE19.TYPE_WRITER_TTY0001_NL, cdc.get(5));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdc.get(6));
|
||||
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_DEC0801_E19, cdc.get(7));
|
||||
Assertions.assertEquals(FCDotDEC0801DashE19.TYPE_WRITER_TTY0001_NL, cdc.get(8));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(9));
|
||||
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_DEC0801_E19, cdc.get(10));
|
||||
Assertions.assertEquals(FCDotDEC0801DashE19.TYPE_WRITER_TTY0001_NL, cdc.get(11));
|
||||
|
||||
String out = FourCornerUnicodeDisplay.text().renderFromX06(cdc);
|
||||
Assertions.assertEquals("A\nB\nC\nD\n", out);
|
||||
|
|
|
@ -29,7 +29,7 @@ import java.util.List;
|
|||
import org.x4o.fc18.FourCornerUnicodeDisplay;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
import org.x4o.o2o.io.ContentWriterHtml.Tag;
|
||||
import org.x4o.o2o.io.sax3.ContentCloseable;
|
||||
import org.x4o.o2o.tdoc.ApiDocContentCss;
|
||||
|
@ -82,7 +82,7 @@ public class FCDocPageWriterBaklava implements ApiDocPageWriter, FCDocSegmentWri
|
|||
}
|
||||
List<Integer> piNum = new ArrayList<>();
|
||||
//piNum.add(FCDotCDC1604DashP6.__NCR68.ordinal());\
|
||||
for (int letter : FCDotDEC0127DashPX0.ESC68_NCR.baklavaPointSequence()) {
|
||||
for (int letter : FCDotDEC2701DashPX0.ESC68_NCR.baklavaPointSequence()) {
|
||||
piNum.add(letter);
|
||||
}
|
||||
piNum.add(FCDotCDC1604DashP6.NX01_A.ordinal() + t);
|
||||
|
|
|
@ -37,30 +37,25 @@ public class FCDotDEC0127DashPX0Test {
|
|||
|
||||
@Test
|
||||
public void testSize() throws Exception {
|
||||
Assertions.assertEquals(27, FCDotDEC0127DashPX0.values().length);
|
||||
Assertions.assertEquals(27, FCDotDEC2701DashPX0.values().length);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBaklavaSequence() throws Exception {
|
||||
List<Integer> seq = null;
|
||||
seq = FCDotDEC0127DashPX0._ESC_USER_1.baklavaPointSequence();
|
||||
seq = FCDotDEC2701DashPX0._ESC_USER_1.baklavaPointSequence();
|
||||
Assertions.assertEquals(3, seq.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X1.ordinal(), seq.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X1.ordinal(), seq.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X1.ordinal(), seq.get(2));
|
||||
|
||||
seq = FCDotDEC0127DashPX0.ESC_VT06.baklavaPointSequence();
|
||||
seq = FCDotDEC2701DashPX0.ESC_VT06.baklavaPointSequence();
|
||||
Assertions.assertEquals(3, seq.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X1.ordinal(), seq.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X2.ordinal(), seq.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3.ordinal(), seq.get(2));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3.ordinal(), seq.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3.ordinal(), seq.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X2.ordinal(), seq.get(2));
|
||||
|
||||
seq = FCDotDEC0127DashPX0.ESC_NETHER.baklavaPointSequence();
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X2.ordinal(), seq.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X2.ordinal(), seq.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3.ordinal(), seq.get(2));
|
||||
|
||||
seq = FCDotDEC0127DashPX0.ESC_STOP.baklavaPointSequence();
|
||||
seq = FCDotDEC2701DashPX0.ESC_STOP.baklavaPointSequence();
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3.ordinal(), seq.get(0));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3.ordinal(), seq.get(1));
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6._ESC6_X3.ordinal(), seq.get(2));
|
||||
|
|
|
@ -46,11 +46,11 @@ public class FCDotVT06Test {
|
|||
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
|
||||
cdc.add(VTDash06DotZeroACursor.NX_CURSOR_GOTO);
|
||||
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.toDecimalsX06(123));
|
||||
cdc.add(FCDotDEC0127DashPX0.ESC_SEQ_RAKA_AT);
|
||||
cdc.add(FCDotCDC1604DashP6._RAKA_QUESTION);
|
||||
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.toDecimalsX06(456));
|
||||
cdc.add(FCDotDEC0127DashPX0.ESC_SEQ_SALAH);
|
||||
cdc.add(FCDotCDC1604DashP6._SALAH_EXCLAMATION);
|
||||
|
||||
Assertions.assertEquals("␁␂␃AG␃␃␁JBCD␂␃␂␃␃␁JEFG␂␃␁", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
|
||||
Assertions.assertEquals("␘␘␇AG␇␘␆¿¿¿JBCD?␇␘␆¿¿¿JEFG!", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
|
||||
// TODO: Fix lexer embedded escapes, and display external with single unicode escape sign
|
||||
//Assertions.assertEquals("?AG?BCD?EFG!", FourCornerUnicodeDisplay.text().renderFromX06(cdc));
|
||||
}
|
||||
|
@ -60,8 +60,8 @@ public class FCDotVT06Test {
|
|||
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
|
||||
cdc.add(VTDash06DotZeroCClear.VT_CLEAR_TOP);
|
||||
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.toDecimalsX06(5));
|
||||
cdc.add(FCDotDEC0127DashPX0.ESC_SEQ_SALAH);
|
||||
cdc.add(FCDotCDC1604DashP6._SALAH_EXCLAMATION);
|
||||
|
||||
Assertions.assertEquals("␁␂␃CA␃␃␁JF␂␃␁", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
|
||||
Assertions.assertEquals("␘␘␇CA␇␘␆¿¿¿JF!", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ import org.x4o.fc18.FourCornerUnicodeDisplay;
|
|||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotDEC2701DashPX0;
|
||||
|
||||
/**
|
||||
* Tests four corner lexer parts.
|
||||
|
@ -53,7 +53,7 @@ public class LexerNCRTest {
|
|||
lexer.read(cdc);
|
||||
Assertions.assertEquals(1, fireWalker.ncr1632BankSparkler);
|
||||
|
||||
cdc.addAll(FCDotDEC0127DashPX0.ESC_STOP.toInt18BaklavaPoints()); // the print above auto value + next test
|
||||
cdc.addAll(FCDotDEC2701DashPX0.ESC_STOP.baklavaPointSequence()); // the print above auto value + next test
|
||||
cdc.add(FourCornerDotCake.FC_NCR1632_XN.getStart() - 1 + 123); // normal NXX_123
|
||||
cdc.add(FourCornerDotCake.FC_NCR1632_XN.getStart() + (512*4) + 2); /// auto NXX_123 + this
|
||||
fireWalker.reset();
|
||||
|
@ -61,7 +61,7 @@ public class LexerNCRTest {
|
|||
Assertions.assertEquals(2, fireWalker.ncr1632BankSparkler);
|
||||
|
||||
Assertions.assertEquals(0, fireWalker.ncr1632BankReset);
|
||||
cdc.addAll(FCDotDEC0127DashPX0.ESC_STOP.toInt18BaklavaPoints()); // the print above auto value + next test (normal bank reset)
|
||||
cdc.addAll(FCDotDEC2701DashPX0.ESC_STOP.cakePointSequence()); // the print above auto value + next test (normal bank reset)
|
||||
cdc.add(FourCornerDotCake.FC_NCR1632_XD.getStart() - 1 + 11);
|
||||
cdc.add(FourCornerDotCake.FC_NCR1632_XD.getStart() + (512*3) + 12);
|
||||
cdc.add(FourCornerDotCake.FC_NCR1632_XN.getStart() + (512*4) + 13);
|
||||
|
@ -82,18 +82,20 @@ public class LexerNCRTest {
|
|||
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
|
||||
cdc.add(FCDotCDC1604DashP6.NX24_X); // = X
|
||||
cdc.add(FCDotCDC1604DashP6.NY09_EQUALS);
|
||||
cdc.addAll(FCDotDEC0127DashPX0.ESC68_NCR.toX06BaklavaPoints());
|
||||
cdc.add(FCDotCDC1604DashP6._ESC6_X2);
|
||||
cdc.add(FCDotCDC1604DashP6._ESC6_X3);
|
||||
cdc.add(FCDotCDC1604DashP6._ESC6_X2);
|
||||
cdc.add(FCDotCDC1604DashP6.NX15_O); // T015
|
||||
cdc.add(FCDotCDC1604DashP6.NX14_N); // NXX_014
|
||||
cdc.add(FCDotCDC1604DashP6.NX05_E); // NXX_005
|
||||
cdc.add(FCDotCDC1604DashP6.NX07_G); // NXX_007
|
||||
cdc.add(FCDotCDC1604DashP6.NX15_O); // NXX_015
|
||||
cdc.add(FCDotCDC1604DashP6.NX04_D); // NXX_004
|
||||
cdc.add(FCDotCDC1604DashP6.NY14_SEMICOLON);
|
||||
cdc.add(FCDotCDC1604DashP6._NEWLINE);
|
||||
//cdc.add(FCDotCDC1604DashP6.NY14_SEMICOLON);
|
||||
//cdc.add(FCDotCDC1604DashP6._NEWLINE);
|
||||
|
||||
Assertions.assertEquals("X=¹⁴/₁₅⁵/₁₅⁷/₁₅¹⁵/₁₅⁴/₁₅;\n", FourCornerUnicodeDisplay.text().renderFromX06(cdc));
|
||||
Assertions.assertEquals("X=␃␃␂ONEGOD;\n", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
|
||||
Assertions.assertEquals("X=¹⁴/₁₅⁵/₁₅⁷/₁₅¹⁵/₁₅⁴/₁₅", FourCornerUnicodeDisplay.text().renderFromX06(cdc));
|
||||
Assertions.assertEquals("X=␇␘␇ONEGOD", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -111,9 +113,9 @@ public class LexerNCRTest {
|
|||
cdc.add(FourCornerDotCake.FC_NCR1632_XN.getStart() - 1 + 123); // NXX_123
|
||||
cdc.add(FourCornerDotCake.FC_NCR1632_XN.getStart() - 1 + 4); // NXX_004
|
||||
cdc.add(FCDotCDC1604DashP6.NY14_SEMICOLON.ordinal());
|
||||
cdc.add(FCDotCDC1604DashP6._NEWLINE.ordinal());
|
||||
//cdc.add(FCDotCDC1604DashP6._NEWLINE.ordinal());
|
||||
|
||||
Assertions.assertEquals("X=¹¹/₁¹/₁¹⁴/₁₅¹²³/₁₀₂₅⁴/₁₀₂₅;\n", FourCornerUnicodeDisplay.text().renderFromInt18(cdc));
|
||||
Assertions.assertEquals("X=¹¹/₁¹/₁¹⁴/₁₅¹²³/₁₀₂₅⁴/₁₀₂₅;", FourCornerUnicodeDisplay.text().renderFromInt18(cdc));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Reference in a new issue