Hewbrew+unicode=hell

This commit is contained in:
Willem Cazander 2022-10-10 18:04:27 +02:00
parent 76f3da5da7
commit ca1fe9d9d0
27 changed files with 460 additions and 115 deletions

View file

@ -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.

View file

@ -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);
} }
} }
} }

View file

@ -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 {

View file

@ -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 {

View file

@ -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());

View file

@ -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();
} }

View file

@ -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]++;
}
}
} }
} }

View file

@ -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();
} }

View file

@ -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;
} }

View file

@ -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);
} }
} }

View file

@ -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);

View file

@ -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,

View file

@ -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;

View file

@ -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;
}
}

View file

@ -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();
}
}

View file

@ -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;
} }
} }

View file

@ -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());
}
}
}

View file

@ -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);
drawList.popClipRect();
}
// draw unicode4D public static void drawUnicode4D(DrawCharacter drawChar, float posX, float posY, int color, ImDrawList drawList) {
float xOff = p0.x; float xOff = posX;
float yOff = p0.y + 19f; 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();
} }
} }

View file

@ -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"));

View file

@ -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;

View file

@ -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;
} }
} }

View file

@ -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,"+

View file

@ -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);
} }

View file

@ -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 = "©Δ∞ 仙上主天")

View file

@ -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() {

View file

@ -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) {

View file

@ -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,