diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/FourCornerUnicodeDisplay.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/FourCornerUnicodeDisplay.java index 823795e..7598d74 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/FourCornerUnicodeDisplay.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/FourCornerUnicodeDisplay.java @@ -179,8 +179,8 @@ public class FourCornerUnicodeDisplay { FourCornerX00PetitVidePoints[] videPoints = slice.getVidePoints(); if (slice.isExternWord()) { - String fcQName = slice.qname(); - String key = fcQName + "." + Integer.toString(offset); + String nameSpec = slice.nameSpec(); + String key = nameSpec + "." + Integer.toString(offset); String value = null; if (value != null) { output.append(value); diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/FourCornerDotCake.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/FourCornerDotCake.java index ade4b56..e2355de 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/FourCornerDotCake.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/FourCornerDotCake.java @@ -95,25 +95,20 @@ public enum FourCornerDotCake { // =========== Allow small terminators to take over 6 bit main frame computers - /// Character Dough Cake - FC_CDC1604_P6(0, 64, FCDotCDC1604DashP6.values()), + FC_CDC1604_P6(0, 64, FCDotCDC1604DashP6.values(), "Character Dough Cake"), + FC_DEC0127_PX0(64, 27, FCDotDEC0127DashPX0.values(), "Direct or Escaped Control"), - /// Direct or Escaped Control - FC_DEC0127_PX0(64, 27, FCDotDEC0127DashPX0.values()), - - /// Array Programming Language - FC_APL0127_P7A(91, 27, FCDotAPL0127DashP7A.values()), - FC_APL0127_P7B(118, 27, FCDotAPL0127DashP7B.values()), - FC_APL0127_P7C(145, 27, FCDotAPL0127DashP7C.values()), - - /// Block Your Display - FC_BYD0127_P7D(172, 27, FCDotBYD0127DashP7D.values()), - FC_BYD0127_P7E(199, 27, FCDotBYD0127DashP7E.values()), - FC_BYD0127_P7F(226, 27, FCDotBYD0127DashP7F.values()), + FC_APL0127_P7A(91, 27, FCDotAPL0127DashP7A.values(), "Array Programming Language P7A"), + FC_APL0127_P7B(118, 27, FCDotAPL0127DashP7B.values(), "Array Programming Language P7B"), + FC_APL0127_P7C(145, 27, FCDotAPL0127DashP7C.values(), "Array Programming Language P7C"), + + FC_BYD0127_P7D(172, 27, FCDotBYD0127DashP7D.values(), "Block Your Display P7D"), + FC_BYD0127_P7E(199, 27, FCDotBYD0127DashP7E.values(), "Block Your Display P7E"), + FC_BYD0127_P7F(226, 27, FCDotBYD0127DashP7F.values(), "Block Your Display P7F"), /// Mind the gap, for retro metro, mini maxi mosi members /// NOTE: MSX 0xFF is the cursor (TODO: move to BYD) - __MIND_THE_GAP8(253, 3), + __MIND_THE_GAP8(253, 3, "Mind the gap, for 8 bit systems"), // =========== Allow pie terminators for symbols without escaping @@ -189,9 +184,8 @@ public enum FourCornerDotCake { // =========== Allow end-user select rendering of data gram packet per context - /// Interim Byte Mode, embed raw Hex 8 bit Data /// Allow HEX to be displayed in Greek/Korean/Inuktitut/etc symbols. - FC_IBM1616_H8(1024, 256), + FC_IBM1616_H8(1024, 256, "Interim Byte Mode, embed raw Hex 8 bit Data"), /// Reserved for future data grams use __RESERVED_DATAGRAMS(1280, 1445-1280), @@ -206,34 +200,27 @@ public enum FourCornerDotCake { //FC_XXX0106_S6(1434, 6), //FC_XXX0105_S5(1440, 5), - /// Direct Nuclear Air strike for quadratonic values - FC_DNA0104_S4(1445, 4), - /// Natural X-state Phasing for tri-state or high impedance (Hi-Z) signals - FC_NXP0103_S3(1449, 3), - /// Binary Model Word encoding for bit 0 and bit 1 notation - FC_BMW0102_S2(1452, 2), - /// Application Methodoums Decimals, normal decimal numbers 0-9 - FC_AMD0110_SA(1454, 10), + FC_DNA0104_S4(1445, 4, "Direct Nuclear Air strike for quadratonic values"), + FC_NXP0103_S3(1449, 3, "Natural X-state Phasing for tri-state or high impedance (Hi-Z) signals"), + FC_BMW0102_S2(1452, 2, "Binary Model Word encoding for bit 0 and bit 1 notation"), + FC_AMD0110_SA(1454, 10, "Application Methodoums Decimals, normal numbers"), - /// Octal Character Encoding in Hinari 3 bit - FC_OCE0801_H3(1464, 8), - /// Octal Character Encoding in Hinari 6 bit - FC_OCE0808_H6(1472, 64), - /// Octal Character Encoding in Hinari 9 bit - FC_OCE0864_H9(1536, 512), + FC_OCE0801_H3(1464, 8, "Octal Character Encoding in Hinari 3 bit"), + FC_OCE0808_H6(1472, 64, "Octal Character Encoding in Hinari 6 bit"), + FC_OCE0864_H9(1536, 512, "Octal Character Encoding in Hinari 9 bit"), // =========== Allow visible password as words in text /// Burroughs Informative Passwords, 2048 from a random 0039 seed sheet. /// You only need one "word" and the terminator pie "curve" type for the grow factors and an "offset" number. /// That allows a start point in nowhere which than creates 12 or 24 or many more BIP secure number fragments. - FC_BIP0039_2K(2048, 2048), + FC_BIP0039_2K(2048, 2048, "Burroughs Informative Passwords"), // =========== Allow FileName/Variable/Class/Method/etc/etc to spelled correctly in any language /// China Four Corner words with FIXED meaning for abstract translations, to make code without letters. /// 4 or 5 decimals come from four corner index 0000.0 = 00000 = first word index = "head" = "亠" - FC_WORDS(4096, 100000), + FC_WORDS(4096, 100000, "Four Corner Words"), /// Reserved four corner extra words __RESERVED_WORDS(4096+100000, 131072-100000-4096), // fc end = 2^17-1 @@ -270,43 +257,60 @@ public enum FourCornerDotCake { FC_CLK1K_AMP(131072 + (1024*26), 1024), /// Align unicode - __RESERVED_CLKSP(1 + FC_CLK1K_AMP.getStop(), 0x27000 - FC_CLK1K_AMP.getStop() - 1), + __RESERVED_CLKSP(1 + FC_CLK1K_AMP.getStop(), 0x27000 - FC_CLK1K_AMP.getStop() - 1, "Reserved for CLKSP"), // =========== Allow more data grams for legacy unicode and next generation unicode /// Support lower 11 bit of unicode to be encoded with one cake point. - FC_UNI2K_11(0x27000, 2048), + FC_UNI2K_11(0x27000, 2048, "Unicode page point"), /// Optional select for the 11 bit half word, to get full 21 bit unicode-one point. - FC_UNI2K_22(0x27800, 2048), + FC_UNI2K_22(0x27800, 2048, "Unicode page select"), /// 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(0x28000, 32768), + FC_NETHER(0x28000, 32768, "Dark octal data"), // =========== 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), + FC_NCR1632_XD(0x30000, 32768, "New Counting Rods X-denominator"), /// 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), + FC_NCR1632_XN(0x38000, 32768, "New Counting Rods X-Numerator"), ; private final int start; private final int stop; + private final String nameSpec; + private final String description; private final FourCornerX00PetitVidePoints[] videPoints; private static final FourCornerDotCake[] VALUES = values(); private FourCornerDotCake(int start, int size) { - this(start, size, new FourCornerX00PetitVidePoints[] {}); + this(start, size, new FourCornerX00PetitVidePoints[] {}, null); + } + + private FourCornerDotCake(int start, int size, String description) { + this(start, size, new FourCornerX00PetitVidePoints[] {}, description); } private FourCornerDotCake(int start, int size, FourCornerX00PetitVidePoints[] videPoints) { + this(start, size, videPoints, null); + } + + private FourCornerDotCake(int start, int size, FourCornerX00PetitVidePoints[] videPoints, String description) { this.start = start; this.stop = start + size - 1; this.videPoints = videPoints; + this.description = description==null?"":description; + String name = name(); + if (!name.startsWith("_")) { + name = name.replaceFirst("FC_", "FC."); + name = name.replaceAll("_", "-"); + } + this.nameSpec = name; } public int getStart() { @@ -346,14 +350,12 @@ public enum FourCornerDotCake { return true; } - public String qname() { - String name = name(); - if (name.startsWith("_")) { - return name; - } - name = name.replaceFirst("FC_", "FC."); - name = name.replaceAll("_", "-"); - return name; + public String nameSpec() { + return nameSpec; + } + + public String description() { + return description; } public FourCornerX00PetitVidePoints[] getVidePoints() { diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash06.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash06.java index c734794..290a80e 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash06.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash06.java @@ -38,12 +38,12 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0; */ public enum FCDotPIE9CDash06 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints { - NXX_01(' '), - NXX_02(' '), - NXX_03(' '), - NXX_04(' '), - NXX_05(' '), - NXX_06(' '), + NXX_1('⌽'), // ⌽ = FROM APL + NXX_2('⊖'), // ⊖ = FROM APL + NXX_3('⍉'), // ⍉ = FROM APL + NXX_4('⌀'), + NXX_5('⊗'), // ⊗ = FROM APL + NXX_6('⊗'), // ⊗ = FROM APL ; private final int[] codePoints; diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash24.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash24.java index e4b6f9e..8461e5c 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash24.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash24.java @@ -38,32 +38,30 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0; */ public enum FCDotPIE9CDash24 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints { - // Lower case greek from MSX KANJI KuTen-632 and KuTen-648 - - LOW_ALPHA('α'), // ⍺ = FROM APL - LOW_BETA('β'), - LOW_GAMMA('γ'), - LOW_DELTA('δ'), - LOW_EPSILON('ε'), - LOW_ZETA('ζ'), - LOW_ETA('η'), - LOW_THETA('θ'), - LOW_IOTA('ι'), // ⍳ = FROM APL - LOW_KAPPA('κ'), - LOW_LAMBDA('λ'), - LOW_MU('μ'), - LOW_NU('ν'), - LOW_XI('ξ'), - LOW_OMICRON('ο'), - LOW_PI('π'), - LOW_RHO('ρ'), // ⍴ = FROM APL - LOW_SIGMA('σ'), - LOW_TAU('τ'), - LOW_UPSILON('υ'), - LOW_PHI('φ'), - LOW_CHI('χ'), - LOW_PSI('ψ'), - LOW_OMEGA('ω'), // ⍵ = FROM APL + UBARLOW_ALPHA('α', '\u0332'), // ⍶ = FROM APL + UBARLOW_BETA('β', '\u0332'), + UBARLOW_GAMMA('γ', '\u0332'), + UBARLOW_DELTA('δ', '\u0332'), + UBARLOW_EPSILON('ε', '\u0332'), // ⍷ = FROM APL + UBARLOW_ZETA('ζ', '\u0332'), + UBARLOW_ETA('η', '\u0332'), + UBARLOW_THETA('θ', '\u0332'), + UBARLOW_IOTA('ι', '\u0332'), // ⍸ = FROM APL + UBARLOW_KAPPA('κ', '\u0332'), + UBARLOW_LAMBDA('λ', '\u0332'), + UBARLOW_MU('μ', '\u0332'), + UBARLOW_NU('ν', '\u0332'), + UBARLOW_XI('ξ', '\u0332'), + UBARLOW_OMICRON('ο', '\u0332'), + UBARLOW_PI('π', '\u0332'), + UBARLOW_RHO('ρ', '\u0332'), + UBARLOW_SIGMA('σ', '\u0332'), + UBARLOW_TAU('τ', '\u0332'), + UBARLOW_UPSILON('υ', '\u0332'), + UBARLOW_PHI('φ', '\u0332'), + UBARLOW_CHI('χ', '\u0332'), + UBARLOW_PSI('ψ', '\u0332'), + UBARLOW_OMEGA('ω', '\u0332'), // ⍹ = FROM APL ; private final int[] codePoints; diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash25.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash25.java index 0b8ea00..a7974d9 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash25.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9c/FCDotPIE9CDash25.java @@ -38,31 +38,33 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0; */ public enum FCDotPIE9CDash25 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints { - UBARLOW_ALPHA('α', '\u0332'), // ⍶ = FROM APL - UBARLOW_BETA('β', '\u0332'), - UBARLOW_GAMMA('γ', '\u0332'), - UBARLOW_DELTA('δ', '\u0332'), - UBARLOW_EPSILON('ε', '\u0332'), // ⍷ = FROM APL - UBARLOW_ZETA('ζ', '\u0332'), - UBARLOW_ETA('η', '\u0332'), - UBARLOW_THETA('θ', '\u0332'), - UBARLOW_IOTA('ι', '\u0332'), // ⍸ = FROM APL - UBARLOW_KAPPA('κ', '\u0332'), - UBARLOW_LAMBDA('λ', '\u0332'), - UBARLOW_MU('μ', '\u0332'), - UBARLOW_NU('ν', '\u0332'), - UBARLOW_XI('ξ', '\u0332'), - UBARLOW_OMICRON('ο', '\u0332'), - UBARLOW_PI('π', '\u0332'), - UBARLOW_RHO('ρ', '\u0332'), - UBARLOW_SIGMA('σ', '\u0332'), - UBARLOW_TAU('τ', '\u0332'), - UBARLOW_UPSILON('υ', '\u0332'), - UBARLOW_PHI('φ', '\u0332'), - UBARLOW_CHI('χ', '\u0332'), - UBARLOW_PSI('ψ', '\u0332'), - UBARLOW_OMEGA('ω', '\u0332'), // ⍹ = FROM APL - APL_REMARK('⍝', '\u0332'), // NEW FOR APL (underbar tombstone) + // Lower case greek from MSX KANJI KuTen-632 and KuTen-648 + + LOW_ALPHA('α'), // ⍺ = FROM APL + LOW_BETA('β'), + LOW_GAMMA('γ'), + LOW_DELTA('δ'), + LOW_EPSILON('ε'), + LOW_ZETA('ζ'), + LOW_ETA('η'), + LOW_THETA('θ'), + LOW_IOTA('ι'), // ⍳ = FROM APL + LOW_KAPPA('κ'), + LOW_LAMBDA('λ'), + LOW_MU('μ'), + LOW_NU('ν'), + LOW_XI('ξ'), + LOW_OMICRON('ο'), + LOW_PI('π'), + LOW_RHO('ρ'), // ⍴ = FROM APL + LOW_SIGMA('σ'), + LOW_TAU('τ'), + LOW_UPSILON('υ'), + LOW_PHI('φ'), + LOW_CHI('χ'), + LOW_PSI('ψ'), + LOW_OMEGA('ω'), // ⍵ = FROM APL + APL_REMARK('⍝'), // ⍝ = FROM APL ; private final int[] codePoints; diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash07.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash07.java index 5d2dd55..c81e51a 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash07.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash07.java @@ -38,13 +38,13 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0; */ public enum FCDotPIE9DDash07 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints { - NXX_0(' '), - NXX_4(' '), - NXX_5(' '), - NXX_6(' '), - NXX_7(' '), - NXX_8(' '), - NXX_9(' '), + NXX_01(' '), + NXX_02(' '), + NXX_03(' '), + NXX_04(' '), + NXX_05(' '), + NXX_06(' '), + NXX_07(' '), ; private final int[] codePoints; diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash24.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash24.java index 790e13d..f6662be 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash24.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash24.java @@ -38,32 +38,30 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0; */ public enum FCDotPIE9DDash24 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints { - // Upper case greek from MSX KANJI KuTen-600 and 616 - - ALPHA('Α'), - BETA('Β'), - GAMMA('Γ'), - DELTA('Δ'), - EPSILON('Ε'), - ZETA('Ζ'), - ETA('Η'), - THETA('Θ'), - IOTA('Ι'), - KAPPA('Κ'), - LAMBDA('Λ'), - MU('Μ'), - NU('Ν'), - XI('Ξ'), - OMICRON('Ο'), - PI('Π'), - RHO('Ρ'), - SIGMA('Σ'), - TAU('Τ'), - UPSILON('Υ'), - PHI('Φ'), - CHI('Χ'), - PSI('Ψ'), - OMEGA('Ω'), + NXX_01(0x1D6A8), + NXX_02(0x1D6A9), + NXX_03(0x1D6AA), + NXX_04(0x1D6AB), + NXX_05(0x1D6AC), + NXX_06(0x1D6AD), + NXX_07(0x1D6AE), + NXX_08(0x1D6AF), + NXX_09(0x1D6B0), + NXX_10(0x1D6B1), + NXX_11(0x1D6B2), + NXX_12(0x1D6B3), + NXX_13(0x1D6B4), + NXX_14(0x1D6B5), + NXX_15(0x1D6B6), + NXX_16(0x1D6B7), + NXX_17(0x1D6B8), + NXX_18(0x1D6BA), // GAP because 0x1D6B9 is low case letter + NXX_19(0x1D6BB), + NXX_20(0x1D6BC), + NXX_21(0x1D6BD), + NXX_22(0x1D6BE), + NXX_23(0x1D6BF), + NXX_24(0x1D6C0), ; private final int[] codePoints; diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash25.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash25.java index 2ebc193..d514788 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash25.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/cake2/pie9d/FCDotPIE9DDash25.java @@ -38,31 +38,33 @@ import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0; */ public enum FCDotPIE9DDash25 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints { - NXX_01(0x1D6A8), - NXX_02(0x1D6A9), - NXX_03(0x1D6AA), - NXX_04(0x1D6AB), - NXX_05(0x1D6AC), - NXX_06(0x1D6AD), - NXX_07(0x1D6AE), - NXX_08(0x1D6AF), - NXX_09(0x1D6B0), - NXX_10(0x1D6B1), - NXX_11(0x1D6B2), - NXX_12(0x1D6B3), - NXX_13(0x1D6B4), - NXX_14(0x1D6B5), - NXX_15(0x1D6B6), - NXX_16(0x1D6B7), - NXX_17(0x1D6B8), - NXX_18(0x1D6BA), // GAP because 0x1D6B9 is low case letter - NXX_19(0x1D6BB), - NXX_20(0x1D6BC), - NXX_21(0x1D6BD), - NXX_22(0x1D6BE), - NXX_23(0x1D6BF), - NXX_24(0x1D6C0), - NXX_25('⍝'), // FROM APL (upgraded to a bold tombstone) + // Upper case greek from MSX KANJI KuTen-600 and 616 + + ALPHA('Α'), + BETA('Β'), + GAMMA('Γ'), + DELTA('Δ'), + EPSILON('Ε'), + ZETA('Ζ'), + ETA('Η'), + THETA('Θ'), + IOTA('Ι'), + KAPPA('Κ'), + LAMBDA('Λ'), + MU('Μ'), + NU('Ν'), + XI('Ξ'), + OMICRON('Ο'), + PI('Π'), + RHO('Ρ'), + SIGMA('Σ'), + TAU('Τ'), + UPSILON('Υ'), + PHI('Φ'), + CHI('Χ'), + PSI('Ψ'), + OMEGA('Ω'), + NXX_25('∇'), // ∇ = FROM APL ; private final int[] codePoints; diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZionStenoLexer.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZionStenoLexer.java index 0a50bf4..9736152 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZionStenoLexer.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZionStenoLexer.java @@ -266,9 +266,9 @@ public class FourCornerZionStenoLexer { @Override public void process(FourCornerZionStenoLexer lexer, int idxFirst, int idxLast) { - List offsets = lexer.input.subList(idxFirst, idxLast + 1); // List.subList is an exclusive "indexTo" argument - for (int i = 0; i < offsets.size(); i++) { - offsets.set(i, offsets.get(i) - blockStart); + List offsets = new ArrayList<>(); + for (int i = idxFirst; i <= idxLast; i++) { + offsets.add(lexer.input.get(i) - blockStart); } lexer.handler.strobeWords(cakeSlice, offsets); } diff --git a/nx01-x4o-fc18/src/test/java/org/x4o/fc18/FourCornerWriteExampleMD.java b/nx01-x4o-fc18/src/test/java/org/x4o/fc18/FourCornerWriteExampleMD.java index 00efd94..dc9e984 100644 --- a/nx01-x4o-fc18/src/test/java/org/x4o/fc18/FourCornerWriteExampleMD.java +++ b/nx01-x4o-fc18/src/test/java/org/x4o/fc18/FourCornerWriteExampleMD.java @@ -180,7 +180,7 @@ public class FourCornerWriteExampleMD { for (FourCornerDotCake v : FourCornerDotCake.values()) { buf.append(""); - buf.append("" + v.qname() + ""); + buf.append("" + v.nameSpec() + ""); buf.append(String.format("%06X", v.getStart())); buf.append(String.format("%06X", v.getStop())); buf.append("" + v.getLength() + ""); @@ -269,7 +269,7 @@ public class FourCornerWriteExampleMD { private void writePIE(StringBuilder buf, FourCornerDotCake slice) { buf.append(""); buf.append(""); - buf.append(slice.qname()); + buf.append(slice.nameSpec()); buf.append(""); for (int i=0; i<27;i++) { if (i >= slice.getLength()) {