Hewbrew+unicode=hell
This commit is contained in:
parent
76f3da5da7
commit
ca1fe9d9d0
|
@ -29,7 +29,7 @@ Unicode4D should be based on a extended version of the four corner method;
|
||||||
When the underlining data storage is china keyed we can render any glyph with it;
|
When the underlining data storage is china keyed we can render any glyph with it;
|
||||||
[Example](https://kanji.sljfaq.org/four.html)
|
[Example](https://kanji.sljfaq.org/four.html)
|
||||||
|
|
||||||
A mimetype based link chain sea file/package manager model aggregates into one hash;
|
A mimetype based link chain red sea file/package manager model aggregates into one hash;
|
||||||
- "RandomHashKey" Some random app
|
- "RandomHashKey" Some random app
|
||||||
- "XHTML7HashKey" Some static documents
|
- "XHTML7HashKey" Some static documents
|
||||||
- "OtherHashKey" One music album
|
- "OtherHashKey" One music album
|
||||||
|
@ -105,6 +105,7 @@ Mentat training goals;
|
||||||
* Learn LR dutch language and culture
|
* Learn LR dutch language and culture
|
||||||
* Learn RL hebrew based numbers
|
* Learn RL hebrew based numbers
|
||||||
* Learn the GLYPH china key value (nozero)
|
* Learn the GLYPH china key value (nozero)
|
||||||
|
* Brainspeed overclocking [JewishDirectMemoryAccess](https://www.youtube.com/watch?v=Hzz2Qo0pX3w) error results
|
||||||
* Run mental simulation in FTL etherspace
|
* Run mental simulation in FTL etherspace
|
||||||
|
|
||||||
True coders have fake love with an human partner because they love the machine by heart.
|
True coders have fake love with an human partner because they love the machine by heart.
|
||||||
|
|
|
@ -10,7 +10,7 @@ import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
||||||
import love.distributedrebirth.unicode4d.BaseGlyphSet;
|
import love.distributedrebirth.numberxd.unicode.BaseGlyphSet;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public class CalculatorDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
public class CalculatorDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||||
|
@ -58,7 +58,7 @@ public class CalculatorDeskApp extends AbstractDeskApp implements DeskAppRendere
|
||||||
String selectedItem = items[selectedNumberGlyph.get()];
|
String selectedItem = items[selectedNumberGlyph.get()];
|
||||||
BaseGlyphSet baseNumber = BaseGlyphSet.valueOf(selectedItem);
|
BaseGlyphSet baseNumber = BaseGlyphSet.valueOf(selectedItem);
|
||||||
if (changedLoc) {
|
if (changedLoc) {
|
||||||
valueLoc = baseNumber.BȍőnPrintNumber10(valueNum, 9999999);
|
valueLoc = baseNumber.BȍőnPrintNumber10(valueNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui.text("Value:");
|
ImGui.text("Value:");
|
||||||
|
@ -68,7 +68,7 @@ public class CalculatorDeskApp extends AbstractDeskApp implements DeskAppRendere
|
||||||
|
|
||||||
if (value.length() > 8) {
|
if (value.length() > 8) {
|
||||||
value = "0"; // dirty limit for parseInt
|
value = "0"; // dirty limit for parseInt
|
||||||
valueLoc = baseNumber.BȍőnPrintNumber10(Integer.parseInt(value), 9999999);
|
valueLoc = baseNumber.BȍőnPrintNumber10(Integer.parseInt(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(7), buttonSize, buttonSize)) {
|
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(7), buttonSize, buttonSize)) {
|
||||||
|
@ -173,7 +173,7 @@ public class CalculatorDeskApp extends AbstractDeskApp implements DeskAppRendere
|
||||||
}
|
}
|
||||||
int v2 = Integer.parseInt(value);
|
int v2 = Integer.parseInt(value);
|
||||||
if (valueArg.isEmpty()) {
|
if (valueArg.isEmpty()) {
|
||||||
valueLoc = baseNumber.BȍőnPrintNumber10(v2, 9999999);
|
valueLoc = baseNumber.BȍőnPrintNumber10(v2);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int v1 = Integer.parseInt(valueArg);
|
int v1 = Integer.parseInt(valueArg);
|
||||||
|
@ -197,7 +197,7 @@ public class CalculatorDeskApp extends AbstractDeskApp implements DeskAppRendere
|
||||||
}
|
}
|
||||||
valueNum = result;
|
valueNum = result;
|
||||||
value = "" + valueNum;
|
value = "" + valueNum;
|
||||||
valueLoc = baseNumber.BȍőnPrintNumber10(valueNum, 9999999);
|
valueLoc = baseNumber.BȍőnPrintNumber10(valueNum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
||||||
import love.distributedrebirth.unicode4d.BaseGlyphSet;
|
import love.distributedrebirth.numberxd.unicode.BaseGlyphSet;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public class DemoGlyphSetDeskApp extends AbstractDeskApp {
|
public class DemoGlyphSetDeskApp extends AbstractDeskApp {
|
||||||
|
|
|
@ -18,7 +18,7 @@ import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartAlt2ʸᴰ;
|
||||||
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartAlt3ʸᴰ;
|
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartAlt3ʸᴰ;
|
||||||
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartAlt4ʸᴰ;
|
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartAlt4ʸᴰ;
|
||||||
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartʸᴰ;
|
import love.distributedrebirth.numberxd.base2t.part.BãßBȍőnPartʸᴰ;
|
||||||
import love.distributedrebirth.unicode4d.BaseGlyphSet;
|
import love.distributedrebirth.numberxd.unicode.BaseGlyphSet;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public class DemoNumberPartDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
public class DemoNumberPartDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||||
|
|
|
@ -12,7 +12,7 @@ import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
||||||
import love.distributedrebirth.unicode4d.UnicodePlaneᶻᴰ;
|
import love.distributedrebirth.numberxd.unicode.UnicodePlane;
|
||||||
import love.distributedrebirth.unicode4d.draw.DrawCharacter;
|
import love.distributedrebirth.unicode4d.draw.DrawCharacter;
|
||||||
import love.distributedrebirth.unicode4d.draw.ImCharacter;
|
import love.distributedrebirth.unicode4d.draw.ImCharacter;
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ public class DemoUnicodePlaneDeskApp extends AbstractDeskApp implements DeskAppR
|
||||||
ImGui.tableSetupColumn(getTxt("colPlane"));
|
ImGui.tableSetupColumn(getTxt("colPlane"));
|
||||||
ImGui.tableSetupColumn(getTxt("colText"));
|
ImGui.tableSetupColumn(getTxt("colText"));
|
||||||
ImGui.tableHeadersRow();
|
ImGui.tableHeadersRow();
|
||||||
for (UnicodePlaneᶻᴰ plane:UnicodePlaneᶻᴰ.values()) {
|
for (UnicodePlane plane:UnicodePlane.values()) {
|
||||||
ImGui.tableNextRow();
|
ImGui.tableNextRow();
|
||||||
ImGui.tableNextColumn();
|
ImGui.tableNextColumn();
|
||||||
ImGui.text(plane.name());
|
ImGui.text(plane.name());
|
||||||
|
|
|
@ -1,19 +1,53 @@
|
||||||
package love.distributedrebirth.gdxapp4d.app.hewallet;
|
package love.distributedrebirth.gdxapp4d.app.hewallet;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import imgui.ImGui;
|
import imgui.ImGui;
|
||||||
import imgui.flag.ImGuiTableFlags;
|
import imgui.flag.ImGuiTableFlags;
|
||||||
|
import imgui.type.ImInt;
|
||||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
||||||
import love.distributedrebirth.numberxd.Gê̄ldGetậl;
|
import love.distributedrebirth.numberxd.Gê̄ldGetậl;
|
||||||
|
import love.distributedrebirth.numberxd.unicode.BaseGlyphSet;
|
||||||
|
import love.distributedrebirth.numberxd.unicode.SourceGlyphCharSet;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public class HeWalletDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
public class HeWalletDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||||
|
|
||||||
|
private final List<String> walletData = new ArrayList<String>();
|
||||||
|
private final List<String> paymentData = new ArrayList<String>();
|
||||||
|
private final ImInt selectedNumberGlyph = new ImInt();
|
||||||
|
private final ImInt selectedSourceGlyph = new ImInt();
|
||||||
|
|
||||||
public void create() {
|
public void create() {
|
||||||
getContours().setTitle("Hebrew Wallet");
|
getContours().setTitle("Hebrew Wallet");
|
||||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||||
|
|
||||||
|
String[] walletDataExample = {
|
||||||
|
"יהוה","יְסוֺד","ה","מ","מָ","ח","חֱ","חֱמָא",
|
||||||
|
"א","בד","ב","ד","ץףן",
|
||||||
|
"הזפץ","מספר","צצצצ","ץאאא","ץאא","דואר"
|
||||||
|
};
|
||||||
|
String[] paymentDataExample = {
|
||||||
|
"מִזְ","מ֗וֹר","לְאָ֫","סָ֥ף","אֱלֹ","הִ֗ים","נִצָּ֥ב","בַּֽעֲדַ","ת־","אֵ֑ל","בְּקֶ֖","רֶב","אֱלֹ","הִ֣ים","יִשְׁ","פֹּֽט",
|
||||||
|
"עַד־","מָתַ֣י","תִּ","שְׁפְּ","טוּ־","עָ֑וֶל","וּפְנֵ֥י","רְ֜שָׁ","עִ֗ים","תִּשְׂ","אוּ־סֶֽ","לָה",
|
||||||
|
"שִׁפְט","וּ־דָ֥ל","וְיָת֑","וֹם","עָנִ֖י","וָרָ֣שׁ","הַצְדִּֽ","יקוּ",
|
||||||
|
"פַּלְּט","וּ־דַ֣ל","וְאֶבְ","י֑וֹן","מִיַּ֖ד","רְשָׁ","עִ֣ים","הַצִּֽ","ילוּ",
|
||||||
|
"לֹ֚יָֽ","דְע֨וּ","וְלֹ֬א","יָבִ֗","ינוּ","בַּֽחֲ","שֵׁכָ֥ה","יִתְהַ","לָּ֑כוּ","יִ֜מּ֗","וֹטוּ","כָּל־מ֥","וֹסְדֵי","אָֽרֶץ",
|
||||||
|
"אֲֽנִ֣י","אָ֖מַ","רְתִּי","אֱלֹ","הִ֣ים","אַתֶּ֑ם","וּבְנֵ֖י","עֶלְ","י֣וֹן","כֻּלְּ","כֶֽם",
|
||||||
|
"אָכֵ֥ן","כְּאָ","דָ֣ם","תְּמוּ","ת֑וּן","וּכְאַ","חַ֖ד","הַשָּׂ","רִ֣ים","תִּפֹּֽ","לוּ",
|
||||||
|
"קוּ","מָ֣ה","אֱ֖לֹ","הִים","שָׁפְ","טָ֣ה","הָאָ֑","רֶץ","כִּֽי־","אַתָּ֥ה","תִ֜נְ",
|
||||||
|
"חַ֗ל","בְּכָל","־הַגּ","וֹיִֽם",
|
||||||
|
};
|
||||||
|
for (String data:walletDataExample) {
|
||||||
|
walletData.add(data);
|
||||||
|
}
|
||||||
|
for (String data:paymentDataExample) {
|
||||||
|
paymentData.add(data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -22,21 +56,39 @@ public class HeWalletDeskApp extends AbstractDeskApp implements DeskAppRenderer
|
||||||
ImGui.sameLine();
|
ImGui.sameLine();
|
||||||
ImGui.text("0000");
|
ImGui.text("0000");
|
||||||
ImGui.separator();
|
ImGui.separator();
|
||||||
if (ImGui.button("Pay")) {
|
|
||||||
|
List<String> bases = new ArrayList<>();
|
||||||
|
for (BaseGlyphSet base:BaseGlyphSet.values()) {
|
||||||
|
bases.add(base.name());
|
||||||
|
}
|
||||||
|
String[] items = new String[bases.size()];
|
||||||
|
items = bases.toArray(items);
|
||||||
|
ImGui.combo("GlyphType", selectedNumberGlyph, items);
|
||||||
|
String selectedItem = items[selectedNumberGlyph.get()];
|
||||||
|
BaseGlyphSet baseNumber = BaseGlyphSet.valueOf(selectedItem);
|
||||||
|
|
||||||
|
|
||||||
|
List<String> bases2 = new ArrayList<>();
|
||||||
|
for (SourceGlyphCharSet base2:SourceGlyphCharSet.values()) {
|
||||||
|
bases2.add(base2.name());
|
||||||
|
}
|
||||||
|
String[] items2 = new String[bases2.size()];
|
||||||
|
items2 = bases2.toArray(items2);
|
||||||
|
ImGui.combo("SourceType", selectedSourceGlyph, items2);
|
||||||
|
String selectedItem2 = items2[selectedSourceGlyph.get()];
|
||||||
|
SourceGlyphCharSet sourceCharset = SourceGlyphCharSet.valueOf(selectedItem2);
|
||||||
|
|
||||||
|
if (!paymentData.isEmpty() && ImGui.button("Pay" )) {
|
||||||
|
walletData.add(paymentData.remove(0));
|
||||||
}
|
}
|
||||||
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV | ImGuiTableFlags.Resizable;
|
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV | ImGuiTableFlags.Resizable;
|
||||||
ImGui.beginTable("wallet", 4, flags);
|
ImGui.beginTable("wallet", 4, flags);
|
||||||
ImGui.tableSetupColumn("In/Out");
|
ImGui.tableSetupColumn("In/Out");
|
||||||
ImGui.tableSetupColumn("AmountRaw");
|
ImGui.tableSetupColumn("Amount");
|
||||||
ImGui.tableSetupColumn("AmountFix");
|
ImGui.tableSetupColumn("Fraction");
|
||||||
ImGui.tableSetupColumn("Decimal");
|
ImGui.tableSetupColumn("Decimal");
|
||||||
ImGui.tableHeadersRow();
|
ImGui.tableHeadersRow();
|
||||||
|
|
||||||
String[] walletData = {
|
|
||||||
"ה","מ","מָ","ח","חֱ","חֱמָא",
|
|
||||||
"א","בד","ב","ד","ץףן",
|
|
||||||
"הזפץ","מספר","צצצצ","ץאאא","דואר"
|
|
||||||
};
|
|
||||||
for (String data:walletData) {
|
for (String data:walletData) {
|
||||||
Gê̄ldGetậl geld = new Gê̄ldGetậl(data);
|
Gê̄ldGetậl geld = new Gê̄ldGetậl(data);
|
||||||
Gê̄ldGetậl geld2 = geld.toClone(); // unit test
|
Gê̄ldGetậl geld2 = geld.toClone(); // unit test
|
||||||
|
@ -44,11 +96,11 @@ public class HeWalletDeskApp extends AbstractDeskApp implements DeskAppRenderer
|
||||||
ImGui.tableNextColumn();
|
ImGui.tableNextColumn();
|
||||||
ImGui.text(data.length()==2||data.length()==3?"OUT":"IN");
|
ImGui.text(data.length()==2||data.length()==3?"OUT":"IN");
|
||||||
ImGui.tableNextColumn();
|
ImGui.tableNextColumn();
|
||||||
ImGui.text(data);
|
|
||||||
ImGui.tableNextColumn();
|
|
||||||
ImGui.text(geld2.toHebrewString(true)); // true=reverse for ImGui
|
ImGui.text(geld2.toHebrewString(true)); // true=reverse for ImGui
|
||||||
ImGui.tableNextColumn();
|
ImGui.tableNextColumn();
|
||||||
ImGui.text(Double.toString(geld.getTotalDecimalValue()));
|
ImGui.text(geld2.toFractionNotation(baseNumber, sourceCharset));
|
||||||
|
ImGui.tableNextColumn();
|
||||||
|
ImGui.text(Double.toString(geld.toDecimalValue()));
|
||||||
}
|
}
|
||||||
ImGui.endTable();
|
ImGui.endTable();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,58 @@
|
||||||
package love.distributedrebirth.gdxapp4d.app.notepad;
|
package love.distributedrebirth.gdxapp4d.app.notepad;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import imgui.ImDrawList;
|
||||||
import imgui.ImGui;
|
import imgui.ImGui;
|
||||||
|
import imgui.ImVec2;
|
||||||
|
import imgui.type.ImInt;
|
||||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
|
||||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
|
||||||
|
import love.distributedrebirth.numberxd.unicode.UnicodePlane;
|
||||||
|
import love.distributedrebirth.unicode4d.draw.DrawCharacter;
|
||||||
import love.distributedrebirth.unicode4d.draw.ImCharacter;
|
import love.distributedrebirth.unicode4d.draw.ImCharacter;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public class NotepadDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
public class NotepadDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||||
|
|
||||||
private final VrGem4Unicode4DService unicode4DService;
|
private final VrGem4Unicode4DService unicode4DService;
|
||||||
private String value = "";
|
private final int gridWidth = 120;
|
||||||
|
private final int gridHeight = 40;
|
||||||
|
private final String gridChars;
|
||||||
|
private final int[][] gridBuffer;
|
||||||
|
private final int[] gridRank;
|
||||||
|
private final Random random;
|
||||||
|
private int runCounter;
|
||||||
|
private final ImInt runSpeed = new ImInt(30);
|
||||||
|
private final static UnicodePlane[] GRID_PLANES = {
|
||||||
|
UnicodePlane.BRAHMI,
|
||||||
|
UnicodePlane.UGARITIC,
|
||||||
|
UnicodePlane.BAMUM_SUPPLEMENT,
|
||||||
|
UnicodePlane.TAI_XUAN_JING_SYMBOLS
|
||||||
|
};
|
||||||
|
|
||||||
public NotepadDeskApp(VrGem4Unicode4DService unicode4DService) {
|
public NotepadDeskApp(VrGem4Unicode4DService unicode4DService) {
|
||||||
this.unicode4DService = unicode4DService;
|
this.unicode4DService = unicode4DService;
|
||||||
|
this.gridBuffer = new int[gridHeight][gridWidth];
|
||||||
|
this.gridRank = new int[gridWidth];
|
||||||
|
this.random = new Random();
|
||||||
|
for (int y=0; y<gridWidth; y++) {
|
||||||
|
gridRank[y] = 0;
|
||||||
|
for (int x=0; x<gridHeight; x++) {
|
||||||
|
gridBuffer[x][y] = ' ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
StringBuilder buf = new StringBuilder();
|
||||||
|
buf.append("仙上主天");
|
||||||
|
for (UnicodePlane plane:GRID_PLANES) {
|
||||||
|
for (int i=plane.getStart();i<plane.getStop();i++) {
|
||||||
|
buf.appendCodePoint(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gridChars = buf.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void create() {
|
public void create() {
|
||||||
|
@ -25,27 +62,53 @@ public class NotepadDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render() {
|
public void render() {
|
||||||
ImGui.text("Value:");
|
ImGui.sliderInt("RunSpeed", runSpeed.getData(), 0, 60);
|
||||||
ImGui.text(value);
|
ImGui.invisibleButton("matrix", ImGui.getWindowWidth(), ImGui.getWindowHeight()-(2*ImGui.getFontSize()));
|
||||||
|
ImVec2 p0 = ImGui.getItemRectMin();
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode('ﷲ'));
|
ImVec2 p1 = ImGui.getItemRectMax();
|
||||||
ImGui.sameLine();
|
ImDrawList drawList = ImGui.getWindowDrawList();
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode('v'));
|
drawList.pushClipRect(p0.x, p0.y, p1.x, p1.y);
|
||||||
ImGui.sameLine();
|
for(int y=0; y<gridHeight; y++) {
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode('r'));
|
for(int x=0; x<gridWidth; x++) {
|
||||||
ImGui.sameLine();
|
int unicodeChar = gridBuffer[y][x];
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode('G'));
|
DrawCharacter drawChar = unicode4DService.getCharacterForUnicode(unicodeChar);
|
||||||
ImGui.sameLine();
|
if (drawChar == null) {
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode('E'));
|
drawChar = unicode4DService.getCharacterForUnicode('ﷲ');
|
||||||
ImGui.sameLine();
|
}
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode('M'));
|
ImCharacter.drawUnicode4D(drawChar, x*ImCharacter.WIDTH, y*ImCharacter.HEIGHT, 0x3c68bb5b, drawList);
|
||||||
ImGui.sameLine();
|
}
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode('⁴'));
|
}
|
||||||
|
drawList.popClipRect();
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode('M'));
|
updateGrid();
|
||||||
ImGui.sameLine();
|
}
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode(Integer.parseInt("27d6", 16)));
|
|
||||||
ImGui.sameLine();
|
private void updateGrid() {
|
||||||
ImCharacter.render(unicode4DService.getCharacterForUnicode('仙'));
|
runCounter++;
|
||||||
|
if (runCounter < runSpeed.get()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
runCounter = 0;
|
||||||
|
for (int x=gridHeight-1; x>0; x--) {
|
||||||
|
for (int y=0; y<gridWidth; y++) {
|
||||||
|
gridBuffer[x][y] = gridBuffer[x-1][y];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int y=0; y<gridWidth; y++) {
|
||||||
|
int charSelect = 0;
|
||||||
|
for (int i=0;i<4;i++) {
|
||||||
|
charSelect = gridChars.codePointAt(random.nextInt(gridChars.length()));
|
||||||
|
DrawCharacter drawChar = unicode4DService.getCharacterForUnicode(charSelect);
|
||||||
|
if (drawChar != null) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int charRandom = gridRank[y]>0?(random.nextInt(100)<70? charSelect:' '):(random.nextInt(100)<1? charSelect:' ');
|
||||||
|
gridBuffer[0][y] = charRandom;
|
||||||
|
if (gridBuffer[0][y]==' ') {
|
||||||
|
gridRank[y] = 0;
|
||||||
|
} else {
|
||||||
|
gridRank[y]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,16 +4,19 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
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.BaseIteratorOctal;
|
||||||
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
|
import love.distributedrebirth.numberxd.base2t.part.T04PartQuad;
|
||||||
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
|
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
|
||||||
import love.distributedrebirth.numberxd.base2t.type.V036Teger;
|
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 = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V009Tyte> {
|
public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V009Tyte> {
|
||||||
|
|
||||||
private final V036Teger value;
|
private final V036Teger value;
|
||||||
private final double totalDecimalValue;
|
|
||||||
private static final Character LEFT_TO_RIGHT_MARK = 0x200E;
|
private static final Character LEFT_TO_RIGHT_MARK = 0x200E;
|
||||||
private static final Character RIGHT_TO_LEFT_MARK = 0x200F;
|
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) {
|
public Gê̄ldGetậl(V036Teger value) {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
this.totalDecimalValue = calculateDecimalValue();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Gê̄ldGetậl(String money) {
|
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);
|
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);
|
Gê̄ldGetậlÅtHebrewLetter letter = Gê̄ldGetậlÅtHebrewLetter.valueOfCharacter(codePoint);
|
||||||
if (Gê̄ldGetậlÅtHebrewLetter.NONE.equals(letter)) {
|
if (Gê̄ldGetậlÅtHebrewLetter.NONE.equals(letter)) {
|
||||||
throw new IllegalArgumentException("Unknown fraction codepoint: 0x"+Integer.toHexString(codePoint));
|
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()) {
|
if (result.isEmpty()) {
|
||||||
throw new IllegalArgumentException("No hebrew money found");
|
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 deelA = null;
|
||||||
Gê̄ldGetậlÅtHebrew deelB = null;
|
Gê̄ldGetậlÅtHebrew deelB = null;
|
||||||
Gê̄ldGetậlÅtHebrew deelC = 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();
|
deelC = new Gê̄ldGetậlÅtHebrew();
|
||||||
}
|
}
|
||||||
value = new V036Teger();
|
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_2, deelA.toTyte());
|
||||||
value.setTytePart(T04PartQuad.PART_3, deelB.toTyte());
|
value.setTytePart(T04PartQuad.PART_3, deelB.toTyte());
|
||||||
value.setTytePart(T04PartQuad.PART_4, deelC.toTyte());
|
value.setTytePart(T04PartQuad.PART_4, deelC.toTyte());
|
||||||
this.totalDecimalValue = calculateDecimalValue();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private double calculateDecimalValue() {
|
private boolean hasHebrewLetters(Gê̄ldGetậlÅtHebrew...nummers) {
|
||||||
Gê̄ldGetậlÅtHebrew nummerAlphabet = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_1));
|
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 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 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));
|
Gê̄ldGetậlÅtHebrew nummerDeelC = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_4));
|
||||||
boolean hasFourDigits =
|
boolean hasFourDigits = hasHebrewLetters(nummerDeelA, nummerDeelB, nummerDeelC);
|
||||||
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter()) &&
|
double totalDecimalValue = nummerFull0.toDecimalValue(hasFourDigits);
|
||||||
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelB.getLetter()) &&
|
|
||||||
!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelC.getLetter());
|
|
||||||
double totalDecimalValue = nummerAlphabet.toDecimalValue(hasFourDigits);
|
|
||||||
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter())) {
|
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter())) {
|
||||||
totalDecimalValue += nummerDeelA.toDecimalValue(false);
|
totalDecimalValue += nummerDeelA.toDecimalValue(false);
|
||||||
}
|
}
|
||||||
|
@ -120,8 +131,34 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
||||||
return totalDecimalValue;
|
return totalDecimalValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getTotalDecimalValue() {
|
public String toFractionNotation(BaseGlyphSet glyphCharset, SourceGlyphCharSet sourceCharset) {
|
||||||
return totalDecimalValue;
|
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() {
|
public String toHebrewString() {
|
||||||
|
@ -129,15 +166,15 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toHebrewString(boolean reverse) {
|
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 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 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));
|
Gê̄ldGetậlÅtHebrew nummerDeelC = new Gê̄ldGetậlÅtHebrew(value.getTytePart(T04PartQuad.PART_4));
|
||||||
StringBuilder buf = new StringBuilder();
|
StringBuilder buf = new StringBuilder();
|
||||||
buf.append(RIGHT_TO_LEFT_MARK);
|
buf.append(RIGHT_TO_LEFT_MARK);
|
||||||
buf.append(nummerAlphabet.getLetter().getCharacter());
|
buf.append(nummerFull0.getLetter().getCharacter());
|
||||||
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(nummerAlphabet.getVowel())) {
|
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(nummerFull0.getVowel())) {
|
||||||
buf.append(nummerAlphabet.getVowel().getCharacter());
|
buf.append(nummerFull0.getVowel().getCharacter());
|
||||||
}
|
}
|
||||||
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter())) {
|
if (!Gê̄ldGetậlÅtHebrewLetter.NONE.equals(nummerDeelA.getLetter())) {
|
||||||
buf.append(nummerDeelA.getLetter().getCharacter());
|
buf.append(nummerDeelA.getLetter().getCharacter());
|
||||||
|
@ -158,7 +195,7 @@ public class Gê̄ldGetậl extends AbstractBaseGetậlMatrix1<Gê̄ldGetậl,V0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (reverse) {
|
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();
|
return buf.toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,9 @@ import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
|
import love.distributedrebirth.numberxd.base2t.part.T03PartTrit;
|
||||||
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
|
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
|
||||||
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
|
import love.distributedrebirth.numberxd.base2t.type.V009Tyte;
|
||||||
|
import love.distributedrebirth.numberxd.unicode.BaseGlyphSet;
|
||||||
|
import love.distributedrebirth.numberxd.unicode.SourceGlyph;
|
||||||
|
import love.distributedrebirth.numberxd.unicode.SourceGlyphCharSet;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public class Gê̄ldGetậlÅtHebrew {
|
public class Gê̄ldGetậlÅtHebrew {
|
||||||
|
@ -40,18 +43,36 @@ public class Gê̄ldGetậlÅtHebrew {
|
||||||
return new V009Tyte(value0, value1, value2);
|
return new V009Tyte(value0, value1, value2);
|
||||||
}
|
}
|
||||||
|
|
||||||
public double toDecimalValue(boolean firstChar) {
|
public double toDecimalValue(boolean useFullValue) {
|
||||||
double fraction = letter.getDecimal();
|
double fraction = letter.getDecimal();
|
||||||
if (firstChar) {
|
|
||||||
return fraction; // use full value
|
|
||||||
}
|
|
||||||
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(vowel)) {
|
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(vowel)) {
|
||||||
fraction = fraction * Math.pow(FRACTION_POWER, vowel.getFractionOffset());
|
fraction = fraction * Math.pow(FRACTION_POWER, vowel.getFractionOffset());
|
||||||
}
|
}
|
||||||
|
if (useFullValue) {
|
||||||
|
return fraction;
|
||||||
|
}
|
||||||
double result = NUMERATOR_ONE/fraction;
|
double result = NUMERATOR_ONE/fraction;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void toFractionNotation(boolean useFullValue, StringBuilder buf, BaseGlyphSet glyphCharset, SourceGlyphCharSet sourceCharset) {
|
||||||
|
String fraction = glyphCharset.BȍőnPrintNumber10(letter.getDecimal());
|
||||||
|
if (!Gê̄ldGetậlÅtHebrewVowel.NONE.equals(vowel)) {
|
||||||
|
fraction = sourceCharset.print(SourceGlyph.PART_BRACKET_BEGIN)
|
||||||
|
+ fraction
|
||||||
|
+ sourceCharset.print(SourceGlyph.MATH_MULTIPLY)
|
||||||
|
+ glyphCharset.BȍőnPrintNumber10(FRACTION_POWER)
|
||||||
|
+ sourceCharset.print(SourceGlyph.MATH_POWER)
|
||||||
|
+ glyphCharset.BȍőnPrintNumber10(vowel.getFractionOffset())
|
||||||
|
+ sourceCharset.print(SourceGlyph.PART_BRACKET_CLOSE);
|
||||||
|
}
|
||||||
|
if (!useFullValue) {
|
||||||
|
buf.append(glyphCharset.BȍőnPrintNumber10((int)NUMERATOR_ONE));
|
||||||
|
buf.append(sourceCharset.print(SourceGlyph.MATH_DIVIDE));
|
||||||
|
}
|
||||||
|
buf.append(fraction);
|
||||||
|
}
|
||||||
|
|
||||||
public Gê̄ldGetậlÅtHebrewLetter getLetter() {
|
public Gê̄ldGetậlÅtHebrewLetter getLetter() {
|
||||||
return letter;
|
return letter;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,25 @@ public enum Gê̄ldGetậlÅtHebrewVowel {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Gê̄ldGetậlÅtHebrewVowel valueOfCharacter(char codePoint) {
|
public static Gê̄ldGetậlÅtHebrewVowel valueOfCharacter(char codePoint) {
|
||||||
|
// TODO add & move complete alias map
|
||||||
|
if (codePoint == 0x591 || codePoint == 0x596 || codePoint == 0x597 || codePoint == 0x59a || codePoint == 0x59c) {
|
||||||
|
return VOWEL_1;
|
||||||
|
}
|
||||||
|
if (codePoint == 0x5a5 || codePoint == 0x5a8 || codePoint == 0x5ab || codePoint == 0x5ac) {
|
||||||
|
return VOWEL_1;
|
||||||
|
}
|
||||||
|
if (codePoint == 0x5ba || codePoint == 0x5bc || codePoint == 0x5bd) {
|
||||||
|
return VOWEL_1;
|
||||||
|
}
|
||||||
|
if (codePoint == 0x5c1 || codePoint == 0x5c2) {
|
||||||
|
return VOWEL_1;
|
||||||
|
}
|
||||||
|
if (codePoint == 0x5b0) {
|
||||||
|
return VOWEL_2;
|
||||||
|
}
|
||||||
|
if (codePoint == 0x592 || codePoint == 0x5bb) {
|
||||||
|
return VOWEL_3;
|
||||||
|
}
|
||||||
return CHAR_MAP.getOrDefault(codePoint, Gê̄ldGetậlÅtHebrewVowel.NONE);
|
return CHAR_MAP.getOrDefault(codePoint, Gê̄ldGetậlÅtHebrewVowel.NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package love.distributedrebirth.unicode4d;
|
package love.distributedrebirth.numberxd.unicode;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ import love.distributedrebirth.numberxd.base2t.part.T16PartHex;
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
@BãßBȍőnClassInfoʸᴰ(name = "BaseGlyphSet", purpose = "The encoded base scripts.")
|
@BãßBȍőnClassInfoʸᴰ(name = "BaseGlyphSet", purpose = "The encoded base scripts.")
|
||||||
@BãßBȍőnPackageInfoʸᴰ(name = "love.distributedrebirth.numberxd")
|
@BãßBȍőnPackageInfoʸᴰ(name = "love.distributedrebirth.numberxd")
|
||||||
public enum BaseGlyphSet implements DefaultEnumSetᴶᴹˣ<BaseGlyphSet,BãßBȍőnGlyphSetKeyʸᴰ> {
|
public enum BaseGlyphSet implements DefaultEnumSetᴶᴹˣ<BaseGlyphSet,BaseGlyphSetKeyʸᴰ> {
|
||||||
// TODO: Move this into unicode4D and TyyPartXxx
|
// TODO: Move this into unicode4D and TyyPartXxx
|
||||||
|
|
||||||
LATIN_BASIC(
|
LATIN_BASIC(
|
||||||
|
@ -94,7 +94,7 @@ public enum BaseGlyphSet implements DefaultEnumSetᴶᴹˣ<BaseGlyphSet,BãßBȍ
|
||||||
/* TODO: random selection replace with correct AND Egyptian hieroglyphs should be mapped 0x13000 to 0x1342E but for now on 0xE000 to 0xE42E (BMP) */
|
/* TODO: random selection replace with correct AND Egyptian hieroglyphs should be mapped 0x13000 to 0x1342E but for now on 0xE000 to 0xE42E (BMP) */
|
||||||
HIERO(
|
HIERO(
|
||||||
new BaseGlyphSetNumber("\ue429","\ue3fa","\ue3fb","\ue3fc","\ue3fd","\ue3fe","\ue3ff","\ue400","\ue401","\ue401").withSeperator(BãßBȍőnConstantsʸᴰ.STR_SPACE),
|
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("\uE236","\uE237","\uE238","\uE239","\uE23A","\uE23B","\uE23C","\uE23D","\uE23E","\uE23F","\uE241","\uE243","\uE244","\uE245","\uE246","\uE247"),
|
||||||
new BaseGlyphSetNumber(
|
new BaseGlyphSetNumber(
|
||||||
"\ue3fa","\ue3fb","\ue3fc","\ue3fd","\ue3fe","\ue3ff","\ue400","\ue401","\ue401",
|
"\ue3fa","\ue3fb","\ue3fc","\ue3fd","\ue3fe","\ue3ff","\ue400","\ue401","\ue401",
|
||||||
"\ue386","\ue387","\ue388","\ue389","\ue38a","\ue38b","\ue38c","\ue38d","\ue38e",
|
"\ue386","\ue387","\ue388","\ue389","\ue38a","\ue38b","\ue38c","\ue38d","\ue38e",
|
||||||
|
@ -152,8 +152,8 @@ public enum BaseGlyphSet implements DefaultEnumSetᴶᴹˣ<BaseGlyphSet,BãßBȍ
|
||||||
private final GuageCounterᴶᴹˣ printNumber10Count;
|
private final GuageCounterᴶᴹˣ printNumber10Count;
|
||||||
private final GuageCounterᴶᴹˣ printNumber16Count;
|
private final GuageCounterᴶᴹˣ printNumber16Count;
|
||||||
private final GuageCounterᴶᴹˣ printNumber27Count;
|
private final GuageCounterᴶᴹˣ printNumber27Count;
|
||||||
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
|
private final BãßBȍőnCoffinOpenʸᴰ<BaseGlyphSetKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
|
||||||
public BãßBȍőnCoffinʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> GET_BBC() { return BBC; }
|
public BãßBȍőnCoffinʸᴰ<BaseGlyphSetKeyʸᴰ> GET_BBC() { return BBC; }
|
||||||
|
|
||||||
private BaseGlyphSet(BaseGlyphSetNumber numbers) {
|
private BaseGlyphSet(BaseGlyphSetNumber numbers) {
|
||||||
this(numbers, null, null);
|
this(numbers, null, null);
|
||||||
|
@ -164,31 +164,31 @@ public enum BaseGlyphSet implements DefaultEnumSetᴶᴹˣ<BaseGlyphSet,BãßBȍ
|
||||||
}
|
}
|
||||||
|
|
||||||
private BaseGlyphSet(BaseGlyphSetNumber numbers, BaseGlyphSetNumber hex, BaseGlyphSetNumber gematria, Boolean reverseScript) {
|
private BaseGlyphSet(BaseGlyphSetNumber numbers, BaseGlyphSetNumber hex, BaseGlyphSetNumber gematria, Boolean reverseScript) {
|
||||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, numbers);
|
BBC.PUT_OBJ(BaseGlyphSetKeyʸᴰ.NUMBERS, numbers);
|
||||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, hex);
|
BBC.PUT_OBJ(BaseGlyphSetKeyʸᴰ.HEXIMALS, hex);
|
||||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, gematria);
|
BBC.PUT_OBJ(BaseGlyphSetKeyʸᴰ.GEMATRIA, gematria);
|
||||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.REVERSE_SCRIPT, reverseScript); // TODO: ImGui workaround
|
BBC.PUT_OBJ(BaseGlyphSetKeyʸᴰ.REVERSE_SCRIPT, reverseScript); // TODO: ImGui workaround
|
||||||
BBC.BOON_INIT(this);
|
BBC.BOON_INIT(this);
|
||||||
this.BȍőnJmxInit(BãßBȍőnGlyphSetKeyʸᴰ.JMX);
|
this.BȍőnJmxInit(BaseGlyphSetKeyʸᴰ.JMX);
|
||||||
printNumber10Count = BȍőnJmxInitGuageCounter(BãßBȍőnGlyphSetKeyʸᴰ.JMX, "printNumber10Count");
|
printNumber10Count = BȍőnJmxInitGuageCounter(BaseGlyphSetKeyʸᴰ.JMX, "printNumber10Count");
|
||||||
printNumber16Count = BȍőnJmxInitGuageCounter(BãßBȍőnGlyphSetKeyʸᴰ.JMX, "printNumber16Count");
|
printNumber16Count = BȍőnJmxInitGuageCounter(BaseGlyphSetKeyʸᴰ.JMX, "printNumber16Count");
|
||||||
printNumber27Count = BȍőnJmxInitGuageCounter(BãßBȍőnGlyphSetKeyʸᴰ.JMX, "printNumber27Count");
|
printNumber27Count = BȍőnJmxInitGuageCounter(BaseGlyphSetKeyʸᴰ.JMX, "printNumber27Count");
|
||||||
}
|
}
|
||||||
|
|
||||||
public BaseGlyphSetNumber BȍőnNumber10() {
|
public BaseGlyphSetNumber BȍőnNumber10() {
|
||||||
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, BaseGlyphSetNumber.class);
|
return GET_BBC().GET_OBJ(BaseGlyphSetKeyʸᴰ.NUMBERS, BaseGlyphSetNumber.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public BaseGlyphSetNumber BȍőnNumber16() {
|
public BaseGlyphSetNumber BȍőnNumber16() {
|
||||||
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, BaseGlyphSetNumber.class);
|
return GET_BBC().GET_OBJ(BaseGlyphSetKeyʸᴰ.HEXIMALS, BaseGlyphSetNumber.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public BaseGlyphSetNumber BȍőnNumber27() {
|
public BaseGlyphSetNumber BȍőnNumber27() {
|
||||||
return GET_BBC().GET_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, BaseGlyphSetNumber.class);
|
return GET_BBC().GET_OBJ(BaseGlyphSetKeyʸᴰ.GEMATRIA, BaseGlyphSetNumber.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean BȍőnReverseScript() {
|
public Boolean BȍőnReverseScript() {
|
||||||
return GET_BBC().GET_BOOL(BãßBȍőnGlyphSetKeyʸᴰ.REVERSE_SCRIPT);
|
return GET_BBC().GET_BOOL(BaseGlyphSetKeyʸᴰ.REVERSE_SCRIPT);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String BȍőnConvertTo(String numbers) {
|
public String BȍőnConvertTo(String numbers) {
|
||||||
|
@ -204,6 +204,10 @@ public enum BaseGlyphSet implements DefaultEnumSetᴶᴹˣ<BaseGlyphSet,BãßBȍ
|
||||||
return buf.toString();
|
return buf.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String BȍőnPrintNumber10(int number) {
|
||||||
|
return BȍőnPrintNumber10(number, number);
|
||||||
|
}
|
||||||
|
|
||||||
public String BȍőnPrintNumber10(int number, int numberMax) {
|
public String BȍőnPrintNumber10(int number, int numberMax) {
|
||||||
printNumber10Count.increment();
|
printNumber10Count.increment();
|
||||||
String maxDigitNumber = Integer.toString(numberMax);
|
String maxDigitNumber = Integer.toString(numberMax);
|
|
@ -1,10 +1,10 @@
|
||||||
package love.distributedrebirth.unicode4d;
|
package love.distributedrebirth.numberxd.unicode;
|
||||||
|
|
||||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public enum BãßBȍőnGlyphSetKeyʸᴰ implements BãßBȍőnCoffinStoreKeyʸᴰ {
|
public enum BaseGlyphSetKeyʸᴰ implements BãßBȍőnCoffinStoreKeyʸᴰ {
|
||||||
|
|
||||||
JMX,
|
JMX,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package love.distributedrebirth.unicode4d;
|
package love.distributedrebirth.numberxd.unicode;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -0,0 +1,64 @@
|
||||||
|
package love.distributedrebirth.numberxd.unicode;
|
||||||
|
|
||||||
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
|
|
||||||
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
|
public enum SourceGlyph {
|
||||||
|
// Death to latin
|
||||||
|
// Death to unicode
|
||||||
|
|
||||||
|
MATH_PLUS("+","\uE3F6", "+"),
|
||||||
|
MATH_MINUS("-","\uE3F3", "-"),
|
||||||
|
MATH_MULTIPLY("*","\uE3F4", "*"),
|
||||||
|
MATH_DIVIDE("/","\uE3F1", "/"),
|
||||||
|
MATH_POWER("^","\uE1F9", "^"),
|
||||||
|
|
||||||
|
LOGIC_NOT("!","\uE374", "‡"),
|
||||||
|
LOGIC_AND("&","\uE396", "&"),
|
||||||
|
LOGIC_OR("|","\uE39B", "︱"),
|
||||||
|
|
||||||
|
VAR_ASSIGN("=","\uE3F7", "〒"),
|
||||||
|
VAR_PERCENTAGE("%","\uE35D", "%"),
|
||||||
|
VAR_TEMPLATE("$","\uE1E3", "$"),
|
||||||
|
VAR_COMMENT("#","\uE1E6", "#"),
|
||||||
|
VAR_AT("@","\uE3F2", "@"),
|
||||||
|
|
||||||
|
PART_BRACKET_BEGIN("(","\uE286", "〔"),
|
||||||
|
PART_BRACKET_CLOSE(")","\uE287", "〕"),
|
||||||
|
PART_ARRAY_BEGIN("[","\uE288", "「"),
|
||||||
|
PART_ARRAY_CLOSE("]","\uE289", "」"),
|
||||||
|
PART_BLOCK_BEGIN("{","\uE25A", "〖"),
|
||||||
|
PART_BLOCK_CLOSE("}","\uE25B", "〗"),
|
||||||
|
PART_TAG_BEGIN("<","\uE339", "〈"),
|
||||||
|
PART_TAG_CLOSE(">","\uE33A", "〉"),
|
||||||
|
|
||||||
|
PART_EXT_ARRAY_BEGIN("˧[","\uE258", "⦗ "),
|
||||||
|
PART_EXT_ARRAY_CLOSE("]꜔","\uE25D", "⦘"),
|
||||||
|
PART_EXT_BLOCK_BEGIN("˧{","\uE259", "【"),
|
||||||
|
PART_EXT_BLOCK_CLOSE("}꜔","\uE25C", "】"),
|
||||||
|
PART_EXT_TAG_BEGIN("˧<","\uE255", "《"),
|
||||||
|
PART_EXT_TAG_CLOSE(">꜔","\uE256", "》"),
|
||||||
|
;
|
||||||
|
|
||||||
|
private final String charLatin;
|
||||||
|
private final String charHiero;
|
||||||
|
private final String charChina;
|
||||||
|
|
||||||
|
private SourceGlyph(String charLatin, String charHiero, String charChina) {
|
||||||
|
this.charLatin = charLatin;
|
||||||
|
this.charHiero = charHiero;
|
||||||
|
this.charChina = charChina;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCharLatin() {
|
||||||
|
return charLatin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCharHiero() {
|
||||||
|
return charHiero;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCharChina() {
|
||||||
|
return charChina;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package love.distributedrebirth.numberxd.unicode;
|
||||||
|
|
||||||
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
|
|
||||||
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
|
public enum SourceGlyphCharSet {
|
||||||
|
|
||||||
|
LATIN,
|
||||||
|
HIERO,
|
||||||
|
CHINA,
|
||||||
|
;
|
||||||
|
|
||||||
|
public String print(SourceGlyph ugs) {
|
||||||
|
if (this == HIERO) {
|
||||||
|
StringBuilder buf = new StringBuilder();
|
||||||
|
buf.append("\u2006"); // TODO: find better hiero font
|
||||||
|
buf.append(ugs.getCharHiero());
|
||||||
|
buf.append("\u2006");
|
||||||
|
return buf.toString();
|
||||||
|
}
|
||||||
|
if (this == CHINA) {
|
||||||
|
return ugs.getCharChina();
|
||||||
|
}
|
||||||
|
return ugs.getCharLatin();
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,9 @@
|
||||||
package love.distributedrebirth.unicode4d;
|
package love.distributedrebirth.numberxd.unicode;
|
||||||
|
|
||||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public enum UnicodePlaneᶻᴰ {
|
public enum UnicodePlane {
|
||||||
|
|
||||||
// =========== PLANE 0
|
// =========== PLANE 0
|
||||||
|
|
||||||
|
@ -369,11 +369,11 @@ public enum UnicodePlaneᶻᴰ {
|
||||||
private final int stop;
|
private final int stop;
|
||||||
private final boolean leftToRight;
|
private final boolean leftToRight;
|
||||||
|
|
||||||
private UnicodePlaneᶻᴰ(int start, int stop) {
|
private UnicodePlane(int start, int stop) {
|
||||||
this(start, stop, true);
|
this(start, stop, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private UnicodePlaneᶻᴰ(int start, int stop, boolean leftToRight) {
|
private UnicodePlane(int start, int stop, boolean leftToRight) {
|
||||||
this.start = start;
|
this.start = start;
|
||||||
this.stop = stop;
|
this.stop = stop;
|
||||||
this.leftToRight = leftToRight;
|
this.leftToRight = leftToRight;
|
||||||
|
@ -395,12 +395,12 @@ public enum UnicodePlaneᶻᴰ {
|
||||||
return getStart() < 0xFFFF;
|
return getStart() < 0xFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UnicodePlaneᶻᴰ valueOfUnicode(int unicode) {
|
public static UnicodePlane valueOfUnicode(int unicode) {
|
||||||
for (UnicodePlaneᶻᴰ value:values()) {
|
for (UnicodePlane value:values()) {
|
||||||
if (unicode >= value.getStart() && unicode <= value.getStop()) {
|
if (unicode >= value.getStart() && unicode <= value.getStop()) {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return UnicodePlaneᶻᴰ.UNKNOWN;
|
return UnicodePlane.UNKNOWN;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package love.distributedrebirth.numberxd;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
|
|
||||||
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
|
public class Gê̄ldGetậlTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testHebrewAliases() {
|
||||||
|
String[] paymentDataExample = {
|
||||||
|
"מִזְ","מ֗וֹר","לְאָ֫","סָ֥ף","אֱלֹ","הִ֗ים","נִצָּ֥ב","בַּֽעֲדַ","ת־","אֵ֑ל","בְּקֶ֖","רֶב","אֱלֹ","הִ֣ים","יִשְׁ","פֹּֽט",
|
||||||
|
"עַד־","מָתַ֣י","תִּ","שְׁפְּ","טוּ־","עָ֑וֶל","וּפְנֵ֥י","רְ֜שָׁ","עִ֗ים","תִּשְׂ","אוּ־סֶֽ","לָה",
|
||||||
|
"שִׁפְט","וּ־דָ֥ל","וְיָת֑","וֹם","עָנִ֖י","וָרָ֣שׁ","הַצְדִּֽ","יקוּ",
|
||||||
|
"פַּלְּט","וּ־דַ֣ל","וְאֶבְ","י֑וֹן","מִיַּ֖ד","רְשָׁ","עִ֣ים","הַצִּֽ","ילוּ",
|
||||||
|
"לֹ֚יָֽ","דְע֨וּ","וְלֹ֬א","יָבִ֗","ינוּ","בַּֽחֲ","שֵׁכָ֥ה","יִתְהַ","לָּ֑כוּ","יִ֜מּ֗","וֹטוּ","כָּל־מ֥","וֹסְדֵי","אָֽרֶץ",
|
||||||
|
"אֲֽנִ֣י","אָ֖מַ","רְתִּי","אֱלֹ","הִ֣ים","אַתֶּ֑ם","וּבְנֵ֖י","עֶלְ","י֣וֹן","כֻּלְּ","כֶֽם",
|
||||||
|
"אָכֵ֥ן","כְּאָ","דָ֣ם","תְּמוּ","ת֑וּן","וּכְאַ","חַ֖ד","הַשָּׂ","רִ֣ים","תִּפֹּֽ","לוּ",
|
||||||
|
"קוּ","מָ֣ה","אֱ֖לֹ","הִים","שָׁפְ","טָ֣ה","הָאָ֑","רֶץ","כִּֽי־","אַתָּ֥ה","תִ֜נְ",
|
||||||
|
"חַ֗ל","בְּכָל","־הַגּ","וֹיִֽם",
|
||||||
|
};
|
||||||
|
for (String data:paymentDataExample) {
|
||||||
|
Gê̄ldGetậl geld = new Gê̄ldGetậl(data);
|
||||||
|
Assertions.assertNotNull(geld.toHebrewString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,9 +13,10 @@ import love.distributedrebirth.unicode4d.draw.DrawGlyphPath.ImGlyphQuadCurveTo;
|
||||||
public class ImCharacter {
|
public class ImCharacter {
|
||||||
|
|
||||||
public static final float HEIGHT = 26f;
|
public static final float HEIGHT = 26f;
|
||||||
|
public static final float WIDTH = 22f;
|
||||||
public static final float MARGIN_MENUBAR = 4f;
|
public static final float MARGIN_MENUBAR = 4f;
|
||||||
private static final ImVec2 SIZE = new ImVec2(22f, HEIGHT);
|
private static final ImVec2 SIZE = new ImVec2(WIDTH, HEIGHT);
|
||||||
private static final int COLOR = ImColor.intToColor(255, 255, 255, 255);
|
private static final int DEFAULT_COLOR = ImColor.intToColor(255, 255, 255, 255);
|
||||||
|
|
||||||
public static void render(DrawCharacter drawChar) {
|
public static void render(DrawCharacter drawChar) {
|
||||||
ImGui.invisibleButton("canvas", SIZE.x, SIZE.y);
|
ImGui.invisibleButton("canvas", SIZE.x, SIZE.y);
|
||||||
|
@ -23,10 +24,13 @@ public class ImCharacter {
|
||||||
ImVec2 p1 = ImGui.getItemRectMax(); // p1 = p0 + size
|
ImVec2 p1 = ImGui.getItemRectMax(); // p1 = p0 + size
|
||||||
ImDrawList drawList = ImGui.getWindowDrawList();
|
ImDrawList drawList = ImGui.getWindowDrawList();
|
||||||
drawList.pushClipRect(p0.x, p0.y, p1.x, p1.y);
|
drawList.pushClipRect(p0.x, p0.y, p1.x, p1.y);
|
||||||
|
drawUnicode4D(drawChar, p0.x, p0.y, DEFAULT_COLOR, drawList);
|
||||||
// draw unicode4D
|
drawList.popClipRect();
|
||||||
float xOff = p0.x;
|
}
|
||||||
float yOff = p0.y + 19f;
|
|
||||||
|
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 yFlip = -1f;
|
||||||
float scale = 0.0199f;
|
float scale = 0.0199f;
|
||||||
if (drawChar.getyMax() > 900) {
|
if (drawChar.getyMax() > 900) {
|
||||||
|
@ -47,7 +51,7 @@ public class ImCharacter {
|
||||||
yOff+prev.getY()*scale*yFlip,
|
yOff+prev.getY()*scale*yFlip,
|
||||||
xOff+lineTo.getX()*scale,
|
xOff+lineTo.getX()*scale,
|
||||||
yOff+lineTo.getY()*scale*yFlip,
|
yOff+lineTo.getY()*scale*yFlip,
|
||||||
COLOR);
|
color);
|
||||||
prev = cmd;
|
prev = cmd;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -60,7 +64,7 @@ public class ImCharacter {
|
||||||
yOff+quadCurveTo.getY1()*scale*yFlip,
|
yOff+quadCurveTo.getY1()*scale*yFlip,
|
||||||
xOff+quadCurveTo.getX()*scale,
|
xOff+quadCurveTo.getX()*scale,
|
||||||
yOff+quadCurveTo.getY()*scale*yFlip,
|
yOff+quadCurveTo.getY()*scale*yFlip,
|
||||||
COLOR,
|
color,
|
||||||
1);
|
1);
|
||||||
prev = cmd;
|
prev = cmd;
|
||||||
continue;
|
continue;
|
||||||
|
@ -71,11 +75,8 @@ public class ImCharacter {
|
||||||
yOff+prev.getY()*scale*yFlip,
|
yOff+prev.getY()*scale*yFlip,
|
||||||
xOff+first.getX()*scale,
|
xOff+first.getX()*scale,
|
||||||
yOff+first.getY()*scale*yFlip,
|
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.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
|
import love.distributedrebirth.numberxd.base2t.part.T02PartBinary;
|
||||||
import love.distributedrebirth.numberxd.base2t.type.V072Tong;
|
import love.distributedrebirth.numberxd.base2t.type.V072Tong;
|
||||||
|
import love.distributedrebirth.numberxd.unicode.UnicodePlane;
|
||||||
import love.distributedrebirth.unicode4d.atlas.FontAtlas;
|
import love.distributedrebirth.unicode4d.atlas.FontAtlas;
|
||||||
import love.distributedrebirth.unicode4d.atlas.FontAtlasDriver;
|
import love.distributedrebirth.unicode4d.atlas.FontAtlasDriver;
|
||||||
import love.distributedrebirth.unicode4d.atlas.FontAtlasStore;
|
import love.distributedrebirth.unicode4d.atlas.FontAtlasStore;
|
||||||
|
@ -144,7 +145,7 @@ public class TestConvFont {
|
||||||
private boolean startPoint = false;
|
private boolean startPoint = false;
|
||||||
private V072Tong point = null;
|
private V072Tong point = null;
|
||||||
private int unicode = -1;
|
private int unicode = -1;
|
||||||
private UnicodePlaneᶻᴰ unicodePlane2;
|
private UnicodePlane unicodePlane2;
|
||||||
|
|
||||||
|
|
||||||
public FontContentHandler(FontAtlasStore fontStore, String inputName) {
|
public FontContentHandler(FontAtlasStore fontStore, String inputName) {
|
||||||
|
@ -222,7 +223,7 @@ public class TestConvFont {
|
||||||
unicodeStr = unicodeStr.substring(7);
|
unicodeStr = unicodeStr.substring(7);
|
||||||
}
|
}
|
||||||
unicode = Integer.parseInt(unicodeStr, 16);
|
unicode = Integer.parseInt(unicodeStr, 16);
|
||||||
unicodePlane2 = UnicodePlaneᶻᴰ.valueOfUnicode(unicode);
|
unicodePlane2 = UnicodePlane.valueOfUnicode(unicode);
|
||||||
int xMax = Integer.parseInt(atts.getValue("xMax"));
|
int xMax = Integer.parseInt(atts.getValue("xMax"));
|
||||||
int yMax = Integer.parseInt(atts.getValue("yMax"));
|
int yMax = Integer.parseInt(atts.getValue("yMax"));
|
||||||
int xMin = Integer.parseInt(atts.getValue("xMin"));
|
int xMin = Integer.parseInt(atts.getValue("xMin"));
|
||||||
|
|
|
@ -10,6 +10,7 @@ import javax.swing.JTable;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||||
|
import love.distributedrebirth.numberxd.unicode.UnicodePlane;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
public class TestSwingPlane extends JPanel {
|
public class TestSwingPlane extends JPanel {
|
||||||
|
@ -21,10 +22,10 @@ public class TestSwingPlane extends JPanel {
|
||||||
|
|
||||||
String[] columnNames = { "Plane", "Example"};
|
String[] columnNames = { "Plane", "Example"};
|
||||||
|
|
||||||
Object[][] data = new Object[UnicodePlaneᶻᴰ.values().length][2];
|
Object[][] data = new Object[UnicodePlane.values().length][2];
|
||||||
|
|
||||||
int x=0;
|
int x=0;
|
||||||
for (UnicodePlaneᶻᴰ plane:UnicodePlaneᶻᴰ.values()) {
|
for (UnicodePlane plane:UnicodePlane.values()) {
|
||||||
data[x][0] = plane.name();
|
data[x][0] = plane.name();
|
||||||
StringBuilder buf = new StringBuilder();
|
StringBuilder buf = new StringBuilder();
|
||||||
int offset = 33;
|
int offset = 33;
|
||||||
|
|
|
@ -107,8 +107,9 @@ public enum GDXAppTos4 implements DefaultEnumInstanceᴶᴹˣ<GDXAppTos4,GDXAppT
|
||||||
screen.dispose();
|
screen.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public void selectScreen(Class<? extends Screen> screenClass) {
|
public <T extends Screen> T selectScreen(Class<T> screenClass) {
|
||||||
Screen screen = screens.get(screenClass);
|
Screen screen = screens.get(screenClass);
|
||||||
if (screen == null) {
|
if (screen == null) {
|
||||||
throw new NullPointerException("Unknow screen: "+screenClass);
|
throw new NullPointerException("Unknow screen: "+screenClass);
|
||||||
|
@ -120,5 +121,6 @@ public enum GDXAppTos4 implements DefaultEnumInstanceᴶᴹˣ<GDXAppTos4,GDXAppT
|
||||||
this.screen.show();
|
this.screen.show();
|
||||||
this.screen.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
|
this.screen.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
|
||||||
selectScreenCounter.increment();
|
selectScreenCounter.increment();
|
||||||
|
return (T)screen;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,6 +125,7 @@ public class GDXAppTos4BootFactory {
|
||||||
"love.distributedrebirth.numberxd.base2t.part,"+
|
"love.distributedrebirth.numberxd.base2t.part,"+
|
||||||
"love.distributedrebirth.numberxd.base2t.type,"+
|
"love.distributedrebirth.numberxd.base2t.type,"+
|
||||||
"love.distributedrebirth.numberxd.base2t.typexl,"+
|
"love.distributedrebirth.numberxd.base2t.typexl,"+
|
||||||
|
"love.distributedrebirth.numberxd.unicode,"+
|
||||||
"love.distributedrebirth.numberxd.x4o,"+
|
"love.distributedrebirth.numberxd.x4o,"+
|
||||||
"love.distributedrebirth.warpme,"+
|
"love.distributedrebirth.warpme,"+
|
||||||
"love.distributedrebirth.warpme.core,"+
|
"love.distributedrebirth.warpme.core,"+
|
||||||
|
|
|
@ -11,5 +11,5 @@ public interface SystemGdxTerminal {
|
||||||
|
|
||||||
void disposeScreen(Screen screen);
|
void disposeScreen(Screen screen);
|
||||||
|
|
||||||
void selectScreen(Class<? extends Screen> screenClass);
|
<T extends Screen> T selectScreen(Class<T> screenClass);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
|
||||||
import love.distributedrebirth.numberxd.base2t.Base2PartsFactory;
|
import love.distributedrebirth.numberxd.base2t.Base2PartsFactory;
|
||||||
import love.distributedrebirth.numberxd.base2t.Base2Terminator;
|
import love.distributedrebirth.numberxd.base2t.Base2Terminator;
|
||||||
import love.distributedrebirth.numberxd.base2t.Base2WarpCore;
|
import love.distributedrebirth.numberxd.base2t.Base2WarpCore;
|
||||||
import love.distributedrebirth.unicode4d.BaseGlyphSet;
|
import love.distributedrebirth.numberxd.unicode.BaseGlyphSet;
|
||||||
import love.distributedrebirth.warpme.ship.WaterShipOcean;
|
import love.distributedrebirth.warpme.ship.WaterShipOcean;
|
||||||
|
|
||||||
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
@BãßBȍőnAuthorInfoʸᴰ(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||||
|
|
|
@ -34,6 +34,9 @@ public class DeskAppController {
|
||||||
|
|
||||||
public void removeDeskApp(DeskApp deskApp) {
|
public void removeDeskApp(DeskApp deskApp) {
|
||||||
deskApps.remove(deskApp);
|
deskApps.remove(deskApp);
|
||||||
|
if (currentDeskApp == deskApp) {
|
||||||
|
currentDeskApp = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<DeskApp> getDeskApps() {
|
public List<DeskApp> getDeskApps() {
|
||||||
|
|
|
@ -55,13 +55,32 @@ public class DeskTopScreenMenu {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderSelfMenu(DeskTopScreen appScreen, DeskApp deskApp) {
|
private void renderSelfMenu(DeskTopScreen appScreen, DeskApp deskApp) {
|
||||||
if (ImGui.beginMenu(deskApp.getContours().getTitle())) {;
|
if (ImGui.beginMenu(deskApp.getContours().getTitle())) {
|
||||||
if (ImGui.menuItem(FontAwesomeIcons.FolderMinus + " Minimize", "", fileMinimizeSelected, deskApp != null )) {
|
if (ImGui.menuItem(FontAwesomeIcons.FolderMinus + " Minimize", "", fileMinimizeSelected, deskApp != null )) {
|
||||||
fileMinimizeSelected.set(false);
|
fileMinimizeSelected.set(false);
|
||||||
if (deskApp != null) {
|
if (deskApp != null) {
|
||||||
appScreen.getDeskAppController().setCurrentDeskApp(null);
|
appScreen.getDeskAppController().setCurrentDeskApp(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (ImGui.beginMenu(FontAwesomeIcons.WindowRestore + " Move")) {
|
||||||
|
if (ImGui.menuItem("Desktop1", "", false, !(appScreen instanceof ScreenDesktop1))) {
|
||||||
|
appScreen.getDeskAppController().removeDeskApp(deskApp);
|
||||||
|
terminal.selectScreen(ScreenDesktop1.class).getDeskAppController().addDeskApp(deskApp);
|
||||||
|
}
|
||||||
|
if (ImGui.menuItem("Desktop2", "", false, !(appScreen instanceof ScreenDesktop2))) {
|
||||||
|
appScreen.getDeskAppController().removeDeskApp(deskApp);
|
||||||
|
terminal.selectScreen(ScreenDesktop2.class).getDeskAppController().addDeskApp(deskApp);
|
||||||
|
}
|
||||||
|
if (ImGui.menuItem("Desktop3", "", false, !(appScreen instanceof ScreenDesktop3))) {
|
||||||
|
appScreen.getDeskAppController().removeDeskApp(deskApp);
|
||||||
|
terminal.selectScreen(ScreenDesktop3.class).getDeskAppController().addDeskApp(deskApp);
|
||||||
|
}
|
||||||
|
if (ImGui.menuItem("Desktop4", "", false, !(appScreen instanceof ScreenDesktop4))) {
|
||||||
|
appScreen.getDeskAppController().removeDeskApp(deskApp);
|
||||||
|
terminal.selectScreen(ScreenDesktop4.class).getDeskAppController().addDeskApp(deskApp);
|
||||||
|
}
|
||||||
|
ImGui.endMenu();
|
||||||
|
}
|
||||||
if (ImGui.menuItem(FontAwesomeIcons.WindowClose + " Exit", "", fileCloseSelected, deskApp != null)) {
|
if (ImGui.menuItem(FontAwesomeIcons.WindowClose + " Exit", "", fileCloseSelected, deskApp != null)) {
|
||||||
fileCloseSelected.set(false);
|
fileCloseSelected.set(false);
|
||||||
if (deskApp != null) {
|
if (deskApp != null) {
|
||||||
|
|
1
pom.xml
1
pom.xml
|
@ -127,6 +127,7 @@
|
||||||
love.distributedrebirth.numberxd.base2t.part,
|
love.distributedrebirth.numberxd.base2t.part,
|
||||||
love.distributedrebirth.numberxd.base2t.type,
|
love.distributedrebirth.numberxd.base2t.type,
|
||||||
love.distributedrebirth.numberxd.base2t.typexl,
|
love.distributedrebirth.numberxd.base2t.typexl,
|
||||||
|
love.distributedrebirth.numberxd.unicode,
|
||||||
love.distributedrebirth.numberxd.x4o,
|
love.distributedrebirth.numberxd.x4o,
|
||||||
love.distributedrebirth.warpme,
|
love.distributedrebirth.warpme,
|
||||||
love.distributedrebirth.warpme.core,
|
love.distributedrebirth.warpme.core,
|
||||||
|
|
Loading…
Reference in a new issue