diff --git a/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/FCDocWriter.java b/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/FCDocWriter.java index 971ce21..e1acab9 100644 --- a/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/FCDocWriter.java +++ b/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/FCDocWriter.java @@ -157,7 +157,7 @@ public class FCDocWriter { doc.setDescription("FourCorner 18 bit text encoding format."); doc.setDocAbout("FourCorner Indexes\nThe World Of Wordsโ„ข"); doc.createDocCopyright("๐‘€ณ๐‘‚๐‘€ฎ๐‘€บ๐‘€‰๐‘„๐‘€ค๐‘„๐‘€ญ๐‘‚๐‘€ก๐‘€ช๐‘€ธ๐‘€•", "ืชืฉืคืดื”"); // use hebrew quotation mark, the interweb uses latin which break unicode rendering - doc.setDocPageSubTitle("FC18-Alpha1"); + doc.setDocPageSubTitle("FC18-Alpha2"); doc.addMetaKeywordAll(List.of("FC18", "documentation", "four-corner", "china", "MSX4")); doc.setNoFrameAllName("All cake slices"); doc.setFrameNavOverviewPrintParent(true); @@ -252,7 +252,7 @@ public class FCDocWriter { } private MaisDocNode createNodeKanjiDict(String version) { - return new MaisDocNode(kanjiDict, "jis_x_0" + version, "JIS X 0" + version, "Kanji JIS X 0" + version); + return new MaisDocNode(kanjiDict, "jis_x_0" + version, "JIS X 0" + version, "Reference Kanji JIS X 0" + version); } private MaisDocNode createNodeKanjiDictLiteral(KanjiDictLiteral literal, String kuTen) { diff --git a/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/print/FCDocPageWriterNCR.java b/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/print/FCDocPageWriterNCR.java index 5390d53..4ae444a 100644 --- a/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/print/FCDocPageWriterNCR.java +++ b/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/print/FCDocPageWriterNCR.java @@ -23,13 +23,15 @@ package love.distributedrebirth.nx01.mushroom.mais.fc18.print; import java.io.IOException; +import java.math.BigInteger; import java.util.ArrayList; 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.dec1.FCDotDEC2701DashPX0; +import org.x4o.fc18.zion7.FourCornerZion7Candlelier; +import org.x4o.fc18.zion7.FourCornerZionStenoGrapher; +import org.x4o.fc18.zion7.flame4.FCFlameNumberTaste; import org.x4o.maisdoc.flake.MaisDocContentCss; import org.x4o.maisdoc.flake.MaisDocContentWriter; import org.x4o.maisdoc.model.MaisDocPage; @@ -47,7 +49,7 @@ import org.x4o.sax3.io.ContentCloseable; public class FCDocPageWriterNCR implements MaisDocPageWriter, FCDocSegmentWriter { public static MaisDocPage createDocPage() { - return new MaisDocPage("overview-ncr","NCR","Overview of all (6 bit) NCR1632 fractions.",new FCDocPageWriterNCR()); + return new MaisDocPage("overview-ncr","NCR","Overview of some New Counting Rods numbers.",new FCDocPageWriterNCR()); } // TODO: write adult NCR too here @@ -56,7 +58,7 @@ public class FCDocPageWriterNCR implements MaisDocPageWriter, FCDocSegmentWriter public void writePageContent(MaisDocWriteEvent e) throws IOException { MaisDocContentWriter writer = e.getWriter(); try (ContentCloseable content = writer.docPageContent()) { - try (ContentCloseable table = writer.docTable(FourCornerDotCake.FC_RATIONAL2304_BANK.nameSpec().replaceAll("BANK", "baklava"), null, MaisDocContentCss.overviewSummary)) { + try (ContentCloseable table = writer.docTable(FourCornerDotCake.FC_RATIONAL2304_BANK.nameSpec().replaceAll("BANK", "number"), null, MaisDocContentCss.overviewSummary)) { writeTableBoxHeaderNumeric(writer, 28); writePIN(writer); } @@ -81,9 +83,11 @@ public class FCDocPageWriterNCR implements MaisDocPageWriter, FCDocSegmentWriter continue; } List piNum = new ArrayList<>(); - //piNum.addAll(FCDotDEC2701DashPX0.ESC68_NCR.baklavaPointSequence()); // TODO: use write for 18 bit NCR - piNum.add(FCDotCDC1604DashP6.NX01_A.ordinal() + t); - piNum.add(FCDotCDC1604DashP6.NX01_A.ordinal() + i); + FourCornerZion7Candlelier steno = FourCornerZionStenoGrapher.writerFC18(piNum); + FCFlameNumberTaste taste = FCFlameNumberTaste.NUMBER_POSITIVE; + BigInteger numerator = BigInteger.valueOf(1 + t); + BigInteger denominator = BigInteger.valueOf(1 + i); + steno.strobeNumberChocoPigRational(taste, taste, numerator, denominator); String char18Str = FourCornerUnicodeDisplay.text().render(piNum); StringBuilder buf = new StringBuilder(); for (int c : char18Str.codePoints().toArray()) { diff --git a/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/print/FCDocSegmentWriterCake.java b/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/print/FCDocSegmentWriterCake.java index 2896585..2a1d823 100644 --- a/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/print/FCDocSegmentWriterCake.java +++ b/nx01-mushroom-mais-fc18/src/main/java/love/distributedrebirth/nx01/mushroom/mais/fc18/print/FCDocSegmentWriterCake.java @@ -50,31 +50,44 @@ import love.distributedrebirth.nx01.mushroom.mais.fc18.TDocCakeSlice; */ public class FCDocSegmentWriterCake implements FCDocSegmentWriter { - private static final String[] FC_FEATURES = new String[] { + private static final String[] FC6_FEATURES = new String[] { + "True pure six bit enterprice mainframe numeric letter system", + "Super pattern graphic renderable with optional kerning", + "Real UPPERCASE only character set", + "Zero nummeric letters", + "Supports HolyC sand worms in your text for undefined octal data", + "Render structural space with a percentage pastor", + "Group nun lines up to 8 repeating structures", + "Inline base2 lego: 16,32,64,128,256,512,1024,2048 bit blocks", + "Inline base2 signed: 16,32,64,128,256,512,1024,2048 integer", + "Inline base8 lego: 18,36,72,144,288,576,1152,2304 bit blocks", + "Inline base8 choco: 18,36,72,144,288,576,1152,2304 tasteful number", + "Defined external escape sequence model", + "(TODO) VT-06 terminal control for CDC1604(1960) 6 bit main frames", + }; + private static final String[] FC6P_FEATURES = new String[] { + "(TODO) Adds unified russian/greek and brascii candy letters", + "Block your display candy for text user interfaces", + "Has underscored letters to migrate EBCDIC(1963) APL code from z/OS", + }; + private static final String[] FC18_FEATURES = new String[] { "Text format design to write computer code and abstract file/resource names", "Code from chinees child can be extended by indian child or spanish child in local local", - //"VT-06 terminal control for CDC1604(1960) 6 bit main frames", - "Has underscored letters to migrate EBCDIC(1963) APL code from z/OS", "Program with (local) words not with lettersssss", - "New Counting Rods, 1152 bit fractions with two 576 bit numbers", - "Use datagrams for decimals/octals/hex/bits to render in monkey language", - "Supports HolyC sand worms in your text for undefined octal data", - "Embed 21 bit unicode for 6/8 and 18 bit computers", - "The lower 6/8 bit part is pattern graphic renderable with optional kerning", - "Contains the BIP0039(2013) keyword encoding too", - "Render on 6 bit(baklave point) or 8(muffin point) bit as KANJI + BraSCII + PIE", + "Inline number grams for decimals/octals/hex/bits to render in monkey language", + "Inline choco pig rational 2304 bit number", + "Inline choco pig decicmal 2304 bit number", + "Inline choco pig float 2304 bit number", + "Inline choco pig chopped 2304 bit number", + "(TODO) Render on 6 bit(baklave point) as KANJI + BraSCII + PIE(-rom)", "Render with 21 bit unicode(code point) + fonts drawings", - "Render on 18 bit(cake point) with 72 bit unicode4D drawings" + "(TODO) Render on 18 bit(cake point) with 72 bit unicode4D drawings" }; private static final String[] FC_TODO = new String[] { "DOC: Add all needed info into word/pie/pages doc", - "Write rules; no candy(0x3F3--) for grown up computer languages", - "Finish ESC sequences", "Add doctype for 6,8,18 AND allow candy AND XDBX/etc", "Add binary XML support, maybe also doc tags and MD structure", - "Move APL candy to PIE towers", - "Replace APL with BraSCII 0xC0++ candies", "Fillup PIE math symbol candy towers", "Fillup languages in CLK9P word cake (in all human languages)", "Request new 'Japanese Industrial Standard X 0214', Add full CJK,BraSCII++,PIE", @@ -100,10 +113,30 @@ public class FCDocSegmentWriterCake implements FCDocSegmentWriter { @MaisDocNodeWriterMethod(nodeBody = MaisDocNodeBody.DESCRIPTION_NODE, targetClasses = {TDocCake.class}, nodeBodyOrders = 20) public void writeFeatureListing(MaisDocWriteEvent event) throws IOException { MaisDocContentWriter writer = event.getWriter(); - writer.printCharacters("Features;"); + writer.printCharacters("FC6;"); try (ContentCloseable content = writer.docPageContent()) { try (ContentCloseable ul = writer.printTag(Tag.ul)) { - for (String feature : FC_FEATURES) { + for (String feature : FC6_FEATURES) { + try (ContentCloseable li = writer.printTag(Tag.li, "", null, "circle")) { + writer.printCharacters(feature); + } + } + } + } + writer.printCharacters("FC6_PLUS;"); + try (ContentCloseable content = writer.docPageContent()) { + try (ContentCloseable ul = writer.printTag(Tag.ul)) { + for (String feature : FC6P_FEATURES) { + try (ContentCloseable li = writer.printTag(Tag.li, "", null, "circle")) { + writer.printCharacters(feature); + } + } + } + } + writer.printCharacters("FC18;"); + try (ContentCloseable content = writer.docPageContent()) { + try (ContentCloseable ul = writer.printTag(Tag.ul)) { + for (String feature : FC18_FEATURES) { try (ContentCloseable li = writer.printTag(Tag.li, "", null, "circle")) { writer.printCharacters(feature); } @@ -115,7 +148,7 @@ public class FCDocSegmentWriterCake implements FCDocSegmentWriter { @MaisDocNodeWriterMethod(nodeBody = MaisDocNodeBody.DESCRIPTION_NODE, targetClasses = {TDocCake.class}, nodeBodyOrders = 1) public void writeIntro(MaisDocWriteEvent event) throws IOException { MaisDocContentWriter writer = event.getWriter(); - writer.printCharacters("Four corner is 18 bit text encoding for 144 bit computers."); + writer.printCharacters("Four corner is 18 bit text encoding for 6 bit and 144 bit computers."); } @MaisDocNodeWriterMethod(nodeBody = MaisDocNodeBody.DESCRIPTION_NODE, targetClasses = {TDocCake.class}, nodeBodyOrders = 100) diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZion7Candlelier.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZion7Candlelier.java index 7dd7103..b11e6fe 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZion7Candlelier.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZion7Candlelier.java @@ -48,7 +48,7 @@ public interface FourCornerZion7Candlelier extends FourCornerZion7Bereshit { /// An choco pig floating point number. (4+1+283+2016) void strobeNumberChocoPigFloat(FCFlameNumberTaste taste, boolean bias, BigInteger exponent, BigInteger mantissa); - /// An choped pig point number. (4+1148+1152) + /// An chopped pig point number. (4+1148+1152) void strobeNumberChocoPigChoped(FCFlameNumberTaste taste, BigInteger quake, BigInteger fraction); // XDBX18: doom.wad uses (ARM) Q16.16 which is equal to the real (Texas) Q15.16 (because doom map like E2M3 = 6 bit float) 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 7e0ab0e..caa8e72 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 @@ -52,7 +52,7 @@ import org.x4o.fc18.zion7.flame4.FCFlameNumberSparklerSmoke; /// /// @author Willem Cazander /// @version 1.0 Jan 09, 2025 -public class FourCornerZionStenoLexer implements FourCornerZionStenoPetroglyphs { +public class FourCornerZionStenoLexer { private final static FourCornerZionStenoLexerFire CLEAN_FIRE = new FourCornerZionStenoLexerFire.Adapter() {}; private final static FourCornerZionStenoLexerSmoke CLEAN_SMOKE = new FourCornerZionStenoLexerSmoke.Adapter() {}; @@ -64,7 +64,7 @@ public class FourCornerZionStenoLexer implements FourCornerZionStenoPetroglyphs private final boolean handlerEscape; private final FourCornerZion7Candlelier handler; private final FourCornerZion7TempleScrolls handlerTempleScrolls; - private final int numberBank[] = new int[NCR_BANK_SIZE]; + private final int numberBank[] = new int[FourCornerZionStenoPetroglyphs.NCR_BANK_SIZE]; private List input; private int inputIndex = 0; private int currLine = 0; @@ -249,8 +249,8 @@ public class FourCornerZionStenoLexer implements FourCornerZionStenoPetroglyphs } private void numberBankReset() { - for (int i = NCR_BANK_SIZE - NCR_ONE; i >= NCR_ZERO; i--) { - numberBank[i] = NCR_ZERO; + for (int i = FourCornerZionStenoPetroglyphs.NCR_BANK_SIZE - FourCornerZionStenoPetroglyphs.NCR_ONE; i >= FourCornerZionStenoPetroglyphs.NCR_ZERO; i--) { + numberBank[i] = FourCornerZionStenoPetroglyphs.NCR_ZERO; } } @@ -268,7 +268,7 @@ public class FourCornerZionStenoLexer implements FourCornerZionStenoPetroglyphs private BigInteger numberBankReadBigPaged(int bankBits, int bankPageBegin) { BigInteger result = BigInteger.ZERO; - for (int i = bankPageBegin; i >= NCR_ZERO; i--) { + for (int i = bankPageBegin; i >= FourCornerZionStenoPetroglyphs.NCR_ZERO; i--) { int bankValue = numberBank[i]; result = result.add(BigInteger.valueOf(bankValue).shiftLeft(i * bankBits)); } @@ -276,15 +276,15 @@ public class FourCornerZionStenoLexer implements FourCornerZionStenoPetroglyphs } private BigInteger numberBankReadBig8(int bankPageBegin) { - return numberBankReadBigPaged(NCR_BANK8_BITS, bankPageBegin); + return numberBankReadBigPaged(FourCornerZionStenoPetroglyphs.NCR_BANK8_BITS, bankPageBegin); } private BigInteger numberBankReadBig9(int bankPageBegin) { - return numberBankReadBigPaged(NCR_BANK9_BITS, bankPageBegin); + return numberBankReadBigPaged(FourCornerZionStenoPetroglyphs.NCR_BANK9_BITS, bankPageBegin); } private BigInteger numberBankReadBig12(int bankPageBegin) { - return numberBankReadBigPaged(NCR_BANK12_BITS, bankPageBegin); + return numberBankReadBigPaged(FourCornerZionStenoPetroglyphs.NCR_BANK12_BITS, bankPageBegin); } abstract static private class StenoScanner implements FourCornerZionStenoPetroglyphs { diff --git a/nx01-x4o-maisdoc/src/main/java/org/x4o/maisdoc/model/MaisDoc.java b/nx01-x4o-maisdoc/src/main/java/org/x4o/maisdoc/model/MaisDoc.java index 264a23b..644a00c 100644 --- a/nx01-x4o-maisdoc/src/main/java/org/x4o/maisdoc/model/MaisDoc.java +++ b/nx01-x4o-maisdoc/src/main/java/org/x4o/maisdoc/model/MaisDoc.java @@ -214,6 +214,8 @@ public class MaisDoc { public MaisDocConcept findConceptChildByNode(MaisDocNode node) { Class objClass = node.getUserData().getClass(); + return findConceptByClass(objClass); + /* Class parentClass = null; if (node.getParent()!=null) { parentClass = node.getParent().getUserData().getClass(); @@ -229,6 +231,7 @@ public class MaisDoc { } } return null; + */ } public List getRemoteClasses() { diff --git a/nx01-x4o-maisdoc/src/main/java/org/x4o/maisdoc/model/MaisDocNavLink.java b/nx01-x4o-maisdoc/src/main/java/org/x4o/maisdoc/model/MaisDocNavLink.java index 798af0e..64df60f 100644 --- a/nx01-x4o-maisdoc/src/main/java/org/x4o/maisdoc/model/MaisDocNavLink.java +++ b/nx01-x4o-maisdoc/src/main/java/org/x4o/maisdoc/model/MaisDocNavLink.java @@ -44,6 +44,7 @@ public class MaisDocNavLink { setHref(href); setTitle(title); setText(text); + setResetHref(resetHref); } /**