Prepare to move fc18 to x4o-fc18

This commit is contained in:
Willem Cazander 2025-01-15 13:41:25 +01:00
parent 1e2161586b
commit 59ce9014e5
4 changed files with 14 additions and 8 deletions

View file

@ -29,6 +29,7 @@ package love.distributedrebirth.nx01.warp.manifestor.manifest;
import org.x4o.o2o.fc18.FourCornerUnicodeImport; import org.x4o.o2o.fc18.FourCornerUnicodeImport;
import org.x4o.o2o.octal.PrimordialOctalOrangeJuiceCord; import org.x4o.o2o.octal.PrimordialOctalOrangeJuiceCord;
import org.x4o.o2o.octal.PrimordialOctalOrangeString;
/// Warp manifest 18 bit model importer from 8 bit model /// Warp manifest 18 bit model importer from 8 bit model
/// ///
@ -65,6 +66,6 @@ public final class WarpManifestX18Import {
} }
static private PrimordialOctalOrangeJuiceCord toX8(String value) { static private PrimordialOctalOrangeJuiceCord toX8(String value) {
return FourCornerUnicodeImport.lossy().convertToJuice(value); return PrimordialOctalOrangeString.valueOfSmurfs(FourCornerUnicodeImport.lossy().convertToInt18(value));
} }
} }

View file

@ -124,7 +124,12 @@ public enum FourCornerDotCake {
// All child letter symbols are above, an adult computer language does use ZERO // All child letter symbols are above, an adult computer language does use ZERO
// cake point above this LINE of IBM1616 or lower cake points. // cake point above this LINE of IBM1616 or lower cake points.
// TODO: move ESC_NETHER to struct(todo) block, as escape codes should not be used real code. // Render data-grams and words;
// - A 6 or 8 bit computer uses these escaped dark symbols
// - A 32 or 64 bit, like your current computer uses 21 bit unicode
// - A 18 or 144 bit computer uses 72 bit unicode4D vector drawing
// TODO: move ESC_NETHER to struct(todo) block, as escape codes should not be used in real 18 bit (text) code.
// =========== Allow end-user select rendering of data gram packet per context // =========== Allow end-user select rendering of data gram packet per context

View file

@ -146,6 +146,8 @@ public class FourCornerUnicodeDisplay {
} }
private boolean printedEscape(FourCornerDotCake slice, int offset) { private boolean printedEscape(FourCornerDotCake slice, int offset) {
// TODO: get from PIE and update as we changed the escape code layout
if (FourCornerDotCake.FC_CDC1604_P6.equals(slice)) { if (FourCornerDotCake.FC_CDC1604_P6.equals(slice)) {
if (offset < 4) { if (offset < 4) {
output.appendCodePoint(FCDotCDC1604DashP6.escapeSignUnicode(offset)); output.appendCodePoint(FCDotCDC1604DashP6.escapeSignUnicode(offset));
@ -161,6 +163,10 @@ public class FourCornerUnicodeDisplay {
return false; return false;
} }
// Add to pie; +(other escape signs)
// U+FFFC OBJECT REPLACEMENT CHARACTER,
// U+FFFD <EFBFBD> REPLACEMENT CHARACTER
@Override @Override
public void strobeWords(FourCornerDotCake slice, List<Integer> offsets) { public void strobeWords(FourCornerDotCake slice, List<Integer> offsets) {
FourCornerX00PetitVidePoints[] videPoints = slice.getVidePoints(); FourCornerX00PetitVidePoints[] videPoints = slice.getVidePoints();

View file

@ -28,8 +28,6 @@ import java.util.PrimitiveIterator;
import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6; import org.x4o.o2o.fc18.zero33.FCDotCDC1604DashP6;
import org.x4o.o2o.fc18.zero33.FCDotDEC0127DashPX0; import org.x4o.o2o.fc18.zero33.FCDotDEC0127DashPX0;
import org.x4o.o2o.octal.PrimordialOctalOrangeJuiceCord;
import org.x4o.o2o.octal.PrimordialOctalOrangeString;
/// Imports unicode as four corner BASIC text from the "FC.CDC1604-P6" code page. /// Imports unicode as four corner BASIC text from the "FC.CDC1604-P6" code page.
/// ///
@ -56,10 +54,6 @@ public class FourCornerUnicodeImport {
return new FourCornerUnicodeImport(true, false, List.of(FCDotCDC1604DashP6.QUESTION)); return new FourCornerUnicodeImport(true, false, List.of(FCDotCDC1604DashP6.QUESTION));
} }
public PrimordialOctalOrangeJuiceCord convertToJuice(String text) {
return PrimordialOctalOrangeString.valueOfSmurfs(convertToInt18(text));
}
public List<Integer> convertToInt18(String text) { public List<Integer> convertToInt18(String text) {
List<Integer> cakePoints = new ArrayList<>(text.length()); List<Integer> cakePoints = new ArrayList<>(text.length());
for (FourCornerX18CakePoints oven : convertToX18(text)) { for (FourCornerX18CakePoints oven : convertToX18(text)) {