Hewbrew+unicode=hell
This commit is contained in:
parent
76f3da5da7
commit
ca1fe9d9d0
27 changed files with 460 additions and 115 deletions
|
|
@ -1,297 +0,0 @@
|
|||
package love.distributedrebirth.unicode4d;
|
||||
|
||||
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ʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnConstantsʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnPackageInfoʸᴰ;
|
||||
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;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnClassInfoʸᴰ(name = "BaseGlyphSet", purpose = "The encoded base scripts.")
|
||||
@BãßBȍőnPackageInfoʸᴰ(name = "love.distributedrebirth.numberxd")
|
||||
public enum BaseGlyphSet implements DefaultEnumSetᴶᴹˣ<BaseGlyphSet,BãßBȍőnGlyphSetKeyʸᴰ> {
|
||||
// TODO: Move this into unicode4D and TyyPartXxx
|
||||
|
||||
LATIN_BASIC(
|
||||
new BaseGlyphSetNumber(v -> T10PartDecimal.DEFAULT.BãßVoorElk(x -> v.add(Integer.toString(x.BȍőnRangTelNul())))),
|
||||
new BaseGlyphSetNumber(v -> T16PartHex.DEFAULT.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")),
|
||||
LATIN_DTMF(
|
||||
new BaseGlyphSetNumber(v -> T10PartDecimal.DEFAULT.BãßVoorElk(x -> v.add(x.BȍőnChinaValue()))).withSeperator(BãßBȍőnConstantsʸᴰ.STR_SPACE),
|
||||
new BaseGlyphSetNumber("1","2","3","A","4","5","6","B","7","8","9","C","*","0","#","D"),
|
||||
null),
|
||||
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.DEFAULT.BãßVoorElk(x -> v.add(x.BȍőnDialTone()))),
|
||||
new BaseGlyphSetNumber(v -> T16PartHex.DEFAULT.BãßVoorElk(x -> v.add(x.BȍőnDialTone()))),
|
||||
new BaseGlyphSetNumber("꜊꜈","꜊꜉","꜊꜋","꜊꜌","꜊꜍","꜊꜎","꜊꜏","꜊꜐","꜊꜑","˧˥","˧˦","˧˨","˧˩","˧꜒","˧꜓","˧꜔","˧꜕","˧꜖","꜏˥","꜏˦","꜏˧","꜏˨","꜏˩","꜏꜍","꜏꜎","꜏꜐","꜏꜑")),
|
||||
DIPAVALI_LRPATH_TOPHEX(
|
||||
new BaseGlyphSetNumber(v -> T10PartDecimal.DEFAULT.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
|
||||
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_TOP),
|
||||
TONE_SCRIPT.BȍőnNumber27()),
|
||||
DIPAVALI_LRPATH_SUBHEX(
|
||||
new BaseGlyphSetNumber(v -> T10PartDecimal.DEFAULT.BãßVoorElk(x -> v.add(x.BȍőnAlt1Value()))),
|
||||
new BaseGlyphSetNumber("˧˥˩","˧˩˥","˧˥˦","˧˩˨","˧˦˦","˧˨˨","˧˥˥","˧˩˩","˥˩˧","˩˥˧","˥˦˧","˩˨˧","˦˦˧","˨˨˧","˥˥˧","˩˩˧").withAltGlyphSet(BaseGlyphSet.LATIN_SUB),
|
||||
TONE_SCRIPT.BȍőnNumber27()),
|
||||
DIPAVALI_RLPATH_TOPHEX(
|
||||
new BaseGlyphSetNumber(v -> T10PartDecimal.DEFAULT.BãßVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
|
||||
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_TOP),
|
||||
TONE_SCRIPT.BȍőnNumber27()),
|
||||
DIPAVALI_RLPATH_SUBHEX(
|
||||
new BaseGlyphSetNumber(v -> T10PartDecimal.DEFAULT.BãßVoorElk(x -> v.add(x.BȍőnAlt2Value()))),
|
||||
new BaseGlyphSetNumber("꜔꜒꜖","꜔꜖꜒","꜔꜒꜓","꜔꜖꜕","꜔꜓꜓","꜔꜕꜕","꜔꜒꜒","꜔꜖꜖","꜒꜖꜔","꜖꜒꜔","꜒꜓꜔","꜖꜕꜔","꜓꜓꜔","꜕꜕꜔","꜒꜒꜔","꜖꜖꜔").withAltGlyphSet(BaseGlyphSet.LATIN_SUB),
|
||||
TONE_SCRIPT.BȍőnNumber27()),
|
||||
|
||||
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+11000–U+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","\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),
|
||||
new BaseGlyphSetNumber(
|
||||
"\ue3fa","\ue3fb","\ue3fc","\ue3fd","\ue3fe","\ue3ff","\ue400","\ue401","\ue401",
|
||||
"\ue386","\ue387","\ue388","\ue389","\ue38a","\ue38b","\ue38c","\ue38d","\ue38e",
|
||||
"\ue362","\ue363","\ue364","\ue365","\ue366","\ue367","\ue368","\ue369","\ue36a").withSeperator(BãßBȍőnConstantsʸᴰ.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"
|
||||
new BaseGlyphSetNumber("䷀", "䷁", "䷂", "䷃", "䷄", "䷅", "䷆", "䷇", "䷈", "䷉", "䷊", "䷋", "䷌", "䷍", "䷎", "䷏"),
|
||||
// TODO: replace Tai Xuan Jing Symbols are "T87PartXuanJing"
|
||||
new BaseGlyphSetNumber("𝌁","𝌂","𝌃","𝌄","𝌅","𝌆","𝌇","𝌈","𝌉","𝌊","𝌋","𝌌","𝌍","𝌎","𝌏","𝌐","𝌑","𝌒","𝌓","𝌔","𝌕","𝌖","𝌗","𝌘","𝌙","𝌚","𝌛")),
|
||||
CHINA_FORMAL(
|
||||
new BaseGlyphSetNumber(v -> T10PartDecimal.DEFAULT.BãßVoorElk(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ãßBȍőnConstantsʸᴰ.STR_SPACE),
|
||||
null,
|
||||
new BaseGlyphSetNumber("א","ב","ג","ד","ה","ו","ז","ח","ט","י","כ","ל","מ","נ","ס","ע","פ","צ","ק","ר","ש","ת","ך","ם","ן","ף","ץ"),
|
||||
true),
|
||||
;
|
||||
|
||||
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; }
|
||||
|
||||
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) {
|
||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, numbers);
|
||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, hex);
|
||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, gematria);
|
||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.REVERSE_SCRIPT, reverseScript); // TODO: ImGui workaround
|
||||
BBC.BOON_INIT(this);
|
||||
this.BȍőnJmxInit(BãßBȍőnGlyphSetKeyʸᴰ.JMX);
|
||||
printNumber10Count = BȍőnJmxInitGuageCounter(BãßBȍőnGlyphSetKeyʸᴰ.JMX, "printNumber10Count");
|
||||
printNumber16Count = BȍőnJmxInitGuageCounter(BãßBȍőnGlyphSetKeyʸᴰ.JMX, "printNumber16Count");
|
||||
printNumber27Count = BȍőnJmxInitGuageCounter(BãßBȍőnGlyphSetKeyʸᴰ.JMX, "printNumber27Count");
|
||||
}
|
||||
|
||||
public BaseGlyphSetNumber BȍőnNumber10() {
|
||||
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, BaseGlyphSetNumber.class);
|
||||
}
|
||||
|
||||
public BaseGlyphSetNumber BȍőnNumber16() {
|
||||
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, BaseGlyphSetNumber.class);
|
||||
}
|
||||
|
||||
public BaseGlyphSetNumber BȍőnNumber27() {
|
||||
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, BaseGlyphSetNumber.class);
|
||||
}
|
||||
|
||||
public Boolean BȍőnReverseScript() {
|
||||
return GET_BBC().GET_BOOL(BãßBȍőnGlyphSetKeyʸᴰ.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(int number, int numberMax) {
|
||||
printNumber10Count.increment();
|
||||
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';
|
||||
buf.append(BȍőnNumber10().BȍőnCharFor(numberDigit));
|
||||
if (i<numberStr.length() - 1) {
|
||||
buf.append(BȍőnNumber10().BȍőnCharSeperator());
|
||||
}
|
||||
}
|
||||
if (BȍőnReverseScript()) {
|
||||
return buf.reverse().toString();
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
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(0));
|
||||
if (i==numberStr.length() && BȍőnNumber16().BȍőnAltGlyphSet() != null) {
|
||||
printSet = BȍőnNumber16().BȍőnAltGlyphSet();
|
||||
}
|
||||
}
|
||||
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';
|
||||
}
|
||||
buf.append(printSet.BȍőnNumber16().BȍőnCharFor(numberDigit));
|
||||
if (i<numberStr.length() - 1) {
|
||||
buf.append(printSet.BȍőnNumber16().BȍőnCharSeperator());
|
||||
}
|
||||
if (i==0 && 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, 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=0;i<numberStr.length();i++) {
|
||||
char c = numberStr.charAt(i);
|
||||
int numberDigit = 0;
|
||||
if (c >= 'a') {
|
||||
numberDigit = c - 'a' + 10;
|
||||
} else {
|
||||
numberDigit = c - '0';
|
||||
}
|
||||
buf.append(printSet.BȍőnNumber27().BȍőnCharFor(numberDigit));
|
||||
if (i<numberStr.length() - 1) {
|
||||
buf.append(printSet.BȍőnNumber27().BȍőnCharSeperator());
|
||||
}
|
||||
if (i==0 && BȍőnNumber27().BȍőnAltGlyphSet() != null) {
|
||||
printSet = BȍőnNumber27().BȍőnAltGlyphSet();
|
||||
}
|
||||
}
|
||||
if (BȍőnReverseScript()) {
|
||||
return buf.reverse().toString();
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,189 +0,0 @@
|
|||
package love.distributedrebirth.unicode4d;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
import love.distributedrebirth.numberxd.base2t.BaseAppender;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public final class BaseGlyphSetNumber {
|
||||
|
||||
private final List<String> chars = new ArrayList<>();
|
||||
private BaseGlyphSet altGlyphSet = null;
|
||||
private String charSeperator = "";
|
||||
|
||||
public BaseGlyphSetNumber(String char0, String char1, String char2, String char3, String char4, String char5,
|
||||
String char6, String char7, String char8, String char9) {
|
||||
this.chars.add(char0);
|
||||
this.chars.add(char1);
|
||||
this.chars.add(char2);
|
||||
this.chars.add(char3);
|
||||
this.chars.add(char4);
|
||||
this.chars.add(char5);
|
||||
this.chars.add(char6);
|
||||
this.chars.add(char7);
|
||||
this.chars.add(char8);
|
||||
this.chars.add(char9);
|
||||
}
|
||||
|
||||
public BaseGlyphSetNumber(String char0, String char1, String char2, String char3, String char4, String char5,
|
||||
String char6, String char7, String char8, String char9, String charA, String charB, String charC,
|
||||
String charD, String charE, String charF) {
|
||||
this.chars.add(char0);
|
||||
this.chars.add(char1);
|
||||
this.chars.add(char2);
|
||||
this.chars.add(char3);
|
||||
this.chars.add(char4);
|
||||
this.chars.add(char5);
|
||||
this.chars.add(char6);
|
||||
this.chars.add(char7);
|
||||
this.chars.add(char8);
|
||||
this.chars.add(char9);
|
||||
this.chars.add(charA);
|
||||
this.chars.add(charB);
|
||||
this.chars.add(charC);
|
||||
this.chars.add(charD);
|
||||
this.chars.add(charE);
|
||||
this.chars.add(charF);
|
||||
}
|
||||
|
||||
public BaseGlyphSetNumber(String char1, String char2, String char3, String char4, String char5, String char6,
|
||||
String char7, String char8, String char9, String char10, String char20, String char30, String char40,
|
||||
String char50, String char60, String char70, String char80, String char90, String char100, String char200,
|
||||
String char300, String char400, String char500, String char600, String char700, String char800,
|
||||
String char900) {
|
||||
this.chars.add(char1);
|
||||
this.chars.add(char2);
|
||||
this.chars.add(char3);
|
||||
this.chars.add(char4);
|
||||
this.chars.add(char5);
|
||||
this.chars.add(char6);
|
||||
this.chars.add(char7);
|
||||
this.chars.add(char8);
|
||||
this.chars.add(char9);
|
||||
this.chars.add(char10);
|
||||
this.chars.add(char20);
|
||||
this.chars.add(char30);
|
||||
this.chars.add(char40);
|
||||
this.chars.add(char50);
|
||||
this.chars.add(char60);
|
||||
this.chars.add(char70);
|
||||
this.chars.add(char80);
|
||||
this.chars.add(char90);
|
||||
this.chars.add(char100);
|
||||
this.chars.add(char200);
|
||||
this.chars.add(char300);
|
||||
this.chars.add(char400);
|
||||
this.chars.add(char500);
|
||||
this.chars.add(char600);
|
||||
this.chars.add(char700);
|
||||
this.chars.add(char800);
|
||||
this.chars.add(char900);
|
||||
}
|
||||
|
||||
public BaseGlyphSetNumber(List<String> chars) {
|
||||
this.chars.addAll(chars);
|
||||
}
|
||||
|
||||
public BaseGlyphSetNumber(Consumer<BaseAppender<String>> consumer) {
|
||||
consumer.accept(new BaseAppender<String>() {
|
||||
|
||||
@Override
|
||||
public void add(String value) {
|
||||
chars.add(value);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public BaseGlyphSetNumber withAltGlyphSet(BaseGlyphSet altGlyphSet) {
|
||||
BaseGlyphSetNumber result = new BaseGlyphSetNumber(chars);
|
||||
result.altGlyphSet = altGlyphSet;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public BaseGlyphSetNumber withSeperator(String charSeperator) {
|
||||
BaseGlyphSetNumber result = new BaseGlyphSetNumber(chars);
|
||||
result.charSeperator = charSeperator;
|
||||
return result;
|
||||
}
|
||||
|
||||
public String BȍőnCharFor(int number) {
|
||||
return chars.get(number);
|
||||
}
|
||||
|
||||
public int BȍőnIndexOf(String str) {
|
||||
return chars.indexOf(str);
|
||||
}
|
||||
|
||||
public String BȍőnCharSeperator() {
|
||||
return charSeperator;
|
||||
}
|
||||
|
||||
public BaseGlyphSet BȍőnAltGlyphSet() {
|
||||
return altGlyphSet;
|
||||
}
|
||||
|
||||
public String BȍőnCharFor27(int number) {
|
||||
switch (number) {
|
||||
case 1:
|
||||
return chars.get(0);
|
||||
case 2:
|
||||
return chars.get(1);
|
||||
case 3:
|
||||
return chars.get(2);
|
||||
case 4:
|
||||
return chars.get(3);
|
||||
case 5:
|
||||
return chars.get(4);
|
||||
case 6:
|
||||
return chars.get(5);
|
||||
case 7:
|
||||
return chars.get(6);
|
||||
case 8:
|
||||
return chars.get(7);
|
||||
case 9:
|
||||
return chars.get(8);
|
||||
case 10:
|
||||
return chars.get(9);
|
||||
case 20:
|
||||
return chars.get(10);
|
||||
case 30:
|
||||
return chars.get(11);
|
||||
case 40:
|
||||
return chars.get(12);
|
||||
case 50:
|
||||
return chars.get(13);
|
||||
case 60:
|
||||
return chars.get(14);
|
||||
case 70:
|
||||
return chars.get(15);
|
||||
case 80:
|
||||
return chars.get(16);
|
||||
case 90:
|
||||
return chars.get(17);
|
||||
case 100:
|
||||
return chars.get(18);
|
||||
case 200:
|
||||
return chars.get(19);
|
||||
case 300:
|
||||
return chars.get(20);
|
||||
case 400:
|
||||
return chars.get(21);
|
||||
case 500:
|
||||
return chars.get(22);
|
||||
case 600:
|
||||
return chars.get(23);
|
||||
case 700:
|
||||
return chars.get(24);
|
||||
case 800:
|
||||
return chars.get(25);
|
||||
case 900:
|
||||
return chars.get(26);
|
||||
default:
|
||||
throw new IllegalArgumentException("Can't handle higher numbers: "+number);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
package love.distributedrebirth.unicode4d;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public enum BãßBȍőnGlyphSetKeyʸᴰ implements BãßBȍőnCoffinStoreKeyʸᴰ {
|
||||
|
||||
JMX,
|
||||
|
||||
NUMBERS,
|
||||
GEMATRIA,
|
||||
HEXIMALS,
|
||||
REVERSE_SCRIPT
|
||||
;
|
||||
}
|
||||
|
|
@ -1,406 +0,0 @@
|
|||
package love.distributedrebirth.unicode4d;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public enum UnicodePlaneᶻᴰ {
|
||||
|
||||
// =========== PLANE 0
|
||||
|
||||
BASIC_LATIN(0x0000, 0x007F),
|
||||
LATIN1_SUPPLEMENT(0x080,0x00FF),
|
||||
LATIN_EXTENDED_A(0x0100,0x017F),
|
||||
LATIN_EXTENDED_B(0x0180,0x024F),
|
||||
IPA_EXTENSIONS(0x0250,0x02AF),
|
||||
SPACING_MODIFIER_LETTERS(0x02B0,0x02FF),
|
||||
COMBINING_DIACRITICAL_MARKS(0x0300,0x036F),
|
||||
GREEK_AND_COPTIC(0x0370,0x03FF),
|
||||
CYRILLIC(0x0400,0x04FF),
|
||||
CYRILLIC_SUPPLEMENT(0x0500,0x052F),
|
||||
ARMENIAN(0x0530,0x058F),
|
||||
|
||||
HEBREW(0x0590,0x05FF, false),
|
||||
ARABIC(0x0600,0x06FF, false),
|
||||
SYRIAC(0x0700,0x074F, false),
|
||||
ARABIC_SUPPLEMENT(0x0750,0x077F, false),
|
||||
THAANA(0x0780,0x07BF, false),
|
||||
NKO(0x07C0,0x07FF, false),
|
||||
SAMARITAN(0x0800,0x083F, false),
|
||||
MANDAIC(0x0840,0x085F, false),
|
||||
SYRIAC_SUPPLEMENT(0x0860,0x086F, false),
|
||||
ARABIC_EXTENDED_B(0x0870,0x089F, false),
|
||||
ARABIV_EXTENDED_A(0x08A0,0x08FF, false),
|
||||
|
||||
DEVANAGARI(0x0900,0x097F),
|
||||
BENGALI(0x0980,0x09FF),
|
||||
GURMUKHI(0x0A00,0x0A7F),
|
||||
GUJARATI(0x0A80,0x0AFF),
|
||||
ORIYA(0x0B00,0x0B7F),
|
||||
TAMIL(0x0B80,0x0BFF),
|
||||
TELUGU(0x0C00,0x0C7F),
|
||||
KANNADA(0x0C80,0x0CFF),
|
||||
MALAYALAM(0x0D00,0x0D7F),
|
||||
SINHALA(0x0D80,0x0DFF),
|
||||
THAI(0x0E00,0x0E7F),
|
||||
LAO(0x0E80,0x0EFF),
|
||||
TIBETAN(0x0F00,0x0FFF),
|
||||
MYANMAR(0x1000,0x109F),
|
||||
|
||||
GEORGIAN(0x10A0,0x10FF),
|
||||
HANGUL_JAMO(0x1100,0x11FF),
|
||||
ETHIOPIC(0x1200,0x137F),
|
||||
ETHIOPIC_SUPPLEMENT(0x1380,0x139F),
|
||||
CHEROKEE(0x13A0,0x13FF),
|
||||
UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS(0x1400,0x167F),
|
||||
OGHAM(0x1680,0x169F),
|
||||
RUNIC(0x16A0,0x16FF),
|
||||
|
||||
TAGALOG (0x1700,0x171F),
|
||||
HANUNOO (0x1720,0x173F),
|
||||
BUHID (0x1740,0x175F),
|
||||
TAGBANWA (0x1760,0x177F),
|
||||
|
||||
KHMER (0x1780,0x17FF),
|
||||
MONGOLIAN (0x1800,0x18AF),
|
||||
UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED(0x18B0,0x18FF),
|
||||
LIMBU(0x1900,0x194F),
|
||||
|
||||
TAI_LE (0x1950,0x197F),
|
||||
NEW_TAI_LUE (0x1980,0x19DF),
|
||||
KHMER_SYMBOLS (0x19E0,0x19FF),
|
||||
BUGINESE (0x1A00,0x1A1F),
|
||||
TAI_THAM (0x1A20,0x1AAF),
|
||||
|
||||
COMBINING_DIACRITICAL_MARKS_EXTENDED(0x1AB0,0x1AFF),
|
||||
BALINESE (0x1B00,0x1B7F),
|
||||
SUNDANESE (0x1B80,0x1BBF),
|
||||
BATAK (0x1BC0,0x1BFF),
|
||||
LEPCHA (0x1C00,0x1C4F),
|
||||
OL_CHIKI (0x1C50,0x1C7F),
|
||||
CYRILLIC_EXTENDED_C (0x1C80,0x1C8F),
|
||||
GEORGIAN_EXTENDED (0x1C90,0x1CBF),
|
||||
SUNDANESE_SUPPLEMENT (0x1CC0,0x1CCF),
|
||||
VEDIC_EXTENSIONS (0x1CD0,0x1CFF),
|
||||
|
||||
PHONETIC_EXTENSIONS (0x1D00,0x1D7F),
|
||||
PHONETIC_EXTENSIONS_SUPPLEMENT (0x1D80,0x1DBF),
|
||||
COMBINING_DIACRITICAL_MARKS_SUPPLEMENT (0x1DC0,0x1DFF),
|
||||
LATIN_EXTENDED_ADDITINAL (0x1E00,0x1EFF),
|
||||
GREEK_EXTENDED (0x1F00,0x1FFF),
|
||||
|
||||
GENERAL_PUNCTUATION (0x2000,0x206F),
|
||||
SUPERSCRIPTS_AND_SUBSCRIPTS (0x2070,0x209F),
|
||||
CURRENCY_SYMBOLS (0x20A0,0x20CF),
|
||||
COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS (0x20D0,0x20FF),
|
||||
LETTERLIKE_SYMBOLS (0x2100,0x214F),
|
||||
NUMBER_FORMS (0x2150,0x218F),
|
||||
ARROWS (0x2190,0x21FF),
|
||||
MATHEMATICAL_OPERATORS (0x2200,0x22FF),
|
||||
MISCELLANEOUS_TECHNICAL (0x2300,0x23FF),
|
||||
CONTROL_PICTURES (0x2400,0x243F),
|
||||
OPTICAL_CHARACTER_RECOGNITION (0x2440,0x245F),
|
||||
ENCLOSED_ALPHANUMERICS (0x2460,0x24FF),
|
||||
BOX_DRAWING (0x2500,0x257F),
|
||||
BLOCK_ELEMENTS (0x2580,0x259F),
|
||||
GEOMETRIC_SHAPES (0x25A0,0x25FF),
|
||||
MISCELLANEOUS_SYMBOLS (0x2600,0x26FF),
|
||||
DINGBATS (0x2700,0x27BF),
|
||||
MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A (0x27C0,0x27EF),
|
||||
SUPPLEMENTAL_ARROWS_A (0x27F0,0x27FF),
|
||||
BRAILLE_PATTERNS (0x2800,0x28FF),
|
||||
SUPPLEMENTAL_ARROWS_B (0x2900,0x297F),
|
||||
MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B (0x2980,0x29FF),
|
||||
SUPPLEMENTAL_MATHEMATICAL_OPERATORS (0x2A00,0x2AFF),
|
||||
MISCELLANEOUS_SYMBOLS_AND_ARROWS (0x2B00,0x2BFF),
|
||||
|
||||
GLAGOLITIC (0x2C00,0x2C5F),
|
||||
LATIN_EXTENDED_C (0x2C60,0x2C7F),
|
||||
COPTIC (0x2C80,0x2CFF),
|
||||
GEORGIAN_SUPPLEMENT (0x2D00,0x2D2F),
|
||||
TIFINAGH (0x2D30,0x2D7F),
|
||||
ETHIOPIC_EXTENDED (0x2D80,0x2DDF),
|
||||
CYRILLIC_EXTENDED_A (0x2DE0,0x2DFF),
|
||||
SUPPLEMENTAL_PUNCTUATION (0x2E00,0x2E7F),
|
||||
|
||||
CJK_RADICALS_SUPPLEMENT (0x2E80,0x2EFF),
|
||||
KANGXI_RADICALS (0x2F00,0x2FDF),
|
||||
IDEOGRAPHIC_DESCRIPTION_CHARACTERS (0x2FF0,0x2FFF),
|
||||
CJK_SYMBOLS_AND_PUNCTUATION (0x3000,0x303F),
|
||||
HIRAGANA (0x3040,0x309F),
|
||||
KATAKANA (0x30A0,0x30FF),
|
||||
BOPOMOFO (0x3100,0x312F),
|
||||
HANGUL_COMPATIBILITY_JAMO (0x3130,0x318F),
|
||||
KANBUN (0x3190,0x319F),
|
||||
BOPOMOFO_EXTENDED (0x31A0,0x31BF),
|
||||
CJK_STROKES (0x31C0,0x31EF),
|
||||
KATAKANA_PHONETIC_EXTENSIONS (0x31F0,0x31FF),
|
||||
ENCLOSED_CJK_LETTERS_AND_MONTHS (0x3200,0x32FF),
|
||||
CJK_COMPATIBILITY (0x3300,0x33FF),
|
||||
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A (0x3400,0x4DBF),
|
||||
YIJING_HEXAGRAM_SYMBOLS (0x4DC0,0x4DFF),
|
||||
CJK_UNIFIED_IDEOGRAPHS (0x4E00,0x9FFF),
|
||||
|
||||
YI_SYLLABLES (0xA000,0xA48F),
|
||||
YI_RADICALS (0xA490,0xA4CF),
|
||||
LISU (0xA4D0,0xA4FF),
|
||||
VAI (0xA500,0xA63F),
|
||||
CYRILLIC_EXTENDED_B (0xA640,0xA69F),
|
||||
BAMUM (0xA6A0,0xA6FF),
|
||||
MODIFIER_TONE_LETTERS (0xA700,0xA71F),
|
||||
LATIN_EXTENDED_D (0xA720,0xA7FF),
|
||||
SYLOTI_NAGRI (0xA800,0xA82F),
|
||||
COMMON_INDIC_NUMBER_FORMS (0xA830,0xA83F),
|
||||
PHAGS_PA (0xA840,0xA87F),
|
||||
SAURASHTRA (0xA880,0xA8DF),
|
||||
DEVANAGARI_EXTENDED (0xA8E0,0xA8FF),
|
||||
KAYAH_LI (0xA900,0xA92F),
|
||||
REJANG (0xA930,0xA95F),
|
||||
HANGUL_JAMO_EXTENDED_A (0xA960,0xA97F),
|
||||
JAVANESE (0xA980,0xA9DF),
|
||||
MYANMAR_EXTENDED_B (0xA9E0,0xA9FF),
|
||||
CHAM (0xAA00,0xAA5F),
|
||||
MYANMAR_EXTENDED_A (0xAA60,0xAA7F),
|
||||
TAI_VIET (0xAA80,0xAADF),
|
||||
MEETEI_MAYEK_EXTENSIONS (0xAAE0,0xAAFF),
|
||||
ETHIOPIC_EXTENDED_A (0xAB00,0xAB2F),
|
||||
LATIN_EXTENDED_E (0xAB30,0xAB6F),
|
||||
CHEROKEE_SUPPLEMENT (0xAB70,0xABBF),
|
||||
MEETEI_MAYEK (0xABC0,0xABFF),
|
||||
HANGUL_SYLLABLES (0xAC00,0xD7AF),
|
||||
HANGUL_JAMO_EXTENDED_B (0xD7B0,0xD7FF),
|
||||
|
||||
HIGH_SURROGATES (0xD800,0xDB7F),
|
||||
HIGH_PRIVATE_USE_SURROGATES (0xDB80,0xDBFF),
|
||||
LOW_SURROGATES (0xDC00,0xDFFF),
|
||||
|
||||
PRIVATE_USE_AREA (0xE000,0xF8FF),
|
||||
CJK_COMPATIBILITY_IDEOGRAPHS (0xF900,0xFAFF),
|
||||
ALPHABETIC_PRESENTATION_FORMS (0xFB00,0xFB4F),
|
||||
ARABIC_PRESENTATION_FORMS_A (0xFB50,0xFDFF, false),
|
||||
VARIATION_SELECTORS (0xFE00,0xFE0F),
|
||||
VERTICAL_FORMS (0xFE10,0xFE1F),
|
||||
COMBINING_HALF_MARKS (0xFE20,0xFE2F),
|
||||
CJK_COMPATIBILITY_FORMS (0xFE30,0xFE4F),
|
||||
SMALL_FORM_VARIANTS (0xFE50,0xFE6F),
|
||||
ARABIC_PRESENTATION_FORMS_B (0xFE70,0xFEFF, false),
|
||||
HALFWIDTH_AND_FULLWIDTH_FORMS (0xFF00,0xFFEF),
|
||||
SPECIALS (0xFFF0,0xFFFF),
|
||||
|
||||
// =========== PLANE 1
|
||||
|
||||
LINEAR_B_SYLLABARY (0x10000,0x1007F),
|
||||
LINEAR_B_IDEOGRAMS (0x10080,0x100FF),
|
||||
AEGEAN_NUMBERS (0x10100,0x1013F),
|
||||
ANCIENT_GREEK_NUMBERS (0x10140,0x1018F),
|
||||
ANCIENT_SYMBOLS (0x10190,0x101CF),
|
||||
PHAISTOS_DISC (0x101D0,0x101FF),
|
||||
LYCIAN (0x10280,0x1029F),
|
||||
CARIAN (0x102A0,0x102DF),
|
||||
COPTIC_EPACT_NUMBERS (0x102E0,0x102FF),
|
||||
OLD_ITALIC (0x10300,0x1032F),
|
||||
GOTHIC (0x10330,0x1034F),
|
||||
OLD_PERMIC (0x10350,0x1037F),
|
||||
UGARITIC (0x10380,0x1039F),
|
||||
OLD_PERSIAN (0x103A0,0x103DF, false),
|
||||
DESERET (0x10400,0x1044F),
|
||||
SHAVIAN (0x10450,0x1047F),
|
||||
OSMANYA (0x10480,0x104AF),
|
||||
OSAGE (0x104B0,0x104FF),
|
||||
ELBASAN (0x10500,0x1052F),
|
||||
CAUCASIAN_ALBANIAN (0x10530,0x1056F),
|
||||
VITHKUQI (0x10570,0x105BF),
|
||||
LINEAR_A (0x10600,0x1077F),
|
||||
LATIN_EXTENDED_F (0x10780,0x107BF),
|
||||
|
||||
CYPRIOT_SYLLABARY (0x10800,0x1083F, false),
|
||||
IMPERIAL_ARAMAIC (0x10840,0x1085F, false),
|
||||
PALMYRENE (0x10860,0x1087F, false),
|
||||
NABATAEAN (0x10880,0x108AF, false),
|
||||
HATRAN (0x108E0,0x108FF, false),
|
||||
PHOENICIAN (0x10900,0x1091F, false),
|
||||
LYDIAN (0x10920,0x1093F, false),
|
||||
MEROITIC_HIEROGLYPHS (0x10980,0x1099F, false),
|
||||
MEROITIC_CURSIVE (0x109A0,0x109FF, false),
|
||||
KHAROSHTHI (0x10A00,0x10A5F, false),
|
||||
OLD_SOUTH_ARABIAN (0x10A60,0x10A7F, false),
|
||||
OLD_NORTH_ARABIAN (0x10A80,0x10A9F, false),
|
||||
MANICHAEAN (0x10AC0,0x10AFF, false),
|
||||
AVESTAN (0x10B00,0x10B3F, false),
|
||||
INSCRIPTIONAL_PARTHIAN (0x10B40,0x10B5F, false),
|
||||
INSCRIPTIONAL_PAHLAVI (0x10B60,0x10B7F, false),
|
||||
PSALTER_PAHLAVI (0x10B80,0x10BAF, false),
|
||||
OLD_TURKIC (0x10C00,0x10C4F, false),
|
||||
OLD_HUNGARIAN (0x10C80,0x10CFF, false),
|
||||
HANIFI_ROHINGYA (0x10D00,0x10D3F, false),
|
||||
RUMI_NUMERAL_SYMBOLS (0x10E60,0x10E7F, false),
|
||||
YEZIDI (0x10E80,0x10EBF, false),
|
||||
OLD_SOGDIAN (0x10F00,0x10F2F, false),
|
||||
SOGDIAN (0x10F30,0x10F6F, false),
|
||||
OLD_UYGHUR (0x10F70,0x10FAF, false),
|
||||
CHORASMIAN (0x10FB0,0x10FDF, false),
|
||||
ELYMAIC (0x10FE0,0x10FFF, false),
|
||||
|
||||
BRAHMI (0x11000,0x1107F),
|
||||
KAITHI (0x11080,0x110CF),
|
||||
SORA_SOMPENG (0x110D0,0x110FF),
|
||||
CHAKMA (0x11100,0x1114F),
|
||||
MAHAJANI (0x11150,0x1117F),
|
||||
SHARADA (0x11180,0x111DF),
|
||||
SINHALA_ARCHAIC_NUMBERS (0x111E0,0x111FF),
|
||||
KHOJKI (0x11200,0x1124F),
|
||||
MULTANI (0x11280,0x112AF),
|
||||
KHUDAWADI (0x112B0,0x112FF),
|
||||
GRANTHA (0x11300,0x1137F),
|
||||
NEWA (0x11400,0x1147F),
|
||||
TIRHUTA (0x11480,0x114DF),
|
||||
SIDDHAM (0x11580,0x115FF),
|
||||
MODI (0x11600,0x1165F),
|
||||
MONGOLIAN_SUPPLEMENT (0x11660,0x1167F),
|
||||
TAKRI (0x11680,0x116CF),
|
||||
AHOM (0x11700,0x1174F),
|
||||
DOGRA (0x11800,0x1184F),
|
||||
WARANG_CITI (0x118A0,0x118FF),
|
||||
DIVES_AKURU (0x11900,0x1195F),
|
||||
NANDINAGARI (0x119A0,0x119FF),
|
||||
ZANABAZAR_SQUARE (0x11A00,0x11A4F),
|
||||
SOYOMBO (0x11A50,0x11AAF),
|
||||
|
||||
UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A (0x11AB0,0x11ABF),
|
||||
|
||||
PAU_CIN_HAU (0x11AC0,0x11AFF),
|
||||
BHAIKSUKI (0x11C00,0x11C6F),
|
||||
MARCHEN (0x11C70,0x11CBF),
|
||||
MASARAM_GONDI (0x11D00,0x11D5F),
|
||||
GUNJALA_GONDI (0x11D60,0x11DAF),
|
||||
MAKASAR (0x11EE0,0x11EFF),
|
||||
|
||||
LISU_SUPPLEMENT (0x11FB0,0x11FBF),
|
||||
TAMIL_SUPPLEMENT (0x11FC0,0x11FFF),
|
||||
CUNEIFORM (0x12000,0x123FF),
|
||||
CUNEIFORM_NUMBERS_AND_PUNCTUATION (0x12400,0x1247F),
|
||||
EARLY_DYNASTIC_CUNEIFORM (0x12480,0x1254F),
|
||||
CYPRO_MINOAN (0x12F90,0x12FFF),
|
||||
EGYPTIAN_HIEROGLYPHS (0x13000,0x1342F),
|
||||
EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS (0x13430,0x1343F),
|
||||
ANATOLIAN_HIEROGLYPHS (0x14400,0x1467F),
|
||||
BAMUM_SUPPLEMENT (0x16800,0x16A3F),
|
||||
MRO (0x16A40,0x16A6F),
|
||||
TANGSA (0x16A70,0x16ACF),
|
||||
BASSA_VAH (0x16AD0,0x16AFF),
|
||||
PAHAWH_HMONG (0x16B00,0x16B8F),
|
||||
MEDEFAIDRIN (0x16E40,0x16E9F),
|
||||
MIAO (0x16F00,0x16F9F),
|
||||
IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION (0x16FE0,0x16FFF),
|
||||
TANGUT (0x17000,0x187FF),
|
||||
TANGUT_COMPONENTS (0x18800,0x18AFF),
|
||||
KHITAN_SMALL_SCRIPT (0x18B00,0x18CFF),
|
||||
TANGUT_SUPPLEMENT (0x18D00,0x18D7F),
|
||||
KANA_EXTENDED_B (0x1AFF0,0x1AFFF),
|
||||
KANA_SUPPLEMENT (0x1B000,0x1B0FF),
|
||||
KANA_EXTENDED_A (0x1B100,0x1B12F),
|
||||
SMALL_KANA_EXTENSION (0x1B130,0x1B16F),
|
||||
NUSHU (0x1B170,0x1B2FF),
|
||||
DUPLOYAN (0x1BC00,0x1BC9F),
|
||||
SHORTHAND_FORMAT_CONTROLS (0x1BCA0,0x1BCAF),
|
||||
|
||||
ZNAMENNY_MUSICAL_NOTATION (0x1CF00,0x1CFCF),
|
||||
BYZANTINE_MUSICAL_SYMBOLS (0x1D000,0x1D0FF),
|
||||
MUSICAL_SYMBOLS (0x1D100,0x1D1FF),
|
||||
ANCIENT_GREEK_MUSICAL_NOTATION (0x1D200,0x1D24F),
|
||||
MAYAN_NUMERALS (0x1D2E0,0x1D2FF),
|
||||
TAI_XUAN_JING_SYMBOLS (0x1D300,0x1D35F),
|
||||
COUNTING_ROD_NUMERALS (0x1D360,0x1D37F),
|
||||
MATHEMATICAL_ALPHANUMERIC_SYMBOLS (0x1D400,0x1D7FF),
|
||||
SUTTON_SIGNWRITING (0x1D800,0x1DAAF),
|
||||
|
||||
LATIN_EXTENDED_G (0x1DF00,0x1DFFF),
|
||||
GLAGOLITIC_SUPPLEMENT (0x1E000,0x1E02F),
|
||||
NYIAKENG_PUACHUE_HMONG (0x1E100,0x1E14F),
|
||||
TOTO (0x1E290,0x1E2BF),
|
||||
WANCHO (0x1E2C0,0x1E2FF),
|
||||
ETHIOPIC_EXTENDED_B (0x1E7E0,0x1E7FF),
|
||||
MENDE_KIKAKUI (0x1E800,0x1E8DF),
|
||||
ADLAM (0x1E900,0x1E95F),
|
||||
INDIC_SIYAQ_NUMBERS (0x1EC70,0x1ECBF),
|
||||
OTTOMAN_SIYAQ_NUMBERS (0x1ED00,0x1ED4F),
|
||||
ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS (0x1EE00,0x1EEFF, false),
|
||||
|
||||
MAHJONG_TILES (0x1F000,0x1F02F),
|
||||
DOMINO_TILES (0x1F030,0x1F09F),
|
||||
PLAYING_CARDS (0x1F0A0,0x1F0FF),
|
||||
|
||||
ENCLOSED_ALPHANUMERIC_SUPPLEMENT (0x1F100,0x1F1FF),
|
||||
ENCLOSED_IDEOGRAPHIC_SUPPLEMENT (0x1F200,0x1F2FF),
|
||||
MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS (0x1F300,0x1F5FF),
|
||||
EMOTICONS (0x1F600,0x1F64F),
|
||||
ORNAMENTAL_DINGBATS (0x1F650,0x1F67F),
|
||||
TRANSPORT_AND_MAP_SYMBOLS (0x1F680,0x1F6FF),
|
||||
ALCHEMICAL_SYMBOLS (0x1F700,0x1F77F),
|
||||
GEOMETRIC_SHAPES_EXTENDED (0x1F780,0x1F7FF),
|
||||
SUPPLEMENTAL_ARROWS_C (0x1F800,0x1F8FF),
|
||||
SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS (0x1F900,0x1F9FF),
|
||||
CHESS_SYMBOLS (0x1FA00,0x1FA6F),
|
||||
SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A (0x1FA70,0x1FAFF),
|
||||
SYMBOLS_FOR_LEGACY_COMPUTING (0x1FB00,0x1FBFF),
|
||||
|
||||
// =========== PLANE 2
|
||||
|
||||
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B (0x20000,0x2A6DF),
|
||||
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C (0x2A700,0x2B73F),
|
||||
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D (0x2B740,0x2B81F),
|
||||
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E (0x2B820,0x2CEAF),
|
||||
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F (0x2CEB0,0x2EBEF),
|
||||
CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT (0x2F800,0x2FA1F),
|
||||
|
||||
// =========== PLANE 3
|
||||
|
||||
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G (0x30000,0x3134F),
|
||||
|
||||
// =========== PLANE UNALLOCATED
|
||||
|
||||
UNALLOCATED(0x31350,0xFFFFF),
|
||||
|
||||
// =========== PLANE UNKNOWN
|
||||
|
||||
UNKNOWN(0x0FF00000,0x0FFFFFFF)
|
||||
;
|
||||
|
||||
private final int start;
|
||||
private final int stop;
|
||||
private final boolean leftToRight;
|
||||
|
||||
private UnicodePlaneᶻᴰ(int start, int stop) {
|
||||
this(start, stop, true);
|
||||
}
|
||||
|
||||
private UnicodePlaneᶻᴰ(int start, int stop, boolean leftToRight) {
|
||||
this.start = start;
|
||||
this.stop = stop;
|
||||
this.leftToRight = leftToRight;
|
||||
}
|
||||
|
||||
public int getStart() {
|
||||
return start;
|
||||
}
|
||||
|
||||
public int getStop() {
|
||||
return stop;
|
||||
}
|
||||
|
||||
public boolean isLeftToRight() {
|
||||
return leftToRight;
|
||||
}
|
||||
|
||||
public boolean isPlane0() {
|
||||
return getStart() < 0xFFFF;
|
||||
}
|
||||
|
||||
public static UnicodePlaneᶻᴰ valueOfUnicode(int unicode) {
|
||||
for (UnicodePlaneᶻᴰ value:values()) {
|
||||
if (unicode >= value.getStart() && unicode <= value.getStop()) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return UnicodePlaneᶻᴰ.UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
|
@ -13,9 +13,10 @@ import love.distributedrebirth.unicode4d.draw.DrawGlyphPath.ImGlyphQuadCurveTo;
|
|||
public class ImCharacter {
|
||||
|
||||
public static final float HEIGHT = 26f;
|
||||
public static final float WIDTH = 22f;
|
||||
public static final float MARGIN_MENUBAR = 4f;
|
||||
private static final ImVec2 SIZE = new ImVec2(22f, HEIGHT);
|
||||
private static final int COLOR = ImColor.intToColor(255, 255, 255, 255);
|
||||
private static final ImVec2 SIZE = new ImVec2(WIDTH, HEIGHT);
|
||||
private static final int DEFAULT_COLOR = ImColor.intToColor(255, 255, 255, 255);
|
||||
|
||||
public static void render(DrawCharacter drawChar) {
|
||||
ImGui.invisibleButton("canvas", SIZE.x, SIZE.y);
|
||||
|
|
@ -23,10 +24,13 @@ public class ImCharacter {
|
|||
ImVec2 p1 = ImGui.getItemRectMax(); // p1 = p0 + size
|
||||
ImDrawList drawList = ImGui.getWindowDrawList();
|
||||
drawList.pushClipRect(p0.x, p0.y, p1.x, p1.y);
|
||||
|
||||
// draw unicode4D
|
||||
float xOff = p0.x;
|
||||
float yOff = p0.y + 19f;
|
||||
drawUnicode4D(drawChar, p0.x, p0.y, DEFAULT_COLOR, drawList);
|
||||
drawList.popClipRect();
|
||||
}
|
||||
|
||||
public static void drawUnicode4D(DrawCharacter drawChar, float posX, float posY, int color, ImDrawList drawList) {
|
||||
float xOff = posX;
|
||||
float yOff = posY + 19f;
|
||||
float yFlip = -1f;
|
||||
float scale = 0.0199f;
|
||||
if (drawChar.getyMax() > 900) {
|
||||
|
|
@ -47,7 +51,7 @@ public class ImCharacter {
|
|||
yOff+prev.getY()*scale*yFlip,
|
||||
xOff+lineTo.getX()*scale,
|
||||
yOff+lineTo.getY()*scale*yFlip,
|
||||
COLOR);
|
||||
color);
|
||||
prev = cmd;
|
||||
continue;
|
||||
}
|
||||
|
|
@ -60,7 +64,7 @@ public class ImCharacter {
|
|||
yOff+quadCurveTo.getY1()*scale*yFlip,
|
||||
xOff+quadCurveTo.getX()*scale,
|
||||
yOff+quadCurveTo.getY()*scale*yFlip,
|
||||
COLOR,
|
||||
color,
|
||||
1);
|
||||
prev = cmd;
|
||||
continue;
|
||||
|
|
@ -71,11 +75,8 @@ public class ImCharacter {
|
|||
yOff+prev.getY()*scale*yFlip,
|
||||
xOff+first.getX()*scale,
|
||||
yOff+first.getY()*scale*yFlip,
|
||||
COLOR);
|
||||
color);
|
||||
}
|
||||
}
|
||||
//drawList.addQuad(p0.x, p0.y, p0.x+size.x, p0.y, p1.x, p1.y, p0.x, p0.y+size.y,
|
||||
// ImColor.intToColor(127, 127, 255, 255), 1f);
|
||||
drawList.popClipRect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import org.xml.sax.XMLReader;
|
|||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
|
||||
import love.distributedrebirth.numberxd.base2t.type.V072Tong;
|
||||
import love.distributedrebirth.numberxd.unicode.UnicodePlane;
|
||||
import love.distributedrebirth.unicode4d.atlas.FontAtlas;
|
||||
import love.distributedrebirth.unicode4d.atlas.FontAtlasDriver;
|
||||
import love.distributedrebirth.unicode4d.atlas.FontAtlasStore;
|
||||
|
|
@ -144,7 +145,7 @@ public class TestConvFont {
|
|||
private boolean startPoint = false;
|
||||
private V072Tong point = null;
|
||||
private int unicode = -1;
|
||||
private UnicodePlaneᶻᴰ unicodePlane2;
|
||||
private UnicodePlane unicodePlane2;
|
||||
|
||||
|
||||
public FontContentHandler(FontAtlasStore fontStore, String inputName) {
|
||||
|
|
@ -222,7 +223,7 @@ public class TestConvFont {
|
|||
unicodeStr = unicodeStr.substring(7);
|
||||
}
|
||||
unicode = Integer.parseInt(unicodeStr, 16);
|
||||
unicodePlane2 = UnicodePlaneᶻᴰ.valueOfUnicode(unicode);
|
||||
unicodePlane2 = UnicodePlane.valueOfUnicode(unicode);
|
||||
int xMax = Integer.parseInt(atts.getValue("xMax"));
|
||||
int yMax = Integer.parseInt(atts.getValue("yMax"));
|
||||
int xMin = Integer.parseInt(atts.getValue("xMin"));
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import javax.swing.JTable;
|
|||
import javax.swing.SwingUtilities;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
import love.distributedrebirth.numberxd.unicode.UnicodePlane;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class TestSwingPlane extends JPanel {
|
||||
|
|
@ -21,10 +22,10 @@ public class TestSwingPlane extends JPanel {
|
|||
|
||||
String[] columnNames = { "Plane", "Example"};
|
||||
|
||||
Object[][] data = new Object[UnicodePlaneᶻᴰ.values().length][2];
|
||||
Object[][] data = new Object[UnicodePlane.values().length][2];
|
||||
|
||||
int x=0;
|
||||
for (UnicodePlaneᶻᴰ plane:UnicodePlaneᶻᴰ.values()) {
|
||||
for (UnicodePlane plane:UnicodePlane.values()) {
|
||||
data[x][0] = plane.name();
|
||||
StringBuilder buf = new StringBuilder();
|
||||
int offset = 33;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue