Added missing fonts and wip chain build

This commit is contained in:
Willem Cazander 2022-03-11 14:20:22 +01:00
parent 81aee053dd
commit 69c081ae48
16 changed files with 192 additions and 33 deletions

View file

@ -1,20 +0,0 @@
{
"name": "conv-font",
"version": "0.0.1",
"description": "Convert font data to XML intermediate.",
"private": true,
"scripts": {
"start": "npm run-script conv0 && npm run-script conv1 && npm run-script conv2 && npm run-script conv3 && npm run-script conv4 && npm run-script conv5 && npm run-script conv6",
"conv0": "node conv-font.js ../main-gdxapp/assets/font/code-2000.ttf > bin/code-2000.xml",
"conv1": "node conv-font.js ../main-gdxapp/assets/font/free-sans.ttf > bin/free-sans.xml",
"conv2": "node conv-font.js ../main-gdxapp/assets/font/noto-sans-brahmi.ttf > bin/noto-sans-brahmi.xml",
"conv3": "node conv-font.js ../main-gdxapp/assets/font/new-gardiner-bmp.ttf > bin/new-gardiner-bmp.xml",
"conv4": "node conv-font.js ../main-gdxapp/assets/font/fa-solid-900.ttf > bin/fa-solid-900.xml",
"conv5": "node conv-font.js ../main-gdxapp/assets/font/code-2001.ttf > bin/code-2001.xml",
"conv6": "node conv-font.js ../main-gdxapp/assets/font/code-2002.ttf > bin/code-2002.xml",
"debug": "node conv-font.js ../main-gdxapp/assets/font/free-sans.ttf"
},
"dependencies": {
"opentype.js": "1.3.4"
}
}

View file

@ -4,7 +4,7 @@
<entry key="1c2d010066a39d96ace8af0ecc37c72d6f79109f30939e2959befcd9ce25fc8d">../gdxapp4d-chain-sys-engine/src/main/chain</entry> <entry key="1c2d010066a39d96ace8af0ecc37c72d6f79109f30939e2959befcd9ce25fc8d">../gdxapp4d-chain-sys-engine/src/main/chain</entry>
<entry key="f8be3b29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41a410b">../gdxapp4d-chain-sys-engine-fuel/src/main/chain</entry> <entry key="f8be3b29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41a410b">../gdxapp4d-chain-sys-engine-fuel/src/main/chain</entry>
<entry key="8833aa29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b58de">../gdxapp4d-chain-dep-osgi-scr/src/main/chain</entry> <entry key="8833aa29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b58de">../gdxapp4d-chain-dep-osgi-scr/src/main/chain</entry>
<entry key="9944bb29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b62ed">../gdxapp4d-chain-sys-unicode4d/src/main/chain</entry> <entry key="9944bb29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b62ed">../gdxapp4d-chain-sys-unicode4d/target/chain</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa">../gdxapp4d-app-calculator/src/main/chain</entry> <entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa">../gdxapp4d-app-calculator/src/main/chain</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.gdxapp4d-app-calculator.jar">../gdxapp4d-app-calculator/target/classes</entry> <entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.gdxapp4d-app-calculator.jar">../gdxapp4d-app-calculator/target/classes</entry>

View file

@ -7,4 +7,26 @@
</parent> </parent>
<artifactId>gdxapp4d-chain-sys-unicode4d</artifactId> <artifactId>gdxapp4d-chain-sys-unicode4d</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<copy todir="target/chain">
<fileset dir="src/main/chain" />
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project> </project>

View file

