FC18: Remove cake point check from steno tongue

This commit is contained in:
Willem Cazander 2025-09-08 17:38:17 +02:00
parent 63f4691e70
commit 3efd7c8918
2 changed files with 11 additions and 22 deletions

View file

@ -299,13 +299,15 @@ public class FourCornerZionStenoGrapher {
@Override
public void strobeTheWord(FCFlameWordDish course, int cakePoint) {
if (cakePoint < outTongue.cakePointMin()) {
if (FCFlameStenoTongue.FC18_WORMS.equals(outTongue)) {
throw new IllegalArgumentException("Cake point word is not allowed with worms: 0x" + Integer.toHexString(cakePoint));
}
if (cakePoint < course.cakePointMin()) {
throw new IllegalArgumentException("Cake point is smaller than limit: 0x" + Integer.toHexString(cakePoint));
}
if (cakePoint > outTongue.cakePointMax()) {
if (cakePoint > course.cakePointMax()) {
throw new IllegalArgumentException("Cake point is greater than limit: 0x" + Integer.toHexString(cakePoint));
}
// TODO: validate with course
if (FCFlameStenoTongue.FC6_PLUS.equals(outTongue) && cakePoint > CAKE_POINT_MAX_FC6) {
// fixme improve this
FourCornerDotCake slice = FourCornerDotCake.valueFromCakePoint(cakePoint).get();

View file

@ -22,7 +22,6 @@
*/
package org.x4o.fc18.zion7.flame4;
import org.x4o.fc18.cake2.FourCornerDotCake;
/// The steno tongue speak language supported limits.
///
@ -31,32 +30,20 @@ import org.x4o.fc18.cake2.FourCornerDotCake;
public enum FCFlameStenoTongue {
/// Pure six bit baklave point word candy.
FC6 (FourCornerDotCake.FC_CDC1604_P6.getStart(), FourCornerDotCake.FC_CDC1604_P6.getStop()),
FC6,
/// Big computer have extra ROM space for extra candy letters.
FC6_PLUS (FourCornerDotCake.FC_CDC1604_P6.getStart(), FourCornerDotCake.FC_PIE9D_27.getStop()),
FC6_PLUS,
/// Full range with all features
FC18 (FourCornerDotCake.FC_CDC1604_P6.getStart(), FourCornerDotCake.FC_CDC1604_P6.getStop()),
FC18,
/// An adult man does not use candy.
FC18_ADULT (FourCornerDotCake.FC_CLK1K_Z.getStop() + 1, FourCornerDotCake.FC_CDC1604_P6.getStop()),
FC18_ADULT,
/// An sand man rides adult worms, in the desert of the real.
FC18_WORMS (0, -1), // allow zero letters in strobeTheWord range
FC18_WORMS,
;
private static final FCFlameStenoTongue[] VALUES = values();
private final int cakePointMin;
private final int cakePointMax;
private FCFlameStenoTongue(int cakePointMin, int cakePointMax) {
this.cakePointMin = cakePointMin;
this.cakePointMax = cakePointMax;
}
public int cakePointMin() {
return cakePointMin;
}
public int cakePointMax() {
return cakePointMax;
private FCFlameStenoTongue() {
}
public boolean isSixBit() {