FC18: Made the space num come in octal amount
This commit is contained in:
parent
1217d835a3
commit
44c66c5154
16 changed files with 104 additions and 146 deletions
|
|
@ -36,7 +36,6 @@ import org.x4o.fc18.cake2.FourCornerDotCakeTower;
|
|||
import org.x4o.fc18.cake2.FourCornerX00PetitVide;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointDotName;
|
||||
import org.x4o.fc18.cake2.FourCornerX21CodePointSequence;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotCMD5401Dash2D;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotINC0801DashP8;
|
||||
import org.x4o.fc18.cake2.zero33.vt06.VTDash06DotZeroACursor;
|
||||
import org.x4o.fc18.cake2.zero33.vt06.VTDash06DotZeroCClear;
|
||||
|
|
@ -221,11 +220,11 @@ public class FCDocWriter {
|
|||
wordNode.addNode(createNodeCakeWordEscape(vide, vide.name()));
|
||||
}
|
||||
}
|
||||
if ("ESC68_CMD5401_2D".equals(wordNode.getName())) {
|
||||
for (FCDotCMD5401Dash2D vide : FCDotCMD5401Dash2D.values()) {
|
||||
wordNode.addNode(createNodeCakeWordEscape(vide, vide.name()));
|
||||
}
|
||||
}
|
||||
// if ("ESC68_CMD5401_2D".equals(wordNode.getName())) {
|
||||
// for (FCDotCMD5401Dash2D vide : FCDotCMD5401Dash2D.values()) {
|
||||
// wordNode.addNode(createNodeCakeWordEscape(vide, vide.name()));
|
||||
// }
|
||||
// }
|
||||
if ("ESC_VT06".equals(wordNode.getName())) {
|
||||
for (VTDash06DotZeroACursor vide : VTDash06DotZeroACursor.values()) {
|
||||
wordNode.addNode(createNodeCakeWordEscape(vide, vide.name()));
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@ import org.x4o.fc18.FourCornerUnicodeDisplay;
|
|||
import org.x4o.fc18.FourCornerUnicodeImport;
|
||||
import org.x4o.fc18.FourCornerRecipe;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotCMD5401Dash2D;
|
||||
import org.x4o.fc18.zion7.octal8.PrimordialOctalOrangeString;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -148,11 +148,6 @@ public class FourCornerUnicodeDisplay {
|
|||
if (FourCornerDotCake.FC_DEC2701_PX0.equals(slice)) {
|
||||
output.appendCodePoint(FCDotPIE9DDash09.IMG_ESC_DEC.codePointDotIndex());
|
||||
}
|
||||
// TODO: rm after file loadings
|
||||
if (FourCornerDotCake.FC_F4TTY0001_NL.equals(slice)) {
|
||||
output.appendCodePoint('\n');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -256,6 +251,13 @@ public class FourCornerUnicodeDisplay {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void strobeStructNunLine(PrimordialOctal count) {
|
||||
for (int i = count.ordinal(); i >= 0; i--) {
|
||||
output.appendCodePoint('\n');
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void strobeNumberBASE2Lego(FCFlameFremanLegoBase2 type, BigInteger value) {
|
||||
List<Integer> numberCandy = new ArrayList<>();
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@ import java.util.function.IntConsumer;
|
|||
|
||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerX00PetitVide;
|
||||
import org.x4o.fc18.cake2.flag4.FCDotF4TTY0001DashNL;
|
||||
import org.x4o.fc18.cake2.flag4.FCDotF4TTY0008DashNL;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotCMD5401Dash2D;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DiceSaw;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotDEC2701DashPX0;
|
||||
|
||||
/// Imports unicode as four corner BASIC text from the "FC.CDC1604-P6" code page.
|
||||
|
|
@ -232,9 +232,11 @@ public class FourCornerUnicodeImport {
|
|||
private void sendTypeWriterNewLine(ImportState ctx) {
|
||||
ctx.reset();
|
||||
if (ctx.sixBit) {
|
||||
ctx.outAddAll(FCDotCMD5401Dash2D.CMD_F4TTY0001_NL.baklavaPointSequence());
|
||||
ctx.outAddAll(FCDotDEC2701DashPX0.ESC6_F4TTY0008_NL.baklavaPointSequence());
|
||||
ctx.outAdd(FCDotCDC1604DiceSaw.FACE_1NX.encodeOctal(0).baklavaPointDotIndex()); // zero = one nether line
|
||||
ctx.outAdd(FCDotCDC1604DashP6.NS04_RAKA1_INTERROBANG.baklavaPointDotIndex());
|
||||
} else {
|
||||
ctx.outAddAll(FCDotF4TTY0001DashNL.NETHER_LINE.cakePointSequence());
|
||||
ctx.outAddAll(FCDotF4TTY0008DashNL.NETHER_LINE_1.cakePointSequence());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ import org.x4o.fc18.cake2.clk1k.FCDotCLK1KDashW;
|
|||
import org.x4o.fc18.cake2.clk1k.FCDotCLK1KDashX;
|
||||
import org.x4o.fc18.cake2.clk1k.FCDotCLK1KDashY;
|
||||
import org.x4o.fc18.cake2.clk1k.FCDotCLK1KDashZ;
|
||||
import org.x4o.fc18.cake2.flag4.FCDotF4TTY0001DashNL;
|
||||
import org.x4o.fc18.cake2.flag4.FCDotF4TTY0008DashNL;
|
||||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash01;
|
||||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash02;
|
||||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash03;
|
||||
|
|
@ -319,11 +319,11 @@ public enum FourCornerDotCake {
|
|||
|
||||
// TODO: convert to single 4096 block for F4TTY0001;
|
||||
|
||||
/// Tele teXt Terminator zero one Nether Line
|
||||
FC_F4TTY0001_NL(0x02A000, 1, FCDotF4TTY0001DashNL.values(), "Flag4 TTY00 zero one Nether Line"),
|
||||
/// Tele teXt Terminator octal Nether Line
|
||||
FC_F4TTY0008_NL(0x02A000, 8, FCDotF4TTY0008DashNL.values(), "Flag4 TTY00 octal Nether Line"),
|
||||
|
||||
/// Reserved Flag4 Structures
|
||||
__RESERVED_F4(0x02A001, 0x02C000 - 0x02A001, "Reserved for F4 structures"),
|
||||
__RESERVED_F4(0x02A008, 0x02C000 - 0x02A008, "Reserved for F4 structures"),
|
||||
__F4_FREE(0x02C000, 0x02CC00 - 0x02C000),
|
||||
__RESERVED_XDBX(0x02CC00, 512, "free"),
|
||||
|
||||
|
|
|
|||
|
|
@ -31,13 +31,20 @@ import org.x4o.fc18.cake2.FourCornerDotColleFlag4;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Jan 22, 2025
|
||||
*/
|
||||
public enum FCDotF4TTY0001DashNL implements FourCornerDotColleFlag4 {
|
||||
public enum FCDotF4TTY0008DashNL implements FourCornerDotColleFlag4 {
|
||||
|
||||
NETHER_LINE,
|
||||
NETHER_LINE_1,
|
||||
NETHER_LINE_2,
|
||||
NETHER_LINE_3,
|
||||
NETHER_LINE_4,
|
||||
NETHER_LINE_5,
|
||||
NETHER_LINE_6,
|
||||
NETHER_LINE_7,
|
||||
NETHER_LINE_8,
|
||||
;
|
||||
|
||||
@Override
|
||||
public int cakePointDotIndex() {
|
||||
return FourCornerDotCake.FC_F4TTY0001_NL.getStart() + ordinal();
|
||||
return FourCornerDotCake.FC_F4TTY0008_NL.getStart() + ordinal();
|
||||
}
|
||||
}
|
||||
|
|
@ -58,6 +58,10 @@ public enum FCDotCDC1604DiceSaw {
|
|||
return ordinal() >= FACE_4NY.ordinal();
|
||||
}
|
||||
|
||||
public FCDotCDC1604DashP6 encodeOctalHigh(int value) {
|
||||
return encodeOctal(value >> 9);
|
||||
}
|
||||
|
||||
public FCDotCDC1604DashP6 encodeOctal(int value) {
|
||||
int octalIdx = (value >> shiftValue) & 0b111;
|
||||
if (octalIdx < 0) {
|
||||
|
|
@ -73,6 +77,10 @@ public enum FCDotCDC1604DiceSaw {
|
|||
}
|
||||
}
|
||||
|
||||
public int decodeOctalHigh(int value, int cakePoint) {
|
||||
return decodeOctal(value << 9, cakePoint);
|
||||
}
|
||||
|
||||
public int decodeOctal(int value, int cakePoint) {
|
||||
if (offset.isNothingX()) {
|
||||
return value + ((cakePoint - offset.ordinal()) << shiftValue);
|
||||
|
|
|
|||
|
|
@ -1,87 +0,0 @@
|
|||
/*
|
||||
* 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.fc18.cake2.zero33.dec1;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointDotName;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
|
||||
/**
|
||||
* "FC.CMD5401-2D" Four Corner dot Command for 54 embedded control codes.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Jan 21, 2025
|
||||
*/
|
||||
public enum FCDotCMD5401Dash2D implements FourCornerX06BaklavaPointSequence, FourCornerX18CakePointSequence, FourCornerX18CakePointDotName {
|
||||
|
||||
// Write out an basic spanish peace sign, a virtual none-excisting symbol.
|
||||
//CMD_F4TXT0001_SP(FCDotCDC1604DashP6.NX01_A),
|
||||
|
||||
/// Write out an nether line which goes to the line below, also called a line feed with automatic carriage return.
|
||||
CMD_F4TTY0001_NL(FCDotCDC1604DashP6.NX01_A),
|
||||
;
|
||||
private static final FCDotCMD5401Dash2D[] VALUES = values();
|
||||
private final FCDotCDC1604DashP6 selector;
|
||||
|
||||
private FCDotCMD5401Dash2D(FCDotCDC1604DashP6 selector) {
|
||||
this.selector = Objects.requireNonNull(selector);
|
||||
if (selector.ordinal() <= FCDotCDC1604DashP6.NS09_SALT3_COMPARE_RIGHT.ordinal()) {
|
||||
throw new IllegalArgumentException("Not used here to keep mind space free");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> baklavaPointSequence() {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
result.addAll(FCDotDEC2701DashPX0.ESC6_CMD5401_2D.baklavaPointSequence());
|
||||
result.add(selector.baklavaPointDotIndex());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> cakePointSequence() {
|
||||
return baklavaPointSequence();
|
||||
}
|
||||
|
||||
static public FCDotCMD5401Dash2D valueOfCDC(int cdcPoint) {
|
||||
for (FCDotCMD5401Dash2D value : values()) {
|
||||
if (value.selector.baklavaPointDotIndex() == cdcPoint) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static public int valuesLength() {
|
||||
return VALUES.length;
|
||||
}
|
||||
|
||||
static public FCDotCMD5401Dash2D valueOf(int idx) {
|
||||
return VALUES[idx];
|
||||
}
|
||||
}
|
||||
|
|
@ -129,8 +129,8 @@ public enum FCDotDEC2701DashPX0 implements FourCornerX06BaklavaPointSequence, Fo
|
|||
// =========== Internal control sequences
|
||||
|
||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X1 = 19
|
||||
/// Command for type writer signals shortcuts.
|
||||
ESC6_CMD5401_2D,
|
||||
/// Flags four type writer octal nether lines
|
||||
ESC6_F4TTY0008_NL,
|
||||
|
||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X2 = 20
|
||||
__ESC_RESERVED_C2,
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import org.x4o.fc18.zion7.flame4.FCFlameFremanSignedBase2;
|
|||
import org.x4o.fc18.zion7.flame4.FCFlameNumberTaste;
|
||||
import org.x4o.fc18.zion7.flame4.FCFlameSalahSequence;
|
||||
import org.x4o.fc18.zion7.flame4.FCFlameWordDish;
|
||||
import org.x4o.fc18.zion7.octal8.PrimordialOctal;
|
||||
|
||||
/// Handles the basic four corner cake strobes.
|
||||
///
|
||||
|
|
@ -47,10 +48,11 @@ public interface FourCornerZion7Bereshit extends FourCornerZion7BaseVoid {
|
|||
|
||||
/// An structural space pastor, as basic word separator feature.
|
||||
/// 100% is normal space, 400% is tab space, 0% is empty space, and odd number is no break space.
|
||||
/// @param percentage Unsigned integer of 12 bit. (0-4096)
|
||||
void strobeStructSpacePastor(int percentage);
|
||||
|
||||
// An structural nun line, as basic document grouping feature.
|
||||
//void strobeStructNunLine();
|
||||
/// An structural nun lines, as basic document grouping feature.
|
||||
void strobeStructNunLine(PrimordialOctal count);
|
||||
|
||||
/// An base2 computer lego number.
|
||||
void strobeNumberBASE2Lego(FCFlameFremanLegoBase2 type, BigInteger value);
|
||||
|
|
@ -81,6 +83,10 @@ public interface FourCornerZion7Bereshit extends FourCornerZion7BaseVoid {
|
|||
default void strobeStructSpacePastor(int percentage) {
|
||||
}
|
||||
|
||||
@Override
|
||||
default void strobeStructNunLine(PrimordialOctal count) {
|
||||
}
|
||||
|
||||
@Override
|
||||
default void strobeNumberBASE2Lego(FCFlameFremanLegoBase2 type, BigInteger value) {
|
||||
}
|
||||
|
|
|
|||
|
|
@ -335,6 +335,8 @@ public class FourCornerZionStenoGrapher {
|
|||
requireBigMax(requireBigPositive(BigInteger.valueOf(percentage)), BigInteger.valueOf(4096));
|
||||
if (outTongue.isSixBit()) {
|
||||
outAddAll(FCDotDEC2701DashPX0.ESC6_VARSP_4K.baklavaPointSequence());
|
||||
// TODO: add part1 check and strip leading part1's
|
||||
outAdd(FCDotCDC1604DiceSaw.FACE_4NY.encodeOctalHigh(percentage).baklavaPointDotIndex());
|
||||
outAdd(FCDotCDC1604DiceSaw.FACE_3NX.encodeOctal(percentage).baklavaPointDotIndex());
|
||||
outAdd(FCDotCDC1604DiceSaw.FACE_2NX.encodeOctal(percentage).baklavaPointDotIndex());
|
||||
outAdd(FCDotCDC1604DiceSaw.FACE_1NX.encodeOctal(percentage).baklavaPointDotIndex());
|
||||
|
|
@ -345,6 +347,18 @@ public class FourCornerZionStenoGrapher {
|
|||
outFlush();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void strobeStructNunLine(PrimordialOctal count) {
|
||||
if (outTongue.isSixBit()) {
|
||||
outAddAll(FCDotDEC2701DashPX0.ESC6_F4TTY0008_NL.baklavaPointSequence());
|
||||
outAdd(FCDotCDC1604DiceSaw.FACE_1NX.encodeOctal(count.ordinal()).baklavaPointDotIndex());
|
||||
outAdd(FCDotCDC1604DashP6.NS04_RAKA1_INTERROBANG.baklavaPointDotIndex());
|
||||
} else {
|
||||
outAdd(FourCornerDotCake.FC_F4TTY0008_NL.getStart() + count.ordinal());
|
||||
}
|
||||
outFlush();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void strobeNumberBASE2Lego(FCFlameFremanLegoBase2 type, BigInteger value) {
|
||||
Objects.requireNonNull(type);
|
||||
|
|
|
|||
|
|
@ -32,10 +32,8 @@ import java.util.Optional;
|
|||
|
||||
import org.x4o.fc18.cake2.FourCornerDotCake;
|
||||
import org.x4o.fc18.cake2.FourCornerDotCakeTower;
|
||||
import org.x4o.fc18.cake2.flag4.FCDotF4TTY0001DashNL;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DiceSaw;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotCMD5401Dash2D;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotDEC2701DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotINC0801DashP8;
|
||||
import org.x4o.fc18.zion7.flame4.FCFlameFremanChocoBase8;
|
||||
|
|
@ -96,6 +94,7 @@ public class FourCornerZionStenoLexer implements FourCornerZionStenoPetroglyphs
|
|||
CAKE_EATERS.add(new StenoScannerWordCakeSlice(FCFlameWordDish.KANJI_MEAT));
|
||||
CAKE_EATERS.add(new StenoScannerWordCakeSlice(FCFlameWordDish.CLOCK_SAUCE));
|
||||
CAKE_EATERS.add(new StenoScannerWordSpace());
|
||||
CAKE_EATERS.add(new StenoScannerNetherLine());
|
||||
CAKE_EATERS.add(new StenoScannerSandWorm());
|
||||
// fixme: convert to 4 freman loops
|
||||
Iterator<FCFlameFremanLegoBase2> fremanBase2LegoItr = Arrays.asList(FCFlameFremanLegoBase2.values()).iterator();
|
||||
|
|
@ -411,6 +410,20 @@ public class FourCornerZionStenoLexer implements FourCornerZionStenoPetroglyphs
|
|||
}
|
||||
}
|
||||
|
||||
static final class StenoScannerNetherLine extends StenoScanner {
|
||||
|
||||
public StenoScannerNetherLine() {
|
||||
super(FourCornerDotCake.FC_F4TTY0008_NL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(FourCornerZionStenoLexer lexer, int idxFirst, int idxLast) {
|
||||
for (int i = idxFirst; i <= idxLast; i++) {
|
||||
lexer.handler.strobeStructNunLine(PrimordialOctalSound.valueOf(lexer.input.get(i) - blockStart));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static final class StenoScannerNumberBase2Lego extends StenoScannerNumberBank {
|
||||
|
||||
private final FCFlameFremanLegoBase2 numberFreman;
|
||||
|
|
@ -777,8 +790,8 @@ public class FourCornerZionStenoLexer implements FourCornerZionStenoPetroglyphs
|
|||
if (FCDotDEC2701DashPX0.ESC6_VARSP_4K.equals(cdcDECMode)) {
|
||||
return handleSP4K(lexer);
|
||||
}
|
||||
if (FCDotDEC2701DashPX0.ESC6_CMD5401_2D.equals(cdcDECMode)) {
|
||||
return handleCMD(lexer);
|
||||
if (FCDotDEC2701DashPX0.ESC6_F4TTY0008_NL.equals(cdcDECMode)) {
|
||||
return handleTTY(lexer);
|
||||
}
|
||||
if (FCDotDEC2701DashPX0.ESC6_INC0801_P8.equals(cdcDECMode)) {
|
||||
return handleINC(lexer);
|
||||
|
|
@ -815,32 +828,31 @@ public class FourCornerZionStenoLexer implements FourCornerZionStenoPetroglyphs
|
|||
return true;
|
||||
}
|
||||
|
||||
private boolean handleCMD(FourCornerZionStenoLexer lexer) {
|
||||
private boolean handleTTY(FourCornerZionStenoLexer lexer) {
|
||||
int cdcPoint = lexer.input.get(lexer.cdcDECScanIndex);
|
||||
FCDotCMD5401Dash2D cmdMode = FCDotCMD5401Dash2D.valueOfCDC(cdcPoint);
|
||||
if (cmdMode == null) {
|
||||
if (FCDotCDC1604DashP6.NS04_RAKA1_INTERROBANG.baklavaPointDotIndex() == cdcPoint) {
|
||||
lexer.decModeReset();
|
||||
lexer.smokeSignals.burnControlCommandUnsupported(lexer.currLine, lexer.currCol, cdcPoint);
|
||||
return false;
|
||||
}
|
||||
// if (FCDotCMD5401Dash2D.CMD_F4TXT0001_SP.equals(cmdMode)) {
|
||||
// lexer.decModeReset(); // TODO: delete CLK, this moves to own method.
|
||||
// lexer.handler.strobeTheWord(FCFlameWordDish.CLOCK_SAUCE, FCDotF4TXT0001DashSP.SPANISH_PEACE.cakePointDotIndex()); // white space
|
||||
// return true;
|
||||
// }
|
||||
if (FCDotCMD5401Dash2D.CMD_F4TTY0001_NL.equals(cmdMode)) {
|
||||
lexer.decModeReset();
|
||||
lexer.currLine++;
|
||||
lexer.currCol = 0;
|
||||
lexer.fireSignals.fireStateLine(lexer.currLine);
|
||||
// TODO: move to own method
|
||||
lexer.handler.strobeTheWord(FCFlameWordDish.CLOCK_SAUCE, FCDotF4TTY0001DashNL.NETHER_LINE.cakePointDotIndex()); // new line
|
||||
return true;
|
||||
}
|
||||
Optional<FCDotCDC1604DiceSaw> diceOpt = FCDotCDC1604DiceSaw.valueOfCakePoint(cdcPoint);
|
||||
if (diceOpt.isEmpty()) {
|
||||
lexer.decModeReset();
|
||||
lexer.smokeSignals.burnControlCommandUnsupported(lexer.currLine, lexer.currCol, cdcPoint);
|
||||
return false; // not handled thus print
|
||||
}
|
||||
FCDotCDC1604DiceSaw dice = diceOpt.get();
|
||||
if (!FCDotCDC1604DiceSaw.FACE_1NX.equals(dice)) {
|
||||
lexer.decModeReset();
|
||||
lexer.smokeSignals.burnControlCommandUnsupported(lexer.currLine, lexer.currCol, cdcPoint);
|
||||
return false;
|
||||
}
|
||||
int value = dice.decodeOctal(0, cdcPoint);
|
||||
lexer.currLine = lexer.currLine + value;
|
||||
lexer.currCol = 0;
|
||||
lexer.fireSignals.fireStateLine(lexer.currLine);
|
||||
lexer.handler.strobeStructNunLine(PrimordialOctalSound.valueOf(value));
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean handleSP4K(FourCornerZionStenoLexer lexer) {
|
||||
int cdcPoint = lexer.input.get(lexer.cdcDECScanIndex);
|
||||
|
|
|
|||
|
|
@ -28,11 +28,9 @@ import java.util.List;
|
|||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.x4o.fc18.cake2.FourCornerX06BaklavaPointSequence;
|
||||
import org.x4o.fc18.cake2.FourCornerX18CakePointSequence;
|
||||
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash26;
|
||||
import org.x4o.fc18.cake2.pie9d.FCDotPIE9DDash10;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotCMD5401Dash2D;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotDEC2701DashPX0;
|
||||
import org.x4o.fc18.cake2.zero33.dec1.FCDotINC0801DashP8;
|
||||
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ public class FourCornerUnicodeImportTest {
|
|||
Assertions.assertNotNull(cdc);
|
||||
Assertions.assertTrue(cdi.hasNext());
|
||||
Assertions.assertFalse(cdc.isEmpty());
|
||||
Assertions.assertEquals(38, cdc.size());
|
||||
Assertions.assertEquals(46, cdc.size());
|
||||
Assertions.assertEquals(FCDotCDC1604DashP6.NX01_A.ordinal(), cdi.next());
|
||||
/*
|
||||
Assertions.assertEquals(FCDotCMD5401Dash2D.CMD_F4TTY0001_NL, cdi.next());
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import java.util.List;
|
|||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.x4o.fc18.FourCornerUnicodeDisplay;
|
||||
import org.x4o.fc18.cake2.flag4.FCDotF4TTY0001DashNL;
|
||||
import org.x4o.fc18.cake2.flag4.FCDotF4TTY0008DashNL;
|
||||
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
|
||||
import org.x4o.fc18.zion7.flame4.FCFlameNumberTaste;
|
||||
import org.x4o.fc18.zion7.flame4.FCFlameWordDish;
|
||||
|
|
@ -107,7 +107,7 @@ public class StenoGrapherTest {
|
|||
for (int x = 1; x <= 1025 /*_999999*/; x++) {
|
||||
BigInteger v = BigInteger.valueOf(x);
|
||||
writer.strobeNumberChocoPigRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, BigInteger.ONE, v);
|
||||
writer.strobeTheWord(FCFlameWordDish.CLOCK_SAUCE, FCDotF4TTY0001DashNL.NETHER_LINE.cakePointDotIndex());
|
||||
writer.strobeTheWord(FCFlameWordDish.CLOCK_SAUCE, FCDotF4TTY0008DashNL.NETHER_LINE_1.cakePointDotIndex());
|
||||
}
|
||||
writer.strobeDocumentOmega();
|
||||
PrimordialOctalOrangeString str = PrimordialOctalOrangeString.ioSmurfReadListX18(outX18);
|
||||
|
|
|
|||
|
|
@ -20,12 +20,10 @@
|
|||
* 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.fc18.octal8;
|
||||
package org.x4o.fc18.zion7.octal8;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.x4o.fc18.zion7.octal8.PrimordialOctalOrangeSexWord;
|
||||
import org.x4o.fc18.zion7.octal8.PrimordialOctalSound;
|
||||
|
||||
/// Tests for smurf and hinari octal big indian sex words.
|
||||
///
|
||||
Loading…
Add table
Add a link
Reference in a new issue