@ -22,9 +22,42 @@
<link:magic file="plane0/noto-sans-lisu.ttf" mime="application/x-font-ttf-plane0"/> <link:magic file="plane0/noto-sans-lisu.ttf" mime="application/x-font-ttf-plane0"/>
<link:magic file="plane0/noto-sans-bamum.ttf" mime="application/x-font-ttf-plane0"/> <link:magic file="plane0/noto-sans-bamum.ttf" mime="application/x-font-ttf-plane0"/>
<link:magic file="plane0/noto-sans-glagolitic.ttf" mime="application/x-font-ttf-plane0"/> <link:magic file="plane0/noto-sans-glagolitic.ttf" mime="application/x-font-ttf-plane0"/>
<link:magic file="plane0/noto-sans-javanese.ttf" mime="application/x-font-ttf-plane0"/>
<link:magic file="plane0/noto-sans-new-tai-lue.ttf" mime="application/x-font-ttf-plane0"/>
<link:magic file="plane0/noto-sans-tai-viet.ttf" mime="application/x-font-ttf-plane0"/>
<link:magic file="plane0/noto-sans-syloti-nagri.ttf" mime="application/x-font-ttf-plane0"/>
<link:magic file="plane0/noto-sans-meetei-mayek.ttf" mime="application/x-font-ttf-plane0"/>
<link:magic file="plane1/code-2001.ttf" mime="application/x-font-ttf-plane1"/> <link:magic file="plane1/code-2001.ttf" mime="application/x-font-ttf-plane1"/>
<link:magic file="plane1/new-gardiner-smp.ttf" mime="application/x-font-ttf-plane1"/> <link:magic file="plane1/new-gardiner-smp.ttf" mime="application/x-font-ttf-plane1"/>
<link:magic file="plane1/noto-sans-brahmi.ttf" mime="application/x-font-ttf-plane1"/> <link:magic file="plane1/noto-sans-brahmi.ttf" mime="application/x-font-ttf-plane1"/>
<link:magic file="plane2/code-2002.ttf" mime="application/x-font-ttf-plane2"/> <link:magic file="plane2/code-2002.ttf" mime="application/x-font-ttf-plane2"/>
<link:magic file="plane0/code-2000.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/free-sans.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/new-gardiner-bmp.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/fa-solid-900.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-samaritan.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-sinhala.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-serif-tibetan.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-tagalog.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-tagbanwa.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-tai-le.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-tai-tham.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-batak.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-lepcha.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-balinese.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-sundanese.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-lisu.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-bamum.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-glagolitic.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-javanese.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-new-tai-lue.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-tai-viet.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-syloti-nagri.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane0/noto-sans-meetei-mayek.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane1/code-2001.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane1/new-gardiner-smp.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane1/noto-sans-brahmi.ttf4d" mime="application/x-font-ttf4d"/>
<link:magic file="plane2/code-2002.ttf4d" mime="application/x-font-ttf4d"/>
</link:sea> </link:sea>
</root:ocean> </root:ocean>

View file

@ -0,0 +1,10 @@
#!/bin/bash
mkdir -p $2;
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
for FILE in `ls $1`
do
node $SCRIPT_DIR/conv-font.js $1/$FILE > $2/$FILE.xml
done

View file

@ -5,8 +5,8 @@
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "conv-font",
"version": "0.0.1", "version": "0.0.1",
"license": "BSD-2-Clause",
"dependencies": { "dependencies": {
"opentype.js": "1.3.4" "opentype.js": "1.3.4"
} }

View file

@ -0,0 +1,11 @@
{
"name": "conv-font",
"version": "0.0.1",
"description": "Convert font data to XML intermediate.",
"private": true,
"scripts": {
},
"dependencies": {
"opentype.js": "1.3.4"
}
}

View file

