WIP filling math symbols

This commit is contained in:
Willem Cazander 2025-01-07 00:12:52 +01:00
parent 278ed85e00
commit 055815712a
85 changed files with 3540 additions and 545 deletions

View file

@ -24,6 +24,38 @@ package org.x4o.o2o.fc18;
import java.util.Optional; import java.util.Optional;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash01;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash02;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash03;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash04;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash05;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash06;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash07;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash08;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash09;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash10;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash11;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash12;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash13;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash14;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash15;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash16;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash17;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash18;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash19;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash20;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash21;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash22;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash23;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash24;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash25;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash26;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash27;
import org.x4o.o2o.fc18.zero33.FCDotAPL1604DashS6;
import org.x4o.o2o.fc18.zero33.FCDotBYD1604DashC6;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
import org.x4o.o2o.fc18.zero33.FCDotDEC1604DashE6;
/// The dot cake index of four corner 18 bit words in cake slices which holds the cake points. /// The dot cake index of four corner 18 bit words in cake slices which holds the cake points.
/// ///
/// @author Willem Cazander /// @author Willem Cazander
@ -33,23 +65,57 @@ public enum FourCornerDotCake {
// =========== Allow small terminators to take over 6 bit main frame computers // =========== Allow small terminators to take over 6 bit main frame computers
/// Character Dough Cake /// Character Dough Cake
FC_CDC1604_P6(0, 64), FC_CDC1604_P6(0, 64, FCDotCDC1604DashP6.values()),
/// Direct or Escaped Control /// Direct or Escaped Control
FC_DEC1604_E6(64, 64), FC_DEC1604_E6(64, 64, FCDotDEC1604DashE6.values()),
/// A Programming Language /// Array Programming Language
FC_APL1604_S6(128, 64), FC_APL1604_S6(128, 64, FCDotAPL1604DashS6.values()),
/// Block Your Display /// Block Your Display
FC_BYD1604_C6(192, 64), FC_BYD1604_C6(192, 64, FCDotBYD1604DashC6.values()),
// =========== Allow pie terminators for symbols without escaping
FC_PIE9C_01(256 + 0, 1, FCDotPIE9CDash01.values()),
FC_PIE9C_02(1 + FC_PIE9C_01.getStop(), 2, FCDotPIE9CDash02.values()),
FC_PIE9C_03(1 + FC_PIE9C_02.getStop(), 3, FCDotPIE9CDash03.values()),
FC_PIE9C_04(1 + FC_PIE9C_03.getStop(), 4, FCDotPIE9CDash04.values()),
FC_PIE9C_05(1 + FC_PIE9C_04.getStop(), 5, FCDotPIE9CDash05.values()),
FC_PIE9C_06(1 + FC_PIE9C_05.getStop(), 6, FCDotPIE9CDash06.values()),
FC_PIE9C_07(1 + FC_PIE9C_06.getStop(), 7, FCDotPIE9CDash07.values()),
FC_PIE9C_08(1 + FC_PIE9C_07.getStop(), 8, FCDotPIE9CDash08.values()),
FC_PIE9C_09(1 + FC_PIE9C_08.getStop(), 9, FCDotPIE9CDash09.values()),
FC_PIE9C_10(1 + FC_PIE9C_09.getStop(), 10, FCDotPIE9CDash10.values()),
FC_PIE9C_11(1 + FC_PIE9C_10.getStop(), 11, FCDotPIE9CDash11.values()),
FC_PIE9C_12(1 + FC_PIE9C_11.getStop(), 12, FCDotPIE9CDash12.values()),
FC_PIE9C_13(1 + FC_PIE9C_12.getStop(), 13, FCDotPIE9CDash13.values()),
FC_PIE9C_14(1 + FC_PIE9C_13.getStop(), 14, FCDotPIE9CDash14.values()),
FC_PIE9C_15(1 + FC_PIE9C_14.getStop(), 15, FCDotPIE9CDash15.values()),
FC_PIE9C_16(1 + FC_PIE9C_15.getStop(), 16, FCDotPIE9CDash16.values()),
FC_PIE9C_17(1 + FC_PIE9C_16.getStop(), 17, FCDotPIE9CDash17.values()),
FC_PIE9C_18(1 + FC_PIE9C_17.getStop(), 18, FCDotPIE9CDash18.values()),
FC_PIE9C_19(1 + FC_PIE9C_18.getStop(), 19, FCDotPIE9CDash19.values()),
FC_PIE9C_20(1 + FC_PIE9C_19.getStop(), 20, FCDotPIE9CDash20.values()),
FC_PIE9C_21(1 + FC_PIE9C_20.getStop(), 21, FCDotPIE9CDash21.values()),
FC_PIE9C_22(1 + FC_PIE9C_21.getStop(), 22, FCDotPIE9CDash22.values()),
FC_PIE9C_23(1 + FC_PIE9C_22.getStop(), 23, FCDotPIE9CDash23.values()),
FC_PIE9C_24(1 + FC_PIE9C_23.getStop(), 24, FCDotPIE9CDash24.values()),
FC_PIE9C_25(1 + FC_PIE9C_24.getStop(), 25, FCDotPIE9CDash25.values()),
FC_PIE9C_26(1 + FC_PIE9C_25.getStop(), 26, FCDotPIE9CDash26.values()),
FC_PIE9C_27(1 + FC_PIE9C_26.getStop(), 27, FCDotPIE9CDash27.values()),
__RESERVED_PIE_SYMBOLS(1 + FC_PIE9C_27.getStop(), 768 - 1 - FC_PIE9C_27.getStop()),
// =========== Allow end-user select rendering of data gram packet per context // =========== Allow end-user select rendering of data gram packet per context
/// Interim Byte Mode, embed raw 8 bit Data /// Interim Byte Mode, embed raw 8 bit Data
FC_IBM1616_D8(256, 256), FC_IBM1616_D8(768, 256),
/// Reserved for future data grams use /// Reserved for future data grams use
__RESERVED_DATAGRAMS(512, 1452-512), __RESERVED_DATAGRAMS(1024, 1448-1024),
/// Application Methodoums Decimals, normal decimal numbers 0-9 /// Application Methodoums Decimals, normal decimal numbers 0-9
FC_AMD0110_A4(1452, 10), FC_AMD0110_DA(1448, 10),
/// Direct Nuclear Air strike for quadratonic values
FC_DNA0104_D2(1458, 4),
/// Binary Model Word encoding for bit 0 and bit 1 notation /// Binary Model Word encoding for bit 0 and bit 1 notation
FC_BMW0102_D1(1462, 2), FC_BMW0102_D1(1462, 2),
@ -123,10 +189,16 @@ public enum FourCornerDotCake {
private final int start; private final int start;
private final int stop; private final int stop;
private final FourCornerX00PetitVidePoints[] videPoints;
private FourCornerDotCake(int start, int size) { private FourCornerDotCake(int start, int size) {
this(start, size, new FourCornerX00PetitVidePoints[] {});
}
private FourCornerDotCake(int start, int size, FourCornerX00PetitVidePoints[] videPoints) {
this.start = start; this.start = start;
this.stop = start + size - 1; this.stop = start + size - 1;
this.videPoints = videPoints;
} }
public int getStart() { public int getStart() {
@ -141,6 +213,20 @@ public enum FourCornerDotCake {
return stop - start + 1; return stop - start + 1;
} }
public String qname() {
String name = name();
if (name.startsWith("_")) {
return name;
}
name = name.replaceFirst("FC_", "FC.");
name = name.replaceAll("_", "-");
return name;
}
public FourCornerX00PetitVidePoints[] getVidePoints() {
return videPoints;
}
public static Optional<FourCornerDotCake> valueOfInt18(int smurfPaint) { public static Optional<FourCornerDotCake> valueOfInt18(int smurfPaint) {
for (FourCornerDotCake value:values()) { for (FourCornerDotCake value:values()) {
if (smurfPaint >= value.getStart() && smurfPaint <= value.getStop()) { if (smurfPaint >= value.getStart() && smurfPaint <= value.getStop()) {

View file

@ -23,11 +23,44 @@
package org.x4o.o2o.fc18; package org.x4o.o2o.fc18;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.Consumer; import java.util.function.Consumer;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash01;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash02;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash03;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash04;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash05;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash06;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash07;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash08;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash09;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash10;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash11;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash12;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash13;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash14;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash15;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash16;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash17;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash18;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash19;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash20;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash21;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash22;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash23;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash24;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash25;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash26;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash27;
import org.x4o.o2o.fc18.zero33.FCDotAPL1604DashS6;
import org.x4o.o2o.fc18.zero33.FCDotBYD1604DashC6;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6; import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
import org.x4o.o2o.fc18.zero33.FCDotDEC1604DashE6;
import org.x4o.o2o.octal.PrimordialOctalOrangeJuiceCord; import org.x4o.o2o.octal.PrimordialOctalOrangeJuiceCord;
/// Renders unicode from four corner 18 bit text. /// Renders unicode from four corner 18 bit text.
@ -36,15 +69,14 @@ import org.x4o.o2o.octal.PrimordialOctalOrangeJuiceCord;
/// @version 1.0 Dec 28, 2024 /// @version 1.0 Dec 28, 2024
public class FourCornerUnicodeDisplay { public class FourCornerUnicodeDisplay {
static private final FourCornerUnicodeDisplay DISPLAY_6BIT = new FourCornerUnicodeDisplay(false, null); static private final FourCornerUnicodeDisplay DISPLAY_6BIT = new FourCornerUnicodeDisplay(null);
static private final FourCornerUnicodeDisplay DISPLAY_8BIT = new FourCornerUnicodeDisplay(true, null); static private final FourCornerUnicodeDisplay DISPLAY_8BIT = new FourCornerUnicodeDisplay(null);
static private final FourCornerUnicodeDisplay DISPLAY_ESKIMO = new FourCornerUnicodeDisplay(true, "");
private boolean renderCasing = false;
private String renderSeperator = null; private String renderSeperator = null;
private final Map<Integer, List<Integer>> int18To21 = new HashMap<>();
private FourCornerUnicodeDisplay(boolean renderCasing, String renderSeperator) { private FourCornerUnicodeDisplay(String renderSeperator) {
this.renderCasing = renderCasing;
this.renderSeperator = renderSeperator; this.renderSeperator = renderSeperator;
mapPoints();
} }
static FourCornerUnicodeDisplay simple() { static FourCornerUnicodeDisplay simple() {
@ -55,9 +87,9 @@ public class FourCornerUnicodeDisplay {
return DISPLAY_8BIT; return DISPLAY_8BIT;
} }
static FourCornerUnicodeDisplay mixedᐧEskimo() { // static FourCornerUnicodeDisplay mixedᐧEskimo() {
return DISPLAY_ESKIMO; // return new FourCornerUnicodeDisplay(true, "");
} // }
private String buildString(Consumer<StringBuilder> appender) { private String buildString(Consumer<StringBuilder> appender) {
@ -66,12 +98,18 @@ public class FourCornerUnicodeDisplay {
return buf.toString(); return buf.toString();
} }
public String renderFromP6(List<FCDotCDC1604DashP6> chars) { public String renderFromP6(List<FourCornerX06BaklavaPoints> chars) {
return buildString(v -> renderFromP6(chars, v)); return buildString(v -> renderFromP6(chars, v));
} }
public void renderFromP6(List<FCDotCDC1604DashP6> chars, StringBuilder buf) { public void renderFromP6(List<FourCornerX06BaklavaPoints> chars, StringBuilder buf) {
renderFromInt18(chars.stream().map(v -> v.ordinal()).toList(), buf); List<Integer> charPoints = new ArrayList<>(chars.size());
for (FourCornerX06BaklavaPoints baklava : chars) {
for (int v : baklava.baklavaPoints()) {
charPoints.add(v);
}
}
renderFromInt18(charPoints, buf);
} }
public String renderFromJuice(PrimordialOctalOrangeJuiceCord chars) { public String renderFromJuice(PrimordialOctalOrangeJuiceCord chars) {
@ -91,21 +129,30 @@ public class FourCornerUnicodeDisplay {
public void renderFromInt18(List<Integer> chars, StringBuilder buf) { public void renderFromInt18(List<Integer> chars, StringBuilder buf) {
Iterator<Integer> cdc = chars.iterator(); Iterator<Integer> cdc = chars.iterator();
Integer numberMode = null; Integer numberMode = null;
boolean prevLetter = false; boolean numberPIE = true;
boolean toUpper = false; boolean prevWord = false;
while (cdc.hasNext()) { while (cdc.hasNext()) {
Integer cdcPoint = cdc.next(); Integer cdcPoint = cdc.next();
if (FCDotCDC1604DashP6.__ESC6.ordinal() == cdcPoint) {
numberMode = null; // out of range, thus stop
Integer handled = handleEscape6(cdc, buf);
if (handled == null) {
continue;
}
cdcPoint = handled; // out of range, is back to normal
}
if (numberMode != null && (cdcPoint > numberMode)) { if (numberMode != null && (cdcPoint > numberMode)) {
numberMode = null; // out of range numberMode = null; // out of range
} }
if (numberMode != null && (cdcPoint < FCDotCDC1604DashP6.NX01_A.ordinal())) { if (numberMode != null && (cdcPoint < FCDotCDC1604DashP6.NX01_A.ordinal())) {
numberMode = null; // below index 1 is end number mode numberMode = null; // below index 1 is end number mode
} }
if (FCDotCDC1604DashP6.__PIE.ordinal() == cdcPoint) { if (FCDotCDC1604DashP6.__PIE.ordinal() == cdcPoint || FCDotCDC1604DashP6.__PIN.ordinal() == cdcPoint) {
if (!cdc.hasNext()) { if (!cdc.hasNext()) {
break; break;
} }
numberMode = cdc.next(); numberMode = cdc.next();
numberPIE = FCDotCDC1604DashP6.__PIE.ordinal() == cdcPoint; // is false for PIN
if (numberMode < FCDotCDC1604DashP6.NX01_A.ordinal()) { if (numberMode < FCDotCDC1604DashP6.NX01_A.ordinal()) {
cdcPoint = numberMode; // print char cdcPoint = numberMode; // print char
numberMode = null; // illegal number mode numberMode = null; // illegal number mode
@ -113,61 +160,194 @@ public class FourCornerUnicodeDisplay {
continue; continue;
} }
} }
if (FCDotCDC1604DashP6.__GLUE.ordinal() == cdcPoint) {
if (renderCasing) { if (numberMode != null) {
toUpper = true; if (numberPIE) {
int terminatorNum = numberMode - FCDotCDC1604DashP6.NX01_A.ordinal() + 1;
int valueNumberZero = cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal();
int[] chs = pieTerminatorNumber(terminatorNum, valueNumberZero);
Arrays.stream(chs).forEach(v -> buf.appendCodePoint(v));
} else { // _PIN = ²
int terminatorNum = numberMode - FCDotCDC1604DashP6.NX01_A.ordinal() + 1;
int valueNumberOne = cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal() + 1;
List<Integer> math = new ArrayList<>();
FCDotPIE9CDash20.toScriptSuper(valueNumberOne).forEach(v -> {
for (int chr : v.cakePoints()) {
math.add(chr);
} }
if (renderSeperator != null && prevLetter) { });
buf.append(renderSeperator); math.add(FCDotCDC1604DashP6.BAR_V_RIGHT.ordinal());
FCDotPIE9CDash20.toScriptSub(terminatorNum).forEach(v -> {
for (int chr : v.cakePoints()) {
math.add(chr);
} }
});
renderFromInt18(math, buf);
}
prevWord = false;
continue; continue;
} }
if (numberMode == null) {
prevLetter = cdcPoint >= FCDotCDC1604DashP6.NX01_A.ordinal();
if (cdcPoint < FCDotCDC1604DashP6.length()) {
int ch = FCDotCDC1604DashP6.indexOf(cdcPoint).codePoint();
if (renderCasing) {
if (toUpper) {
toUpper = false;
buf.appendCodePoint(ch); // revered casing as default is upper
} else {
buf.appendCodePoint(Character.toLowerCase(ch));
}
} else {
buf.appendCodePoint(ch);
}
if (cdcPoint < FCDotCDC1604DashP6.length()) {
prevWord = false;
int[] chs = FCDotCDC1604DashP6.indexOf(cdcPoint).codePoints();
Arrays.stream(chs).forEach(v -> buf.appendCodePoint(v));
} else if (cdcPoint >= FourCornerDotCake.FC_PIE9C_01.getStart() && cdcPoint <= FourCornerDotCake.FC_PIE9C_27.getStop()) {
prevWord = false;
List<Integer> chs = int18To21.get(cdcPoint);
if (chs != null) {
chs.forEach(v -> buf.appendCodePoint(v));
}
} else { } else {
if (prevWord) {
buf.append(renderSeperator);
}
prevWord = true;
// FIXME: print hex of 4C word until later print correct words for locate from nether db. // FIXME: print hex of 4C word until later print correct words for locate from nether db.
buf.append("&#x"); buf.append("&#x");
buf.append(Integer.toHexString(cdcPoint).toUpperCase()); buf.append(Integer.toHexString(cdcPoint).toUpperCase());
buf.append(";"); buf.append(";");
} }
} else {
int terminatorNum = numberMode - FCDotCDC1604DashP6.NX01_A.ordinal() + 1;
int valueNumber = cdcPoint - FCDotCDC1604DashP6.NX01_A.ordinal();
appendTerminatorNumber(buf, terminatorNum, valueNumber);
}
} }
} }
static private void appendTerminatorNumber(StringBuilder buf, int terminator, int value) { private Integer handleEscape6(Iterator<Integer> cdc, StringBuilder buf) {
if (!cdc.hasNext()) {
return null;
}
FCDotDEC1604DashE6 decCode = FCDotDEC1604DashE6.indexOf(cdc.next());
if (FCDotDEC1604DashE6.__NUL_DEC.equals(decCode)) {
buf.append(FCDotCDC1604DashP6.escapeSignUnicode(FCDotCDC1604DashP6.__NUL.ordinal()));
return null;
}
if (FCDotDEC1604DashE6.__ESC6_APL.equals(decCode)) {
if (!cdc.hasNext()) {
return null;
}
FCDotAPL1604DashS6 aplCode = FCDotAPL1604DashS6.indexOf(cdc.next());
Arrays.stream(aplCode.codePoints()).forEach(v -> buf.appendCodePoint(v));
return null;
}
if (FCDotDEC1604DashE6.__ESC6_BYD.equals(decCode)) {
if (!cdc.hasNext()) {
return null;
}
FCDotBYD1604DashC6 bydCode = FCDotBYD1604DashC6.indexOf(cdc.next());
Arrays.stream(bydCode.codePoints()).forEach(v -> buf.appendCodePoint(v));
return null;
}
if (FCDotDEC1604DashE6.__ESC_STOP.equals(decCode)) {
return null;
}
if (FCDotDEC1604DashE6.__ESC68_FC18.equals(decCode)) {
return decCode.ordinal(); // todo handle
}
if (FCDotDEC1604DashE6.__ESC_BELOW.equals(decCode)) {
if (!cdc.hasNext()) {
return null;
}
int checkChr = cdc.next();
int idx = checkChr - FCDotCDC1604DashP6.NX01_A.ordinal();
if (idx > 26 || idx < 0) {
return checkChr; // can't handle this
}
buf.append(FCDotCDC1604DashP6.escapeSignUnicode(FCDotCDC1604DashP6.__ESC6.ordinal()));
FCDotPIE9CDash26 lowCode = FCDotPIE9CDash26.values()[idx];
Arrays.stream(lowCode.codePoints()).forEach(v -> buf.appendCodePoint(v));
return null;
}
buf.append(FCDotCDC1604DashP6.escapeSignUnicode(FCDotCDC1604DashP6.__ESC6.ordinal()));
return decCode.ordinal();
}
private void mapPoints() {
for (FourCornerDotCake slice : FourCornerDotCake.values()) {
FourCornerX00PetitVidePoints[] videPoints = slice.getVidePoints();
if (videPoints.length == 0) {
continue;
}
mapPoints(videPoints);
}
}
private void mapPoints(FourCornerX00PetitVidePoints[] videPoints) {
for (FourCornerX00PetitVidePoints videPoint : videPoints) {
if (!videPoint.isX18()) {
continue;
}
if (!videPoint.isX21()) {
continue;
}
FourCornerX18CakePoints x18 = videPoint.toX18();
FourCornerX21CodePoints x21 = videPoint.toX21();
if (x18.cakePoints().length > 1) {
continue;
}
int char18 = x18.cakePoints()[0];
List<Integer> chs = new ArrayList<>();
int[] char21 = x21.codePoints();
Arrays.stream(char21).forEach(v -> chs.add(v));
int18To21.put(char18, chs);
}
}
static private int[] pieTerminatorNumber(int terminator, int value) {
switch (terminator) { switch (terminator) {
case 1: case 1:
buf.appendCodePoint('0'); // T001 is zero for all 27 gematria number systems. return FCDotPIE9CDash01.values()[value].codePoints();
return;
case 2: case 2:
if (value == 0) { return FCDotPIE9CDash02.values()[value].codePoints();
buf.append("true"); // FIXME: T002ᖟGunPunchedHoles would be better, as it supports two-way conversion case 3:
} else { return FCDotPIE9CDash03.values()[value].codePoints();
buf.append("false"); case 4:
} return FCDotPIE9CDash04.values()[value].codePoints();
return; case 5:
//case 3: return FCDotPIE9CDash05.values()[value].codePoints();
// return; // TODO: after nether DB, generate add all terminator up to 27 from "number system" gun bullets. case 6:
return FCDotPIE9CDash06.values()[value].codePoints();
case 7:
return FCDotPIE9CDash07.values()[value].codePoints();
case 8:
return FCDotPIE9CDash08.values()[value].codePoints();
case 9: case 9:
buf.appendCodePoint(('1' + value)); // 0 = 1 return FCDotPIE9CDash09.values()[value].codePoints();
return; // NOTE: Latin decimals are not decimals as zero is not a part of the pie. case 10:
return FCDotPIE9CDash10.values()[value].codePoints();
case 11:
return FCDotPIE9CDash11.values()[value].codePoints();
case 12:
return FCDotPIE9CDash12.values()[value].codePoints();
case 13:
return FCDotPIE9CDash13.values()[value].codePoints();
case 14:
return FCDotPIE9CDash14.values()[value].codePoints();
case 15:
return FCDotPIE9CDash15.values()[value].codePoints();
case 16:
return FCDotPIE9CDash16.values()[value].codePoints();
case 17:
return FCDotPIE9CDash17.values()[value].codePoints();
case 18:
return FCDotPIE9CDash18.values()[value].codePoints();
case 19:
return FCDotPIE9CDash19.values()[value].codePoints();
case 20:
return FCDotPIE9CDash20.values()[value].codePoints();
case 21:
return FCDotPIE9CDash21.values()[value].codePoints();
case 22:
return FCDotPIE9CDash22.values()[value].codePoints();
case 23:
return FCDotPIE9CDash23.values()[value].codePoints();
case 24:
return FCDotPIE9CDash24.values()[value].codePoints();
case 25:
return FCDotPIE9CDash25.values()[value].codePoints();
case 26:
return FCDotPIE9CDash26.values()[value].codePoints();
case 27:
return FCDotPIE9CDash27.values()[value].codePoints();
default: default:
throw new IllegalArgumentException("Unsupported terminator index: " + terminator); throw new IllegalArgumentException("Unsupported terminator index: " + terminator);
} }

View file

@ -23,7 +23,10 @@
package org.x4o.o2o.fc18; package org.x4o.o2o.fc18;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.PrimitiveIterator; import java.util.PrimitiveIterator;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6; import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
@ -38,15 +41,14 @@ import org.x4o.o2o.octal.PrimordialOctalOrangeString;
/// ///
public class FourCornerUnicodeImport { public class FourCornerUnicodeImport {
static private final FourCornerUnicodeImport IMPORT_STRICT = new FourCornerUnicodeImport(false, false); static private final FourCornerUnicodeImport IMPORT_STRICT = new FourCornerUnicodeImport(false);
static private final FourCornerUnicodeImport IMPORT_LOSSY = new FourCornerUnicodeImport(true, true); static private final FourCornerUnicodeImport IMPORT_LOSSY = new FourCornerUnicodeImport(true);
private boolean convertLowerCase = false;
private boolean convertDiacritics = false; private boolean convertDiacritics = false;
//private boolean convertWordGlue = false; // FIXME: detect changing case like: " [_GLUE]Abb[_GLUE]A" private final Map<Integer, FourCornerX00PetitVidePoints> int21ToVide = new HashMap<>();
public FourCornerUnicodeImport(boolean convertLowerCase, boolean convertDiacritics) { public FourCornerUnicodeImport(boolean convertDiacritics) {
this.convertLowerCase = convertLowerCase;
this.convertDiacritics = convertDiacritics; this.convertDiacritics = convertDiacritics;
mapPoints();
} }
static public FourCornerUnicodeImport strict() { static public FourCornerUnicodeImport strict() {
@ -62,79 +64,83 @@ public class FourCornerUnicodeImport {
} }
public List<Integer> convertToInt18(String text) { public List<Integer> convertToInt18(String text) {
return convertToP6(text).stream().map(v -> v.ordinal()).toList(); return convertToP6(text).stream().map(v -> v.baklavaPoints()[0]).toList();
} }
public List<FCDotCDC1604DashP6> convertToP6(String text) { public List<FourCornerX06BaklavaPoints> convertToP6(String text) {
String textSingleNewLines = text.replaceAll("\r\n", "\n"); // FIXME: regex only allowed in test scope classpath String textSingleNewLines = text.replaceAll("\r\n", "\n"); // FIXME: regex only allowed in test scope classpath
PrimitiveIterator.OfInt i = textSingleNewLines.codePoints().iterator(); PrimitiveIterator.OfInt i = textSingleNewLines.codePoints().iterator();
List<FCDotCDC1604DashP6> result = new ArrayList<>(text.length()); List<FourCornerX06BaklavaPoints> result = new ArrayList<>(text.length());
FCDotCDC1604DashP6[] cdcChars = FCDotCDC1604DashP6.values();
FCDotCDC1604DashP6 cdcNumberTerminator = null; FCDotCDC1604DashP6 cdcNumberTerminator = null;
FCDotCDC1604DashP6 cdcCaseTerminator = null;
while (i.hasNext()) { while (i.hasNext()) {
int codePoint = i.next(); int codePoint = i.next();
boolean found = false;
// Is not mapped, so handle with code
if ('\r' == codePoint) { if ('\r' == codePoint) {
result.add(FCDotCDC1604DashP6.__LINE); result.add(FCDotCDC1604DashP6.__LINE);
cdcNumberTerminator = null;
cdcCaseTerminator = null;
continue; continue;
} }
for (FCDotCDC1604DashP6 v : cdcChars) {
if (v.codePoint() == codePoint) { // Handle number sequences manual, to escape once
result.add(v); if (codePoint >= '0' && codePoint <= '9') {
found = true; if (!FCDotCDC1604DashP6.NX10_J.equals(cdcNumberTerminator)) {
cdcNumberTerminator = null;
break;
}
if ('0' == codePoint) {
if (!FCDotCDC1604DashP6.NX01_A.equals(cdcNumberTerminator)) {
result.add(FCDotCDC1604DashP6.__PIE); result.add(FCDotCDC1604DashP6.__PIE);
result.add(FCDotCDC1604DashP6.NX01_A); result.add(FCDotCDC1604DashP6.NX10_J);
cdcNumberTerminator = FCDotCDC1604DashP6.NX01_A; cdcNumberTerminator = FCDotCDC1604DashP6.NX10_J;
} }
result.add(FCDotCDC1604DashP6.NX01_A); int cdcNumberOff = codePoint - '0';
found = true;
break;
}
if (codePoint >= '1' && codePoint <= '9') {
if (!FCDotCDC1604DashP6.NX09_I.equals(cdcNumberTerminator)) {
result.add(FCDotCDC1604DashP6.__PIE);
result.add(FCDotCDC1604DashP6.NX09_I);
cdcNumberTerminator = FCDotCDC1604DashP6.NX09_I;
}
int cdcNumberOff = codePoint - '1'; // 0 = 1
int cdcNumber = FCDotCDC1604DashP6.NX01_A.ordinal() + cdcNumberOff; int cdcNumber = FCDotCDC1604DashP6.NX01_A.ordinal() + cdcNumberOff;
result.add(FCDotCDC1604DashP6.indexOf(cdcNumber)); result.add(FCDotCDC1604DashP6.indexOf(cdcNumber));
found = true; continue;
break;
} }
} if (cdcNumberTerminator != null) {
if (!found) {
String codePointStr = Character.toString(codePoint);
for (FCDotCDC1604DashP6 v : cdcChars) {
if (convertLowerCase) {
byte codePointLower = (byte) Character.toLowerCase(v.codePoint());
if (codePointLower == codePoint) {
result.add(v);
found = true;
cdcNumberTerminator = null; cdcNumberTerminator = null;
break; result.add(FCDotCDC1604DashP6.__ESC6);
result.add(FCDotCDC1604DashP6.__ESC6);
} }
// Handle lower case sequences manual, to escape once
if (codePoint >= 'a' && codePoint <= 'z') {
if (!FCDotCDC1604DashP6.NX26_Z.equals(cdcCaseTerminator)) {
result.add(FCDotCDC1604DashP6.__PIE);
result.add(FCDotCDC1604DashP6.NX26_Z);
cdcCaseTerminator = FCDotCDC1604DashP6.NX26_Z;
} }
int cdcNumberOff = codePoint - 'a';
int cdcNumber = FCDotCDC1604DashP6.NX01_A.ordinal() + cdcNumberOff;
result.add(FCDotCDC1604DashP6.indexOf(cdcNumber));
continue;
}
if (cdcCaseTerminator != null) {
cdcCaseTerminator = null;
result.add(FCDotCDC1604DashP6.__ESC6);
result.add(FCDotCDC1604DashP6.__ESC6);
}
// Lookup mapped values
FourCornerX00PetitVidePoints chs = int21ToVide.get(codePoint);
if (chs != null) {
if (!chs.isX06()) {
continue;
}
Arrays.stream(chs.toX06().baklavaPoints()).mapToObj(v -> FCDotCDC1604DashP6.indexOf(v)).forEach(v -> result.add(v));
continue;
}
// Check lossy aliases
if (convertDiacritics) { if (convertDiacritics) {
String codePointStr = new StringBuilder().appendCodePoint(codePoint).toString();
FCDotCDC1604DashP6 alias = checkDiacriticAlias(codePointStr); FCDotCDC1604DashP6 alias = checkDiacriticAlias(codePointStr);
if (alias != null) { if (alias != null) {
result.add(alias); result.add(alias);
found = true; continue;
cdcNumberTerminator = null;
break;
} }
} }
}
}
if (!found) {
throw new IllegalArgumentException("Unsupported char: '" + ((char)codePoint) + "' 0x" + Integer.toHexString(codePoint)); throw new IllegalArgumentException("Unsupported char: '" + ((char)codePoint) + "' 0x" + Integer.toHexString(codePoint));
} }
}
return result; return result;
} }
@ -222,4 +228,28 @@ public class FourCornerUnicodeImport {
} }
return null; return null;
} }
private void mapPoints() {
for (FourCornerDotCake slice : FourCornerDotCake.values()) {
FourCornerX00PetitVidePoints[] videPoints = slice.getVidePoints();
if (videPoints.length == 0) {
continue;
}
mapPoints(videPoints);
}
}
private void mapPoints(FourCornerX00PetitVidePoints[] videPoints) {
for (FourCornerX00PetitVidePoints videPoint : videPoints) {
if (!videPoint.isX21()) {
continue;
}
FourCornerX21CodePoints x21 = videPoint.toX21();
if (x21.codePoints().length > 1) {
continue;
}
int char21 = x21.codePoints()[0];
int21ToVide.put(char21, videPoint);
}
}
} }

View file

@ -0,0 +1,62 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18;
/// Empty petit points interface
///
/// @author Willem Cazander
/// @version 1.0 Jan 1, 2025
public interface FourCornerX00PetitVidePoints {
default boolean isX06() {
return this instanceof FourCornerX06BaklavaPoints;
}
default boolean isX08() {
return this instanceof FourCornerX08MuffinPoints;
}
default boolean isX18() {
return this instanceof FourCornerX18CakePoints;
}
default boolean isX21() {
return this instanceof FourCornerX21CodePoints;
}
default FourCornerX06BaklavaPoints toX06() {
return FourCornerX06BaklavaPoints.class.cast(this);
}
default FourCornerX08MuffinPoints toX08() {
return FourCornerX08MuffinPoints.class.cast(this);
}
default FourCornerX18CakePoints toX18() {
return FourCornerX18CakePoints.class.cast(this);
}
default FourCornerX21CodePoints toX21() {
return FourCornerX21CodePoints.class.cast(this);
}
}

View file

@ -26,8 +26,8 @@ package org.x4o.o2o.fc18;
/// ///
/// @author Willem Cazander /// @author Willem Cazander
/// @version 1.0 Jan 1, 2025 /// @version 1.0 Jan 1, 2025
public interface FourCornerX06BaklavaPoint { public interface FourCornerX06BaklavaPoints extends FourCornerX00PetitVidePoints {
/// One baklava piece weights 52 gram /// One baklava piece weights 52 gram
int baklavaPoint(); int[] baklavaPoints();
} }

View file

@ -26,8 +26,8 @@ package org.x4o.o2o.fc18;
/// ///
/// @author Willem Cazander /// @author Willem Cazander
/// @version 1.0 Jan 1, 2025 /// @version 1.0 Jan 1, 2025
public interface FourCornerX08MuffinPoint { public interface FourCornerX08MuffinPoints extends FourCornerX00PetitVidePoints {
/// One muffin piece weights 111 gram /// One muffin piece weights 111 gram
int muffinPoint(); int[] muffinPoints();
} }

View file

@ -26,8 +26,8 @@ package org.x4o.o2o.fc18;
/// ///
/// @author Willem Cazander /// @author Willem Cazander
/// @version 1.0 Dec 28, 2024 /// @version 1.0 Dec 28, 2024
public interface FourCornerX18CakePoint { public interface FourCornerX18CakePoints extends FourCornerX00PetitVidePoints {
/// One cake piece weights 800 gram /// One cake piece weights 800 gram
int cakePoint(); int[] cakePoints();
} }

View file

@ -26,8 +26,8 @@ package org.x4o.o2o.fc18;
/// ///
/// @author Willem Cazander /// @author Willem Cazander
/// @version 1.0 Jan 1, 2025 /// @version 1.0 Jan 1, 2025
public interface FourCornerX21CodePoint { public interface FourCornerX21CodePoints extends FourCornerX00PetitVidePoints {
/// One code point weights ~1234 gram /// One code point weights ~1234 gram
int codePoint(); int[] codePoints();
} }

View file

@ -30,14 +30,18 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 29, 2024 * @version 1.0 Dec 29, 2024
*/ */
public enum FCDotCLK9PDashA implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashA implements FCDotCLKSourceCakePoints {
AND(FCDotCLKSource.APL_DYADIC,
FCDotCLKSource.VHDL,
FCDotCLKSource.CPP,
FCDotCLKSource.ERLANG,
FCDotCLKSource.PYTHON),
ABS(FCDotCLKSource.VHDL), ABS(FCDotCLKSource.VHDL),
ACCESS(FCDotCLKSource.VHDL), ACCESS(FCDotCLKSource.VHDL),
AFTER(FCDotCLKSource.VHDL, FCDotCLKSource.ERLANG), AFTER(FCDotCLKSource.VHDL, FCDotCLKSource.ERLANG),
ALIAS(FCDotCLKSource.VHDL), ALIAS(FCDotCLKSource.VHDL),
ALL(FCDotCLKSource.VHDL), ALL(FCDotCLKSource.VHDL),
AND(FCDotCLKSource.VHDL, FCDotCLKSource.CPP, FCDotCLKSource.ERLANG, FCDotCLKSource.PYTHON),
ARCHITECTURE(FCDotCLKSource.VHDL), ARCHITECTURE(FCDotCLKSource.VHDL),
ARRAY(FCDotCLKSource.VHDL), ARRAY(FCDotCLKSource.VHDL),
ASSERT(FCDotCLKSource.VHDL, FCDotCLKSource.JAVA, FCDotCLKSource.PYTHON), ASSERT(FCDotCLKSource.VHDL, FCDotCLKSource.JAVA, FCDotCLKSource.PYTHON),
@ -70,7 +74,7 @@ public enum FCDotCLK9PDashA implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_A.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_A.getStart() + ordinal()};
} }
} }

View file

@ -30,8 +30,9 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 29, 2024 * @version 1.0 Dec 29, 2024
*/ */
public enum FCDotCLK9PDashB implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashB implements FCDotCLKSourceCakePoints {
BINOMIAL(FCDotCLKSource.APL_DYADIC),
BEGIN(FCDotCLKSource.VHDL), BEGIN(FCDotCLKSource.VHDL),
BLOCK(FCDotCLKSource.VHDL), BLOCK(FCDotCLKSource.VHDL),
BODY(FCDotCLKSource.VHDL), BODY(FCDotCLKSource.VHDL),
@ -64,7 +65,7 @@ public enum FCDotCLK9PDashB implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_B.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_B.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashC implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashC implements FCDotCLKSourceCakePoints {
CASE(FCDotCLKSource.VHDL, CASE(FCDotCLKSource.VHDL,
FCDotCLKSource.CPP, FCDotCLKSource.CPP,
@ -81,7 +81,7 @@ public enum FCDotCLK9PDashC implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_C.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_C.getStart() + ordinal()};
} }
} }

View file

@ -30,8 +30,9 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashD implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashD implements FCDotCLKSourceCakePoints {
DIVIDE(FCDotCLKSource.APL_DYADIC, FCDotCLKSource.ERLANG.toQNameAlias("div")),
DISCONNECT(FCDotCLKSource.VHDL), DISCONNECT(FCDotCLKSource.VHDL),
DOWNTO(FCDotCLKSource.VHDL), DOWNTO(FCDotCLKSource.VHDL),
DECLTYPE(FCDotCLKSource.CPP), DECLTYPE(FCDotCLKSource.CPP),
@ -40,7 +41,6 @@ public enum FCDotCLK9PDashD implements FCDotCLKSourceCakePoint {
DO(FCDotCLKSource.CPP, FCDotCLKSource.JAVA, FCDotCLKSource.RUST, FCDotCLKSource.ES6), DO(FCDotCLKSource.CPP, FCDotCLKSource.JAVA, FCDotCLKSource.RUST, FCDotCLKSource.ES6),
DOUBLE(FCDotCLKSource.CPP, FCDotCLKSource.JAVA), DOUBLE(FCDotCLKSource.CPP, FCDotCLKSource.JAVA),
DYNAMIC_CAST(FCDotCLKSource.CPP), DYNAMIC_CAST(FCDotCLKSource.CPP),
DIV(FCDotCLKSource.ERLANG),
DYNAMIC(FCDotCLKSource.RUST.toQNameAlias("dyn")), DYNAMIC(FCDotCLKSource.RUST.toQNameAlias("dyn")),
DEFINE(FCDotCLKSource.PYTHON.toQNameAlias("def")), DEFINE(FCDotCLKSource.PYTHON.toQNameAlias("def")),
DEBUGGER(FCDotCLKSource.ES6), DEBUGGER(FCDotCLKSource.ES6),
@ -58,7 +58,7 @@ public enum FCDotCLK9PDashD implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_D.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_D.getStart() + ordinal()};
} }
} }

View file

@ -30,8 +30,9 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashE implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashE implements FCDotCLKSourceCakePoints {
EQUAL(FCDotCLKSource.APL_DYADIC),
ELSE(FCDotCLKSource.VHDL, ELSE(FCDotCLKSource.VHDL,
FCDotCLKSource.CPP, FCDotCLKSource.CPP,
FCDotCLKSource.JAVA, FCDotCLKSource.JAVA,
@ -68,7 +69,7 @@ public enum FCDotCLK9PDashE implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_E.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_E.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashF implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashF implements FCDotCLKSourceCakePoints {
FILE(FCDotCLKSource.VHDL), FILE(FCDotCLKSource.VHDL),
FOR(FCDotCLKSource.VHDL, FOR(FCDotCLKSource.VHDL,
@ -67,7 +67,7 @@ public enum FCDotCLK9PDashF implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_F.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_F.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashG implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashG implements FCDotCLKSourceCakePoints {
GENERATE(FCDotCLKSource.VHDL), GENERATE(FCDotCLKSource.VHDL),
GENERIC(FCDotCLKSource.VHDL), GENERIC(FCDotCLKSource.VHDL),
@ -52,7 +52,7 @@ public enum FCDotCLK9PDashG implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_G.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_G.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashH implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashH implements FCDotCLKSourceCakePoints {
; ;
@ -46,7 +46,7 @@ public enum FCDotCLK9PDashH implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_H.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_H.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashI implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashI implements FCDotCLKSourceCakePoints {
IF(FCDotCLKSource.VHDL, IF(FCDotCLKSource.VHDL,
FCDotCLKSource.CPP, FCDotCLKSource.CPP,
@ -64,7 +64,7 @@ public enum FCDotCLK9PDashI implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_I.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_I.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashJ implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashJ implements FCDotCLKSourceCakePoints {
; ;
@ -46,7 +46,7 @@ public enum FCDotCLK9PDashJ implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_J.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_J.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashK implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashK implements FCDotCLKSourceCakePoints {
; ;
@ -46,7 +46,7 @@ public enum FCDotCLK9PDashK implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_K.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_K.getStart() + ordinal()};
} }
} }

View file

@ -30,8 +30,9 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashL implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashL implements FCDotCLKSourceCakePoints {
LOGARITHM(FCDotCLKSource.APL_DYADIC),
LABEL(FCDotCLKSource.VHDL), LABEL(FCDotCLKSource.VHDL),
LIBRARY(FCDotCLKSource.VHDL), LIBRARY(FCDotCLKSource.VHDL),
LINKAGE(FCDotCLKSource.VHDL), LINKAGE(FCDotCLKSource.VHDL),
@ -54,7 +55,7 @@ public enum FCDotCLK9PDashL implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_L.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_L.getStart() + ordinal()};
} }
} }

View file

@ -30,8 +30,11 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashM implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashM implements FCDotCLKSourceCakePoints {
MINUS(FCDotCLKSource.APL_DYADIC),
MINIMUM(FCDotCLKSource.APL_DYADIC),
MAXIMUM(FCDotCLKSource.APL_DYADIC),
MAP(FCDotCLKSource.VHDL), MAP(FCDotCLKSource.VHDL),
MOD(FCDotCLKSource.VHDL, FCDotCLKSource.RUST), MOD(FCDotCLKSource.VHDL, FCDotCLKSource.RUST),
MUTABLE(FCDotCLKSource.CPP, FCDotCLKSource.RUST.toQNameAlias("mut")), MUTABLE(FCDotCLKSource.CPP, FCDotCLKSource.RUST.toQNameAlias("mut")),
@ -55,7 +58,7 @@ public enum FCDotCLK9PDashM implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_M.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_M.getStart() + ordinal()};
} }
} }

View file

@ -30,12 +30,12 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashN implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashN implements FCDotCLKSourceCakePoints {
NAND(FCDotCLKSource.VHDL), NAND(FCDotCLKSource.APL_DYADIC, FCDotCLKSource.VHDL),
NOR(FCDotCLKSource.APL_DYADIC, FCDotCLKSource.VHDL),
NEW(FCDotCLKSource.VHDL, FCDotCLKSource.CPP, FCDotCLKSource.JAVA, FCDotCLKSource.ES6), NEW(FCDotCLKSource.VHDL, FCDotCLKSource.CPP, FCDotCLKSource.JAVA, FCDotCLKSource.ES6),
NEXT(FCDotCLKSource.VHDL), NEXT(FCDotCLKSource.VHDL),
NOR(FCDotCLKSource.VHDL),
NOT(FCDotCLKSource.VHDL, FCDotCLKSource.CPP, FCDotCLKSource.ERLANG, FCDotCLKSource.PYTHON), NOT(FCDotCLKSource.VHDL, FCDotCLKSource.CPP, FCDotCLKSource.ERLANG, FCDotCLKSource.PYTHON),
NULL(FCDotCLKSource.VHDL, FCDotCLKSource.JAVA, FCDotCLKSource.ES6), NULL(FCDotCLKSource.VHDL, FCDotCLKSource.JAVA, FCDotCLKSource.ES6),
NAMESPACE(FCDotCLKSource.CPP), NAMESPACE(FCDotCLKSource.CPP),
@ -59,7 +59,7 @@ public enum FCDotCLK9PDashN implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_N.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_N.getStart() + ordinal()};
} }
} }

View file

@ -30,12 +30,16 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashO implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashO implements FCDotCLKSourceCakePoints {
OR(FCDotCLKSource.APL_DYADIC,
FCDotCLKSource.VHDL,
FCDotCLKSource.CPP,
FCDotCLKSource.ERLANG,
FCDotCLKSource.PYTHON),
OF(FCDotCLKSource.VHDL, FCDotCLKSource.ERLANG), OF(FCDotCLKSource.VHDL, FCDotCLKSource.ERLANG),
ON(FCDotCLKSource.VHDL), ON(FCDotCLKSource.VHDL),
OPEN(FCDotCLKSource.VHDL), OPEN(FCDotCLKSource.VHDL),
OR(FCDotCLKSource.VHDL, FCDotCLKSource.CPP, FCDotCLKSource.ERLANG, FCDotCLKSource.PYTHON),
OTHERS(FCDotCLKSource.VHDL), OTHERS(FCDotCLKSource.VHDL),
OUT(FCDotCLKSource.VHDL), OUT(FCDotCLKSource.VHDL),
OPERATOR(FCDotCLKSource.CPP), OPERATOR(FCDotCLKSource.CPP),
@ -56,7 +60,7 @@ public enum FCDotCLK9PDashO implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_O.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_O.getStart() + ordinal()};
} }
} }

View file

@ -30,8 +30,10 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashP implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashP implements FCDotCLKSourceCakePoints {
PLUS(FCDotCLKSource.APL_DYADIC),
POWER(FCDotCLKSource.APL_DYADIC),
PACKAGE(FCDotCLKSource.VHDL, FCDotCLKSource.JAVA, FCDotCLKSource.ES6), PACKAGE(FCDotCLKSource.VHDL, FCDotCLKSource.JAVA, FCDotCLKSource.ES6),
PORT(FCDotCLKSource.VHDL), PORT(FCDotCLKSource.VHDL),
POSTPONED(FCDotCLKSource.VHDL), POSTPONED(FCDotCLKSource.VHDL),
@ -56,7 +58,7 @@ public enum FCDotCLK9PDashP implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_P.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_P.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashQ implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashQ implements FCDotCLKSourceCakePoints {
; ;
@ -46,7 +46,7 @@ public enum FCDotCLK9PDashQ implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_Q.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_Q.getStart() + ordinal()};
} }
} }

