gdxapp4d/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/unicode/BaseGlyphSet.java

374 lines
20 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package love.distributedrebirth.numberxd.unicode;
import java.math.BigInteger;
import java.text.DecimalFormat;
import love.distributedrebirth.bassboon.Bãß;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnDuytsFlüstern注;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnExport注;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderWire注;
import love.distributedrebirth.bassboon.yd.abacus.BãßBȍőnAbacusSetMBeanʸᴰ;
import love.distributedrebirth.bassboon.yd.abacus.zombie.BãßBȍőnAbacusZombie;
import love.distributedrebirth.bassboon.yd.abacus.zombie.BãßBȍőnAbacusZombieCorpse;
import love.distributedrebirth.bassboon.yd.abacus.zombie.BãßBȍőnAbacusZombieʸᴰ;
import love.distributedrebirth.bassboon.yd.abacus.zombie.BãßBȍőnAbacusZombie響ᴼᶠ;
import love.distributedrebirth.bassboon.yd.jmx.CounterGuageᴶᴹˣ;
import love.distributedrebirth.numberxd.base2t.part.T10PartDecimal;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnDuytsFlüstern注(purpose = "The number base glyph scripts.")
@BãßBȍőnExport注(group = "love.distributedrebirth.numberxd")
public enum BaseGlyphSet implements BãßBȍőnAbacusSetMBeanʸᴰ<BaseGlyphSet>, BãßBȍőnAbacusZombieʸᴰ<BaseGlyphSet,BaseGlyphSetBullet> {
// TODO: Move this into unicode4D and TyyPartXxx
LATIN_BASIC(
new BaseGlyphSetNumber(v -> T10PartDecimal.STATIC.ráàmVoorElk(x -> v.add(Integer.toString(x.rȧñkTelNul())))),
new BaseGlyphSetNumber(v -> T16PartHex.STATIC.ráàmVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
new BaseGlyphSetNumber("1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R")),
LATIN_DTMF(
new BaseGlyphSetNumber(v -> T10PartDecimal.STATIC.ráàmVoorElk(x -> v.add(x.BȍőnChinaValue()))).withSeperator(Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.STR_SPACE),
new BaseGlyphSetNumber("1","2","3","A","4","5","6","B","7","8","9","C","*","0","#","D"),
new BaseGlyphSetNumber(v -> T10PartDecimal.STATIC.ráàmVoorElk(x -> {
if (T10PartDecimal.PART_10 == x) {
v.add("ten");
} else {
v.add(T10PartDecimal.STATIC.ráàmWaardes()[x.rȧñkTelEen()].BȍőnChinaValue()); // 1 to 9
}
}), "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety",
"one hundred", "two hundred", "three hundred", "four hundred", "five hundred", "six hundred", "seven hundred", "eight hundred", "nine hundred")),
LATIN_TOP(
new BaseGlyphSetNumber("","¹","²","³","","","","","",""),
new BaseGlyphSetNumber("","¹","²","³","","","","","","","","","","","",""),
new BaseGlyphSetNumber("¹","²","³","","","","","","","","","","","","","","","","","","","","","","","Q","ᴿ")),
LATIN_SUB(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","բ"),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","բ","G","","","","","","","","","","Q","")),
LATIN_TOPHEX(
LATIN_BASIC.BȍőnNumber10(),
LATIN_BASIC.BȍőnNumber16().withAltGlyphSet(LATIN_TOP),
null),
LATIN_SUBHEX(
LATIN_BASIC.BȍőnNumber10(),
LATIN_BASIC.BȍőnNumber16().withAltGlyphSet(LATIN_SUB),
null),
TONE_SCRIPT(
new BaseGlyphSetNumber(v -> T10PartDecimal.STATIC.ráàmVoorElk(x -> v.add(x.BȍőnDialTone()))),
new BaseGlyphSetNumber(v -> T16PartHex.STATIC.ráàmVoorElk(x -> v.add(x.BȍőnDialTone()))),
new BaseGlyphSetNumber("꜊꜈","꜊꜉","꜊꜋","꜊꜌","꜊꜍","꜊꜎","꜊꜏","꜊꜐","꜊꜑","˧˥","˧˦","˧˨","˧˩","˧꜒","˧꜓","˧꜔","˧꜕","˧꜖","꜏˥","꜏˦","꜏˧","꜏˨","꜏˩","꜏꜍","꜏꜎","꜏꜐","꜏꜑")),
DIPAVALI_LRPATH_TOPHEX(
new BaseGlyphSetNumber(v -> T10PartDecimal.STATIC.ráàmVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_TOP),
null),
DIPAVALI_LRPATH_SUBHEX(
new BaseGlyphSetNumber(v -> T10PartDecimal.STATIC.ráàmVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_SUB),
null),
DIPAVALI_RLPATH_TOPHEX(
new BaseGlyphSetNumber(v -> T10PartDecimal.STATIC.ráàmVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_TOP),
null),
DIPAVALI_RLPATH_SUBHEX(
new BaseGlyphSetNumber(v -> T10PartDecimal.STATIC.ráàmVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_SUB),
null),
GREEK(
new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ"),
new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ"),
new BaseGlyphSetNumber("α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ","ο","π","ϟ","ρ","σ","τ","υ","φ","χ","ψ","ω","ϡ")),
BENGALI(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","জ্ঞ","ক্ষ","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
KANNADA(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
MALAYALAM(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","ൿ")),
THAI(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
/* TODO: Brahmi is U+11000U+1107F and thus unsupported by ImGui
BRAHMI(
new BaseGlyphSetNumber("𑁦","𑁧","𑁨","𑁩","𑁪","𑁫","𑁬","𑁭","𑁮","𑁯"),
new BaseGlyphSetNumber("𑀮","𑀯","𑀰","𑀱","𑀮𑀺","𑀯𑀺","𑀰𑀺","𑀱𑀺","𑀮𑀽","𑀯𑀽","𑀰𑀽","𑀱𑀽","𑀮𑁄","𑀯𑁄","𑀰𑁄","𑀱𑁄"),
new BaseGlyphSetNumber("𑀓𑁆","𑀔𑁆","𑀕𑁆","𑀖𑁆","𑀗𑁆","𑀘𑁆","𑀙𑁆","𑀚𑁆","𑀛𑁆","𑀜𑁆","𑀝𑁆","𑀞𑁆","𑀟𑁆","𑀠𑁆","𑀡𑁆","𑀢𑁆","𑀣𑁆","𑀤𑁆","𑀥𑁆","𑀦𑁆","𑀧𑁆","𑀨𑁆","𑀩𑁆","𑀪𑁆","𑀫𑁆","𑀬𑁆","𑀭𑁆")),
*/
/* TODO: random selection replace with correct AND Egyptian hieroglyphs should be mapped 0x13000 to 0x1342E but for now on 0xE000 to 0xE42E (BMP) */
HIERO(
new BaseGlyphSetNumber("\ue429","\ue3fa","\ue3fb","\ue3fc","\ue3fd","\ue3fe","\ue3ff","\ue400","\ue401","\ue402").withSeperator(Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.STR_SPACE),
new BaseGlyphSetNumber("\uE236","\uE237","\uE238","\uE239","\uE23A","\uE23B","\uE23C","\uE23D","\uE23E","\uE23F","\uE241","\uE243","\uE244","\uE245","\uE246","\uE247"),
new BaseGlyphSetNumber(
"\ue3fa","\ue3fb","\ue3fc","\ue3fd","\ue3fe","\ue3ff","\ue400","\ue401","\ue402",
"\ue386","\ue387","\ue388","\ue389","\ue38a","\ue38b","\ue38c","\ue38d","\ue38e",
"\ue362","\ue363","\ue364","\ue365","\ue366","\ue367","\ue368","\ue369","\ue36a").withSeperator(Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.STR_SPACE)
),
RUNIC(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
KOREAN(
new BaseGlyphSetNumber("","","","","","","","","",""),
// TODO: replace Counting Rod Numerals Symbols are "T25PartCountingRod?"
new BaseGlyphSetNumber("𝍠","𝍡","𝍢","𝍣","𝍤","𝍥","𝍦","𝍧","𝍨","𝍩","𝍪","𝍫","𝍬","𝍭","𝍮","𝍯"),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
CHINA(
new BaseGlyphSetNumber("","","","","","","","","",""),
// TODO: replace Yijing Hexagram Symbols are "T64PartYijing" + see add https://en.wikipedia.org/wiki/Six-bit_character_code
new BaseGlyphSetNumber("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""),
// TODO: replace Tai Xuan Jing Symbols are "T87PartXuanJing"
new BaseGlyphSetNumber("𝌁","𝌂","𝌃","𝌄","𝌅","𝌆","𝌇","𝌈","𝌉","𝌊","𝌋","𝌌","𝌍","𝌎","𝌏","𝌐","𝌑","𝌒","𝌓","𝌔","𝌕","𝌖","𝌗","𝌘","𝌙","𝌚","𝌛")),
CHINA_FORMAL(
new BaseGlyphSetNumber(v -> T10PartDecimal.STATIC.ráàmVoorElk(x -> v.add(x.BȍőnChinaKey()))),
null,
null),
CHINA_FORMAL_OLD(
new BaseGlyphSetNumber("","","","","","","","","",""),
null,
null),
JAPAN(
CHINA.BȍőnNumber10(),
KOREAN.BȍőnNumber16(),
null),
JAPAN_FORMAL(
new BaseGlyphSetNumber("","","","","","","","","",""),
null,
null),
CYRILLIC(
new BaseGlyphSetNumber("Ф","А","В","Г","Д","Є","Ѕ","З","И","Ѳ"),
new BaseGlyphSetNumber("Ф","А","В","Г","Д","Є","Ѕ","З","И","Ѳ","І","К","Л","М","Н","Ѯ"),
new BaseGlyphSetNumber("А","В","Г","Д","Є","Ѕ","З","И","Ѳ","І","К","Л","М","Н","Ѯ","Ѻ","П","Ч","Р","С","Т","Ѵ","Ф","Х","Ѱ","Ѿ","Ц")),
ARABIC(
new BaseGlyphSetNumber("٠","١","٢","٣","٤","٥","٦","٧","٨","٩"),
null,
new BaseGlyphSetNumber("ا","ب","ج","د","ه","و","ز","ح","ط","ي","ك","ل","م","ن","س","ع","ف","ص","ق","ر","ش","ت","ث","خ","ذ","ض","ظ"),
true),
HEBREW(
new BaseGlyphSetNumber("אֶפֶס","אֶחָד","שְׁתַּיִם","שְׁלֹשָׁה","אַרְבַּע‎","חֲמִשָּׁה‎","שֵׁשׁ‎","שִׁבְעָה","שְׁמוֹנֶה","תִּשְׁעָה‎").withSeperator(Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.STR_SPACE),
null,
new BaseGlyphSetNumber("א","ב","ג","ד","ה","ו","ז","ח","ט","י","כ","ל","מ","נ","ס","ע","פ","צ","ק","ר","ש","ת","ך","ם","ן","ף","ץ"),
true),
WHITESPACE(
new BaseGlyphSetNumber("\u3000","\u205F","\u202F","\u200A","\u2009","\u2008","\u2007","\u2006","\u2005","\u2004"),
new BaseGlyphSetNumber("\u3000","\u205F","\u202F","\u200A","\u2009","\u2008","\u2007","\u2006","\u2005","\u2004","\u2003","\u2002","\u2001","\u2000","\u00A0","\u0020"),
null
),
;
@BãßBȍőnSpiderWire注(name = "printNumber10Count")
private CounterGuageᴶᴹˣ printNumber10Count;
@BãßBȍőnSpiderWire注(name = "printNumber16Count")
private CounterGuageᴶᴹˣ printNumber16Count;
@BãßBȍőnSpiderWire注(name = "printNumber27Count")
private CounterGuageᴶᴹˣ printNumber27Count;
private BaseGlyphSet(BaseGlyphSetNumber numbers) {
this(numbers, null, null);
}
private BaseGlyphSet(BaseGlyphSetNumber numbers, BaseGlyphSetNumber hex, BaseGlyphSetNumber gematria) {
this(numbers, hex, gematria, false);
}
private BaseGlyphSet(BaseGlyphSetNumber numbers, BaseGlyphSetNumber hex, BaseGlyphSetNumber gematria, Boolean reverseScript) {
Bãß.石棺ʸᴰ.魎ᴵⁿᶦᵗ(this);
BãßBȍőnAbacusZombieCorpse<BaseGlyphSetBullet> corpse = BãßBȍőnAbacusZombieCorpse.castᴼᶠ(toEnumZombie());
corpse.PUT_OBJ(BaseGlyphSetBullet.NUMBERS, numbers);
corpse.PUT_OBJ(BaseGlyphSetBullet.HEXIMALS, hex);
corpse.PUT_OBJ(BaseGlyphSetBullet.GEMATRIA, gematria);
corpse.PUT_OBJ(BaseGlyphSetBullet.REVERSE_SCRIPT, reverseScript); // TODO: ImGui workaround
}
public BãßBȍőnAbacusZombie<BaseGlyphSetBullet> toEnumZombie() {
return toBBC().NOISE_OF(BãßBȍőnAbacusZombie響ᴼᶠ.class).toEnumZombie();
}
public BaseGlyphSetNumber BȍőnNumber10() {
return toEnumZombie().GET_OBJ(BaseGlyphSetBullet.NUMBERS, BaseGlyphSetNumber.class);
}
public BaseGlyphSetNumber BȍőnNumber16() {
return toEnumZombie().GET_OBJ(BaseGlyphSetBullet.HEXIMALS, BaseGlyphSetNumber.class);
}
public BaseGlyphSetNumber BȍőnNumber27() {
return toEnumZombie().GET_OBJ(BaseGlyphSetBullet.GEMATRIA, BaseGlyphSetNumber.class);
}
public Boolean BȍőnReverseScript() {
return toEnumZombie().GET_BOOL(BaseGlyphSetBullet.REVERSE_SCRIPT);
}
public String BȍőnConvertTo(String numbers) {
StringBuilder buf = new StringBuilder();
for (char c:numbers.toCharArray()) {
for (BaseGlyphSet set:values()) {
int loc = set.BȍőnNumber10().BȍőnIndexOf(""+c);
if (loc != -1) {
buf.append(set.BȍőnNumber10().BȍőnCharFor(loc));
}
}
}
return buf.toString();
}
public String BȍőnPrintNumber10(BigInteger number) {
String amount10 = number.toString(Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_TEN);
StringBuilder buf16 = new StringBuilder();
for (char c:amount10.toCharArray()) {
if (BȍőnNumber10() == null) {
break;
}
int numberDigit = Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;
if (c >= 'a') {
numberDigit = c - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ATARI + Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_TEN;
} else {
numberDigit = c - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ZERO;
}
buf16.append(BȍőnPrintNumber10(numberDigit));
}
return buf16.toString();
}
public String BȍőnPrintNumber10(int number) {
return BȍőnPrintNumber10(number, number);
}
public String BȍőnPrintNumber10(int number, int numberMax) {
printNumber10Count.increment();
String maxDigitNumber = Integer.toString(numberMax);
StringBuilder maxDigitFormat = new StringBuilder();
for (int i=Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;i<maxDigitNumber.length();i++) {
maxDigitFormat.append(Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ZERO);
}
String numberStr = new DecimalFormat(maxDigitFormat.toString()).format(number);
StringBuilder buf = new StringBuilder();
for (int i=Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;i<numberStr.length();i++) {
char c = numberStr.charAt(i);
int numberDigit = c - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ZERO;
buf.append(BȍőnNumber10().BȍőnCharFor(numberDigit));
if (i<numberStr.length() - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ONE) {
buf.append(BȍőnNumber10().BȍőnCharSeperator());
}
}
if (BȍőnReverseScript()) {
return buf.reverse().toString();
}
return buf.toString();
}
public String BȍőnPrintNumber16(BigInteger number) {
String amount16 = number.toString(T16PartHex.STATIC.ráàmGroote());
StringBuilder buf16 = new StringBuilder();
int c2 = 0;
for (char c:amount16.toCharArray()) {
if (BȍőnNumber16() == null) {
break;
}
int numberDigit = Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;
if (c >= 'a') {
numberDigit = c - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ATARI + Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_TEN;
} else {
numberDigit = c - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ZERO;
}
if (c2 == 0) {
c2 = numberDigit * 16;
continue;
} else {
c2 = numberDigit + c2;
}
buf16.append(BȍőnPrintNumber16(c2));
c2 = 0;
}
return buf16.toString();
}
public String BȍőnPrintNumber16(int number) {
return BȍőnPrintNumber16(number, number);
}
public String BȍőnPrintNumber16(int number, int numberMax) {
printNumber16Count.increment();
String maxDigitNumber = Integer.toHexString(numberMax);
String numberStr = Integer.toHexString(number);
StringBuilder buf = new StringBuilder();
BaseGlyphSet printSet = this;
for (int i=numberStr.length();i<maxDigitNumber.length();i++) {
buf.append(printSet.BȍőnNumber16().BȍőnCharFor(Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO));
if (i==numberStr.length() && BȍőnNumber16().BȍőnAltGlyphSet() != null) {
printSet = BȍőnNumber16().BȍőnAltGlyphSet();
}
}
for (int i=Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;i<numberStr.length();i++) {
char c = numberStr.charAt(i);
int numberDigit = 0;
if (c >= Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ATARI) {
numberDigit = c - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ATARI + Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_TEN;
} else {
numberDigit = c - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ZERO;
}
buf.append(printSet.BȍőnNumber16().BȍőnCharFor(numberDigit));
if (i<numberStr.length() - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ONE) {
buf.append(printSet.BȍőnNumber16().BȍőnCharSeperator());
}
if (i==Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO && BȍőnNumber16().BȍőnAltGlyphSet() != null) {
printSet = BȍőnNumber16().BȍőnAltGlyphSet();
}
}
if (BȍőnReverseScript()) {
return buf.reverse().toString();
}
return buf.toString();
}
public String BȍőnPrintNumber27(int number) {
return BȍőnPrintNumber27(number, number);
}
public String BȍőnPrintNumber27(int number, int numberMax) {
printNumber27Count.increment();
String maxDigitNumber = Integer.toString(numberMax, 27);
String numberStr = Integer.toString(number, 27);
StringBuilder buf = new StringBuilder();
BaseGlyphSet printSet = this;
for (int i=numberStr.length();i<maxDigitNumber.length();i++) {
buf.append(printSet.BȍőnNumber27().BȍőnCharFor(0));
if (i==numberStr.length() && BȍőnNumber27().BȍőnAltGlyphSet() != null) {
printSet = BȍőnNumber27().BȍőnAltGlyphSet();
}
}
for (int i=Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;i<numberStr.length();i++) {
char c = numberStr.charAt(i);
int numberDigit = Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;
if (c >= 'a') {
numberDigit = c - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ATARI + 10;
} else {
numberDigit = c - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ZERO;
}
buf.append(printSet.BȍőnNumber27().BȍőnCharFor(numberDigit));
if (i<numberStr.length() - Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ONE) {
buf.append(printSet.BȍőnNumber27().BȍőnCharSeperator());
}
if (i==Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO && BȍőnNumber27().BȍőnAltGlyphSet() != null) {
printSet = BȍőnNumber27().BȍőnAltGlyphSet();
}
}
if (BȍőnReverseScript()) {
return buf.reverse().toString();
}
return buf.toString();
}
}