Fixed ESC68_2PIE pie towers with elevator buttons

This commit is contained in:
Willem Cazander 2025-05-24 18:08:56 +02:00
parent a3a3350e08
commit 9c1ff8522e
33 changed files with 81 additions and 78 deletions

View file

@ -259,13 +259,13 @@ public class FourCornerUnicodeImport {
return false; // 18 direct cake point is found by generic lookup
}
if (ctx.codePoint >= '0' && ctx.codePoint <= '9') {
if (!FCDotCDC1604DashP6.NX10_J.equals(ctx.cdcNumberTerminator)) {
if (!FCDotCDC1604DashP6.NY10_CARET.equals(ctx.cdcNumberTerminator)) {
if (ctx.bits == 6) {
ctx.output.addAll(toX06BaklavaPoints(FCDotCDC1604DashP6.NX10_J));
ctx.output.addAll(toX06BaklavaPoints(FCDotCDC1604DashP6.NY10_CARET));
} else {
ctx.output.addAll(toX08MuffinPoints(FCDotCDC1604DashP6.NX10_J));
ctx.output.addAll(toX08MuffinPoints(FCDotCDC1604DashP6.NY10_CARET));
}
ctx.cdcNumberTerminator = FCDotCDC1604DashP6.NX10_J;
ctx.cdcNumberTerminator = FCDotCDC1604DashP6.NY10_CARET;
}
int cdcNumberOff = ctx.codePoint - '0';
int cdcNumber = FCDotCDC1604DashP6.NX01_A.ordinal() + cdcNumberOff;
@ -288,13 +288,13 @@ public class FourCornerUnicodeImport {
return false; // 18 direct cake point is found by generic lookup
}
if (ctx.codePoint >= 'a' && ctx.codePoint <= 'z') {
if (!FCDotCDC1604DashP6.NX26_Z.equals(ctx.cdcCaseTerminator)) {
if (!FCDotCDC1604DashP6.NY26_SQUARE_RIGHT.equals(ctx.cdcCaseTerminator)) {
if (ctx.bits == 6) {
ctx.output.addAll(toX06BaklavaPoints(FCDotCDC1604DashP6.NX26_Z));
ctx.output.addAll(toX06BaklavaPoints(FCDotCDC1604DashP6.NY26_SQUARE_RIGHT));
} else {
ctx.output.addAll(toX08MuffinPoints(FCDotCDC1604DashP6.NX26_Z));
ctx.output.addAll(toX08MuffinPoints(FCDotCDC1604DashP6.NY26_SQUARE_RIGHT));
}
ctx.cdcCaseTerminator = FCDotCDC1604DashP6.NX26_Z;
ctx.cdcCaseTerminator = FCDotCDC1604DashP6.NY26_SQUARE_RIGHT;
}
int cdcNumberOff = ctx.codePoint - 'a';
int cdcNumber = FCDotCDC1604DashP6.NX01_A.ordinal() + cdcNumberOff;

View file

@ -487,9 +487,9 @@ public enum FourCornerDotCake {
}
public static Optional<FourCornerDotCake> valueFromCakePoint(final int cakePoint) {
final int valuesLength = VALUES.length;
final int valuesLength = valuesLength();
for (int i = 0; i < valuesLength; i++) {
FourCornerDotCake cake = VALUES[i];
FourCornerDotCake cake = valueOf(i);
if (cake.contains(cakePoint)) {
return Optional.of(cake);
}
@ -499,9 +499,9 @@ public enum FourCornerDotCake {
static public List<FourCornerDotCake> valuesByTower(final FourCornerDotCakeTower tower) {
final List<FourCornerDotCake> result = new ArrayList<>();
final int valuesLength = VALUES.length;
final int valuesLength = valuesLength();
for (int i = 0; i < valuesLength; i++) {
FourCornerDotCake cake = VALUES[i];
FourCornerDotCake cake = valueOf(i);
if (cake.tower().equals(tower)) {
result.add(cake);
}

View file

@ -47,7 +47,7 @@ public enum FCDotPIE9CDash01 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX01_A, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY01_AT, ordinal());
}
@Override

View file

@ -48,7 +48,7 @@ public enum FCDotPIE9CDash02 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX02_B, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY02_BAR_V_RIGHT, ordinal());
}
@Override

View file

@ -49,7 +49,7 @@ public enum FCDotPIE9CDash03 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX03_C, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY03_BAR_V_LEFT, ordinal());
}
@Override

View file

@ -50,7 +50,7 @@ public enum FCDotPIE9CDash04 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX04_D, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY04_BAR_UNDER, ordinal());
}
@Override

View file

@ -51,7 +51,7 @@ public enum FCDotPIE9CDash05 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX05_E, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY05_BAR_VERTICAL, ordinal());
}
@Override

