diff --git a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FCDotDEC1604DashE2.java b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FCDotDEC1604DashE2.java index 89e52ce..170c696 100644 --- a/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FCDotDEC1604DashE2.java +++ b/nx01-x4o-o2o/src/main/java/org/x4o/o2o/fc18/FCDotDEC1604DashE2.java @@ -102,20 +102,28 @@ public enum FCDotDEC1604DashE2 { UNDEFINED__NX26_Z, UNDEFINED__NX27_AMPERSAND, - // Encode 21 bit unicode-1 code point ?? - // _RESERVED1_UNICODE1(), // todo move down - // Unicode-4 is 72 bit stroke blocks, which are 12 P6 code points to align. - // _WORD_ESC + _TEST_UNICODE4 + + manyStrokeBlocks - // _RESERVED4_UNICODE4(), // todo move down + // TODO LIST; // - // Historical glue for ansi codes, TODO: put on P6 index number of '[' and ??? + // Encode pie numbers 28 and above !!! + // XXX_ESC_PIE_2(), + // XXX_ESC_PIE_3(), + // XXX_ESC_PIE_4(), + // + // Encode 18 full 18 bit FC word in 6 bit !!! + // XXX_FOUR_CORNER(), + // + // Encode 21 bit unicode-1 code point ??? + // XXX_UNICODE1(), + // + // Encode 72 bit Unicode-4 !!! + // XXX_UNICODE4(), // _WORD_ESC + _TEST_UNICODE4 + + manyStrokeBlocks + // + // Historical glue for ansi codes ??? // TAG_ANSI_UPPER, // TAG_ANSI_LOWER, + // TAG_ANSI_C0, // bell,backspace,tab etc, // - // used for bell,backspace,tab etc, TODO: fix free index number in current ansi escape codes. - // TAG_ANSI_C0, - // - // TODO: Re-impl simple like VT52 see https://en.wikipedia.org/wiki/ANSI_escape_code + // Example VT52 see https://en.wikipedia.org/wiki/ANSI_escape_code // - ESC [ // - any number (including none) of "parameter bytes" in the range 0x30–0x3F (ASCII 0–9:;<=>?), // - any number of "intermediate bytes" in the range 0x20–0x2F (ASCII space and !"#$%&'()*+,-./), @@ -129,8 +137,20 @@ public enum FCDotDEC1604DashE2 { // with terminator codes; // On 6 bit P6DEC system with takes __ESC+TAG_SQUARE_LEFT+__PIE+NX09_I+NX01_A // On 18 bit P6DEC system with takes TAG_ANSI_UPPER+__PIE+NX09_I+NX01_A + // + // TODO: full new impl+cleanup of ANSI-NG for 6 bit real computer terminals !?! ; - + + static final private FCDotDEC1604DashE2[] E2_ALL = values(); + private FCDotDEC1604DashE2() { } + + static public int length() { + return E2_ALL.length; + } + + static public FCDotDEC1604DashE2 indexOf(int idx) { + return E2_ALL[idx]; + } } diff --git a/nx01-x4o-o2o/src/test/java/org/x4o/o2o/fc18/FCDotCDC1604DashP6Test.java b/nx01-x4o-o2o/src/test/java/org/x4o/o2o/fc18/FCDotCDC1604DashP6Test.java index f92a38a..63bc072 100644 --- a/nx01-x4o-o2o/src/test/java/org/x4o/o2o/fc18/FCDotCDC1604DashP6Test.java +++ b/nx01-x4o-o2o/src/test/java/org/x4o/o2o/fc18/FCDotCDC1604DashP6Test.java @@ -40,7 +40,7 @@ public class FCDotCDC1604DashP6Test { @Test public void testValues() throws Exception { - Assertions.assertEquals(64, FCDotCDC1604DashP6.values().length); + Assertions.assertEquals(64, FCDotCDC1604DashP6.length()); boolean duplicate = false; Map global = new HashMap<>(); for (FCDotCDC1604DashP6 v : FCDotCDC1604DashP6.values()) {