diff --git a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerDotCake.java b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerDotCake.java index 487c338..c0091e6 100644 --- a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerDotCake.java +++ b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerDotCake.java @@ -156,61 +156,61 @@ public enum FourCornerDotCake { /// Reserved four corner extra words __RESERVED_WORDS(4096+100000, 131072-100000-4096), // fc end = 2^17-1 - // =========== Allow big terminators to learn a computer math - - /// New Counting Rods, Select an 9 bit denominator to use. - /// Divided in 64 nine bit banks, to select up to 576 bit denominator. - FC_NCR1632_XD(131072, 32768), - /// New Counting Rods, Use one or more 9 bit numerator values. - /// Divided in 64 nine bit banks, to select up to 576 bit numerator. - /// NOTE: Every lowest (512) numerator trigger a fraction. - FC_NCR1632_XN(131072+32768, 32768), - // =========== Allow digital language constructs to be constants /// Code Language Keywords for VHDL/C++ and Java/etc which allows a user to load a custom word dictionary. /// TODO: Add a few more sources and do a few dedup alias rename sessions AND abbr... unpacking + aliasses - FC_CLK1K_A(196608 + (1024*0), 1024), // start at "2^17+2^16" - FC_CLK1K_B(196608 + (1024*1), 1024), - FC_CLK1K_C(196608 + (1024*2), 1024), - FC_CLK1K_D(196608 + (1024*3), 1024), - FC_CLK1K_E(196608 + (1024*4), 1024), - FC_CLK1K_F(196608 + (1024*5), 1024), - FC_CLK1K_G(196608 + (1024*6), 1024), - FC_CLK1K_H(196608 + (1024*7), 1024), - FC_CLK1K_I(196608 + (1024*8), 1024), - FC_CLK1K_J(196608 + (1024*9), 1024), - FC_CLK1K_K(196608 + (1024*10), 1024), - FC_CLK1K_L(196608 + (1024*11), 1024), - FC_CLK1K_M(196608 + (1024*12), 1024), - FC_CLK1K_N(196608 + (1024*13), 1024), - FC_CLK1K_O(196608 + (1024*14), 1024), - FC_CLK1K_P(196608 + (1024*15), 1024), - FC_CLK1K_Q(196608 + (1024*16), 1024), - FC_CLK1K_R(196608 + (1024*17), 1024), - FC_CLK1K_S(196608 + (1024*18), 1024), - FC_CLK1K_T(196608 + (1024*19), 1024), - FC_CLK1K_U(196608 + (1024*20), 1024), - FC_CLK1K_V(196608 + (1024*21), 1024), - FC_CLK1K_W(196608 + (1024*22), 1024), - FC_CLK1K_X(196608 + (1024*23), 1024), - FC_CLK1K_Y(196608 + (1024*24), 1024), - FC_CLK1K_Z(196608 + (1024*25), 1024), - FC_CLK1K_AMP(196608 + (1024*26), 1024), + FC_CLK1K_A(131072 + (1024*0), 1024), // start at "2^17+2^16" + FC_CLK1K_B(131072 + (1024*1), 1024), + FC_CLK1K_C(131072 + (1024*2), 1024), + FC_CLK1K_D(131072 + (1024*3), 1024), + FC_CLK1K_E(131072 + (1024*4), 1024), + FC_CLK1K_F(131072 + (1024*5), 1024), + FC_CLK1K_G(131072 + (1024*6), 1024), + FC_CLK1K_H(131072 + (1024*7), 1024), + FC_CLK1K_I(131072 + (1024*8), 1024), + FC_CLK1K_J(131072 + (1024*9), 1024), + FC_CLK1K_K(131072 + (1024*10), 1024), + FC_CLK1K_L(131072 + (1024*11), 1024), + FC_CLK1K_M(131072 + (1024*12), 1024), + FC_CLK1K_N(131072 + (1024*13), 1024), + FC_CLK1K_O(131072 + (1024*14), 1024), + FC_CLK1K_P(131072 + (1024*15), 1024), + FC_CLK1K_Q(131072 + (1024*16), 1024), + FC_CLK1K_R(131072 + (1024*17), 1024), + FC_CLK1K_S(131072 + (1024*18), 1024), + FC_CLK1K_T(131072 + (1024*19), 1024), + FC_CLK1K_U(131072 + (1024*20), 1024), + FC_CLK1K_V(131072 + (1024*21), 1024), + FC_CLK1K_W(131072 + (1024*22), 1024), + FC_CLK1K_X(131072 + (1024*23), 1024), + FC_CLK1K_Y(131072 + (1024*24), 1024), + FC_CLK1K_Z(131072 + (1024*25), 1024), + FC_CLK1K_AMP(131072 + (1024*26), 1024), /// Align unicode - __RESERVED_CLKSP(1 + FC_CLK1K_AMP.getStop(), 0x37000 - FC_CLK1K_AMP.getStop() - 1), + __RESERVED_CLKSP(1 + FC_CLK1K_AMP.getStop(), 0x27000 - FC_CLK1K_AMP.getStop() - 1), // =========== Allow more data grams for legacy unicode and next generation unicode - /// Optional select for the 11 bit half word, to get full 21 bit unicode-one point. - FC_UNI2K_22(0x37000, 2048), /// Support lower 11 bit of unicode to be encoded with one cake point. - FC_UNI2K_11(0x37800, 2048), + FC_UNI2K_11(0x27000, 2048), + /// Optional select for the 11 bit half word, to get full 21 bit unicode-one point. + FC_UNI2K_22(0x27800, 2048), /// MUST Prefix with __ESC18_NETHER, than pack big indian octals per 5, which is 15 bit data in one 18 bit cake point. /// This can encode dark text data like icons, bitmap images or vector images and unicode4D/etc. - FC_NETHER(0x38000, 32768), + FC_NETHER(0x28000, 32768), + + // =========== Allow big terminators to learn a computer math + + /// New Counting Rods, Select an 9 bit denominator to use. + /// Divided in 64 nine bit banks, to select up to 576 bit denominator. + FC_NCR1632_XD(0x30000, 32768), + /// New Counting Rods, Use one or more 9 bit numerator values. + /// Divided in 64 nine bit banks, to select up to 576 bit numerator. + /// NOTE: Every lowest (512) numerator trigger a fraction. + FC_NCR1632_XN(0x38000, 32768), ; private final int start; @@ -258,13 +258,7 @@ public enum FourCornerDotCake { if (idx < FC_IBM1616_H8.ordinal()) { return false; } - if (idx == FC_NCR1632_XD.ordinal()) { - return false; - } - if (idx == FC_NCR1632_XN.ordinal()) { - return false; - } - if (idx >= FC_UNI2K_22.ordinal()) { + if (idx >= FC_UNI2K_11.ordinal()) { return false; } return true; diff --git a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplay.java b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplay.java index 59ec74a..2d04677 100644 --- a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplay.java +++ b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FourCornerUnicodeDisplay.java @@ -46,7 +46,7 @@ public class FourCornerUnicodeDisplay { private boolean handleEscape = true; private String renderSeperator = null; - private FourCornerUnicodeDisplay(boolean failUnsupported, boolean handleEscape, String renderSeperator) { + public FourCornerUnicodeDisplay(boolean failUnsupported, boolean handleEscape, String renderSeperator) { this.failUnsupported = failUnsupported; this.handleEscape = handleEscape; this.renderSeperator = renderSeperator; diff --git a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotAPL1604DashP8L.java b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotAPL1604DashP8L.java index 99879c2..dd3a2a0 100644 --- a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotAPL1604DashP8L.java +++ b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotAPL1604DashP8L.java @@ -28,7 +28,7 @@ import org.x4o.o2o.fc18.FourCornerX08MuffinPoints; import org.x4o.o2o.fc18.FourCornerX18CakePoints; import org.x4o.o2o.fc18.FourCornerX21CodePoints; -/// "FC.APL1604-S6" Four Corner A Programming Language symbols cake slice of cake points. +/// "FC.APL1604-P8L" Four Corner A Programming Language symbols cake slice of cake points. /// /// @author Willem Cazander /// @version 1.0 Jan 1, 2025 diff --git a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotBYD1604DashP8H.java b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotBYD1604DashP8H.java index a1d9ef8..a1e4099 100644 --- a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotBYD1604DashP8H.java +++ b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotBYD1604DashP8H.java @@ -28,7 +28,7 @@ import org.x4o.o2o.fc18.FourCornerX08MuffinPoints; import org.x4o.o2o.fc18.FourCornerX18CakePoints; import org.x4o.o2o.fc18.FourCornerX21CodePoints; -/// "FC.BYD1604-C6" Four Corner Block Your Display terminal application. +/// "FC.BYD1604-P8H" Four Corner Block Your Display terminal application. /// /// @author Willem Cazander /// @version 1.0 Jan 1, 2025 diff --git a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotDEC1604DashP7.java b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotDEC1604DashP7.java index 89c5823..a7d5b86 100644 --- a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotDEC1604DashP7.java +++ b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zero33/FCDotDEC1604DashP7.java @@ -28,7 +28,7 @@ import org.x4o.o2o.fc18.FourCornerX08MuffinPoints; import org.x4o.o2o.fc18.FourCornerX18CakePoints; /** - * "FC.DEC1604-E2" Four Corner dot Direct or Escaped Control in grid of 16 by 04 of dashed Escape codes V2. + * "FC.DEC1604-P7" Four Corner dot Direct or Escaped Control in grid of 16 by 04 of dashed Escape codes V2. * * A 6 bit computer use the __ESC6 to use these 64 control codes. * diff --git a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zion7/FourCornerZionStenoLexer.java b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zion7/FourCornerZionStenoLexer.java index 4a676c5..4b71d3b 100644 --- a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zion7/FourCornerZionStenoLexer.java +++ b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/zion7/FourCornerZionStenoLexer.java @@ -291,11 +291,11 @@ public class FourCornerZionStenoLexer { @Override public ScanResult scan() { - if (cakePoint < FourCornerDotCake.FC_UNI2K_22.getStart() || cakePoint > FourCornerDotCake.FC_UNI2K_11.getStop()) { + if (cakePoint < FourCornerDotCake.FC_UNI2K_11.getStart() || cakePoint > FourCornerDotCake.FC_UNI2K_22.getStop()) { return ScanResult.NEXT; } List result = new ArrayList<>(); - ScanResult status = safeReadCakePoints(FourCornerDotCake.FC_UNI2K_22.getStart(), FourCornerDotCake.FC_UNI2K_11.getStop(), result); + ScanResult status = safeReadCakePoints(FourCornerDotCake.FC_UNI2K_11.getStart(), FourCornerDotCake.FC_UNI2K_22.getStop(), result); if (!result.isEmpty()) { handlePoints(result); // mix of the two unicode blocks pages }