Hewbrew+unicode=hell
This commit is contained in:
parent
76f3da5da7
commit
ca1fe9d9d0
27 changed files with 460 additions and 115 deletions
|
|
@ -4,16 +4,19 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnConstantsʸᴰ;
|
||||
import love.distributedrebirth.numberxd.base2t.BaseIteratorOctal;
|
||||
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
|
||||
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
|
||||
import love.distributedrebirth.numberxd.base2t.type.V036Teger;
|
||||
import love.distributedrebirth.numberxd.unicode.BaseGlyphSet;
|
||||
import love.distributedrebirth.numberxd.unicode.SourceGlyph;
|
||||
import love.distributedrebirth.numberxd.unicode.SourceGlyphCharSet;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V009Tyte> {
|
||||
|
||||
private final V036Teger value;
|
||||
private final double totalDecimalValue;
|
||||
private static final Character LEFT_TO_RIGHT_MARK = 0x200E;
|
||||
private static final Character RIGHT_TO_LEFT_MARK = 0x200F;
|
||||
|
||||
|
|
@ -23,7 +26,6 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
|||
|
||||
public Gê̄ldGetậl(V036Teger value) {
|
||||
this.value = value;
|
||||
this.totalDecimalValue = calculateDecimalValue();
|
||||
}
|
||||
|
||||
public Gê̄ldGetậl(String money) {
|
||||
|
|
@ -58,6 +60,10 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
|||
result.add(geldDigit);
|
||||
}
|
||||
}
|
||||
Gê̄ldGetậlÅtHebrewVowel vowel = Gê̄ldGetậlÅtHebrewVowel.valueOfCharacter(codePoint);
|
||||
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(vowel)) {
|
||||
continue; // ignore multiple vowels on letters
|
||||
}
|
||||
Gê̄ldGetậlÅtHebrewLetter letter = Gê̄ldGetậlÅtHebrewLetter.valueOfCharacter(codePoint);
|
||||
if (Gê̄ldGetậlÅtHebrewLetter.NONE.equals(letter)) {
|
||||
throw new IllegalArgumentException("Unknown fraction codepoint: 0x"+Integer.toHexString(codePoint));
|
||||
|
|
@ -71,7 +77,7 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
|||
if (result.isEmpty()) {
|
||||
throw new IllegalArgumentException("No hebrew money found");
|
||||
}
|
||||
Gê̄ldGetậlÅtHebrew full = result.get(0);
|
||||
Gê̄ldGetậlÅtHebrew full0 = result.get(0);
|
||||
Gê̄ldGetậlÅtHebrew deelA = null;
|
||||
Gê̄ldGetậlÅtHebrew deelB = null;
|
||||
Gê̄ldGetậlÅtHebrew deelC = null;
|
||||
|
|
@ -91,23 +97,28 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
|||
deelC = new Gê̄ldGetậlÅtHebrew();
|
||||
}
|
||||
value = new V036Teger();
|
||||
value.setTytePart(T04PartQuad.PART_1, full.toTyte());
|
||||
value.setTytePart(T04PartQuad.PART_1, full0.toTyte());
|
||||
value.setTytePart(T04PartQuad.PART_2, deelA.toTyte());
|
||||
value.setTytePart(T04PartQuad.PART_3, deelB.toTyte());
|
||||
value.setTytePart(T04PartQuad.PART_4, deelC.toTyte());
|
||||
this.totalDecimalValue = calculateDecimalValue();
|
||||
}
|
||||
|
||||
private double calculateDecimalValue() {
|
||||
Gê̄ldGetậlÅtHebrew nummerAlphabet = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_1));
|
||||
private boolean hasHebrewLetters(Gê̄ldGetậlÅtHebrew...nummers) {
|
||||
for (Gê̄ldGetậlÅtHebrew nummer:nummers) {
|
||||
if (Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummer.getLetter())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public double toDecimalValue() {
|
||||
Gê̄ldGetậlÅtHebrew nummerFull0 = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_1));
|
||||
Gê̄ldGetậlÅtHebrew nummerDeelA = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_2));
|
||||
Gê̄ldGetậlÅtHebrew nummerDeelB = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_3));
|
||||
Gê̄ldGetậlÅtHebrew nummerDeelC = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_4));
|
||||
boolean hasFourDigits =
|
||||
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter()) &&
|
||||
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelB.getLetter()) &&
|
||||
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelC.getLetter());
|
||||
double totalDecimalValue = nummerAlphabet.toDecimalValue(hasFourDigits);
|
||||
boolean hasFourDigits = hasHebrewLetters(nummerDeelA, nummerDeelB, nummerDeelC);
|
||||
double totalDecimalValue = nummerFull0.toDecimalValue(hasFourDigits);
|
||||
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter())) {
|
||||
totalDecimalValue += nummerDeelA.toDecimalValue(false);
|
||||
}
|
||||
|
|
@ -120,8 +131,34 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
|||
return totalDecimalValue;
|
||||
}
|
||||
|
||||
public double getTotalDecimalValue() {
|
||||
return totalDecimalValue;
|
||||
public String toFractionNotation(BaseGlyphSet glyphCharset, SourceGlyphCharSet sourceCharset) {
|
||||
Gê̄ldGetậlÅtHebrew nummerFull0 = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_1));
|
||||
Gê̄ldGetậlÅtHebrew nummerDeelA = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_2));
|
||||
Gê̄ldGetậlÅtHebrew nummerDeelB = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_3));
|
||||
Gê̄ldGetậlÅtHebrew nummerDeelC = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_4));
|
||||
boolean hasFourDigits = hasHebrewLetters(nummerDeelA, nummerDeelB, nummerDeelC);
|
||||
StringBuilder buf = new StringBuilder();
|
||||
buf.append(LEFT_TO_RIGHT_MARK);
|
||||
nummerFull0.toFractionNotation(hasFourDigits, buf, glyphCharset, sourceCharset);
|
||||
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter())) {
|
||||
buf.append(BãßBȍőnConstantsʸᴰ.STR_SPACE);
|
||||
buf.append(sourceCharset.print(SourceGlyph.MATH_PLUS));
|
||||
buf.append(BãßBȍőnConstantsʸᴰ.STR_SPACE);
|
||||
nummerDeelA.toFractionNotation(false, buf, glyphCharset, sourceCharset);
|
||||
}
|
||||
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelB.getLetter())) {
|
||||
buf.append(BãßBȍőnConstantsʸᴰ.STR_SPACE);
|
||||
buf.append(sourceCharset.print(SourceGlyph.MATH_PLUS));
|
||||
buf.append(BãßBȍőnConstantsʸᴰ.STR_SPACE);
|
||||
nummerDeelB.toFractionNotation(false, buf, glyphCharset, sourceCharset);
|
||||
}
|
||||
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelC.getLetter())) {
|
||||
buf.append(BãßBȍőnConstantsʸᴰ.STR_SPACE);
|
||||
buf.append(sourceCharset.print(SourceGlyph.MATH_PLUS));
|
||||
buf.append(BãßBȍőnConstantsʸᴰ.STR_SPACE);
|
||||
nummerDeelC.toFractionNotation(false, buf, glyphCharset, sourceCharset);
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
public String toHebrewString() {
|
||||
|
|
@ -129,15 +166,15 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
|||
}
|
||||
|
||||
public String toHebrewString(boolean reverse) {
|
||||
Gê̄ldGetậlÅtHebrew nummerAlphabet = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_1));
|
||||
Gê̄ldGetậlÅtHebrew nummerFull0 = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_1));
|
||||
Gê̄ldGetậlÅtHebrew nummerDeelA = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_2));
|
||||
Gê̄ldGetậlÅtHebrew nummerDeelB = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_3));
|
||||
Gê̄ldGetậlÅtHebrew nummerDeelC = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_4));
|
||||
StringBuilder buf = new StringBuilder();
|
||||
buf.append(RIGHT_TO_LEFT_MARK);
|
||||
buf.append(nummerAlphabet.getLetter().getCharacter());
|
||||
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(nummerAlphabet.getVowel())) {
|
||||
buf.append(nummerAlphabet.getVowel().getCharacter());
|
||||
buf.append(nummerFull0.getLetter().getCharacter());
|
||||
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(nummerFull0.getVowel())) {
|
||||
buf.append(nummerFull0.getVowel().getCharacter());
|
||||
}
|
||||
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter())) {
|
||||
buf.append(nummerDeelA.getLetter().getCharacter());
|
||||
|
|
@ -158,7 +195,7 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
|||
}
|
||||
}
|
||||
if (reverse) {
|
||||
buf.reverse(); // ImGui skips RL marker so renders wrong....
|
||||
return buf.reverse().toString(); // ImGui skips RL marker so renders wrong....
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue