gdxapp4d/gdxapp4d-lib-unicodezd/src/main/java/love/distributedrebirth/unicode4d/BaseGlyphSet.java

296 lines
16 KiB
Java
Raw Normal View History

2022-03-19 12:40:15 +01:00
package love.distributedrebirth.unicode4d;
2022-02-11 15:30:26 +01:00
import java.text.DecimalFormat;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
2022-02-06 17:35:37 +01:00
import love.distributedrebirth.bassboonyd.BãßBȍőnConstantsʸᴰ;
2022-02-06 17:19:05 +01:00
import love.distributedrebirth.bassboonyd.BãßBȍőnPackageInfoʸᴰ;
2022-02-11 15:30:26 +01:00
import love.distributedrebirth.bassboonyd.jmx.DefaultEnumSetᴶᴹˣ;
import love.distributedrebirth.bassboonyd.jmx.GuageCounterᴶᴹˣ;
import love.distributedrebirth.numberxd.base2t.part.T10PartDecimal;
import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
2022-08-24 17:33:39 +02:00
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
2022-02-03 01:11:45 +01:00
@BãßBȍőnClassInfoʸᴰ(name = "BaseGlyphSet", purpose = "The encoded base scripts.")
2022-02-06 17:19:05 +01:00
@BãßBȍőnPackageInfoʸᴰ(name = "love.distributedrebirth.numberxd")
2022-02-11 15:30:26 +01:00
public enum BaseGlyphSet implements DefaultEnumSetᴶᴹˣ<BaseGlyphSet,BãßBȍőnGlyphSetKeyʸᴰ> {
2022-08-23 16:00:34 +02:00
// TODO: Move this into unicode4D
2022-02-03 13:21:40 +01:00
2022-02-11 16:27:00 +01:00
LATIN_BASIC(
new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(Integer.toString(x.BȍőnRangTelNul())))),
new BaseGlyphSetNumber(v -> T16PartHex.PART_1.BãßVoorElk(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")),
2022-02-11 16:27:00 +01:00
LATIN_DTMF(
new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnChinaValue()))).withSeperator(BãßBȍőnConstantsʸᴰ.STR_SPACE),
2022-02-10 02:42:46 +01:00
new BaseGlyphSetNumber("1","2","3","A","4","5","6","B","7","8","9","C","*","0","#","D"),
2022-02-15 19:04:27 +01:00
null),
2022-02-11 16:27:00 +01:00
LATIN_TOP(
new BaseGlyphSetNumber("","¹","²","³","","","","","",""),
new BaseGlyphSetNumber("","¹","²","³","","","","","","","","","","","",""),
new BaseGlyphSetNumber("¹","²","³","","","","","","","","","","","","","","","","","","","","","","","Q","ᴿ")),
2022-02-11 16:27:00 +01:00
LATIN_SUB(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","բ"),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","բ","G","","","","","","","","","","Q","")),
2022-02-11 16:27:00 +01:00
LATIN_TOPHEX(
2022-02-11 17:27:44 +01:00
LATIN_BASIC.BȍőnNumber10(),
LATIN_BASIC.BȍőnNumber16().withAltGlyphSet(LATIN_TOP),
2022-02-15 19:04:27 +01:00
null),
LATIN_SUBHEX(
LATIN_BASIC.BȍőnNumber10(),
LATIN_BASIC.BȍőnNumber16().withAltGlyphSet(LATIN_SUB),
null),
2022-02-10 02:42:46 +01:00
2022-02-11 16:27:00 +01:00
TONE_SCRIPT(
new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnDialTone()))),
2022-02-05 16:25:41 +01:00
new BaseGlyphSetNumber(v -> T16PartHex.PART_1.BãßVoorElk(x -> v.add(x.BȍőnDialTone()))),
new BaseGlyphSetNumber("꜊꜈","꜊꜉","꜊꜋","꜊꜌","꜊꜍","꜊꜎","꜊꜏","꜊꜐","꜊꜑","˧˥","˧˦","˧˨","˧˩","˧꜒","˧꜓","˧꜔","˧꜕","˧꜖","꜏˥","꜏˦","꜏˧","꜏˨","꜏˩","꜏꜍","꜏꜎","꜏꜐","꜏꜑")),
2022-02-11 16:27:00 +01:00
DIPAVALI_LRPATH_TOPHEX(
new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
2022-02-10 02:42:46 +01:00
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_TOP),
2022-02-11 17:27:44 +01:00
TONE_SCRIPT.BȍőnNumber27()),
2022-02-11 16:27:00 +01:00
DIPAVALI_LRPATH_SUBHEX(
new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
2022-02-10 02:42:46 +01:00
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_SUB),
2022-02-11 17:27:44 +01:00
TONE_SCRIPT.BȍőnNumber27()),
2022-02-11 16:27:00 +01:00
DIPAVALI_RLPATH_TOPHEX(
new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
2022-02-10 02:42:46 +01:00
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_TOP),
2022-02-11 17:27:44 +01:00
TONE_SCRIPT.BȍőnNumber27()),
2022-02-11 16:27:00 +01:00
DIPAVALI_RLPATH_SUBHEX(
new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
2022-02-10 02:42:46 +01:00
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_SUB),
2022-02-11 17:27:44 +01:00
TONE_SCRIPT.BȍőnNumber27()),
2022-02-11 16:27:00 +01:00
GREEK(
new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ"),
2022-02-10 02:42:46 +01:00
new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ"),
2022-02-11 13:48:55 +01:00
new BaseGlyphSetNumber("α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ","ο","π","ϟ","ρ","σ","τ","υ","φ","χ","ψ","ω","ϡ")),
2022-02-11 16:27:00 +01:00
BENGALI(
new BaseGlyphSetNumber("","","","","","","","","",""),
2022-02-10 02:42:46 +01:00
new BaseGlyphSetNumber("","","","","","","","","","","জ্ঞ","ক্ষ","","","",""),
2022-02-11 13:48:55 +01:00
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
2022-02-11 17:27:44 +01:00
KANNADA(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
MALAYALAM(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","",""),
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","ൿ")),
2022-02-11 16:27:00 +01:00
THAI(
new BaseGlyphSetNumber("","","","","","","","","",""),
2022-02-11 02:46:44 +01:00
new BaseGlyphSetNumber("","","","","","","","","","","","","","","",""),
2022-02-11 13:48:55 +01:00
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
2022-02-14 17:07:26 +01:00
/* TODO: Brahmi is U+11000U+1107F and thus unsupported by ImGui
2022-02-11 17:27:44 +01:00
BRAHMI(
new BaseGlyphSetNumber("𑁦","𑁧","𑁨","𑁩","𑁪","𑁫","𑁬","𑁭","𑁮","𑁯"),
new BaseGlyphSetNumber("𑀮","𑀯","𑀰","𑀱","𑀮𑀺","𑀯𑀺","𑀰𑀺","𑀱𑀺","𑀮𑀽","𑀯𑀽","𑀰𑀽","𑀱𑀽","𑀮𑁄","𑀯𑁄","𑀰𑁄","𑀱𑁄"),
new BaseGlyphSetNumber("𑀓𑁆","𑀔𑁆","𑀕𑁆","𑀖𑁆","𑀗𑁆","𑀘𑁆","𑀙𑁆","𑀚𑁆","𑀛𑁆","𑀜𑁆","𑀝𑁆","𑀞𑁆","𑀟𑁆","𑀠𑁆","𑀡𑁆","𑀢𑁆","𑀣𑁆","𑀤𑁆","𑀥𑁆","𑀦𑁆","𑀧𑁆","𑀨𑁆","𑀩𑁆","𑀪𑁆","𑀫𑁆","𑀬𑁆","𑀭𑁆")),
*/
2022-02-14 17:07:26 +01:00
/* TODO: Egyptian hieroglyphs should be mapped 0x13000 to 0x1342E but for now on 0xE000 to 0xE42E (BMP) */
HIERO(
2022-02-14 22:54:31 +01:00
new BaseGlyphSetNumber("\ue429","\ue3fa","\ue3fb","\ue3fc","\ue3fd","\ue3fe","\ue3ff","\ue400","\ue401","\ue401").withSeperator(BãßBȍőnConstantsʸᴰ.STR_SPACE),
new BaseGlyphSetNumber("\ue254","\ue255","\ue256","\ue257","\ue258","\ue259","\ue25a","\ue25b","\ue25c","\ue25d","\ue25e","\ue25f","\ue260","\ue261","\ue262","\ue263").withSeperator(BãßBȍőnConstantsʸᴰ.STR_SPACE),
2022-02-14 17:07:26 +01:00
new BaseGlyphSetNumber(
"\ue3fa","\ue3fb","\ue3fc","\ue3fd","\ue3fe","\ue3ff","\ue400","\ue401","\ue401",
"\ue386","\ue387","\ue388","\ue389","\ue38a","\ue38b","\ue38c","\ue38d","\ue38e",
2022-02-14 22:54:31 +01:00
"\ue362","\ue363","\ue364","\ue365","\ue366","\ue367","\ue368","\ue369","\ue36a").withSeperator(BãßBȍőnConstantsʸᴰ.STR_SPACE)
2022-02-14 17:07:26 +01:00
),
2022-02-11 16:27:00 +01:00
RUNIC(
new BaseGlyphSetNumber("","","","","","","","","",""),
2022-02-10 02:42:46 +01:00
new BaseGlyphSetNumber("","","","","","","","","","","","","","","",""),
2022-02-11 13:48:55 +01:00
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
2022-02-11 16:27:00 +01:00
KOREAN(
new BaseGlyphSetNumber("","","","","","","","","",""),
new BaseGlyphSetNumber("𝍠","𝍡","𝍢","𝍣","𝍤","𝍥","𝍦","𝍧","𝍨","𝍩","𝍪","𝍫","𝍬","𝍭","𝍮","𝍯"),
2022-02-11 13:48:55 +01:00
new BaseGlyphSetNumber("","","","","","","","","","","","","","","","","","","","","","","","","","","")),
2022-02-11 16:27:00 +01:00
2022-02-11 02:46:44 +01:00
CHINA(
2022-02-11 16:27:00 +01:00
new BaseGlyphSetNumber("","","","","","","","","",""),
2022-02-23 15:51:46 +01:00
new BaseGlyphSetNumber("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""),
new BaseGlyphSetNumber("𝌁","𝌂","𝌃","𝌄","𝌅","𝌆","𝌇","𝌈","𝌉","𝌊","𝌋","𝌌","𝌍","𝌎","𝌏","𝌐","𝌑","𝌒","𝌓","𝌔","𝌕","𝌖","𝌗","𝌘","𝌙","𝌚","𝌛")),
2022-02-11 02:46:44 +01:00
CHINA_FORMAL(
2022-02-11 16:27:00 +01:00
new BaseGlyphSetNumber(v -> T10PartDecimal.PART_1.BãßVoorElk(x -> v.add(x.BȍőnChinaKey()))),
2022-02-15 19:04:27 +01:00
null,
2022-02-11 16:27:00 +01:00
null),
2022-02-11 02:46:44 +01:00
CHINA_FORMAL_OLD(
2022-02-11 16:27:00 +01:00
new BaseGlyphSetNumber("","","","","","","","","",""),
2022-02-15 19:04:27 +01:00
null,
2022-02-11 16:27:00 +01:00
null),
2022-02-11 02:46:44 +01:00
JAPAN(
2022-02-11 17:27:44 +01:00
CHINA.BȍőnNumber10(),
KOREAN.BȍőnNumber16(),
2022-02-11 16:27:00 +01:00
null),
2022-02-11 02:46:44 +01:00
JAPAN_FORMAL(
2022-02-11 16:27:00 +01:00
new BaseGlyphSetNumber("","","","","","","","","",""),
2022-02-15 19:04:27 +01:00
null,
2022-02-11 16:27:00 +01:00
null),
2022-02-11 16:27:00 +01:00
CYRILLIC(
new BaseGlyphSetNumber("Ф","А","В","Г","Д","Є","Ѕ","З","И","Ѳ"),
2022-02-15 19:04:27 +01:00
new BaseGlyphSetNumber("Ф","А","В","Г","Д","Є","Ѕ","З","И","Ѳ","І","К","Л","М","Н","Ѯ"),
2022-02-11 13:48:55 +01:00
new BaseGlyphSetNumber("А","В","Г","Д","Є","Ѕ","З","И","Ѳ","І","К","Л","М","Н","Ѯ","Ѻ","П","Ч","Р","С","Т","Ѵ","Ф","Х","Ѱ","Ѿ","Ц")),
2022-02-11 16:27:00 +01:00
ARABIC(
new BaseGlyphSetNumber("٠","١","٢","٣","٤","٥","٦","٧","٨","٩"),
2022-02-15 19:04:27 +01:00
null,
2022-02-11 15:30:26 +01:00
new BaseGlyphSetNumber("ا","ب","ج","د","ه","و","ز","ح","ط","ي","ك","ل","م","ن","س","ع","ف","ص","ق","ر","ش","ت","ث","خ","ذ","ض","ظ"),
true),
2022-02-11 16:27:00 +01:00
HEBREW(
new BaseGlyphSetNumber("אֶפֶס","אֶחָד","שְׁתַּיִם","שְׁלֹשָׁה","אַרְבַּע‎","חֲמִשָּׁה‎","שֵׁשׁ‎","שִׁבְעָה","שְׁמוֹנֶה","תִּשְׁעָה‎").withSeperator(BãßBȍőnConstantsʸᴰ.STR_SPACE),
2022-02-15 19:04:27 +01:00
null,
2022-02-11 17:27:44 +01:00
new BaseGlyphSetNumber("א","ב","ג","ד","ה","ו","ז","ח","ט","י","כ","ל","מ","נ","ס","ע","פ","צ","ק","ר","ש","ת","ך","ם","ן","ף","ץ"),
2022-02-11 15:30:26 +01:00
true),
;
2022-02-11 17:27:44 +01:00
private final GuageCounterᴶᴹˣ printNumber10Count;
private final GuageCounterᴶᴹˣ printNumber16Count;
private final GuageCounterᴶᴹˣ printNumber27Count;
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
public BãßBȍőnCoffinʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> GET_BBC() { return BBC; }
public static int LENGTH() { return values().length; };
private BaseGlyphSet(BaseGlyphSetNumber numbers) {
this(numbers, null, null);
}
private BaseGlyphSet(BaseGlyphSetNumber numbers, BaseGlyphSetNumber hex, BaseGlyphSetNumber gematria) {
2022-02-11 15:30:26 +01:00
this(numbers, hex, gematria, false);
}
private BaseGlyphSet(BaseGlyphSetNumber numbers, BaseGlyphSetNumber hex, BaseGlyphSetNumber gematria, Boolean reverseScript) {
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, numbers);
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, hex);
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, gematria);
2022-02-11 15:30:26 +01:00
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.REVERSE_SCRIPT, reverseScript); // TODO: ImGui workaround
2022-02-06 15:49:32 +01:00
BBC.BOON_INIT(this);
2022-02-06 17:19:05 +01:00
this.BȍőnJmxInit(BãßBȍőnGlyphSetKeyʸᴰ.JMX);
2022-02-11 17:27:44 +01:00
printNumber10Count = BȍőnJmxInitGuageCounter(BãßBȍőnGlyphSetKeyʸᴰ.JMX, "printNumber10Count");
printNumber16Count = BȍőnJmxInitGuageCounter(BãßBȍőnGlyphSetKeyʸᴰ.JMX, "printNumber16Count");
printNumber27Count = BȍőnJmxInitGuageCounter(BãßBȍőnGlyphSetKeyʸᴰ.JMX, "printNumber27Count");
2022-02-11 15:30:26 +01:00
}
2022-02-11 17:27:44 +01:00
public BaseGlyphSetNumber BȍőnNumber10() {
2022-02-11 15:30:26 +01:00
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, BaseGlyphSetNumber.class);
}
2022-02-11 17:27:44 +01:00
public BaseGlyphSetNumber BȍőnNumber16() {
2022-02-11 15:30:26 +01:00
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, BaseGlyphSetNumber.class);
}
2022-02-11 17:27:44 +01:00
public BaseGlyphSetNumber BȍőnNumber27() {
2022-02-11 15:30:26 +01:00
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, BaseGlyphSetNumber.class);
}
2022-02-11 17:27:44 +01:00
public Boolean BȍőnReverseScript() {
2022-02-11 15:30:26 +01:00
return GET_BBC().GET_BOOL(BãßBȍőnGlyphSetKeyʸᴰ.REVERSE_SCRIPT);
}
2022-02-10 14:45:52 +01:00
public String BȍőnConvertTo(String numbers) {
StringBuilder buf = new StringBuilder();
for (char c:numbers.toCharArray()) {
for (BaseGlyphSet set:values()) {
2022-02-11 17:27:44 +01:00
int loc = set.BȍőnNumber10().BȍőnIndexOf(""+c);
2022-02-10 14:45:52 +01:00
if (loc != -1) {
2022-02-11 17:27:44 +01:00
buf.append(set.BȍőnNumber10().BȍőnCharFor(loc));
2022-02-10 14:45:52 +01:00
}
}
}
return buf.toString();
}
2022-02-11 15:30:26 +01:00
2022-02-11 17:27:44 +01:00
public String BȍőnPrintNumber10(int number, int numberMax) {
printNumber10Count.increment();
2022-02-11 15:30:26 +01:00
String maxDigitNumber = Integer.toString(numberMax);
StringBuilder maxDigitFormat = new StringBuilder();
for (int i=0;i<maxDigitNumber.length();i++) {
maxDigitFormat.append("0");
}
String numberStr = new DecimalFormat(maxDigitFormat.toString()).format(number);
StringBuilder buf = new StringBuilder();
for (int i=0;i<numberStr.length();i++) {
char c = numberStr.charAt(i);
int numberDigit = c - '0';
2022-02-11 17:27:44 +01:00
buf.append(BȍőnNumber10().BȍőnCharFor(numberDigit));
2022-02-11 15:30:26 +01:00
if (i<numberStr.length() - 1) {
2022-02-11 17:27:44 +01:00
buf.append(BȍőnNumber10().BȍőnCharSeperator());
2022-02-11 15:30:26 +01:00
}
}
2022-02-11 17:27:44 +01:00
if (BȍőnReverseScript()) {
2022-02-11 15:30:26 +01:00
return buf.reverse().toString();
}
return buf.toString();
}
2022-02-11 17:27:44 +01:00
public String BȍőnPrintNumber16(int number, int numberMax) {
printNumber16Count.increment();
2022-02-11 15:30:26 +01:00
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++) {
2022-02-11 17:27:44 +01:00
buf.append(printSet.BȍőnNumber16().BȍőnCharFor(0));
if (i==numberStr.length() && BȍőnNumber16().BȍőnAltGlyphSet() != null) {
printSet = BȍőnNumber16().BȍőnAltGlyphSet();
2022-02-11 15:30:26 +01:00
}
}
for (int i=0;i<numberStr.length();i++) {
char c = numberStr.charAt(i);
int numberDigit = 0;
if (c >= 'a') {
numberDigit = c - 'a' + 10;
} else {
numberDigit = c - '0';
}
2022-02-11 17:27:44 +01:00
buf.append(printSet.BȍőnNumber16().BȍőnCharFor(numberDigit));
2022-02-11 15:30:26 +01:00
if (i<numberStr.length() - 1) {
2022-02-11 17:27:44 +01:00
buf.append(printSet.BȍőnNumber16().BȍőnCharSeperator());
2022-02-11 15:30:26 +01:00
}
2022-02-11 17:27:44 +01:00
if (i==0 && BȍőnNumber16().BȍőnAltGlyphSet() != null) {
printSet = BȍőnNumber16().BȍőnAltGlyphSet();
2022-02-11 15:30:26 +01:00
}
}
2022-02-11 17:27:44 +01:00
if (BȍőnReverseScript()) {
2022-02-11 15:30:26 +01:00
return buf.reverse().toString();
}
return buf.toString();
}
2022-02-11 17:27:44 +01:00
public String BȍőnPrintNumber27(int number, int numberMax) {
printNumber27Count.increment();
2022-02-11 15:30:26 +01:00
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++) {
2022-02-11 17:27:44 +01:00
buf.append(printSet.BȍőnNumber27().BȍőnCharFor(0));
if (i==numberStr.length() && BȍőnNumber27().BȍőnAltGlyphSet() != null) {
printSet = BȍőnNumber27().BȍőnAltGlyphSet();
2022-02-11 15:30:26 +01:00
}
}
for (int i=0;i<numberStr.length();i++) {
char c = numberStr.charAt(i);
int numberDigit = 0;
if (c >= 'a') {
numberDigit = c - 'a' + 10;
} else {
numberDigit = c - '0';
}
2022-02-11 17:27:44 +01:00
buf.append(printSet.BȍőnNumber27().BȍőnCharFor(numberDigit));
2022-02-11 15:30:26 +01:00
if (i<numberStr.length() - 1) {
2022-02-11 17:27:44 +01:00
buf.append(printSet.BȍőnNumber27().BȍőnCharSeperator());
2022-02-11 15:30:26 +01:00
}
2022-02-11 17:27:44 +01:00
if (i==0 && BȍőnNumber27().BȍőnAltGlyphSet() != null) {
printSet = BȍőnNumber27().BȍőnAltGlyphSet();
2022-02-11 15:30:26 +01:00
}
}
2022-02-11 17:27:44 +01:00
if (BȍőnReverseScript()) {
return buf.reverse().toString();
2022-02-11 15:30:26 +01:00
}
return buf.toString();
}
}