View file

@ -52,7 +52,7 @@ public enum FCDotPIE9CDash06 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX06_F, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY06_PERCENT, ordinal());
}
@Override

View file

@ -53,7 +53,7 @@ public enum FCDotPIE9CDash07 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX07_G, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY07_DOLLAR, ordinal());
}
@Override

View file

@ -54,7 +54,7 @@ public enum FCDotPIE9CDash08 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX08_H, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY08_HASH, ordinal());
}
@Override

View file

@ -55,7 +55,7 @@ public enum FCDotPIE9CDash09 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX09_I, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY09_EQUALS, ordinal());
}
@Override

View file

@ -56,7 +56,7 @@ public enum FCDotPIE9CDash10 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX10_J, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY10_CARET, ordinal());
}
@Override

View file

@ -57,7 +57,7 @@ public enum FCDotPIE9CDash11 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX11_K, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY11_BACKTICK, ordinal());
}
@Override

View file

@ -58,7 +58,7 @@ public enum FCDotPIE9CDash12 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX12_L, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY12_QUOTATION, ordinal());
}
@Override

View file

@ -59,7 +59,7 @@ public enum FCDotPIE9CDash13 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX13_M, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY13_APOSTROPHE, ordinal());
}
@Override

View file

@ -60,7 +60,7 @@ public enum FCDotPIE9CDash14 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX14_N, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY14_SEMICOLON, ordinal());
}
@Override

View file

@ -61,7 +61,7 @@ public enum FCDotPIE9CDash15 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX15_O, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY15_COLON, ordinal());
}
@Override

View file

@ -62,7 +62,7 @@ public enum FCDotPIE9CDash16 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX16_P, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY16_DOT, ordinal());
}
@Override

View file

@ -63,7 +63,7 @@ public enum FCDotPIE9CDash17 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX17_Q, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY17_COMMA, ordinal());
}
@Override

View file

@ -65,7 +65,7 @@ public enum FCDotPIE9CDash18 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX18_R, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY18_ASTERISK, ordinal());
}
@Override

View file

@ -65,7 +65,7 @@ public enum FCDotPIE9CDash19 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX19_S, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY19_MINUS, ordinal());
}
@Override

View file

@ -66,7 +66,7 @@ public enum FCDotPIE9CDash20 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX20_T, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY20_PLUS, ordinal());
}
@Override

View file

@ -67,7 +67,7 @@ public enum FCDotPIE9CDash21 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX21_U, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY21_TILDE, ordinal());
}
@Override

View file

@ -68,7 +68,7 @@ public enum FCDotPIE9CDash22 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX22_V, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY22_CURLY_RIGHT, ordinal());
}
@Override

View file

@ -69,7 +69,7 @@ public enum FCDotPIE9CDash23 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX23_W, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY23_CURLY_LEFT, ordinal());
}
@Override

View file

@ -70,7 +70,7 @@ public enum FCDotPIE9CDash24 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX24_X, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY24_ROUND_RIGHT, ordinal());
}
@Override

View file

@ -73,7 +73,7 @@ public enum FCDotPIE9CDash25 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX25_Y, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY25_ROUND_LEFT, ordinal());
}
@Override

View file

@ -75,7 +75,7 @@ public enum FCDotPIE9CDash26 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX26_Z, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY26_SQUARE_RIGHT, ordinal());
}
@Override

View file

@ -73,7 +73,7 @@ public enum FCDotPIE9CDash27 implements FourCornerDotCollePie9 {
@Override
public List<Integer> baklavaPointSequence() {
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NX27_AMP, ordinal());
return baklavaPointsPIE9C(FCDotCDC1604DashP6.NY27_SQUARE_LEFT, ordinal());
}
@Override

View file