View file

@ -30,13 +30,14 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashR implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashR implements FCDotCLKSourceCakePoints {
RESIDUE(FCDotCLKSource.APL_DYADIC),
RANGE(FCDotCLKSource.VHDL), RANGE(FCDotCLKSource.VHDL),
RECORD(FCDotCLKSource.VHDL), RECORD(FCDotCLKSource.VHDL),
REGISTER(FCDotCLKSource.VHDL, FCDotCLKSource.CPP), REGISTER(FCDotCLKSource.VHDL, FCDotCLKSource.CPP),
REJECT(FCDotCLKSource.VHDL), REJECT(FCDotCLKSource.VHDL),
REM(FCDotCLKSource.VHDL, FCDotCLKSource.ERLANG), REMARK(FCDotCLKSource.VHDL.toQNameAlias("rem"), FCDotCLKSource.ERLANG.toQNameAlias("rem")),
REPORT(FCDotCLKSource.VHDL), REPORT(FCDotCLKSource.VHDL),
RETURN(FCDotCLKSource.VHDL, RETURN(FCDotCLKSource.VHDL,
FCDotCLKSource.CPP, FCDotCLKSource.CPP,
@ -66,7 +67,7 @@ public enum FCDotCLK9PDashR implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_R.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_R.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashS implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashS implements FCDotCLKSourceCakePoints {
SELECT(FCDotCLKSource.VHDL), SELECT(FCDotCLKSource.VHDL),
SEVERITY(FCDotCLKSource.VHDL), SEVERITY(FCDotCLKSource.VHDL),
@ -71,7 +71,7 @@ public enum FCDotCLK9PDashS implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_S.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_S.getStart() + ordinal()};
} }
} }

