Added coin carne support for pie9 c/d and P8 symbols

This commit is contained in:
Willem Cazander 2025-01-20 14:55:01 +01:00
parent 8b58f20ad5
commit ad864152ed
8 changed files with 89 additions and 9 deletions

View file

@ -28,7 +28,7 @@ import java.util.List;
///
/// @author Willem Cazander
/// @version 1.0 Jan 18, 2025
public interface FourCornerDotCollePie9 extends FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointDotIndex, FourCornerX21CodePointDotIndex {
public interface FourCornerDotCollePie9 extends FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointDotIndex, FourCornerX21CodePointDotIndex, FourCornerX00PetitVideCoinCarne {
@Override
default int codePointDotIndex() {
@ -55,4 +55,9 @@ public interface FourCornerDotCollePie9 extends FourCornerX06BaklavaPointSequenc
default List<Integer> muffinPointSequence() {
return baklavaPointSequence();
}
@Override
default FourCornerX00PetitVideCoinCarneFrapper coinCarneFrapper() {
return FourCornerX00PetitVideCoinCarneFrapper.valueForNone();
}
}

View file

@ -28,7 +28,7 @@ import java.util.List;
///
/// @author Willem Cazander
/// @version 1.0 Jan 19, 2025
public interface FourCornerDotColleZero33P8 extends FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointDotIndex, FourCornerX21CodePointDotIndex {
public interface FourCornerDotColleZero33P8 extends FourCornerX06BaklavaPointSequence, FourCornerX08MuffinPointSequence, FourCornerX18CakePointDotIndex, FourCornerX21CodePointDotIndex, FourCornerX00PetitVideCoinCarne {
@Override
default List<Integer> codePointSequence() {
@ -44,4 +44,9 @@ public interface FourCornerDotColleZero33P8 extends FourCornerX06BaklavaPointSeq
default List<Integer> muffinPointSequence() {
return cakePointSequence();
}
@Override
default FourCornerX00PetitVideCoinCarneFrapper coinCarneFrapper() {
return FourCornerX00PetitVideCoinCarneFrapper.valueForNone();
}
}

View file

@ -28,5 +28,5 @@ package org.x4o.fc18.cake2;
/// @version 1.0 Jan 18, 2025
public interface FourCornerX00PetitVideCoinCarne extends FourCornerX00PetitVide {
FourCornerX00PetitVideCoinCarneFrapper petitVideCoinCarneFrapper();
FourCornerX00PetitVideCoinCarneFrapper coinCarneFrapper();
}

View file

@ -27,6 +27,8 @@ import java.util.List;
import org.x4o.fc18.cake2.FourCornerDotCake;
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapper;
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapperRetrait;
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
@ -65,6 +67,7 @@ public enum FCDotPIE9CDash26 implements FourCornerDotCollePie9 {
LOW_Y('y'),
LOW_Z('z'),
;
private final static FCDotPIE9CDash26[] VALUES = values();
private final List<Integer> codePointDisplay;
private FCDotPIE9CDash26(int...codePoints) {
@ -85,4 +88,41 @@ public enum FCDotPIE9CDash26 implements FourCornerDotCollePie9 {
public List<Integer> codePointSequence() {
return codePointDisplay;
}
@Override
public FourCornerX00PetitVideCoinCarneFrapper coinCarneFrapper() {
if (this == LOW_F) {
return FourCornerX00PetitVideCoinCarneFrapper.valueOnlyBottom(FourCornerX00PetitVideCoinCarneFrapperRetrait.RIGHT_10);
}
if (this == LOW_I) {
return FourCornerX00PetitVideCoinCarneFrapper.valueForQuad(FourCornerX00PetitVideCoinCarneFrapperRetrait.BOTH_L20_R20, FourCornerX00PetitVideCoinCarneFrapperRetrait.BOTH_L20_R20);
}
if (this == LOW_J) {
return FourCornerX00PetitVideCoinCarneFrapper.valueOnlyTop(FourCornerX00PetitVideCoinCarneFrapperRetrait.LEFT_10);
}
if (this == LOW_L) {
return FourCornerX00PetitVideCoinCarneFrapper.valueForQuad(FourCornerX00PetitVideCoinCarneFrapperRetrait.BOTH_L10_R10, FourCornerX00PetitVideCoinCarneFrapperRetrait.BOTH_L10_R10);
}
if (this == LOW_P) {
return FourCornerX00PetitVideCoinCarneFrapper.valueOnlyBottom(FourCornerX00PetitVideCoinCarneFrapperRetrait.RIGHT_10);
}
if (this == LOW_Q) {
return FourCornerX00PetitVideCoinCarneFrapper.valueOnlyBottom(FourCornerX00PetitVideCoinCarneFrapperRetrait.LEFT_10);
}
if (this == LOW_V) {
return FourCornerX00PetitVideCoinCarneFrapper.valueOnlyBottom(FourCornerX00PetitVideCoinCarneFrapperRetrait.BOTH_L10_R10);
}
if (this == LOW_Y) {
return FourCornerX00PetitVideCoinCarneFrapper.valueOnlyBottom(FourCornerX00PetitVideCoinCarneFrapperRetrait.RIGHT_10);
}
return FourCornerX00PetitVideCoinCarneFrapper.valueForNone();
}
static public int valuesLength() {
return VALUES.length;
}
static public FCDotPIE9CDash26 valueOf(int idx) {
return VALUES[idx];
}
}

View file

@ -27,6 +27,7 @@ import java.util.List;
import org.x4o.fc18.cake2.FourCornerDotCake;
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapper;
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
@ -85,4 +86,9 @@ public enum FCDotPIE9DDash26 implements FourCornerDotCollePie9 {
public List<Integer> codePointSequence() {
return codePointDisplay;
}
@Override
public FourCornerX00PetitVideCoinCarneFrapper coinCarneFrapper() {
return FCDotCDC1604DashP6.valueOf(FCDotCDC1604DashP6.NX01_A.ordinal() + ordinal()).coinCarneFrapper();
}
}

View file

@ -27,6 +27,8 @@ import java.util.List;
import org.x4o.fc18.cake2.FourCornerDotCake;
import org.x4o.fc18.cake2.FourCornerDotCollePie9;
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapper;
import org.x4o.fc18.cake2.pie9c.FCDotPIE9CDash26;
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
import org.x4o.fc18.cake2.zero33.FCDotDEC0127DashPX0;
@ -92,4 +94,12 @@ public enum FCDotPIE9DDash27 implements FourCornerDotCollePie9 {
public List<Integer> codePointSequence() {
return codePointDisplay;
}
@Override
public FourCornerX00PetitVideCoinCarneFrapper coinCarneFrapper() {
if (this == LOWITALIC_AMP) {
return FourCornerX00PetitVideCoinCarneFrapper.valueForNone();
}
return FCDotPIE9CDash26.valueOf(ordinal()).coinCarneFrapper();
}
}

View file

@ -25,7 +25,6 @@ package org.x4o.fc18.cake2.zero33;
import java.util.List;
import org.x4o.fc18.cake2.FourCornerDotColleZero33P8;
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarne;
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapper;
import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapperRetrait;
@ -42,7 +41,7 @@ import org.x4o.fc18.cake2.FourCornerX00PetitVideCoinCarneFrapperRetrait;
/// @author Willem Cazander
/// @version 1.0 Dec 22, 2024
///
public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33P8, FourCornerX00PetitVideCoinCarne {
public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33P8 {
// [__NUL][__PIE68][__NCR68][__ESC6] [_NEWLINE][_SPACE]?! <>[] (){}
// ~+-* ,.:; '"`^ =#$%
// |_\/ @ABC DEFG HIJK
@ -147,7 +146,7 @@ public enum FCDotCDC1604DashP6 implements FourCornerDotColleZero33P8, FourCorner
}
@Override
public FourCornerX00PetitVideCoinCarneFrapper petitVideCoinCarneFrapper() {
public FourCornerX00PetitVideCoinCarneFrapper coinCarneFrapper() {
// TODO: Add kerning for symbols too
if (this == NX01_A) {
return FourCornerX00PetitVideCoinCarneFrapper.valueOnlyTop(FourCornerX00PetitVideCoinCarneFrapperRetrait.BOTH_L20_R20);

View file

@ -60,7 +60,6 @@ public class FCDocSegmentWriterCakeWord implements FCDocSegmentWriter {
writer.docTableHeader("System", "Point Sequence");
FourCornerX00PetitVide videPoint = videPoints[word.getOffset()];
Optional<FourCornerX21CodePointSequence> x21CodeDisplay = videPoint.kaasX21CodeSequence();
Optional<FourCornerX00PetitVideCoinCarne> x00CoinCarne = videPoint.kaasX00CoinCarne();
Optional<FourCornerX06BaklavaPointSequence> x06BaklavaSequence = videPoint.kaasX06BaklavaSequence();
Optional<FourCornerX08MuffinPointSequence> x08MuffinSequence = videPoint.kaasX08MuffinSequence();
Optional<FourCornerX18CakePointSequence> x18CakeSequence = videPoint.kaasX18CakeSequence();
@ -76,10 +75,26 @@ public class FCDocSegmentWriterCakeWord implements FCDocSegmentWriter {
if (x21CodeDisplay.isPresent()) {
writeSequence(writer, "X21", 6, x21CodeDisplay.get().codePointSequence());
}
writer.docTableEnd();
// }
// // TODO: merge summary to one content block
//
// @ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={TDocCakeWord.class})
// public void writeCakeWordSummary2(ApiDocWriteEvent<ApiDocNode> event) throws IOException {
// ApiDocContentWriter writer = event.getWriter();
// TDocCakeWord word = event.getEventObject().toUserData(TDocCakeWord.class);
// FourCornerX00PetitVide[] videPoints = word.getSlice().getVidePoints();
// if (videPoints.length == 0) {
// return;
// }
// FourCornerX00PetitVide videPoint = videPoints[word.getOffset()];
Optional<FourCornerX00PetitVideCoinCarne> x00CoinCarne = videPoint.kaasX00CoinCarne();
writer.docTableStart("Kerning Summary", "Kerning all pattern displays.",ApiDocContentCss.overviewSummary);
writer.docTableHeader("Location", "Corner indents");
if (x00CoinCarne.isPresent()) {
FourCornerX00PetitVideCoinCarne cornerKerning = x00CoinCarne.get();
writer.docTableRow("Kerning Top", cornerKerning.petitVideCoinCarneFrapper().kerningTop().name());
writer.docTableRow("Kerning Bottom", cornerKerning.petitVideCoinCarneFrapper().kerningBottom().name());
writer.docTableRow("Top", cornerKerning.coinCarneFrapper().kerningTop().name());
writer.docTableRow("Bottom", cornerKerning.coinCarneFrapper().kerningBottom().name());
}
writer.docTableEnd();
}