@ -68,7 +68,8 @@ public class FourCornerZionStenoLexer {
private FCDotINC0801DashP8 cdcDECModeInc = null;
private FCDotDEC0801DashE10 cdcDECModeE10 = null;
private Integer cdcDECModeNcr = null;
private Integer cdcDECModePie = null;
private int cdcDECModePie = 0;
private boolean cdcDECModePieAlt = false;
private FourCornerZionStenoLexerSmoke smokeSignals = CLEAN_SMOKE;
private FourCornerZionStenoLexerFire fireSignals = CLEAN_FIRE;
@ -255,7 +256,8 @@ public class FourCornerZionStenoLexer {
cdcDECModeInc = null;
cdcDECModeE10 = null;
cdcDECModeNcr = null;
cdcDECModePie = null;
cdcDECModePie = 0;
cdcDECModePieAlt = false;
}
abstract static private class StenoScanner {
@ -712,30 +714,31 @@ public class FourCornerZionStenoLexer {
private boolean handlePIE(FourCornerZionStenoLexer lexer) {
int cdcPoint = lexer.input.get(lexer.cdcDECScanIndex);
// TODO: add PIE left/right + elevator button support
if (lexer.cdcDECModePie == null) {
lexer.cdcDECModePie = cdcPoint;
if (lexer.cdcDECModePie < FCDotCDC1604DashP6.NX01_A.ordinal()) {
lexer.decModeReset();
return false; // print char
} else {
return true;
}
// elevator button selector
if (cdcPoint >= FCDotCDC1604DashP6.NY27_SQUARE_LEFT.ordinal() && cdcPoint <= FCDotCDC1604DashP6.NY01_AT.ordinal()) {
lexer.cdcDECModePie = FCDotCDC1604DashP6.NY01_AT.ordinal() - cdcPoint; // goto relative
return true; // swallow button
} else if (cdcPoint == FCDotCDC1604DashP6._SALT_COMPARE_LEFT.ordinal()) {
lexer.cdcDECModePieAlt = false;
return true; // eat the left salt
} else if (cdcPoint == FCDotCDC1604DashP6._SALT_COMPARE_RIGHT.ordinal()) {
lexer.cdcDECModePieAlt = true;
return true; // eat the right salt
} else if (cdcPoint <= FCDotCDC1604DashP6._PEPPER_DOWNUP_QUESTION.ordinal()) {
lexer.decModeReset();
return false; // print char
}
if (lexer.cdcDECModePie != null) {
if (cdcPoint < FCDotCDC1604DashP6.NX01_A.ordinal()) {
lexer.decModeReset();
return false;
}
if (cdcPoint > lexer.cdcDECModePie) {
lexer.decModeReset();
return false;
}
}
int terminatorOffZero = lexer.cdcDECModePie - FCDotCDC1604DashP6.NX01_A.ordinal();
int terminatorOffZero = lexer.cdcDECModePie;
int numberIdxOffZero = cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal();
FourCornerDotCake slice = FourCornerDotCake.valueOf(terminatorOffZero + FourCornerDotCake.FC_PIE9C_01.ordinal());
if (numberIdxOffZero > terminatorOffZero) {
lexer.decModeReset();
return false;
}
int sliceBase = FourCornerDotCake.FC_PIE9C_01.ordinal();
if (lexer.cdcDECModePieAlt) {
sliceBase = FourCornerDotCake.FC_PIE9D_01.ordinal();
}
FourCornerDotCake slice = FourCornerDotCake.valueOf(terminatorOffZero + sliceBase);
lexer.handler.strobeWord(slice, numberIdxOffZero);
return true;
}

View file

@ -55,16 +55,17 @@ public class FourCornerUnicodeDisplayTest {
cdc.add(FCDotCDC1604DashP6.NX04_D);
cdc.add(FCDotCDC1604DashP6.NY16_DOT);
cdc.add(FCDotDEC2701DashPX0.ESC68_2PIE);
cdc.add(FCDotCDC1604DashP6.NX26_Z); // select lower case
cdc.add(FCDotCDC1604DashP6.NY26_SQUARE_RIGHT); // select lower case
cdc.add(FCDotCDC1604DashP6.NX10_J);
cdc.add(FCDotCDC1604DashP6.NX11_K);
cdc.add(FCDotCDC1604DashP6._SALT_COMPARE_RIGHT);
cdc.add(FCDotCDC1604DashP6.NX12_L);
cdc.add(FCDotCDC1604DashP6.NX13_M);
cdc.add(FCDotDEC2701DashPX0.ESC_STOP);
cdc.add(FCDotCDC1604DashP6.NX15_O);
Assertions.assertEquals("ab BCD.jklmO", FourCornerUnicodeDisplay.text().renderFromX06(cdc));
Assertions.assertEquals("␇␇␘ZA␇␇␘ZB␘␆␆ABCD.␇␇␘ZJKLM␘␘␘O", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
Assertions.assertEquals("ab BCD.jk𝐋𝐌O", FourCornerUnicodeDisplay.text().renderFromX06(cdc));
Assertions.assertEquals("␇␇␘]A␇␇␘]B␘␆␆ABCD.␇␇␘]JK>LM␘␘␘O", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
}
@Test
@ -72,23 +73,22 @@ public class FourCornerUnicodeDisplayTest {
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
cdc.add(FCDotCDC1604DashP6.NX24_X); // = X
cdc.add(FCDotDEC2701DashPX0.ESC68_2PIE);
cdc.add(FCDotCDC1604DashP6.NY10_CARET); // ^
cdc.add(FCDotCDC1604DashP6.NY06_PERCENT); // = %
cdc.add(FCDotCDC1604DashP6.NY10_CARET);
cdc.add(FCDotCDC1604DashP6.NY06_PERCENT);
cdc.add(FCDotDEC2701DashPX0.ESC68_2PIE);
cdc.add(FCDotCDC1604DashP6.NY01_AT);
cdc.add(FCDotCDC1604DashP6.NX11_K); // = K
Assertions.assertEquals("X^%@K", FourCornerUnicodeDisplay.text().renderFromX06(cdc));
Assertions.assertEquals("XK", FourCornerUnicodeDisplay.text().renderFromX06(cdc));
}
@Test
public void testNumberPieOutOfRange() throws Exception {
List<FourCornerX06BaklavaPointSequence> cdc = new ArrayList<>();
cdc.add(FCDotDEC2701DashPX0.ESC68_2PIE);
cdc.add(FCDotCDC1604DashP6.NX01_A);
cdc.add(FCDotCDC1604DashP6.NX02_B); // B
cdc.add(FCDotDEC2701DashPX0.ESC68_2PIE);
cdc.add(FCDotCDC1604DashP6.NX10_J);
cdc.add(FCDotCDC1604DashP6.NY10_CARET);
cdc.add(FCDotCDC1604DashP6.NX04_D); // 3
cdc.add(FCDotCDC1604DashP6.NX11_K); // K

View file

@ -69,7 +69,7 @@ public class FourCornerUnicodeImportTest {
Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals(8, cdc.size());
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_2PIE, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NY26_SQUARE_RIGHT, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdi.next());
@ -89,7 +89,7 @@ public class FourCornerUnicodeImportTest {
Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals(11, cdc.size());
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_2PIE, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NY26_SQUARE_RIGHT, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdi.next());
@ -112,7 +112,7 @@ public class FourCornerUnicodeImportTest {
Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals(9, cdc.size());
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_2PIE, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NY26_SQUARE_RIGHT, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdi.next());
@ -175,7 +175,7 @@ public class FourCornerUnicodeImportTest {
Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals(10, cdc.size());
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_2PIE, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX10_J, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NY10_CARET, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdi.next()); // 0
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdi.next()); // 1
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdi.next()); // 2
@ -197,7 +197,7 @@ public class FourCornerUnicodeImportTest {
Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals(10, cdc.size());
Assertions.assertEquals(FCDotDEC2701DashPX0.ESC68_2PIE, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX10_J, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NY10_CARET, cdi.next());
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdi.next()); // 0
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdi.next()); // 1
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdi.next()); // 2

View file

@ -50,7 +50,7 @@ public class FCDotVT06Test {
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.toDecimalsX06(456));
cdc.add(FCDotCDC1604DashP6._SALAH_EXCLAMATION);
Assertions.assertEquals("␘␘␇AG␇␇␘JBCD?␇␇␘JEFG!", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
Assertions.assertEquals("␘␘␇AG␇␇␘^BCD?␇␇␘^EFG!", 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));
}
@ -62,6 +62,6 @@ public class FCDotVT06Test {
cdc.addAll(FourCornerUnicodeMapper.DICTIONARY.toDecimalsX06(5));
cdc.add(FCDotCDC1604DashP6._SALAH_EXCLAMATION);
Assertions.assertEquals("␘␘␇CA␇␇␘JF!", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
Assertions.assertEquals("␘␘␇CA␇␇␘^F!", FourCornerUnicodeDisplay.raw().renderFromX06(cdc));
}
}