View file

@ -30,8 +30,9 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashT implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashT implements FCDotCLKSourceCakePoints {
TIMES(FCDotCLKSource.APL_DYADIC),
THEN(FCDotCLKSource.VHDL), THEN(FCDotCLKSource.VHDL),
TO(FCDotCLKSource.VHDL), TO(FCDotCLKSource.VHDL),
TRANSPORT(FCDotCLKSource.VHDL), TRANSPORT(FCDotCLKSource.VHDL),
@ -72,7 +73,7 @@ public enum FCDotCLK9PDashT implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_T.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_T.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashU implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashU implements FCDotCLKSourceCakePoints {
UNAFFECTED(FCDotCLKSource.VHDL), UNAFFECTED(FCDotCLKSource.VHDL),
UNITS(FCDotCLKSource.VHDL), UNITS(FCDotCLKSource.VHDL),
@ -55,7 +55,7 @@ public enum FCDotCLK9PDashU implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_U.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_U.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashV implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashV implements FCDotCLKSourceCakePoints {
VARIABLE(FCDotCLKSource.VHDL), VARIABLE(FCDotCLKSource.VHDL),
VIRTUAL(FCDotCLKSource.CPP, FCDotCLKSource.RUST), VIRTUAL(FCDotCLKSource.CPP, FCDotCLKSource.RUST),
@ -51,7 +51,7 @@ public enum FCDotCLK9PDashV implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_V.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_V.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashW implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashW implements FCDotCLKSourceCakePoints {
WAIT(FCDotCLKSource.VHDL), WAIT(FCDotCLKSource.VHDL),
WHEN(FCDotCLKSource.VHDL, FCDotCLKSource.ERLANG), WHEN(FCDotCLKSource.VHDL, FCDotCLKSource.ERLANG),
@ -57,7 +57,7 @@ public enum FCDotCLK9PDashW implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_W.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_W.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashX implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashX implements FCDotCLKSourceCakePoints {
XNOR(FCDotCLKSource.VHDL), XNOR(FCDotCLKSource.VHDL),
XOR(FCDotCLKSource.VHDL, FCDotCLKSource.CPP, FCDotCLKSource.ERLANG), XOR(FCDotCLKSource.VHDL, FCDotCLKSource.CPP, FCDotCLKSource.ERLANG),
@ -49,7 +49,7 @@ public enum FCDotCLK9PDashX implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_X.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_X.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashY implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashY implements FCDotCLKSourceCakePoints {
YIELD(FCDotCLKSource.RUST, FCDotCLKSource.PYTHON, FCDotCLKSource.ES6), YIELD(FCDotCLKSource.RUST, FCDotCLKSource.PYTHON, FCDotCLKSource.ES6),
; ;
@ -47,7 +47,7 @@ public enum FCDotCLK9PDashY implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_Y.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_Y.getStart() + ordinal()};
} }
} }

View file

@ -30,7 +30,7 @@ import org.x4o.o2o.fc18.FourCornerDotCake;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotCLK9PDashZ implements FCDotCLKSourceCakePoint { public enum FCDotCLK9PDashZ implements FCDotCLKSourceCakePoints {
; ;
@ -46,7 +46,7 @@ public enum FCDotCLK9PDashZ implements FCDotCLKSourceCakePoint {
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CLK9P_Z.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CLK9P_Z.getStart() + ordinal()};
} }
} }