@ -31,16 +31,48 @@ public class TestConvFont {
tcf.run(); tcf.run();
} }
// manually run;
// gdxapp4d-chain-sys-unicode4d/src/main/nodejs$ npm install
// gdxapp4d-chain-sys-unicode4d/src/main/nodejs$ ./conv-font.sh ../chain/plane0/ ../../../target/chain2/plane0/
// gdxapp4d-chain-sys-unicode4d/src/main/nodejs$ ./conv-font.sh ../chain/plane1/ ../../../target/chain2/plane1/
// gdxapp4d-chain-sys-unicode4d/src/main/nodejs$ ./conv-font.sh ../chain/plane2/ ../../../target/chain2/plane2/
public void run() { public void run() {
System.out.println("Starting conversion.");
try { try {
// NOTE: Are in order like the FontAtlas of ImGui // NOTE: Are in order like the FontAtlas of ImGui
//conf("Code2000", new File("../conv-font/bin/code-2000.xml"), new File("../main-gdxapp/assets/font/code-2000.xml")); String in = "../gdxapp4d-chain-sys-unicode4d/target/chain2/";
//conf("Code2001", new File("../conv-font/bin/code-2001.xml"), new File("../main-gdxapp/assets/font/code-2001.xml")); String out = "../gdxapp4d-chain-sys-unicode4d/target/chain/";
//conf("Code2002", new File("../conv-font/bin/code-2002.xml"), new File("../main-gdxapp/assets/font/code-2002.xml"));
//conf("Free Sans", new File("../conv-font/bin/free-sans.xml"), new File("../main-gdxapp/assets/font/free-sans.xml")); conf("code-2000", new File(in+"plane0/code-2000.ttf.xml"), new File(out+"plane0/code-2000.ttf4d"));
conf("New Gardiner BMP", new File("../conv-font/bin/new-gardiner-bmp.xml"), new File("../main-gdxapp/assets/font/new-gardiner-bmp.xml")); conf("fa-solid-900", new File(in+"plane0/fa-solid-900.ttf.xml"), new File(out+"plane0/fa-solid-900.ttf4d"));
conf("Font Awesome", new File("../conv-font/bin/fa-solid-900.xml"), new File("../main-gdxapp/assets/font/fa-solid-900.xml")); conf("free-sans", new File(in+"plane0/free-sans.ttf.xml"), new File(out+"plane0/free-sans.ttf4d"));
conf("Noto Sans Brahmi", new File("../conv-font/bin/noto-sans-brahmi.xml"), new File("../main-gdxapp/assets/font/noto-sans-brahmi.xml")); conf("new-gardiner-bmp", new File(in+"plane0/new-gardiner-bmp.ttf.xml"), new File(out+"plane0/new-gardiner-bmp.ttf4d"));
conf("noto-sans-balinese", new File(in+"plane0/noto-sans-balinese.ttf.xml"), new File(out+"plane0/noto-sans-balinese.ttf4d"));
conf("noto-sans-bamum", new File(in+"plane0/noto-sans-bamum.ttf.xml"), new File(out+"plane0/noto-sans-bamum.ttf4d"));
conf("noto-sans-batak", new File(in+"plane0/noto-sans-batak.ttf.xml"), new File(out+"plane0/noto-sans-batak.ttf4d"));
conf("noto-sans-glagolitic", new File(in+"plane0/noto-sans-glagolitic.ttf.xml"), new File(out+"plane0/noto-sans-glagolitic.ttf4d"));
conf("noto-sans-javanese", new File(in+"plane0/noto-sans-javanese.ttf.xml"), new File(out+"plane0/noto-sans-javanese.ttf4d"));
conf("noto-sans-lepcha", new File(in+"plane0/noto-sans-lepcha.ttf.xml"), new File(out+"plane0/noto-sans-lepcha.ttf4d"));
conf("noto-sans-lisu", new File(in+"plane0/noto-sans-lisu.ttf.xml"), new File(out+"plane0/noto-sans-lisu.ttf4d"));
conf("noto-sans-meetei-mayek", new File(in+"plane0/noto-sans-meetei-mayek.ttf.xml"), new File(out+"plane0/noto-sans-meetei-mayek.ttf4d"));
conf("noto-sans-new-tai-lue", new File(in+"plane0/noto-sans-new-tai-lue.ttf.xml"), new File(out+"plane0/noto-sans-new-tai-lue.ttf4d"));
conf("noto-sans-samaritan", new File(in+"plane0/noto-sans-samaritan.ttf.xml"), new File(out+"plane0/noto-sans-samaritan.ttf4d"));
conf("noto-sans-sinhala", new File(in+"plane0/noto-sans-sinhala.ttf.xml"), new File(out+"plane0/noto-sans-sinhala.ttf4d"));
conf("noto-sans-sundanese", new File(in+"plane0/noto-sans-sundanese.ttf.xml"), new File(out+"plane0/noto-sans-sundanese.ttf4d"));
conf("noto-sans-syloti-nagri", new File(in+"plane0/noto-sans-syloti-nagri.ttf.xml"), new File(out+"plane0/noto-sans-syloti-nagri.ttf4d"));
conf("noto-sans-tagalog", new File(in+"plane0/noto-sans-tagalog.ttf.xml"), new File(out+"plane0/noto-sans-tagalog.ttf4d"));
conf("noto-sans-tagbanwa", new File(in+"plane0/noto-sans-tagbanwa.ttf.xml"), new File(out+"plane0/noto-sans-tagbanwa.ttf4d"));
conf("noto-sans-tai-le", new File(in+"plane0/noto-sans-tai-le.ttf.xml"), new File(out+"plane0/noto-sans-tai-le.ttf4d"));
conf("noto-sans-tai-tham", new File(in+"plane0/noto-sans-tai-tham.ttf.xml"), new File(out+"plane0/noto-sans-tai-tham.ttf4d"));
conf("noto-sans-tai-viet", new File(in+"plane0/noto-sans-tai-viet.ttf.xml"), new File(out+"plane0/noto-sans-tai-viet.ttf4d"));
conf("noto-serif-tibetan", new File(in+"plane0/noto-serif-tibetan.ttf.xml"), new File(out+"plane0/noto-serif-tibetan.ttf4d"));
conf("code-2001", new File(in+"plane1/code-2001.ttf.xml"), new File(out+"plane1/code-2001.ttf4d"));
conf("new-gardiner-smp", new File(in+"plane1/new-gardiner-smp.ttf.xml"), new File(out+"plane1/new-gardiner-smp.ttf4d"));
conf("noto-sans-brahmi", new File(in+"plane1/noto-sans-brahmi.ttf.xml"), new File(out+"plane1/noto-sans-brahmi.ttf4d"));
conf("code-2002", new File(in+"plane2/code-2002.ttf.xml"), new File(out+"plane2/code-2002.ttf4d"));
} catch (Exception e) { } catch (Exception e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
@ -49,8 +81,6 @@ public class TestConvFont {
} }
public void conf(String fontName, File input, File output) throws Exception { public void conf(String fontName, File input, File output) throws Exception {
System.out.println("START WITH: "+input);
SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser(); SAXParser parser = factory.newSAXParser();
XMLReader reader = parser.getXMLReader(); XMLReader reader = parser.getXMLReader();
@ -67,7 +97,7 @@ public class TestConvFont {
FontAtlasDriver.newInstance().createWriter().writeFile(fontAtlas, output); FontAtlasDriver.newInstance().createWriter().writeFile(fontAtlas, output);
System.out.println("END WITH: "+output+" wrote: "+fontContentHandler.getGlyphCounter()); System.out.println("Done: "+output+" wrote: "+fontContentHandler.getGlyphCounter());
} }
class FontContentHandler implements ContentHandler { class FontContentHandler implements ContentHandler {

View file

@ -0,0 +1,66 @@
package love.distributedrebirth.unicode4d;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
public class TestSwingPlane extends JPanel {
private static final long serialVersionUID = 4146160826151405548L;
public TestSwingPlane() {
super(new GridLayout(1, 0));
String[] columnNames = { "Plane", "Example"};
Object[][] data = new Object[UnicodePlaneᶻᴰ.values().length][2];
int x=0;
for (UnicodePlaneᶻᴰ plane:UnicodePlaneᶻᴰ.values()) {
if (plane.name().contains("SUPPLE")) {
continue;
}
if (plane.name().contains("EXTEN")) {
continue;
}
data[x][0] = plane.name();
StringBuilder buf = new StringBuilder();
int offset = 33;
for (int i=plane.getStart()+offset;i<plane.getStart()+33+offset;i++) {
buf.append((char)i);
buf.append(" ");
}
data[x][1] = buf.toString();
x++;
}
final JTable table = new JTable(data, columnNames);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
table.setFillsViewportHeight(true);
JScrollPane scrollPane = new JScrollPane(table);
add(scrollPane);
}
static public void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("SimpleTableDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TestSwingPlane newContentPane = new TestSwingPlane();
newContentPane.setOpaque(true); // content panes must be opaque
frame.setContentPane(newContentPane);
frame.pack();
frame.setVisible(true);
}
}

View file

@ -40,12 +40,19 @@ public class BaseUnicodePlaneDeskApp extends AbstractDeskApp implements DeskAppR
ImGui.tableSetupColumn(getTxt("colText")); ImGui.tableSetupColumn(getTxt("colText"));
ImGui.tableHeadersRow(); ImGui.tableHeadersRow();
for (UnicodePlaneᶻᴰ plane:UnicodePlaneᶻᴰ.values()) { for (UnicodePlaneᶻᴰ plane:UnicodePlaneᶻᴰ.values()) {
if (plane.name().contains("SUPPLE")) {
continue;
}
if (plane.name().contains("EXTEN")) {
continue;
}
ImGui.tableNextRow(); ImGui.tableNextRow();
ImGui.tableNextColumn(); ImGui.tableNextColumn();
ImGui.text(plane.name()); ImGui.text(plane.name());
ImGui.tableNextColumn(); ImGui.tableNextColumn();
StringBuilder buf = new StringBuilder(); StringBuilder buf = new StringBuilder();
for (int i=plane.getStart();i<plane.getStart()+33;i++) { int offset = 33;
for (int i=plane.getStart()+offset;i<plane.getStart()+33+offset;i++) {
if (i < 65536) { if (i < 65536) {
buf.append((char)i); buf.append((char)i);
} }