Fixed offset of DEC pages and some other texts
This commit is contained in:
parent
1a314900ca
commit
c5d497d2d1
|
@ -33,6 +33,10 @@ import org.x4o.o2o.fc18.FourCornerX18CakePoints;
|
||||||
/**
|
/**
|
||||||
* "FC.DEC0127-PX0" Four Corner dot Direct or Escaped Control in grid of 1 by 27 of dashed CDC invisible page X Zero codes.
|
* "FC.DEC0127-PX0" Four Corner dot Direct or Escaped Control in grid of 1 by 27 of dashed CDC invisible page X Zero codes.
|
||||||
*
|
*
|
||||||
|
* A 6 bit computer always send 3 escapes to flag one of these escape control modes.
|
||||||
|
*
|
||||||
|
* A 8 or 18 bit computer used these escape cake points directly.
|
||||||
|
*
|
||||||
* NOTE: Only escapes starting with _ESC6_X3 are allowed to embed in a escape sequence.
|
* NOTE: Only escapes starting with _ESC6_X3 are allowed to embed in a escape sequence.
|
||||||
*
|
*
|
||||||
* @author Willem Cazander
|
* @author Willem Cazander
|
||||||
|
@ -44,34 +48,46 @@ public enum FCDotDEC0127DashPX0 implements FourCornerX06BaklavaPoints, FourCorne
|
||||||
|
|
||||||
/// _ESC6_X1 _ESC6_X1 _ESC6_X1
|
/// _ESC6_X1 _ESC6_X1 _ESC6_X1
|
||||||
_ESC_USER_1,
|
_ESC_USER_1,
|
||||||
|
|
||||||
/// _ESC6_X1 _ESC6_X1 _ESC6_X2
|
/// _ESC6_X1 _ESC6_X1 _ESC6_X2
|
||||||
_ESC_USER_2,
|
_ESC_USER_2,
|
||||||
|
|
||||||
/// _ESC6_X1 _ESC6_X1 _ESC6_X3
|
/// _ESC6_X1 _ESC6_X1 _ESC6_X3
|
||||||
_ESC_USER_3,
|
_ESC_USER_3,
|
||||||
|
|
||||||
/// _ESC6_X1 _ESC6_X2 _ESC6_X1
|
/// _ESC6_X1 _ESC6_X2 _ESC6_X1
|
||||||
_ESC_USER_4,
|
_ESC_USER_4,
|
||||||
|
|
||||||
/// _ESC6_X1 _ESC6_X2 _ESC6_X2
|
/// _ESC6_X1 _ESC6_X2 _ESC6_X2
|
||||||
_ESC_USER_5,
|
_ESC_USER_5,
|
||||||
|
|
||||||
/// _ESC6_X1 _ESC6_X2 _ESC6_X3
|
/// _ESC6_X1 _ESC6_X2 _ESC6_X3
|
||||||
/// Virtual Typewriter Six bit control support with argumented commands which MUST end with ESC_SEQ_SALAH.
|
/// Virtual Typewriter Six bit control support with argumented commands which MUST end with ESC_SEQ_SALAH.
|
||||||
ESC_VT06,
|
ESC_VT06,
|
||||||
|
|
||||||
/// _ESC6_X1 _ESC6_X3 _ESC6_X1
|
/// _ESC6_X1 _ESC6_X3 _ESC6_X1
|
||||||
__ESC_RESERVED_A7,
|
__ESC_RESERVED_A7,
|
||||||
|
|
||||||
/// _ESC6_X1 _ESC6_X3 _ESC6_X2
|
/// _ESC6_X1 _ESC6_X3 _ESC6_X2
|
||||||
__ESC_RESERVED_A8,
|
__ESC_RESERVED_A8,
|
||||||
|
|
||||||
/// _ESC6_X1 _ESC6_X3 _ESC6_X3
|
/// _ESC6_X1 _ESC6_X3 _ESC6_X3
|
||||||
__ESC_RESERVED_A9,
|
__ESC_RESERVED_A9,
|
||||||
|
|
||||||
// =========== Internal escape sequence, mixes ending
|
// =========== Internal escape sequence, with mixed endings
|
||||||
|
|
||||||
/// _ESC6_X2 _ESC6_X1 _ESC6_X1
|
/// _ESC6_X2 _ESC6_X1 _ESC6_X1
|
||||||
__ESC_RESERVED_B1,
|
__ESC_RESERVED_B1,
|
||||||
|
|
||||||
/// _ESC6_X2 _ESC6_X1 _ESC6_X2
|
/// _ESC6_X2 _ESC6_X1 _ESC6_X2
|
||||||
__ESC_RESERVED_B2,
|
__ESC_RESERVED_B2,
|
||||||
|
|
||||||
/// _ESC6_X2 _ESC6_X1 _ESC6_X3
|
/// _ESC6_X2 _ESC6_X1 _ESC6_X3
|
||||||
__ESC_RESERVED_B3,
|
__ESC_RESERVED_B3,
|
||||||
|
|
||||||
/// _ESC6_X2 _ESC6_X2 _ESC6_X1
|
/// _ESC6_X2 _ESC6_X2 _ESC6_X1
|
||||||
__ESC_RESERVED_B4,
|
__ESC_RESERVED_B4,
|
||||||
|
|
||||||
/// _ESC6_X2 _ESC6_X2 _ESC6_X2
|
/// _ESC6_X2 _ESC6_X2 _ESC6_X2
|
||||||
__ESC_RESERVED_B5,
|
__ESC_RESERVED_B5,
|
||||||
|
|
||||||
|
@ -90,13 +106,16 @@ public enum FCDotDEC0127DashPX0 implements FourCornerX06BaklavaPoints, FourCorne
|
||||||
/// With an nether DB enabled text editor, it can render for example vector graphics in source like HolyC of TempleOS.
|
/// With an nether DB enabled text editor, it can render for example vector graphics in source like HolyC of TempleOS.
|
||||||
/// The Número2 Lingua key is a sort of mime-type lookup, and later gets also definition structure and step code for type.
|
/// The Número2 Lingua key is a sort of mime-type lookup, and later gets also definition structure and step code for type.
|
||||||
ESC_NETHER,
|
ESC_NETHER,
|
||||||
|
|
||||||
/// _ESC6_X2 _ESC6_X3 _ESC6_X1
|
/// _ESC6_X2 _ESC6_X3 _ESC6_X1
|
||||||
/// End of argumented escape sequence prayer.
|
/// End of argumented escape sequence prayer.
|
||||||
ESC_SEQ_SALAH,
|
ESC_SEQ_SALAH,
|
||||||
|
|
||||||
/// _ESC6_X2 _ESC6_X3 _ESC6_X2
|
/// _ESC6_X2 _ESC6_X3 _ESC6_X2
|
||||||
/// Next argument separator for escape command sequences which MUST end with ESC_SEQ_SALAH.
|
/// Next argument separator for escape command sequences which MUST end with ESC_SEQ_SALAH.
|
||||||
/// Only allowed cake points are 7-63 or from { to & 6 bit chars.
|
/// Only allowed cake points are 7-63 or from { to & 6 bit chars.
|
||||||
ESC_SEQ_RAKA_AT,
|
ESC_SEQ_RAKA_AT,
|
||||||
|
|
||||||
/// _ESC6_X2 _ESC6_X3 _ESC6_X3
|
/// _ESC6_X2 _ESC6_X3 _ESC6_X3
|
||||||
/// On 6/8 bit escape to 18 bit four corner cake points.
|
/// On 6/8 bit escape to 18 bit four corner cake points.
|
||||||
/// Stream per six octals as CDC chars in NX01_A to NX08_H, and MUST end with ESC_SEQ_SALAH.
|
/// Stream per six octals as CDC chars in NX01_A to NX08_H, and MUST end with ESC_SEQ_SALAH.
|
||||||
|
@ -106,29 +125,36 @@ public enum FCDotDEC0127DashPX0 implements FourCornerX06BaklavaPoints, FourCorne
|
||||||
|
|
||||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X1
|
/// _ESC6_X3 _ESC6_X1 _ESC6_X1
|
||||||
ESC6_APL0127_P7A,
|
ESC6_APL0127_P7A,
|
||||||
|
|
||||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X2
|
/// _ESC6_X3 _ESC6_X1 _ESC6_X2
|
||||||
ESC6_APL0127_P7B,
|
ESC6_APL0127_P7B,
|
||||||
|
|
||||||
/// _ESC6_X3 _ESC6_X1 _ESC6_X3
|
/// _ESC6_X3 _ESC6_X1 _ESC6_X3
|
||||||
ESC6_APL0127_P7C,
|
ESC6_APL0127_P7C,
|
||||||
|
|
||||||
/// _ESC6_X3 _ESC6_X2 _ESC6_X1
|
/// _ESC6_X3 _ESC6_X2 _ESC6_X1
|
||||||
ESC6_BYD0127_P7D,
|
ESC6_BYD0127_P7D,
|
||||||
|
|
||||||
/// _ESC6_X3 _ESC6_X2 _ESC6_X2
|
/// _ESC6_X3 _ESC6_X2 _ESC6_X2
|
||||||
ESC6_BYD0127_P7E,
|
ESC6_BYD0127_P7E,
|
||||||
|
|
||||||
/// _ESC6_X3 _ESC6_X2 _ESC6_X3
|
/// _ESC6_X3 _ESC6_X2 _ESC6_X3
|
||||||
ESC6_BYD0127_P7F,
|
ESC6_BYD0127_P7F,
|
||||||
|
|
||||||
/// _ESC6_X3 _ESC6_X3 _ESC6_X1
|
/// _ESC6_X3 _ESC6_X3 _ESC6_X1
|
||||||
/// Select packed pie terminator symbol on 6 and 8 bit systems.
|
/// Select packed pie terminator symbol on 6 and 8 bit systems.
|
||||||
/// 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
|
||||||
/// 012 = __PIE NX10_J NX01_A NX02_B NX02_C
|
/// 012 = __PIE NX10_J NX01_A NX02_B NX02_C
|
||||||
ESC68_PIE,
|
ESC68_PIE,
|
||||||
|
|
||||||
/// _ESC6_X3 _ESC6_X3 _ESC6_X2
|
/// _ESC6_X3 _ESC6_X3 _ESC6_X2
|
||||||
/// Select packed pie terminator number for 6 and 8 bit systems.
|
/// Select packed pie terminator number for 6 and 8 bit systems.
|
||||||
/// First NXX P6 is terminator select, than next NXX P6 are values, until out of range.
|
/// First NXX P6 is terminator select, than next NXX P6 are values, until out of range.
|
||||||
ESC68_NCR,
|
ESC68_NCR,
|
||||||
|
|
||||||
/// _ESC6_X3 _ESC6_X3 _ESC6_X3
|
/// _ESC6_X3 _ESC6_X3 _ESC6_X3
|
||||||
/// An optional triple escape stops the open ended escape sequence.
|
/// An optional triple escape stops the open ended escape sequence.
|
||||||
/// VT-100 Manual: "ESC also cancels any escape sequence".
|
|
||||||
ESC_STOP,
|
ESC_STOP,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -274,7 +274,7 @@ public class FourCornerZionStenoLexer {
|
||||||
List<Integer> result = new ArrayList<>();
|
List<Integer> result = new ArrayList<>();
|
||||||
ScanResult status = safeReadCakePoints(input, FourCornerDotCake.FC_NCR1632_XD.getStart(), FourCornerDotCake.FC_NCR1632_XN.getStop(), result);
|
ScanResult status = safeReadCakePoints(input, FourCornerDotCake.FC_NCR1632_XD.getStart(), FourCornerDotCake.FC_NCR1632_XN.getStop(), result);
|
||||||
if (!result.isEmpty()) {
|
if (!result.isEmpty()) {
|
||||||
handlePoints(result); // mix of four blocks
|
handlePoints(result); // mix of the two blocks
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
@ -374,27 +374,27 @@ public class FourCornerZionStenoLexer {
|
||||||
}
|
}
|
||||||
// Handle 8 and 18 bit direct cake points
|
// Handle 8 and 18 bit direct cake points
|
||||||
if (FourCornerDotCake.FC_APL0127_P7A.contains(muffinPoint)) {
|
if (FourCornerDotCake.FC_APL0127_P7A.contains(muffinPoint)) {
|
||||||
handler.strobeWords(FourCornerDotCake.FC_APL0127_P7A, List.of(muffinPoint));
|
handler.strobeWords(FourCornerDotCake.FC_APL0127_P7A, List.of(muffinPoint - FourCornerDotCake.FC_APL0127_P7A.getStart()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (FourCornerDotCake.FC_APL0127_P7B.contains(muffinPoint)) {
|
if (FourCornerDotCake.FC_APL0127_P7B.contains(muffinPoint)) {
|
||||||
handler.strobeWords(FourCornerDotCake.FC_APL0127_P7B, List.of(muffinPoint));
|
handler.strobeWords(FourCornerDotCake.FC_APL0127_P7B, List.of(muffinPoint - FourCornerDotCake.FC_APL0127_P7B.getStart()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (FourCornerDotCake.FC_APL0127_P7C.contains(muffinPoint)) {
|
if (FourCornerDotCake.FC_APL0127_P7C.contains(muffinPoint)) {
|
||||||
handler.strobeWords(FourCornerDotCake.FC_APL0127_P7C, List.of(muffinPoint));
|
handler.strobeWords(FourCornerDotCake.FC_APL0127_P7C, List.of(muffinPoint - FourCornerDotCake.FC_APL0127_P7C.getStart()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (FourCornerDotCake.FC_BYD0127_P7D.contains(muffinPoint)) {
|
if (FourCornerDotCake.FC_BYD0127_P7D.contains(muffinPoint)) {
|
||||||
handler.strobeWords(FourCornerDotCake.FC_BYD0127_P7D, List.of(muffinPoint));
|
handler.strobeWords(FourCornerDotCake.FC_BYD0127_P7D, List.of(muffinPoint - FourCornerDotCake.FC_BYD0127_P7D.getStart()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (FourCornerDotCake.FC_BYD0127_P7E.contains(muffinPoint)) {
|
if (FourCornerDotCake.FC_BYD0127_P7E.contains(muffinPoint)) {
|
||||||
handler.strobeWords(FourCornerDotCake.FC_BYD0127_P7E, List.of(muffinPoint));
|
handler.strobeWords(FourCornerDotCake.FC_BYD0127_P7E, List.of(muffinPoint - FourCornerDotCake.FC_BYD0127_P7E.getStart()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (FourCornerDotCake.FC_BYD0127_P7F.contains(muffinPoint)) {
|
if (FourCornerDotCake.FC_BYD0127_P7F.contains(muffinPoint)) {
|
||||||
handler.strobeWords(FourCornerDotCake.FC_BYD0127_P7F, List.of(muffinPoint));
|
handler.strobeWords(FourCornerDotCake.FC_BYD0127_P7F, List.of(muffinPoint - FourCornerDotCake.FC_BYD0127_P7F.getStart()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (FourCornerDotCake.__MIND_THE_GAP.contains(muffinPoint)) {
|
if (FourCornerDotCake.__MIND_THE_GAP.contains(muffinPoint)) {
|
||||||
|
@ -523,7 +523,7 @@ public class FourCornerZionStenoLexer {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (decMode == FCDotDEC0127DashPX0.ESC_STOP) {
|
if (decMode == FCDotDEC0127DashPX0.ESC_STOP) {
|
||||||
decMode = null;
|
//decMode = null;
|
||||||
numberMode = null; // stop requested, print normal
|
numberMode = null; // stop requested, print normal
|
||||||
}
|
}
|
||||||
if (numberMode != null && (cdcPoint > numberMode)) {
|
if (numberMode != null && (cdcPoint > numberMode)) {
|
||||||
|
|
Loading…
Reference in a new issue