View file

@ -32,6 +32,10 @@ import java.util.Objects;
*/ */
public enum FCDotCLKSource implements FCDotCLKSourceLookup { public enum FCDotCLKSource implements FCDotCLKSourceLookup {
APL_DYADIC,
APL_MONADIC,
APL_CIRCLE,
APL_CMD,
VHDL, VHDL,
CPP, CPP,
JAVA, JAVA,
@ -39,10 +43,6 @@ public enum FCDotCLKSource implements FCDotCLKSourceLookup {
RUST, RUST,
PYTHON, PYTHON,
ES6, ES6,
//APL_DYADIC
//APL_MONADIC
//APL_CIRCLE
//APL_CMD
//BASIC, //BASIC,
//BASIC_MSX, // = disk-basic + msx stuff //BASIC_MSX, // = disk-basic + msx stuff
//BASIC_MPI, // MPI-2 for BASIC //BASIC_MPI, // MPI-2 for BASIC

View file

@ -24,7 +24,7 @@ package org.x4o.o2o.fc18.clk9p;
import java.util.Optional; import java.util.Optional;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* Adds CLK source lookup support to an cake point. * Adds CLK source lookup support to an cake point.
@ -33,7 +33,7 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public interface FCDotCLKSourceCakePoint extends FourCornerX18CakePoint { public interface FCDotCLKSourceCakePoints extends FourCornerX18CakePoints {
FCDotCLKSourceLookup[] getLookups(); FCDotCLKSourceLookup[] getLookups();

View file

@ -0,0 +1,67 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_01.
*
* @author Willem Cazander
* @version 1.0 Jan 05, 2025
*/
public enum FCDotPIE9CDash01 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(''),
;
private final int[] codePoints;
private FCDotPIE9CDash01(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_01.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,68 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_02.
*
* @author Willem Cazander
* @version 1.0 Jan 05, 2025
*/
public enum FCDotPIE9CDash02 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('∈'),
NXX_02('∋'),
;
private final int[] codePoints;
private FCDotPIE9CDash02(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX02_B.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_02.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,69 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_03.
*
* @author Willem Cazander
* @version 1.0 Jan 05, 2025
*/
public enum FCDotPIE9CDash03 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('一'),
NXX_02('二'),
NXX_03('三'),
;
private final int[] codePoints;
private FCDotPIE9CDash03(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX03_C.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_03.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,70 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_04.
*
* @author Willem Cazander
* @version 1.0 Jan 05, 2025
*/
public enum FCDotPIE9CDash04 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('↑'),
NXX_02('→'),
NXX_03('↓'),
NXX_04('←'),
;
private final int[] codePoints;
private FCDotPIE9CDash04(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX04_D.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_04.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,71 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_05.
*
* @author Willem Cazander
* @version 1.0 Jan 05, 2025
*/
public enum FCDotPIE9CDash05 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('˥'),
NXX_02('˦'),
NXX_03('˧'),
NXX_04('˨'),
NXX_05('˩'),
;
private final int[] codePoints;
private FCDotPIE9CDash05(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX05_E.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_05.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,72 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_06.
*
* @author Willem Cazander
* @version 1.0 Jan 05, 2025
*/
public enum FCDotPIE9CDash06 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(''),
NXX_02('∩'),
NXX_03('⊆'),
NXX_04('⊇'),
NXX_05('⊂'),
NXX_06('⊃'),
;
private final int[] codePoints;
private FCDotPIE9CDash06(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX06_F.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_06.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,73 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_07.
*
* @author Willem Cazander
* @version 1.0 Jan 05, 2025
*/
public enum FCDotPIE9CDash07 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('∧'),
NXX_02(''),
NXX_03('¬' /*'¬'*/), // order and chars are from kanji table 2
NXX_04('⇒'),
NXX_05('⇔'),
NXX_06('∀'),
NXX_07('∃'),
;
private final int[] codePoints;
private FCDotPIE9CDash07(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX07_G.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_07.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,74 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_08.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash08 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('☰'),
NXX_02('☱'),
NXX_03('☲'),
NXX_04('☳'),
NXX_05('☴'),
NXX_06('☵'),
NXX_07('☶'),
NXX_08('☷'),
;
private final int[] codePoints;
private FCDotPIE9CDash08(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX08_H.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_08.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,75 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_09.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash09 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(' '),
NXX_02(' '),
NXX_03(' '),
NXX_04(' '),
NXX_05(' '),
NXX_06(' '),
NXX_07(' '),
NXX_08(' '),
NXX_09(' '),
;
private final int[] codePoints;
private FCDotPIE9CDash09(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX09_I.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_09.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,76 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_10.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash10 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('0'),
NXX_02('1'),
NXX_03('2'),
NXX_04('3'),
NXX_05('4'),
NXX_06('5'),
NXX_07('6'),
NXX_08('7'),
NXX_09('8'),
NXX_10('9'),
;
private final int[] codePoints;
private FCDotPIE9CDash10(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX10_J.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_10.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,77 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_11.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash11 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('*'),
NXX_02('⁺'),
NXX_03('⁻'),
NXX_04('⁽'),
NXX_05('⁾'),
NXX_06('⁼'),
NXX_07('₊'),
NXX_08('₋'),
NXX_09('₍'),
NXX_10('₎'),
NXX_11('₌'),
;
private final int[] codePoints;
private FCDotPIE9CDash11(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX11_K.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_11.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,78 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_12.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash12 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(' '),
NXX_02(' '),
NXX_03(' '),
NXX_04(' '),
NXX_05(' '),
NXX_06(' '),
NXX_07(' '),
NXX_08(' '),
NXX_09(' '),
NXX_10(' '),
NXX_11(' '),
NXX_12(' '),
;
private final int[] codePoints;
private FCDotPIE9CDash12(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX12_L.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_12.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,79 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_13.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash13 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(' '),
NXX_02(' '),
NXX_03(' '),
NXX_04(' '),
NXX_05(' '),
NXX_06(' '),
NXX_07(' '),
NXX_08(' '),
NXX_09(' '),
NXX_10(' '),
NXX_11(' '),
NXX_12(' '),
NXX_13(' '),
;
private final int[] codePoints;
private FCDotPIE9CDash13(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX13_M.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_13.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,80 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_14.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash14 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('⊢'),
NXX_02('⊣'),
NXX_03(''),
NXX_04('⊥'),
NXX_05('⊦'),
NXX_06('⊧'),
NXX_07('⊨'),
NXX_08('⊩'),
NXX_09('⊪'),
NXX_10('⊫'),
NXX_11('⊬'),
NXX_12('⊭'),
NXX_13('⊮'),
NXX_14('⊯'),
;
private final int[] codePoints;
private FCDotPIE9CDash14(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX14_N.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_14.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,81 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_15.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash15 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('꜍'),
NXX_02('꜎'),
NXX_03('꜏'),
NXX_04('꜐'),
NXX_05('꜑'),
NXX_06('꜈'),
NXX_07('꜉'),
NXX_08('꜊'),
NXX_09('꜋'),
NXX_10('꜌'),
NXX_11('꜒'),
NXX_12('꜓'),
NXX_13('꜔'),
NXX_14('꜕'),
NXX_15('꜖'),
;
private final int[] codePoints;
private FCDotPIE9CDash15(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX15_O.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_15.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,82 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_16.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash16 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01('˧','˥','˩'),
NXX_02('˧','˩','˥'),
NXX_03('˧','˥','˦'),
NXX_04('˧','˩','˨'),
NXX_05('˧','˦','˦'),
NXX_06('˧','˨','˨'),
NXX_07('˧','˥','˥'),
NXX_08('˧','˩','˩'),
NXX_09('˥','˩','˧'),
NXX_10('˩','˥','˧'),
NXX_11('˥','˦','˧'),
NXX_12('˩','˨','˧'),
NXX_13('˦','˦','˧'),
NXX_14('˨','˨','˧'),
NXX_15('˥','˥','˧'),
NXX_16('˩','˩','˧'),
;
private final int[] codePoints;
private FCDotPIE9CDash16(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX16_P.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_16.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,83 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_17.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash17 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(' '),
NXX_02(' '),
NXX_03(' '),
NXX_04(' '),
NXX_05(' '),
NXX_06(' '),
NXX_07(' '),
NXX_08(' '),
NXX_09(' '),
NXX_10(' '),
NXX_11(' '),
NXX_12(' '),
NXX_13(' '),
NXX_14(' '),
NXX_15(' '),
NXX_16(' '),
NXX_17(' '),
;
private final int[] codePoints;
private FCDotPIE9CDash17(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX17_Q.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_17.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,84 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_18.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash18 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(0x1D360),
NXX_02(0x1D361),
NXX_03(0x1D362),
NXX_04(0x1D363),
NXX_05(0x1D364),
NXX_06(0x1D365),
NXX_07(0x1D366),
NXX_08(0x1D367),
NXX_09(0x1D368),
NXX_10(0x1D360, '\u20E5'),
NXX_11(0x1D361, '\u20E5'),
NXX_12(0x1D362, '\u20E5'),
NXX_13(0x1D363, '\u20E5'),
NXX_14(0x1D364, '\u20E5'),
NXX_15(0x1D365, '\u20E5'),
NXX_16(0x1D366, '\u20E5'),
NXX_17(0x1D367, '\u20E5'),
NXX_18(0x1D368, '\u20E5'),
;
private final int[] codePoints;
private FCDotPIE9CDash18(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX18_R.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_18.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,85 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_19.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash19 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(' '),
NXX_02(' '),
NXX_03(' '),
NXX_04(' '),
NXX_05(' '),
NXX_06(' '),
NXX_07(' '),
NXX_08(' '),
NXX_09(' '),
NXX_10(' '),
NXX_11(' '),
NXX_12(' '),
NXX_13(' '),
NXX_14(' '),
NXX_15(' '),
NXX_16(' '),
NXX_17(' '),
NXX_18(' '),
NXX_19(' '),
;
private final int[] codePoints;
private FCDotPIE9CDash19(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX19_S.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_19.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,110 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import java.util.ArrayList;
import java.util.List;
import java.util.PrimitiveIterator;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_20.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash20 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
SUPER_0('⁰'),
SUPER_1('¹'),
SUPER_2('²'),
SUPER_3('³'),
SUPER_4('⁴'),
SUPER_5('⁵'),
SUPER_6('⁶'),
SUPER_7('⁷'),
SUPER_8('⁸'),
SUPER_9('⁹'),
SUB_0('₀'),
SUB_1('₁'),
SUB_2('₂'),
SUB_3('₃'),
SUB_4('₄'),
SUB_5('₅'),
SUB_6('₆'),
SUB_7('₇'),
SUB_8('₈'),
SUB_9('₉'),
;
private final int[] codePoints;
private FCDotPIE9CDash20(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX20_T.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_20.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
static public List<FCDotPIE9CDash20> toScriptSuper(int value) {
return toScript(value, 0);
}
static public List<FCDotPIE9CDash20> toScriptSub(int value) {
return toScript(value, 10);
}
static private List<FCDotPIE9CDash20> toScript(int value, int off) {
List<FCDotPIE9CDash20> result = new ArrayList<>();
String valueStr = Integer.toString(value);
PrimitiveIterator.OfInt i = valueStr.codePoints().iterator();
while (i.hasNext()) {
int chr = i.nextInt();
int num = chr - '0';
result.add(values()[num + off]);
}
return result;
}
}

View file

@ -0,0 +1,87 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_21.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash21 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(''),
NXX_02('Ⅱ'),
NXX_03('Ⅲ'),
NXX_04('Ⅳ'),
NXX_05(''),
NXX_06('Ⅵ'),
NXX_07('Ⅶ'),
NXX_08('Ⅷ'),
NXX_09('Ⅸ'),
NXX_10(''),
NXX_11('Ⅺ'),
NXX_12('Ⅻ'),
NXX_13(''),
NXX_14(''),
NXX_15(''),
NXX_16(''),
NXX_17('ↀ'),
NXX_18('ↁ'),
NXX_19('ↂ'),
NXX_20('ↇ'),
NXX_21('ↈ'),
;
private final int[] codePoints;
private FCDotPIE9CDash21(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX21_U.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_21.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,88 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_22.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash22 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(0x10900),
NXX_02(0x10901),
NXX_03(0x10902),
NXX_04(0x10903),
NXX_05(0x10904),
NXX_06(0x10905),
NXX_07(0x10906),
NXX_08(0x10907),
NXX_09(0x10908),
NXX_10(0x10909),
NXX_11(0x1090A),
NXX_12(0x1090B),
NXX_13(0x1090C),
NXX_14(0x1090D),
NXX_15(0x1090E),
NXX_16(0x1090F),
NXX_17(0x10910),
NXX_18(0x10911),
NXX_19(0x10912),
NXX_20(0x10913),
NXX_21(0x10914),
NXX_22(0x10915), // Tau
;
private final int[] codePoints;
private FCDotPIE9CDash22(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX22_V.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_22.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,89 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_23.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash23 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(0x1D369),
NXX_02(0x1D36A),
NXX_03(0x1D36B),
NXX_04(0x1D36C),
NXX_05(0x1D36D),
NXX_06(0x1D36E),
NXX_07(0x1D36F),
NXX_08(0x1D370),
NXX_09(0x1D371),
NXX_10(0x1D369, '\u20E5'),
NXX_11(0x1D36A, '\u20E5'),
NXX_12(0x1D36B, '\u20E5'),
NXX_13(0x1D36C, '\u20E5'),
NXX_14(0x1D36D, '\u20E5'),
NXX_15(0x1D36E, '\u20E5'),
NXX_16(0x1D36F, '\u20E5'),
NXX_17(0x1D370, '\u20E5'),
NXX_18(0x1D371, '\u20E5'),
NXX_19(0x1D372),
NXX_20(0x1D373),
NXX_21(0x1D374),
NXX_22(0x1D375),
NXX_23(0x1D376),
;
private final int[] codePoints;
private FCDotPIE9CDash23(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX23_W.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_23.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,90 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_24.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash24 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
NXX_01(' '),
NXX_02(' '),
NXX_03(' '),
NXX_04(' '),
NXX_05(' '),
NXX_06(' '),
NXX_07(' '),
NXX_08(' '),
NXX_09(' '),
NXX_10(' '),
NXX_11(' '),
NXX_12(' '),
NXX_13(' '),
NXX_14(' '),
NXX_15(' '),
NXX_16(' '),
NXX_17(' '),
NXX_18(' '),
NXX_19(' '),
NXX_20(' '),
NXX_21(' '),
NXX_22(' '),
NXX_23(' '),
NXX_24(' '),
;
private final int[] codePoints;
private FCDotPIE9CDash24(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX24_X.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_24.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,91 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_25.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash25 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
UBAR_0('0', '\u0332'),
UBAR_1('1', '\u0332'),
UBAR_2('2', '\u0332'),
UBAR_3('3', '\u0332'),
UBAR_4('4', '\u0332'),
UBAR_5('5', '\u0332'),
UBAR_6('6', '\u0332'),
UBAR_7('7', '\u0332'),
UBAR_8('8', '\u0332'),
UBAR_9('9', '\u0332'),
NEG_0('0', '\u0337'),
NEG_1('1', '\u0337'),
NEG_2('2', '\u0337'),
NEG_3('3', '\u0337'),
NEG_4('4', '\u0337'),
NEG_5('5', '\u0337'),
NEG_6('6', '\u0337'),
NEG_7('7', '\u0337'),
NEG_8('8', '\u0337'),
NEG_9('9', '\u0337'),
NXX_21('⋈'),
NXX_22('⋉'),
NXX_23('⋊'),
NXX_24('⋋'),
NXX_25('⋌'),
;
private final int[] codePoints;
private FCDotPIE9CDash25(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX25_Y.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_25.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,92 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_26.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash26 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
LOW_A('a'),
LOW_B('b'),
LOW_C('c'),
LOW_D('d'),
LOW_E('e'),
LOW_F('f'),
LOW_G('g'),
LOW_H('h'),
LOW_I('i'),
LOW_J('j'),
LOW_K('k'),
LOW_L('l'),
LOW_M('m'),
LOW_N('n'),
LOW_O('o'),
LOW_P('p'),
LOW_Q('q'),
LOW_R('r'),
LOW_S('s'),
LOW_T('t'),
LOW_U('u'),
LOW_V('v'),
LOW_W('w'),
LOW_X('x'),
LOW_Y('y'),
LOW_Z('z'),
;
private final int[] codePoints;
private FCDotPIE9CDash26(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX26_Z.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_26.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,93 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18.pie9c;
import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoints;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Pie slice number symbols for NXX_27.
*
* @author Willem Cazander
* @version 1.0 Jan 06, 2025
*/
public enum FCDotPIE9CDash27 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
LOWUBAR_A('a', '\u0332'),
LOWUBAR_B('b', '\u0332'),
LOWUBAR_C('c', '\u0332'),
LOWUBAR_D('d', '\u0332'),
LOWUBAR_E('e', '\u0332'),
LOWUBAR_F('f', '\u0332'),
LOWUBAR_G('g', '\u0332'),
LOWUBAR_H('h', '\u0332'),
LOWUBAR_I('i', '\u0332'),
LOWUBAR_J('j', '\u0332'),
LOWUBAR_K('k', '\u0332'),
LOWUBAR_L('l', '\u0332'),
LOWUBAR_M('m', '\u0332'),
LOWUBAR_N('n', '\u0332'),
LOWUBAR_O('o', '\u0332'),
LOWUBAR_P('p', '\u0332'),
LOWUBAR_Q('q', '\u0332'),
LOWUBAR_R('r', '\u0332'),
LOWUBAR_S('s', '\u0332'),
LOWUBAR_T('t', '\u0332'),
LOWUBAR_U('u', '\u0332'),
LOWUBAR_V('v', '\u0332'),
LOWUBAR_W('w', '\u0332'),
LOWUBAR_X('x', '\u0332'),
LOWUBAR_Y('y', '\u0332'),
LOWUBAR_Z('z', '\u0332'),
LOWUBAR_AMP('&', '\u0332'),
;
private final int[] codePoints;
private FCDotPIE9CDash27(int...codePoints) {
this.codePoints = codePoints;
}
@Override
public int[] baklavaPoints() {
return muffinPoints();
}
@Override
public int[] muffinPoints() {
return new int[] {FCDotCDC1604DashP6.__PIE.ordinal(), FCDotCDC1604DashP6.NX27_AMPERSAND.ordinal(), FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()};
}
@Override
public int[] cakePoints() {
return new int[] {FourCornerDotCake.FC_PIE9C_27.getStart() + ordinal()};
}
@Override
public int[] codePoints() {
return codePoints;
}
}

View file

@ -0,0 +1,30 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* 18 bit Four Corner Pie number symbols three times nine.
*
*
* @since 1.0
*/
package org.x4o.o2o.fc18.pie9c;

View file

@ -23,16 +23,16 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.AMD0110-A4" Four Corner Application Methodoums Decimals * "FC.AMD0110-DA" Four Corner Application Methodoums Decimals
* *
* *
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 31, 2024 * @version 1.0 Dec 31, 2024
*/ */
public enum FCDotAMD0110DashA4 implements FourCornerX18CakePoint { public enum FCDotAMD0110DashDA implements FourCornerX18CakePoints {
/// Shorthand for zero /// Shorthand for zero
T001_NXX_001, T001_NXX_001,
/// Shorthand for one /// Shorthand for one
@ -48,7 +48,7 @@ public enum FCDotAMD0110DashA4 implements FourCornerX18CakePoint {
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_AMD0110_A4.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_AMD0110_DA.getStart() + ordinal()};
} }
} }

View file

@ -23,211 +23,224 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoint; import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoint; import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoint; import org.x4o.o2o.fc18.FourCornerX21CodePoints;
/// "FC.APL1604-S6" Four Corner A Programming Language symbols cake slice of cake points. /// "FC.APL1604-S6" Four Corner A Programming Language symbols cake slice of cake points.
/// ///
/// @author Willem Cazander /// @author Willem Cazander
/// @version 1.0 Jan 1, 2025 /// @version 1.0 Jan 1, 2025
/// ///
public enum FCDotAPL1604DashS6 implements FourCornerX06BaklavaPoint, FourCornerX08MuffinPoint, FourCornerX18CakePoint, FourCornerX21CodePoint { public enum FCDotAPL1604DashS6 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
/// Indicator for termination of pussy strings, which is the compatibility duel octal, with the CDC 1604 computers. /// Indicator for termination of pussy strings, which is the compatibility duel octal, with the CDC 1604 computers.
__NUL_APL('\u0000'), __NUL_APL('\u0000'),
// see https://en.wikipedia.org/wiki/Digital_encoding_of_APL_symbols /// SL080000 One is pi
// TODO: repack, move DEC._LL to here and add compound to make space for more letters
// GNU APL has the letter = APL Functional Symbol Tilde Diaeresis.
// Thus remove all compound letters like in ISO-IR-68
/// SL010000
UP_STILE('⌈'),
/// SL020000
DOWN_STILE('⌊'),
/// SL030000
DEL('∇'),
/// SL040000
DEL_TILDE('⍫'),
/// SL050000
DEL_STILE('⍒'),
/// SL060000
DELTA('∆'),
/// SL070000
DELTA_STILE('⍋'),
/// SL080000
CIRCLE('○'), CIRCLE('○'),
/// SL090000
CIRCLE_STILE('⌽'), // === 2 + 6 boxes
/// SL100000
CIRCLE_SLOPE('⍉'), /// SL360000
/// SL110000 QUAD('⎕'),
CIRCLE_STAR('⍟'), /// SL260000
/// SL120000 SQUISH_QUAD('⌷'),
CIRCLE_BAR('⊖'),
/// SL130000
QUAD_QUOTE('⍞'),
/// SL140000 /// SL140000
QUAD_DIVIDE('⌹'), QUAD_DIVIDE('⌹'),
/// SL150000 /// NEW from Dynlog APL
SLASH_BAR('⌿'), QUAD_DOT2('⍠'),
/// SL160000 /// NEW from Dynlog APL
SLOPE_BAR('⍀'), QUAD_BOX3('⌸'),
/// SL170000 /// NEW from Dynlog APl
UP_CARET_TILDE('⍲'), QUAD_QUAD('⌺'),
/// SL180000
DOWN_CARET_TILDE('⍱'), // === 8 directions T arrows
/// SL610000
UP_ARROW('↑'),
/// SL600000
RIGHT_ARROW('→'),
/// SL620000
DOWN_ARROW('↓'),
/// SL590000
LEFT_ARROW('←'),
/// SL220000
UP_TACK(''),
/// SL350000
RIGHT_TACK('⊣'),
/// SL230000
DOWN_TACK('⊥'),
/// SL340000
LEFT_TACK('⊢'),
// === 8 mirrors
/// SL190000 /// SL190000
DOWN_TACK_JOT('⍎'), DOWN_TACK_JOT('⍎'),
/// SL200000 /// SL200000
UP_TACK_JOT('⍕'), UP_TACK_JOT('⍕'),
/// SL210000 /// SL150000
UP_SHOE_NULL('⍝'), SLASH_BAR('⌿'),
/// SL220000 /// SL160000
UP_TACK(''), SLOPE_BAR('⍀'),
/// SL230000 /// SL010000
DOWN_TACK('⊥'), UP_STILE('⌈'),
/// SL240000 /// SL020000
IBEAM_TACK('⌶'), DOWN_STILE('⌊'),
/// SL030000 (used in GNU GPL)
DEL('∇'),
/// SL060000 (used in GNU GPL)
DELTA('∆'),
// === 8 Oooohhhs
/// SL110000
CIRCLE_STAR('⍟'),
/// SL090000
CIRCLE_STILE('⌽'),
/// SL120000
CIRCLE_BAR('⊖'),
/// SL100000
CIRCLE_SLOPE('⍉'),
/// NEW from dynlog APL
CIRCLE_DOT_XL('⍥'),
/// NEW from dynlog APL
CIRLCE_DOT('⍤'),
/// SL250000 /// SL250000
JOT('∘'), JOT('∘'),
/// SL260000 /// NEW from dynlog APL
SQUISH_QUAD('⌷'), STAR_DOT('⍣'),
/// SL270000
QUAD_JOT('⌻'),
/// SL280000
QUAD_SLOPE('⍂'),
// SL290000 = Ampersand Underbar is on 6 bit = FCDotCDC1604DashP6.__ESC + FCDotDEC1604DashE6.__ESC_LL + FCDotCDC1604DashP6.NX27_AMPERSAND // === ALGOL_60 <arithmetic operator> ::= + | - | × | / | ÷ |
// SL300000 = Equals underbar is on 6 bit = FCDotCDC1604DashP6.__ESC + FCDotDEC1604DashE6.__ESC_LL + FCDotCDC1604DashP6._EQUALS
// SL310000 = OUT Symbol = Not used by IBM ?
/// SL320000 // SL790000 = Plus = FCDotCDC1604DashP6._PLUS
DIAERESIS_DOT('∵'), // SL690000 = Bar = FCDotCDC1604DashP6._MINUS
// SL330000 = Delta underbar is on 6 bit = FCDotCDC1604DashP6.__ESC + FCDotDEC1604DashE6.__ESC_LL + FCDotCDC1604DashP6.__ESC + FCDotDEC1604DashE6.__ESC_APL + FCDotAPL1604DashS6.DELTA
/// SL340000
LEFT_TACK('⊢'),
/// SL350000
RIGHT_TACK('⊣'),
/// SL360000
QUAD('⎕'),
/// SL370000
LESS_GREATER('⋄'),
// SL380000 = Stile = FCDotCDC1604DashP6.BAR_VERTICAL
// SL390000 = undefined
/// SL400000
UP_SHOE('∩'),
/// SL410000
DOWN_SHOE(''),
/// SL420000
LEFT_SHOE('⊂'),
/// SL430000
RIGHT_SHOE('⊃'),
// SL440000 = Underbar = FCDotCDC1604DashP6.BAR_UNDER
/// SL450000
DIAERESIS('¨'),
// SL460000 = Tilde = FCDotCDC1604DashP6._TILDE
// SL470000 = undefined
/// SL480000
CIRCLE_PLUS('⊕'),
/// SL490000
CIRCLE_TIMES('⊗'),
/// SL500000
DOWN_CARET(''),
/// SL510000
UP_CARET('∧'),
// SL520000 = Less than = FCDotCDC1604DashP6.TAG_COMPARE_LEFT
// SL530000 = Greater than = FCDotCDC1604DashP6.TAG_COMPARE_RIGHT
/// SL540000
DIVIDE('÷'),
/// SL550000 /// SL550000
TIMES('×'), TIMES('×'),
// SL760000 = Slash = FCDotCDC1604DashP6.BAR_V_RIGHT
/// SL540000
DIVIDE('÷'),
// === ALGOL_60 <relational operator> ::= <, , =, , >,
// SL520000 = Less than = FCDotCDC1604DashP6.TAG_COMPARE_LEFT
/// SL560000 /// SL560000
NOT_GREATER('≤'), NOT_GREATER('≤'),
// SL810000 = Equal = FCDotCDC1604DashP6._EQUALS
/// SL570000 /// SL570000
NOT_LESS('≥'), NOT_LESS('≥'),
// SL530000 = Greater than = FCDotCDC1604DashP6.TAG_COMPARE_RIGHT
/// SL820000
NOT_EQUAL('≠'),
/// SL050000
DEL_STILE('⍒'), // grade down
/// SL070000
DELTA_STILE('⍋'),
// SL580000 = Quote Dot = FCDotCDC1604DashP6._EXCLAMATION // === ALGOL_60 <logical operator> ::= | | | | ¬
/// SL590000 /// SL300000
LEFT_ARROW('←'), EQUALS_UNDERBAR('≡'),
/// SL600000 /// SL430000
RIGHT_ARROW('→'), RIGHT_SHOE('⊃'),
/// SL610000 /// SL510000
UP_ARROW('↑'), UP_CARET('∧'),
/// SL620000 /// SL500000
DOWN_ARROW('↓'), DOWN_CARET(''),
/// NEW: This comes from ALGOL_60 chars.
ALGOL_NOT('¬'),
/// SL170000
UP_CARET_TILDE('⍲'), // NAND
/// SL180000
DOWN_CARET_TILDE('⍱'),
/// NEW: from Dynalog_APL
EQUALS_UNDERNOT('≢'),
/// SL630000 /// === Left over from modern APL for Zilog Z8000 see https://aplwiki.com/wiki/Dyalog_APL
OVERBAR('‾'),
// SL640000 = Slope = FCDotCDC1604DashP6.BAR_V_LEFT /// SL240000
// SL650000 = Star = FCDotCDC1604DashP6._ASTERISK IBEAM_TACK('⌶'),
// SL660000 = Quota = FCDotCDC1604DashP6._APOSTROPHE /// NEW from DYNA
// SL670000 = Left Parenthesis = FCDotCDC1604DashP6.TAG_ROUND_LEFT DOTTED_TILDE('⍨'),
// SL680000 = Right Parenthesis = FCDotCDC1604DashP6.TAG_ROUND_RIGHT /// SL450000
// SL690000 = Bar = FCDotCDC1604DashP6._MINUS DIAERESIS('¨'),
// SL700000 = Query = FCDotCDC1604DashP6._QUESTION // SL870000
EPSILON_UNDERBAR('⍷'),
/// SL710000 // SL860000 = Iota Underbar
ALPHA(''), IOTA_UNDERBAR('⍸'),
/// SL720000
EPSILON('∊'),
/// SL730000 /// SL730000
IOTA(''), IOTA(''),
/// SL410000
DOWN_SHOE(''),
/// SL400000
UP_SHOE('∩'),
/// SL720000
EPSILON('∊'),
/// NEW from dynslog APL
LEFT_SHOE_UNDERBAR('⊆'),
/// SL420000
LEFT_SHOE('⊂'),
/// SL740000 /// SL740000
RHO(''), RHO(''),
/// NEW from dynlog APL
MINUS_COMMA('⍪'),
/// --------- Left over from IBM APL
/// SL210000
UP_SHOE_NULL('⍝'),
/// SL630000
OVERBAR('‾'),
/// SL710000
ALPHA(''),
/// SL750000 /// SL750000
OMEGA('⍵'), OMEGA('⍵'),
// SL760000 = Slash = FCDotCDC1604DashP6.BAR_V_RIGHT
/// SL040000
// DEL_TILDE('⍫'), /// === LOCK
/// SL130000
// QUAD_QUOTE('⍞'), // GNU APL: stdin and debug out
/// SL270000
// QUAD_JOT('⌻'), // file meta info
/// SL280000
// QUAD_SLOPE('⍂'), // was expand
/// SL320000
// DIAERESIS_DOT('∵'), // each item
// SL330000
// DELTA_UNDERBAR('⍙'), // GNU APL: user var: starts (A-Z) or one of the 3 characters _, , or
/// SL370000
// LESS_GREATER('⋄'), // each stmt
/// SL480000
// CIRCLE_PLUS('⊕'), // group
/// SL490000
// CIRCLE_TIMES('⊗'), // index of
// SL290000 = Unsupported = Ampersand Underbar
// SL310000 = Unsupported = OUT Symbol = Not used by IBM ?
// SL380000 = Stile = FCDotCDC1604DashP6.BAR_VERTICAL
// SL390000 = undefined
// SL440000 = Underbar = FCDotCDC1604DashP6.BAR_UNDER
// SL460000 = Tilde = FCDotCDC1604DashP6._TILDE
// SL470000 = undefined
// SL580000 = Quote Dot = FCDotCDC1604DashP6._EXCLAMATION
// SL640000 = Slope = FCDotCDC1604DashP6.BAR_V_LEFT
// SL650000 = Star = FCDotCDC1604DashP6._ASTRIKS
// SL660000 = Quota = FCDotCDC1604DashP6._APOSTROPHE
// SL670000 = Left Parenthesis = FCDotCDC1604DashP6.TAG_ROUND_LEFT
// SL680000 = Right Parenthesis = FCDotCDC1604DashP6.TAG_ROUND_RIGHT
// SL700000 = Query = FCDotCDC1604DashP6._QUESTION
// SL770000 = Left Bracket = FCDotCDC1604DashP6.TAG_SQUARE_LEFT // SL770000 = Left Bracket = FCDotCDC1604DashP6.TAG_SQUARE_LEFT
// SL780000 = Right Bracket = FCDotCDC1604DashP6.TAG_SQUARE_RIGHT // SL780000 = Right Bracket = FCDotCDC1604DashP6.TAG_SQUARE_RIGHT
// SL790000 = Plus = FCDotCDC1604DashP6._PLUS
// SL800000 = Semicolon = FCDotCDC1604DashP6._SEMICOLON // SL800000 = Semicolon = FCDotCDC1604DashP6._SEMICOLON
// SL810000 = Equal = FCDotCDC1604DashP6._EQUALS
/// SL820000
NOT_EQUAL('≠'),
// SL830000 = Colon = FCDotCDC1604DashP6._COLON // SL830000 = Colon = FCDotCDC1604DashP6._COLON
// SL840000 = Dot = FCDotCDC1604DashP6._DOT // SL840000 = Dot = FCDotCDC1604DashP6._DOT
// SL850000 = Comma = FCDotCDC1604DashP6._COMMA // SL850000 = Comma = FCDotCDC1604DashP6._COMMA
// SL860000 = Iota Underbar
// SL870000 = Epsilon Underbar
// On 6 bit:
// FCDotCDC1604DashP6.__ESC + FCDotDEC1604DashE6.__ESC_LL + FCDotCDC1604DashP6.__ESC + FCDotDEC1604DashE6.__ESC_APL + FCDotAPL1604DashS6.EPSILON
// On 8 or 18 bit:
// FCDotDEC1604DashE6.__ESC_LL + FCDotAPL1604DashS6.EPSILON
// ----------- END APL
/// Lambda symbol
LAMBDA('λ'), // Greek Capital Letter Lambda
/// Phi symbol
PHI('Φ'), // Greek Capital Letter Phi
/// A Euler's Number symbol
AEN('ӕ'), // Cyrillic Small Ligature A Ie
/// One pi has symbol of 2T
PI_1('π'), // Greek Small Letter Pi
/// Two pi has symbol of 1T
PI_2('τ'), // Greek Capital Letter Tau
/// Three pi has symbol of 3T
PI_3('Ѧ'), // Cyrillic Capital Letter Little Yus
; ;
static final private FCDotAPL1604DashS6[] VALUES = values(); // values() is slow method static final private FCDotAPL1604DashS6[] VALUES = values(); // values() is slow method
@ -238,23 +251,23 @@ public enum FCDotAPL1604DashS6 implements FourCornerX06BaklavaPoint, FourCornerX
} }
@Override @Override
public int baklavaPoint() { public int[] baklavaPoints() {
return ordinal(); return new int[] {FCDotCDC1604DashP6.__ESC6.ordinal(), FCDotDEC1604DashE6.__ESC6_APL.ordinal(), ordinal()};
} }
@Override @Override
public int muffinPoint() { public int[] muffinPoints() {
return cakePoint(); return cakePoints();
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_APL1604_S6.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_APL1604_S6.getStart() + ordinal()};
} }
@Override @Override
public int codePoint() { public int[] codePoints() {
return codePoint; return new int[] {codePoint};
} }
static public int length() { static public int length() {

View file

@ -23,7 +23,7 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.BMW0102-D1" Four Corner Binary Model Word encoding. * "FC.BMW0102-D1" Four Corner Binary Model Word encoding.
@ -31,13 +31,13 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 31, 2024 * @version 1.0 Dec 31, 2024
*/ */
public enum FCDotBMW0102DashD1 implements FourCornerX18CakePoint { public enum FCDotBMW0102DashD1 implements FourCornerX18CakePoints {
T002_NXX_001, T002_NXX_001,
T002_NXX_002, T002_NXX_002,
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_BMW0102_D1.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_BMW0102_D1.getStart() + ordinal()};
} }
} }

View file

@ -23,17 +23,17 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoint; import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoint; import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoint; import org.x4o.o2o.fc18.FourCornerX21CodePoints;
/// "FC.BYD1604-C6" Four Corner Block Your Display terminal application. /// "FC.BYD1604-C6" Four Corner Block Your Display terminal application.
/// ///
/// @author Willem Cazander /// @author Willem Cazander
/// @version 1.0 Jan 1, 2025 /// @version 1.0 Jan 1, 2025
/// ///
public enum FCDotBYD1604DashC6 implements FourCornerX06BaklavaPoint, FourCornerX08MuffinPoint, FourCornerX18CakePoint, FourCornerX21CodePoint { public enum FCDotBYD1604DashC6 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
/// Indicator for termination of pussy strings, which is the compatibility duel octal, with the CDC 1604 computers. /// Indicator for termination of pussy strings, which is the compatibility duel octal, with the CDC 1604 computers.
__NUL_BYD('\u0000'), __NUL_BYD('\u0000'),
@ -119,23 +119,23 @@ public enum FCDotBYD1604DashC6 implements FourCornerX06BaklavaPoint, FourCornerX
} }
@Override @Override
public int baklavaPoint() { public int[] baklavaPoints() {
return ordinal(); return new int[] {FCDotCDC1604DashP6.__ESC6.ordinal(), FCDotDEC1604DashE6.__ESC6_BYD.ordinal(), ordinal()};
} }
@Override @Override
public int muffinPoint() { public int[] muffinPoints() {
return cakePoint(); return cakePoints();
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_BYD1604_C6.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_BYD1604_C6.getStart() + ordinal()};
} }
@Override @Override
public int codePoint() { public int[] codePoints() {
return codePoint; return new int[] {codePoint};
} }
static public int length() { static public int length() {

View file

@ -23,10 +23,10 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoint; import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoint; import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
import org.x4o.o2o.fc18.FourCornerX21CodePoint; import org.x4o.o2o.fc18.FourCornerX21CodePoints;
/// ///
/// "FC.CDC1604-P6" Four Corner Core Data Cake has 27 pie slice number systems "Packed" for MATH and BASIC letters. /// "FC.CDC1604-P6" Four Corner Core Data Cake has 27 pie slice number systems "Packed" for MATH and BASIC letters.
@ -41,38 +41,37 @@ import org.x4o.o2o.fc18.FourCornerX21CodePoint;
/// @author Willem Cazander /// @author Willem Cazander
/// @version 1.0 Dec 22, 2024 /// @version 1.0 Dec 22, 2024
/// ///
public enum FCDotCDC1604DashP6 implements FourCornerX06BaklavaPoint, FourCornerX08MuffinPoint, FourCornerX18CakePoint, FourCornerX21CodePoint { public enum FCDotCDC1604DashP6 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints, FourCornerX21CodePoints {
// [__NUL][__PIE][__GLUE][__ESC] [__LINE][__SPACE]?! {[(< }])> // [__NUL][__PIE][__GLUE][__ESC] [__LINE][__SPACE]?! {}[] ()<>
// ~+-* ,.:; '"`^ =#$% // ~+-* ,.:; '"`^ =#$%
// |_\/ @ABC DEFG HIJK // |_\/ @ABC DEFG HIJK
// LMNO PQRS TUVW XYZ& // LMNO PQRS TUVW XYZ&
/// Indicator for termination of pussy strings, which is the compatibility duel octal, with the CDC 1604 computers. /// Indicator for termination of pussy strings, which is the compatibility duel octal, with the CDC 1604 computers.
__NUL('\u0000'), __NUL('\u0000'),
/// Select packed pie number encoding. /// Select packed pie terminator symbol.
/// A = 1, first P6 is terminator select, than next P6 _A++ select pie part 1-27, until other P6 stops it. /// A = 1, first P6 is terminator select, than next P6 _A++ select pie part 1-27, until other P6 stops it.
/// Example ascii "012" is /// Example ascii "012" is
/// 0 = __PIE NX01_A NX01_A (__PIE T001 PART_1) /// 0 = __PIE NX01_A NX01_A (__PIE T001 PART_1)
/// 12 = __PIE NX09_I NX01_A NX02_B (__PIE T009 PART_1+2) /// 12 = __PIE NX09_I NX01_A NX02_B (__PIE T009 PART_1+2)
__PIE('\u0001'), __PIE('\u0001'),
/// Word glue to flag for automatic casing and/or separator in renderer.(by user-pref per context) /// Select packed pie terminator number.
/// The example "__SPACE __GLUE NX06_F NX15_O NX15_O __GLUE NX02_B NX01_A NX18_R" /// First NXX P6 is terminator select, than next NXX P6 are values, until out of range.
/// Can be rendered as " FooᐧBar" or " fOObAR" or " FOO_BAR" etc/etc. __PIN('\u0002'),
__GLUE('\u0002'), /// Escape to direct control code for 6 bit systems.
/// Escape to direct control code. (note only needed for 6 bit and 8 bit systems) __ESC6('\u0003'),
__ESC('\u0003'),
__LINE('\n'), __LINE('\n'),
__SPACE(' '), __SPACE(' '),
_QUESTION('?'), _QUESTION('?'),
_EXCLAMATION('!'), _EXCLAMATION('!'),
TAG_CURLY_LEFT('{'), TAG_CURLY_LEFT('{'),
TAG_SQUARE_LEFT('['),
TAG_ROUND_LEFT('('),
TAG_COMPARE_LEFT('<'),
TAG_CURLY_RIGHT('}'), TAG_CURLY_RIGHT('}'),
TAG_SQUARE_LEFT('['),
TAG_SQUARE_RIGHT(']'), TAG_SQUARE_RIGHT(']'),
TAG_ROUND_LEFT('('),
TAG_ROUND_RIGHT(')'), TAG_ROUND_RIGHT(')'),
TAG_COMPARE_LEFT('<'),
TAG_COMPARE_RIGHT('>'), TAG_COMPARE_RIGHT('>'),
_TILDE('~'), _TILDE('~'),
@ -97,7 +96,7 @@ public enum FCDotCDC1604DashP6 implements FourCornerX06BaklavaPoint, FourCornerX
BAR_V_LEFT('\\'), BAR_V_LEFT('\\'),
BAR_V_RIGHT('/'), BAR_V_RIGHT('/'),
_AT('@'), _AT('@'),
/// The tone letter 'A' is "one" and is equal to 'a', if your computer is expensive and has a lower-case char ROM, than this is 'a' except after __GLUE marker. /// The tone letter 'A' is "one", if your computer is expensive and has a lower-case char ROM, than this is 'a' except after some pie glue.
NX01_A('A'), NX01_A('A'),
NX02_B('B'), NX02_B('B'),
NX03_C('C'), NX03_C('C'),
@ -136,23 +135,23 @@ public enum FCDotCDC1604DashP6 implements FourCornerX06BaklavaPoint, FourCornerX
} }
@Override @Override
public int baklavaPoint() { public int[] baklavaPoints() {
return ordinal(); return new int[] {ordinal()};
} }
@Override @Override
public int muffinPoint() { public int[] muffinPoints() {
return cakePoint(); return cakePoints();
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_CDC1604_P6.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_CDC1604_P6.getStart() + ordinal()};
} }
@Override @Override
public int codePoint() { public int[] codePoints() {
return codePoint; return new int[] {codePoint};
} }
static public int length() { static public int length() {
@ -162,4 +161,26 @@ public enum FCDotCDC1604DashP6 implements FourCornerX06BaklavaPoint, FourCornerX
static public FCDotCDC1604DashP6 indexOf(int idx) { static public FCDotCDC1604DashP6 indexOf(int idx) {
return VALUES[idx]; return VALUES[idx];
} }
static public char escapeSignUnicode(int idx) {
if (idx == 0) {
return '␀';
}
if (idx == 1) {
return '␁';
}
if (idx == 2) {
return '␂';
}
if (idx == 3) {
return '␃';
}
if (idx == 4) {
return '␄';
}
if (idx == 5) {
return '␅';
}
throw new IllegalArgumentException("Unsupported index: " + idx);
}
} }

View file

@ -23,9 +23,9 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX06BaklavaPoint; import org.x4o.o2o.fc18.FourCornerX06BaklavaPoints;
import org.x4o.o2o.fc18.FourCornerX08MuffinPoint; import org.x4o.o2o.fc18.FourCornerX08MuffinPoints;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; 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-E2" Four Corner dot Direct or Escaped Control in grid of 16 by 04 of dashed Escape codes V2.
@ -41,24 +41,22 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 24, 2024 * @version 1.0 Dec 24, 2024
*/ */
public enum FCDotDEC1604DashE6 implements FourCornerX06BaklavaPoint, FourCornerX08MuffinPoint, FourCornerX18CakePoint { public enum FCDotDEC1604DashE6 implements FourCornerX06BaklavaPoints, FourCornerX08MuffinPoints, FourCornerX18CakePoints {
/// Indicator for termination of pussy strings, which is the compatibility duel octal, with the CDC 1604 computers. /// Indicator for termination of pussy strings, which is the compatibility duel octal, with the CDC 1604 computers.
__NUL_DEC, __NUL_DEC,
/// On 6 bit escape to the APL baklava. /// On 6 bit escape to the APL baklava.
__ESC6_APL, __ESC6_APL,
/// On 6 bit escape to the BYD baklave /// On 6 bit escape to the BYD baklave.
__ESC6_BYD, __ESC6_BYD,
/// Duel escape stops the escaped PIE or PIN escape sequence data mode.
/// VT-100 Manual: "ESC also cancels any escape sequence".
__ESC_STOP,
/// On 6/8 bit escape to 18 bit four corner. /// On 6/8 bit escape to 18 bit four corner.
/// Stream six octals per cake point in NX01 to NX08, until any out of range P6, thus ending with __ESC /// Stream six octals as CDC chars in NX01_A to NX08_H, until any out of range P6.
__ESC68_FC18, __ESC68_FC18,
// "low line" escape for next single letter A-Z. /// Lower case escape code for only ONE next char is NX01_A to NX06_Z
/// These were produced on APL printing terminals by over-striking a straight capital letter with an underscore character. __ESC_BELOW,
/// Example a̲b̲c̲/A̲B̲C̲
__ESC_LL,
/// "low line spaced" also called a "macron below" escape for next single letter A-Z.
/// Example a̱ḇc̱/A̱ḆC̱
__ESC_LLSP,
UNDEFINED__QUESTION, UNDEFINED__QUESTION,
UNDEFINED__EXCLAMATION, UNDEFINED__EXCLAMATION,
@ -96,6 +94,7 @@ public enum FCDotDEC1604DashE6 implements FourCornerX06BaklavaPoint, FourCornerX
UNDEFINED__BAR_V_LEFT, UNDEFINED__BAR_V_LEFT,
UNDEFINED__BAR_V_RIGHT, UNDEFINED__BAR_V_RIGHT,
UNDEFINED___AT, UNDEFINED___AT,
/// MSX CURSOR UP = VT-52
UNDEFINED__NX01_A, UNDEFINED__NX01_A,
UNDEFINED__NX02_B, UNDEFINED__NX02_B,
UNDEFINED__NX03_C, UNDEFINED__NX03_C,
@ -170,18 +169,18 @@ public enum FCDotDEC1604DashE6 implements FourCornerX06BaklavaPoint, FourCornerX
} }
@Override @Override
public int baklavaPoint() { public int[] baklavaPoints() {
return ordinal(); return new int[] {FCDotCDC1604DashP6.__ESC6.ordinal(), ordinal()};
} }
@Override @Override
public int muffinPoint() { public int[] muffinPoints() {
return cakePoint(); return cakePoints();
} }
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_DEC1604_E6.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_DEC1604_E6.getStart() + ordinal()};
} }
static public int length() { static public int length() {

View file

@ -23,7 +23,7 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.IBM1616-D8" Four Corner Interim Byte Mode, embed raw 8 bit Data * "FC.IBM1616-D8" Four Corner Interim Byte Mode, embed raw 8 bit Data
@ -32,7 +32,7 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotIBM1616DashD8 implements FourCornerX18CakePoint { public enum FCDotIBM1616DashD8 implements FourCornerX18CakePoints {
NXX_001, NXX_001,
NXX_002, NXX_002,
NXX_003, NXX_003,
@ -292,7 +292,7 @@ public enum FCDotIBM1616DashD8 implements FourCornerX18CakePoint {
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_IBM1616_D8.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_IBM1616_D8.getStart() + ordinal()};
} }
} }

View file

@ -23,7 +23,7 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.NCR1632-0F" Four Corner New Counting Rods optional flags. * "FC.NCR1632-0F" Four Corner New Counting Rods optional flags.
@ -31,14 +31,14 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 31, 2024 * @version 1.0 Dec 31, 2024
*/ */
public enum FCDotNCR1632Dash0F implements FourCornerX18CakePoint { public enum FCDotNCR1632Dash0F implements FourCornerX18CakePoints {
/// Reserved TODO: Check if we need 1PI/2PI/3PI/NaN minus in 4D and maybe replace math symbols from P6 to here.. /// Reserved TODO: Check if we need 1PI/2PI/3PI/NaN minus in 4D and maybe replace math symbols from P6 to here..
RESERVED, RESERVED,
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_NCR1632_0F.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_NCR1632_0F.getStart() + ordinal()};
} }
} }

View file

@ -23,7 +23,7 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.NCR1632-0M" Four Corner New Counting Rods terminator pie multiplier. * "FC.NCR1632-0M" Four Corner New Counting Rods terminator pie multiplier.
@ -31,7 +31,7 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 31, 2024 * @version 1.0 Dec 31, 2024
*/ */
public enum FCDotNCR1632Dash0M implements FourCornerX18CakePoint { public enum FCDotNCR1632Dash0M implements FourCornerX18CakePoints {
NXX_001, NXX_001,
NXX_002, NXX_002,
NXX_003, NXX_003,
@ -547,7 +547,7 @@ public enum FCDotNCR1632Dash0M implements FourCornerX18CakePoint {
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_NCR1632_0M.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_NCR1632_0M.getStart() + ordinal()};
} }
} }

View file

@ -23,7 +23,7 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.NCR1632-1T" Four Corner New Counting Rods selects the Terminator pie. * "FC.NCR1632-1T" Four Corner New Counting Rods selects the Terminator pie.
@ -31,7 +31,7 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotNCR1632Dash1T implements FourCornerX18CakePoint { public enum FCDotNCR1632Dash1T implements FourCornerX18CakePoints {
NXX_001, NXX_001,
NXX_002, NXX_002,
NXX_003, NXX_003,
@ -547,7 +547,7 @@ public enum FCDotNCR1632Dash1T implements FourCornerX18CakePoint {
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_NCR1632_1T.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_NCR1632_1T.getStart() + ordinal()};
} }
} }

View file

@ -23,7 +23,7 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.NCR1632-1V" Four Corner New Counting Rods One Value of a terminator slice. * "FC.NCR1632-1V" Four Corner New Counting Rods One Value of a terminator slice.
@ -31,7 +31,7 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotNCR1632Dash1V implements FourCornerX18CakePoint { public enum FCDotNCR1632Dash1V implements FourCornerX18CakePoints {
NXX_001, NXX_001,
NXX_002, NXX_002,
NXX_003, NXX_003,
@ -547,7 +547,7 @@ public enum FCDotNCR1632Dash1V implements FourCornerX18CakePoint {
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_NCR1632_1V.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_NCR1632_1V.getStart() + ordinal()};
} }
} }

View file

@ -23,7 +23,7 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.OCE0801-H3" Four Corner Octal Character Encoding in Hinari 3 bit. * "FC.OCE0801-H3" Four Corner Octal Character Encoding in Hinari 3 bit.
@ -32,7 +32,7 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotOCE0801DashH3 implements FourCornerX18CakePoint { public enum FCDotOCE0801DashH3 implements FourCornerX18CakePoints {
NXX_001, NXX_001,
NXX_002, NXX_002,
NXX_003, NXX_003,
@ -44,7 +44,7 @@ public enum FCDotOCE0801DashH3 implements FourCornerX18CakePoint {
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_OCE0801_H3.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_OCE0801_H3.getStart() + ordinal()};
} }
} }

View file

@ -23,7 +23,7 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.OCE0808-H6" Four Corner Octal Character Encoding in Hinari 6 bit. * "FC.OCE0808-H6" Four Corner Octal Character Encoding in Hinari 6 bit.
@ -32,7 +32,7 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotOCE0808DashH6 implements FourCornerX18CakePoint { public enum FCDotOCE0808DashH6 implements FourCornerX18CakePoints {
NXX_001, NXX_001,
NXX_002, NXX_002,
NXX_003, NXX_003,
@ -100,7 +100,7 @@ public enum FCDotOCE0808DashH6 implements FourCornerX18CakePoint {
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_OCE0808_H6.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_OCE0808_H6.getStart() + ordinal()};
} }
} }

View file

@ -23,7 +23,7 @@
package org.x4o.o2o.fc18.zero33; package org.x4o.o2o.fc18.zero33;
import org.x4o.o2o.fc18.FourCornerDotCake; import org.x4o.o2o.fc18.FourCornerDotCake;
import org.x4o.o2o.fc18.FourCornerX18CakePoint; import org.x4o.o2o.fc18.FourCornerX18CakePoints;
/** /**
* "FC.OCE0864-H9" Four Corner Octal Character Encoding in Hinari 9 bit. * "FC.OCE0864-H9" Four Corner Octal Character Encoding in Hinari 9 bit.
@ -32,7 +32,7 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoint;
* @author Willem Cazander * @author Willem Cazander
* @version 1.0 Dec 30, 2024 * @version 1.0 Dec 30, 2024
*/ */
public enum FCDotOCE0864DashH9 implements FourCornerX18CakePoint { public enum FCDotOCE0864DashH9 implements FourCornerX18CakePoints {
NXX_001, NXX_001,
NXX_002, NXX_002,
NXX_003, NXX_003,
@ -548,7 +548,7 @@ public enum FCDotOCE0864DashH9 implements FourCornerX18CakePoint {
; ;
@Override @Override
public int cakePoint() { public int[] cakePoints() {
return FourCornerDotCake.FC_OCE0864_H9.getStart() + ordinal(); return new int[] {FourCornerDotCake.FC_OCE0864_H9.getStart() + ordinal()};
} }
} }

View file

@ -36,9 +36,8 @@ public class FourCornerDotCakeTest {
@Test @Test
public void testValues() throws Exception { public void testValues() throws Exception {
for (FourCornerDotCake v : FourCornerDotCake.values()) { for (FourCornerDotCake v : FourCornerDotCake.values()) {
Assertions.assertNotNull(v); Assertions.assertNotNull(v);
Assertions.assertTrue(v.getStart() < v.getStop()); Assertions.assertTrue(v.getStart() <= v.getStop(), "Start is larger than stop in: " + v.name());
System.out.println("Cake start: 0x" + Integer.toHexString(v.getStart()) + " end: 0" + Integer.toHexString(v.getStop()) + " of " + v.name() + " size: " + v.getLength()); System.out.println("Cake start: 0x" + Integer.toHexString(v.getStart()) + " end: 0" + Integer.toHexString(v.getStop()) + " of " + v.name() + " size: " + v.getLength());
} }
} }

View file

@ -27,7 +27,9 @@ import java.util.List;
import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.x4o.o2o.fc18.pie9c.FCDotPIE9CDash26;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6; import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
import org.x4o.o2o.fc18.zero33.FCDotDEC1604DashE6;
/** /**
* Tests four corner displayed as unicode. * Tests four corner displayed as unicode.
@ -37,28 +39,55 @@ import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
*/ */
public class FourCornerUnicodeDisplayTest { public class FourCornerUnicodeDisplayTest {
@Test
public void testPINSimple() throws Exception {
List<FourCornerX06BaklavaPoints> cdc = new ArrayList<>();
cdc.add(FCDotCDC1604DashP6.NX24_X); // = X
cdc.add(FCDotCDC1604DashP6.__PIN);
cdc.add(FCDotCDC1604DashP6.NX03_C); // T003
cdc.add(FCDotCDC1604DashP6.NX01_A); // NXX_001
String out = FourCornerUnicodeDisplay.simple().renderFromP6(cdc);
Assertions.assertEquals("X¹/₃", out);
}
@Test @Test
public void testMixedCasing() throws Exception { public void testMixedCasing() throws Exception {
List<FCDotCDC1604DashP6> cdc = new ArrayList<>(); List<FourCornerX06BaklavaPoints> cdc = new ArrayList<>();
cdc.add(FCDotCDC1604DashP6.NX01_A);
cdc.add(FCDotCDC1604DashP6.__SPACE); //cdc.add(FCDotCDC1604DashP6.__PIE);
//cdc.add(FCDotCDC1604DashP6.NX26_Z); // select lower case
//cdc.add(FCDotCDC1604DashP6.NX01_A);
cdc.add(FCDotPIE9CDash26.LOW_A);
cdc.add(FCDotPIE9CDash26.LOW_B); // if used as this per letter full escaping here....
cdc.add(FCDotCDC1604DashP6.__SPACE); // out of range is end lower
cdc.add(FCDotCDC1604DashP6.NX02_B); cdc.add(FCDotCDC1604DashP6.NX02_B);
cdc.add(FCDotCDC1604DashP6.__GLUE);
//cdc.add(FCDotCDC1604DashP6.__ESC6);
cdc.add(FCDotDEC1604DashE6.__ESC_BELOW); // test escape code
cdc.add(FCDotCDC1604DashP6.NX03_C); cdc.add(FCDotCDC1604DashP6.NX03_C);
cdc.add(FCDotCDC1604DashP6.NX04_D);
cdc.add(FCDotCDC1604DashP6.NX04_D); // thus this upper case D
cdc.add(FCDotCDC1604DashP6._DOT); cdc.add(FCDotCDC1604DashP6._DOT);
cdc.add(FCDotCDC1604DashP6.__GLUE); cdc.add(FCDotCDC1604DashP6.__PIE);
cdc.add(FCDotCDC1604DashP6.NX26_Z); // select lower case
cdc.add(FCDotCDC1604DashP6.NX10_J); cdc.add(FCDotCDC1604DashP6.NX10_J);
cdc.add(FCDotCDC1604DashP6.NX11_K); cdc.add(FCDotCDC1604DashP6.NX11_K);
cdc.add(FCDotCDC1604DashP6.NX12_L);
cdc.add(FCDotCDC1604DashP6.NX13_M);
Assertions.assertEquals("A BCD.JK", FourCornerUnicodeDisplay.simple().renderFromP6(cdc)); //cdc.add(FCDotCDC1604DashP6.__ESC6);
Assertions.assertEquals("a bCd.Jk", FourCornerUnicodeDisplay.mixed().renderFromP6(cdc)); cdc.add(FCDotDEC1604DashE6.__ESC_STOP);
Assertions.assertEquals("a bᐧCd.Jk", FourCornerUnicodeDisplay.mixedᐧEskimo().renderFromP6(cdc)); cdc.add(FCDotCDC1604DashP6.NX15_O);
Assertions.assertEquals("ab B␃cD.jklmO", FourCornerUnicodeDisplay.simple().renderFromP6(cdc));
Assertions.assertEquals("ab B␃cD.jklmO", FourCornerUnicodeDisplay.mixed().renderFromP6(cdc));
} }
@Test @Test
public void testNumberTerminatorOutOfRange() throws Exception { public void testNumberTerminatorOutOfRange() throws Exception {
List<FCDotCDC1604DashP6> cdc = new ArrayList<>(); List<FourCornerX06BaklavaPoints> cdc = new ArrayList<>();
cdc.add(FCDotCDC1604DashP6.NX24_X); // = X cdc.add(FCDotCDC1604DashP6.NX24_X); // = X
cdc.add(FCDotCDC1604DashP6.__PIE); cdc.add(FCDotCDC1604DashP6.__PIE);
cdc.add(FCDotCDC1604DashP6._CARET); // ^ cdc.add(FCDotCDC1604DashP6._CARET); // ^
@ -73,16 +102,16 @@ public class FourCornerUnicodeDisplayTest {
@Test @Test
public void testNumberPieOutOfRange() throws Exception { public void testNumberPieOutOfRange() throws Exception {
List<FCDotCDC1604DashP6> cdc = new ArrayList<>(); List<FourCornerX06BaklavaPoints> cdc = new ArrayList<>();
cdc.add(FCDotCDC1604DashP6.__PIE); cdc.add(FCDotCDC1604DashP6.__PIE);
cdc.add(FCDotCDC1604DashP6.NX01_A); cdc.add(FCDotCDC1604DashP6.NX01_A);
cdc.add(FCDotCDC1604DashP6.NX02_B); // = B cdc.add(FCDotCDC1604DashP6.NX02_B); // B
cdc.add(FCDotCDC1604DashP6.__PIE); cdc.add(FCDotCDC1604DashP6.__PIE);
cdc.add(FCDotCDC1604DashP6.NX09_I); cdc.add(FCDotCDC1604DashP6.NX10_J);
cdc.add(FCDotCDC1604DashP6.NX03_C); // = 3 cdc.add(FCDotCDC1604DashP6.NX04_D); // 3
cdc.add(FCDotCDC1604DashP6.NX10_J); // = J cdc.add(FCDotCDC1604DashP6.NX11_K); // K
String out = FourCornerUnicodeDisplay.simple().renderFromP6(cdc); String out = FourCornerUnicodeDisplay.simple().renderFromP6(cdc);
Assertions.assertEquals("B3J", out); Assertions.assertEquals("B3K", out);
} }
} }

View file

@ -38,29 +38,51 @@ public class FourCornerUnicodeImportTest {
@Test @Test
public void testAsciiSimple() throws Exception { public void testAsciiSimple() throws Exception {
List<FCDotCDC1604DashP6> cdc = FourCornerUnicodeImport.lossy().convertToP6("foobar"); List<FourCornerX06BaklavaPoints> cdc = FourCornerUnicodeImport.lossy().convertToP6("foobar");
Assertions.assertNotNull(cdc); Assertions.assertNotNull(cdc);
Assertions.assertFalse(cdc.isEmpty()); Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals(6, cdc.size()); Assertions.assertEquals(8, cdc.size());
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdc.get(0)); Assertions.assertEquals(FCDotCDC1604DashP6.__PIE, cdc.get(0));
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(1)); Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdc.get(1));
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(2)); Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdc.get(2));
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(3)); Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(3));
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(4)); Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(4));
Assertions.assertEquals(FCDotCDC1604DashP6.NX18_R, cdc.get(5)); Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(5));
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(6));
Assertions.assertEquals(FCDotCDC1604DashP6.NX18_R, cdc.get(7));
String out = FourCornerUnicodeDisplay.simple().renderFromP6(cdc); String out = FourCornerUnicodeDisplay.simple().renderFromP6(cdc);
Assertions.assertEquals("FOOBAR", out); Assertions.assertEquals("foobar", out);
}
@Test
public void testAsciiUpper() throws Exception {
List<FourCornerX06BaklavaPoints> cdc = FourCornerUnicodeImport.lossy().convertToP6("fooBAR");
Assertions.assertNotNull(cdc);
Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals(10, cdc.size());
Assertions.assertEquals(FCDotCDC1604DashP6.__PIE, cdc.get(0));
Assertions.assertEquals(FCDotCDC1604DashP6.NX26_Z, cdc.get(1));
Assertions.assertEquals(FCDotCDC1604DashP6.NX06_F, cdc.get(2));
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(3));
Assertions.assertEquals(FCDotCDC1604DashP6.NX15_O, cdc.get(4));
Assertions.assertEquals(FCDotCDC1604DashP6.__ESC6, cdc.get(5));
Assertions.assertEquals(FCDotCDC1604DashP6.__ESC6, cdc.get(6));
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(7));
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(8));
Assertions.assertEquals(FCDotCDC1604DashP6.NX18_R, cdc.get(9));
String out = FourCornerUnicodeDisplay.simple().renderFromP6(cdc);
Assertions.assertEquals("fooBAR", out);
} }
@Test @Test
public void testCheckDiacritics() throws Exception { public void testCheckDiacritics() throws Exception {
String foobar = "ꞘȍőḆẬř"; String foobar = "ꞘȍőḆẬř";
List<FCDotCDC1604DashP6> cdc = FourCornerUnicodeImport.lossy().convertToP6(foobar); List<FourCornerX06BaklavaPoints> cdc = FourCornerUnicodeImport.lossy().convertToP6(foobar);
Assertions.assertNotNull(cdc); Assertions.assertNotNull(cdc);
Assertions.assertFalse(cdc.isEmpty()); Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals("FOOBAR", FourCornerUnicodeDisplay.simple().renderFromP6(cdc)); Assertions.assertEquals("FOOBAR", FourCornerUnicodeDisplay.simple().renderFromP6(cdc));
Assertions.assertEquals("foobar", FourCornerUnicodeDisplay.mixed().renderFromP6(cdc));
Assertions.assertThrows(IllegalArgumentException.class, () -> { Assertions.assertThrows(IllegalArgumentException.class, () -> {
FourCornerUnicodeImport.strict().convertToP6(foobar); FourCornerUnicodeImport.strict().convertToP6(foobar);
}); });
@ -68,26 +90,20 @@ public class FourCornerUnicodeImportTest {
@Test @Test
public void testNumber012() throws Exception { public void testNumber012() throws Exception {
List<FCDotCDC1604DashP6> cdc = FourCornerUnicodeImport.lossy().convertToP6("01201337"); List<FourCornerX06BaklavaPoints> cdc = FourCornerUnicodeImport.lossy().convertToP6("01201337");
Assertions.assertNotNull(cdc); Assertions.assertNotNull(cdc);
Assertions.assertFalse(cdc.isEmpty()); Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals(16, cdc.size()); Assertions.assertEquals(10, cdc.size());
Assertions.assertEquals(FCDotCDC1604DashP6.__PIE, cdc.get(0)); Assertions.assertEquals(FCDotCDC1604DashP6.__PIE, cdc.get(0));
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(1)); Assertions.assertEquals(FCDotCDC1604DashP6.NX10_J, cdc.get(1));
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(2)); // 0 Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(2)); // 0
Assertions.assertEquals(FCDotCDC1604DashP6.__PIE, cdc.get(3)); Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(3)); // 1
Assertions.assertEquals(FCDotCDC1604DashP6.NX09_I, cdc.get(4)); Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdc.get(4)); // 2
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(5)); // 1 Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(5)); // 0
Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(6)); // 2 Assertions.assertEquals(FCDotCDC1604DashP6.NX02_B, cdc.get(6)); // 1
Assertions.assertEquals(FCDotCDC1604DashP6.__PIE, cdc.get(7)); Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(7)); // 3
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(8)); Assertions.assertEquals(FCDotCDC1604DashP6.NX04_D, cdc.get(8)); // 3
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(9)); // 0 Assertions.assertEquals(FCDotCDC1604DashP6.NX08_H, cdc.get(9)); // 7
Assertions.assertEquals(FCDotCDC1604DashP6.__PIE, cdc.get(10));
Assertions.assertEquals(FCDotCDC1604DashP6.NX09_I, cdc.get(11));
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A, cdc.get(12)); // 1
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdc.get(13)); // 3
Assertions.assertEquals(FCDotCDC1604DashP6.NX03_C, cdc.get(14)); // 3
Assertions.assertEquals(FCDotCDC1604DashP6.NX07_G, cdc.get(15)); // 7
String out = FourCornerUnicodeDisplay.simple().renderFromP6(cdc); String out = FourCornerUnicodeDisplay.simple().renderFromP6(cdc);
Assertions.assertEquals("01201337", out); Assertions.assertEquals("01201337", out);
@ -95,7 +111,7 @@ public class FourCornerUnicodeImportTest {
@Test @Test
public void testLineEndings() throws Exception { public void testLineEndings() throws Exception {
List<FCDotCDC1604DashP6> cdc = FourCornerUnicodeImport.strict().convertToP6("A\nB\rC\r\nD\n"); List<FourCornerX06BaklavaPoints> cdc = FourCornerUnicodeImport.strict().convertToP6("A\nB\rC\r\nD\n");
Assertions.assertNotNull(cdc); Assertions.assertNotNull(cdc);
Assertions.assertFalse(cdc.isEmpty()); Assertions.assertFalse(cdc.isEmpty());
Assertions.assertEquals(8, cdc.size()); Assertions.assertEquals(8, cdc.size());

View file

@ -0,0 +1,328 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.x4o.o2o.fc18;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
import java.util.List;
import org.x4o.o2o.fc18.zero33.FCDotAPL1604DashS6;
import org.x4o.o2o.fc18.zero33.FCDotBYD1604DashC6;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
/**
* Writes fc example markdown document.
*
* @author Willem Cazander
* @version 1.0 Jan 05, 2025
*/
public class FourCornerWriteExampleMD {
static public void main(String[] args) {
FourCornerWriteExampleMD run = new FourCornerWriteExampleMD();
try {
run.writeExample();
} catch (IOException e) {
e.printStackTrace();
}
}
private void writeExample() throws IOException {
StringBuilder buf = new StringBuilder();
writeTitle1(buf, "Four Corner");
buf.append("\n");
buf.append("Overview of four corner chars...\n");
buf.append("\n");
writeTableBlocks(buf);
buf.append("<br><br>\n");
writeTitle2(buf, "Blocks");
writeTitle3(buf, "FC.CDC1604-P6");
writeTableStart17(buf);
writeCDC(buf, 0x00);
writeCDC(buf, 0x10);
writeCDC(buf, 0x20);
writeCDC(buf, 0x30);
writeTableEnd(buf);
buf.append("<br><br>\n");
writeTitle3(buf, "FC.APL1604-S6");
writeTableStart17(buf);
writeAPL(buf, 0x00);
writeAPL(buf, 0x10);
writeAPL(buf, 0x20);
writeAPL(buf, 0x30);
writeTableEnd(buf);
buf.append("<br><br>\n");
writeTitle3(buf, "FC.BYD1604-C6");
writeTableStart17(buf);
writeBYD(buf, 0x00);
writeBYD(buf, 0x10);
writeBYD(buf, 0x20);
writeBYD(buf, 0x30);
writeTableEnd(buf);
buf.append("<br><br>\n");
writeTitle3(buf, "FC.PIE9C-XX");
writeTableStart28(buf);
writePIE(buf, FourCornerDotCake.FC_PIE9C_01);
writePIE(buf, FourCornerDotCake.FC_PIE9C_02);
writePIE(buf, FourCornerDotCake.FC_PIE9C_03);
writePIE(buf, FourCornerDotCake.FC_PIE9C_04);
writePIE(buf, FourCornerDotCake.FC_PIE9C_05);
writePIE(buf, FourCornerDotCake.FC_PIE9C_06);
writePIE(buf, FourCornerDotCake.FC_PIE9C_07);
writePIE(buf, FourCornerDotCake.FC_PIE9C_08);
writePIE(buf, FourCornerDotCake.FC_PIE9C_09);
writePIE(buf, FourCornerDotCake.FC_PIE9C_10);
writePIE(buf, FourCornerDotCake.FC_PIE9C_11);
writePIE(buf, FourCornerDotCake.FC_PIE9C_12);
writePIE(buf, FourCornerDotCake.FC_PIE9C_13);
writePIE(buf, FourCornerDotCake.FC_PIE9C_14);
writePIE(buf, FourCornerDotCake.FC_PIE9C_15);
writePIE(buf, FourCornerDotCake.FC_PIE9C_16);
writePIE(buf, FourCornerDotCake.FC_PIE9C_17);
writePIE(buf, FourCornerDotCake.FC_PIE9C_18);
writePIE(buf, FourCornerDotCake.FC_PIE9C_19);
writePIE(buf, FourCornerDotCake.FC_PIE9C_20);
writePIE(buf, FourCornerDotCake.FC_PIE9C_21);
writePIE(buf, FourCornerDotCake.FC_PIE9C_22);
writePIE(buf, FourCornerDotCake.FC_PIE9C_23);
writePIE(buf, FourCornerDotCake.FC_PIE9C_24);
writePIE(buf, FourCornerDotCake.FC_PIE9C_25);
writePIE(buf, FourCornerDotCake.FC_PIE9C_26);
writePIE(buf, FourCornerDotCake.FC_PIE9C_27);
writeTableEnd(buf);
buf.append("<br><br>\n");
writeTitle3(buf, "FC.PIN9D-XX");
writeTableStart28(buf);
writePIN(buf);
writeTableEnd(buf);
buf.append("<br><br>\n");
File out = new File("../src/site/wigiti/README-fc18.md");
Files.writeString(out.toPath(), buf.toString(), StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
}
private void writeTableBlocks(StringBuilder buf) {
buf.append("<table border=\"1px\">\n");
buf.append("<tr>");
buf.append("<th>Block</th>");
buf.append("<th>Start</th>");
buf.append("<th>End</th>");
buf.append("<th>Size</th>");
buf.append("</tr>\n");
for (FourCornerDotCake v : FourCornerDotCake.values()) {
buf.append("<tr>");
buf.append("<td>" + v.qname() + "</td>");
buf.append(String.format("<td>%06X</td>", v.getStart()));
buf.append(String.format("<td>%06X</td>", v.getStop()));
buf.append("<td>" + v.getLength() + "</td>");
buf.append("</tr>\n");
}
writeTableEnd(buf);
}
private void writeCDC(StringBuilder buf, int off) {
String prefixHex = Integer.toHexString(off).toUpperCase();
buf.append("<tr>");
buf.append("<td>U+0000");
buf.append(prefixHex.charAt(0));
buf.append("x</td>");
for (int i=off; i<16+off;i++) {
FCDotCDC1604DashP6 cdc = FCDotCDC1604DashP6.indexOf(i);
int codePoint = cdc.codePoints()[0];
buf.append("<td>");
if (codePoint == '\u0000') {
buf.append("");
} else if (codePoint == '\u0001') {
buf.append("");
} else if (codePoint == '\u0002') {
buf.append("");
} else if (codePoint == '\u0003') {
buf.append("");
} else if (codePoint == ' ') {
buf.append("");
} else if (codePoint == '\n') {
buf.append("");
} else if (codePoint == '<') {
buf.append("&lt;");
} else if (codePoint == '>') {
buf.append("&gt;");
} else {
buf.appendCodePoint(codePoint);
}
buf.append("</td>");
}
buf.append("</tr>\n");
}
private void writeAPL(StringBuilder buf, int off) {
String prefixHex = Integer.toHexString(0x80 + off).toUpperCase();
buf.append("<tr>");
buf.append("<td>U+0000");
buf.append(prefixHex.charAt(0));
buf.append("x</td>");
for (int i=off; i<16+off;i++) {
FCDotAPL1604DashS6 apl = FCDotAPL1604DashS6.indexOf(i);
int codePoint = apl.codePoints()[0];
buf.append("<td>");
if (codePoint == '\u0000') {
buf.append("");
} else {
buf.appendCodePoint(codePoint);
}
buf.append("</td>");
}
buf.append("</tr>\n");
}
private void writeBYD(StringBuilder buf, int off) {
String prefixHex = Integer.toHexString(0xC0 + off).toUpperCase();
buf.append("<tr>");
buf.append("<td>U+0000");
buf.append(prefixHex.charAt(0));
buf.append("x</td>");
for (int i=off; i<16+off;i++) {
FCDotBYD1604DashC6 byd = FCDotBYD1604DashC6.indexOf(i);
int codePoint = byd.codePoints()[0];
buf.append("<td>");
if (codePoint == '\u0000') {
buf.append("");
} else {
buf.appendCodePoint(codePoint);
}
buf.append("</td>");
}
buf.append("</tr>\n");
}
private void writePIE(StringBuilder buf, FourCornerDotCake slice) {
buf.append("<tr>");
buf.append("<td>");
buf.append(slice.qname());
buf.append("</td>");
for (int i=0; i<27;i++) {
if (i >= slice.getLength()) {
buf.append("<td></td>");
continue;
}
int char18 = slice.getStart() + i;
String char18Str = FourCornerUnicodeDisplay.simple().renderFromInt18(List.of(char18));
buf.append("<td>");
for (int c : char18Str.codePoints().toArray()) {
if (c == '\u0000') {
buf.append("");
} else {
buf.appendCodePoint(c);
}
}
buf.append("</td>");
}
buf.append("</tr>\n");
}
private void writePIN(StringBuilder buf) {
for (int t=0; t<27;t++) {
buf.append("<tr>");
buf.append("<td>T");
buf.append(String.format("%03d", t + 1));
buf.append("</td>");
for (int i=0; i<27;i++) {
if (i > t) {
buf.append("<td></td>");
continue;
}
List<Integer> piNum = new ArrayList<>();
piNum.add(FCDotCDC1604DashP6.__PIN.ordinal());
piNum.add(FCDotCDC1604DashP6.NX01_A.ordinal() + t);
piNum.add(FCDotCDC1604DashP6.NX01_A.ordinal() + i);
String char18Str = FourCornerUnicodeDisplay.simple().renderFromInt18(piNum);
buf.append("<td>");
for (int c : char18Str.codePoints().toArray()) {
if (c == '\u0000') {
buf.append("");
} else {
buf.appendCodePoint(c);
}
}
buf.append("</td>");
}
buf.append("</tr>\n");
}
}
private void writeTableStart28(StringBuilder buf) {
buf.append("<table border=\"1px\">\n");
buf.append("<tr>");
buf.append("<th></th>");
for (int i=0; i<27;i++) {
buf.append("<th>");
buf.append(i + 1);
buf.append("</th>");
}
buf.append("</tr>\n");
}
private void writeTableStart17(StringBuilder buf) {
buf.append("<table border=\"1px\">\n");
buf.append("<tr>");
buf.append("<th></th>");
for (int i=0; i<16;i++) {
buf.append("<th>0x");
buf.append(Integer.toHexString(i).toUpperCase());
buf.append("</th>");
}
buf.append("</tr>\n");
}
private void writeTableEnd(StringBuilder buf) {
buf.append("</table>\n");
}
private void writeTitle1(StringBuilder buf, String title) {
buf.append("\n# ");
buf.append(title);
buf.append("\n\n");
}
private void writeTitle2(StringBuilder buf, String title) {
buf.append("\n## ");
buf.append(title);
buf.append("\n\n");
}
private void writeTitle3(StringBuilder buf, String title) {
buf.append("\n### ");
buf.append(title);
buf.append("\n\n");
}
}

View file

@ -43,11 +43,11 @@ public class FCDotAPL1604DashS6Test {
Map<Integer,FCDotAPL1604DashS6> global = new HashMap<>(); Map<Integer,FCDotAPL1604DashS6> global = new HashMap<>();
for (FCDotAPL1604DashS6 v : FCDotAPL1604DashS6.values()) { for (FCDotAPL1604DashS6 v : FCDotAPL1604DashS6.values()) {
Assertions.assertNotNull(v); Assertions.assertNotNull(v);
if (global.containsKey(v.codePoint())) { if (global.containsKey(v.codePoints()[0])) {
duplicate = true; duplicate = true;
break; break;
} }
global.put(v.codePoint(), v); global.put(v.codePoints()[0], v);
} }
Assertions.assertTrue(global.size() > 1); Assertions.assertTrue(global.size() > 1);
Assertions.assertFalse(duplicate, "Duplicate ascii core value detected"); Assertions.assertFalse(duplicate, "Duplicate ascii core value detected");

View file

@ -43,11 +43,11 @@ public class FCDotBYD1604DashC6Test {
Map<Integer,FCDotBYD1604DashC6> global = new HashMap<>(); Map<Integer,FCDotBYD1604DashC6> global = new HashMap<>();
for (FCDotBYD1604DashC6 v : FCDotBYD1604DashC6.values()) { for (FCDotBYD1604DashC6 v : FCDotBYD1604DashC6.values()) {
Assertions.assertNotNull(v); Assertions.assertNotNull(v);
if (global.containsKey(v.codePoint())) { if (global.containsKey(v.codePoints()[0])) {
duplicate = true; duplicate = true;
break; break;
} }
global.put(v.codePoint(), v); global.put(v.codePoints()[0], v);
} }
Assertions.assertTrue(global.size() > 1); Assertions.assertTrue(global.size() > 1);
Assertions.assertFalse(duplicate, "Duplicate ascii core value detected"); Assertions.assertFalse(duplicate, "Duplicate ascii core value detected");

View file

@ -43,11 +43,11 @@ public class FCDotCDC1604DashP6Test {
Map<Integer,FCDotCDC1604DashP6> global = new HashMap<>(); Map<Integer,FCDotCDC1604DashP6> global = new HashMap<>();
for (FCDotCDC1604DashP6 v : FCDotCDC1604DashP6.values()) { for (FCDotCDC1604DashP6 v : FCDotCDC1604DashP6.values()) {
Assertions.assertNotNull(v); Assertions.assertNotNull(v);
if (global.containsKey(v.codePoint())) { if (global.containsKey(v.codePoints()[0])) {
duplicate = true; duplicate = true;
break; break;
} }
global.put(v.codePoint(), v); global.put(v.codePoints()[0], v);
} }
Assertions.assertTrue(global.size() > 1); Assertions.assertTrue(global.size() > 1);
Assertions.assertFalse(duplicate, "Duplicate ascii core value detected"); Assertions.assertFalse(duplicate, "Duplicate ascii core value detected");