Devanagari BETA; broke Thai diacritics again
202
.idea/workspace.xml
generated
@@ -8,10 +8,16 @@
|
|||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="22c5bc80-996c-4846-b173-7dc8c2096fe3" name="Default" comment="">
|
<list default="true" id="22c5bc80-996c-4846-b173-7dc8c2096fe3" name="Default" comment="">
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/CONTRIBUTING.md" beforeDir="false" afterPath="$PROJECT_DIR$/CONTRIBUTING.md" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/FontTestGDX/demotext.txt" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/demotext.txt" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/FontTestGDX/demotext.txt" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/demotext.txt" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/FontTestGDX/lib/TerrarumSansBitmap.jar" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/lib/TerrarumSansBitmap.jar" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/FontTestGDX/lib/TerrarumSansBitmap.jar" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/lib/TerrarumSansBitmap.jar" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/assets/ascii_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/ascii_variable.tga" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/assets/devanagari_bengali_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/devanagari_bengali_variable.tga" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/demo.PNG" beforeDir="false" afterPath="$PROJECT_DIR$/demo.PNG" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/demo.PNG" beforeDir="false" afterPath="$PROJECT_DIR$/demo.PNG" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/font_drawing_template.png" beforeDir="false" afterPath="$PROJECT_DIR$/font_drawing_template.png" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/GlyphProps.kt" beforeDir="false" afterPath="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/GlyphProps.kt" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" beforeDir="false" afterPath="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" beforeDir="false" afterPath="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<ignored path="$PROJECT_DIR$/out/" />
|
<ignored path="$PROJECT_DIR$/out/" />
|
||||||
@@ -32,26 +38,8 @@
|
|||||||
<file leaf-file-name="GameFontBase.kt" pinned="false" current-in-tab="true">
|
<file leaf-file-name="GameFontBase.kt" pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
|
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="607">
|
<state relative-caret-position="456">
|
||||||
<caret line="579" column="72" selection-start-line="579" selection-start-column="72" selection-end-line="579" selection-end-column="72" />
|
<caret line="834" column="26" selection-start-line="834" selection-start-column="26" selection-end-line="834" selection-end-column="26" />
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="CharSequence.java" pinned="false" current-in-tab="false">
|
|
||||||
<entry file="jar://C:/Program Files/Java/jdk1.8.0_131/src.zip!/java/lang/CharSequence.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="509">
|
|
||||||
<caret line="219" column="49" selection-start-line="219" selection-start-column="49" selection-end-line="219" selection-end-column="49" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="Character.java" pinned="false" current-in-tab="false">
|
|
||||||
<entry file="jar://C:/Program Files/Java/jdk1.8.0_131/src.zip!/java/lang/Character.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="515">
|
|
||||||
<caret line="4839" column="59" selection-start-line="4837" selection-start-column="15" selection-end-line="4839" selection-end-column="59" />
|
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@@ -59,17 +47,22 @@
|
|||||||
<file leaf-file-name="GlyphProps.kt" pinned="false" current-in-tab="false">
|
<file leaf-file-name="GlyphProps.kt" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/GlyphProps.kt">
|
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/GlyphProps.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="260">
|
<state relative-caret-position="273">
|
||||||
<caret line="20" column="18" lean-forward="true" selection-start-line="20" selection-start-column="18" selection-end-line="20" selection-end-column="18" />
|
<caret line="21" column="18" lean-forward="true" selection-start-line="21" selection-start-column="18" selection-end-line="21" selection-end-column="18" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
|
<file leaf-file-name="demo.PNG" pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/demo.PNG">
|
||||||
|
<provider selected="true" editor-type-id="images" />
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
<file leaf-file-name="GameFontBase.kt" pinned="false" current-in-tab="false">
|
<file leaf-file-name="GameFontBase.kt" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt">
|
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="-403">
|
<state relative-caret-position="299">
|
||||||
<caret line="45" column="67" lean-forward="true" selection-start-line="45" selection-start-column="67" selection-end-line="45" selection-end-column="67" />
|
<caret line="45" column="67" selection-start-line="45" selection-start-column="67" selection-end-line="45" selection-end-column="67" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@@ -81,8 +74,8 @@
|
|||||||
<file leaf-file-name="FontTestGDX.kt" pinned="false" current-in-tab="false">
|
<file leaf-file-name="FontTestGDX.kt" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt">
|
<entry file="file://$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="482">
|
<state relative-caret-position="820">
|
||||||
<caret line="208" column="47" selection-start-line="208" selection-start-column="47" selection-end-line="208" selection-end-column="47" />
|
<caret line="149" column="24" selection-start-line="149" selection-start-column="24" selection-end-line="149" selection-end-column="24" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#384#0" expanded="true" />
|
<element signature="e#0#384#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@@ -90,25 +83,34 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="demo.PNG" pinned="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/demo.PNG">
|
|
||||||
<provider selected="true" editor-type-id="images" />
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="demotext.txt" pinned="false" current-in-tab="false">
|
<file leaf-file-name="demotext.txt" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/FontTestGDX/demotext.txt">
|
<entry file="file://$PROJECT_DIR$/FontTestGDX/demotext.txt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="143">
|
<state relative-caret-position="429">
|
||||||
<caret line="11" column="35" selection-start-line="11" selection-start-column="35" selection-end-line="11" selection-end-column="35" />
|
<caret line="33" column="34" selection-start-line="33" selection-start-column="34" selection-end-line="33" selection-end-column="34" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="GameFontBase.kt" pinned="false" current-in-tab="true">
|
<file leaf-file-name="GameFontBase.kt" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
|
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="524">
|
<state relative-caret-position="443">
|
||||||
<caret line="440" column="31" selection-start-line="440" selection-start-column="31" selection-end-line="440" selection-end-column="31" />
|
<caret line="930" column="21" selection-start-line="930" selection-start-column="21" selection-end-line="930" selection-end-column="21" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="CONTRIBUTING.md" pinned="false" current-in-tab="true">
|
||||||
|
<entry file="file://$PROJECT_DIR$/CONTRIBUTING.md">
|
||||||
|
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
||||||
|
<state split_layout="SPLIT">
|
||||||
|
<first_editor relative-caret-position="454">
|
||||||
|
<caret line="34" column="313" selection-start-line="34" selection-start-column="313" selection-end-line="34" selection-end-column="313" />
|
||||||
|
</first_editor>
|
||||||
|
<second_editor>
|
||||||
|
<js_state />
|
||||||
|
</second_editor>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@@ -116,9 +118,9 @@
|
|||||||
<file leaf-file-name="README.md" pinned="false" current-in-tab="false">
|
<file leaf-file-name="README.md" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/README.md">
|
<entry file="file://$PROJECT_DIR$/README.md">
|
||||||
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
||||||
<state split_layout="SPLIT">
|
<state split_layout="FIRST">
|
||||||
<first_editor relative-caret-position="427">
|
<first_editor relative-caret-position="325">
|
||||||
<caret line="108" selection-start-line="108" selection-end-line="108" />
|
<caret line="25" column="97" selection-start-line="25" selection-start-column="97" selection-end-line="25" selection-end-column="97" />
|
||||||
</first_editor>
|
</first_editor>
|
||||||
<second_editor>
|
<second_editor>
|
||||||
<js_state />
|
<js_state />
|
||||||
@@ -140,7 +142,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="FindInProjectRecents">
|
<component name="FindInProjectRecents">
|
||||||
<findStrings>
|
<findStrings>
|
||||||
<find>not copy</find>
|
<find />
|
||||||
<find>getColour</find>
|
<find>getColour</find>
|
||||||
<find>.094</find>
|
<find>.094</find>
|
||||||
<find>ө</find>
|
<find>ө</find>
|
||||||
@@ -149,15 +151,15 @@
|
|||||||
<find>getSheetT</find>
|
<find>getSheetT</find>
|
||||||
<find>Unexpected</find>
|
<find>Unexpected</find>
|
||||||
<find>Unexp</find>
|
<find>Unexp</find>
|
||||||
<find>fun getSh</find>
|
<find />
|
||||||
<find>codeRange</find>
|
<find>codeRange</find>
|
||||||
<find>isHangul</find>
|
<find>isHangul</find>
|
||||||
<find>Ᏽ</find>
|
<find>Ᏽ</find>
|
||||||
<find>toColo</find>
|
<find>toColo</find>
|
||||||
<find>fun relo</find>
|
<find />
|
||||||
<find>3633</find>
|
<find>3633</find>
|
||||||
<find>println(</find>
|
<find>println(</find>
|
||||||
<find>Width ta</find>
|
<find />
|
||||||
<find>getWidth</find>
|
<find>getWidth</find>
|
||||||
<find>glyphWidthBuffer</find>
|
<find>glyphWidthBuffer</find>
|
||||||
<find>GlyphProps.LE</find>
|
<find>GlyphProps.LE</find>
|
||||||
@@ -189,13 +191,13 @@
|
|||||||
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/testbed/FontTest.kt" />
|
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/testbed/FontTest.kt" />
|
||||||
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/testbed/FontTestGDX.kt" />
|
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/testbed/FontTestGDX.kt" />
|
||||||
<option value="$PROJECT_DIR$/LICENSE.md" />
|
<option value="$PROJECT_DIR$/LICENSE.md" />
|
||||||
|
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt" />
|
||||||
|
<option value="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" />
|
||||||
|
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/GlyphProps.kt" />
|
||||||
|
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" />
|
||||||
|
<option value="$PROJECT_DIR$/FontTestGDX/demotext.txt" />
|
||||||
<option value="$PROJECT_DIR$/README.md" />
|
<option value="$PROJECT_DIR$/README.md" />
|
||||||
<option value="$PROJECT_DIR$/CONTRIBUTING.md" />
|
<option value="$PROJECT_DIR$/CONTRIBUTING.md" />
|
||||||
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/GlyphProps.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/FontTestGDX/demotext.txt" />
|
|
||||||
<option value="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" />
|
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@@ -210,7 +212,6 @@
|
|||||||
<foldersAlwaysOnTop value="true" />
|
<foldersAlwaysOnTop value="true" />
|
||||||
</navigator>
|
</navigator>
|
||||||
<panes>
|
<panes>
|
||||||
<pane id="Scope" />
|
|
||||||
<pane id="PackagesPane" />
|
<pane id="PackagesPane" />
|
||||||
<pane id="ProjectPane">
|
<pane id="ProjectPane">
|
||||||
<subPane>
|
<subPane>
|
||||||
@@ -245,6 +246,7 @@
|
|||||||
<select />
|
<select />
|
||||||
</subPane>
|
</subPane>
|
||||||
</pane>
|
</pane>
|
||||||
|
<pane id="Scope" />
|
||||||
</panes>
|
</panes>
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent">
|
<component name="PropertiesComponent">
|
||||||
@@ -480,29 +482,29 @@
|
|||||||
<window_info anchor="bottom" id="Terminal" order="7" />
|
<window_info anchor="bottom" id="Terminal" order="7" />
|
||||||
<window_info id="Designer" order="2" />
|
<window_info id="Designer" order="2" />
|
||||||
<window_info content_ui="combo" id="Project" order="0" weight="0.13859275" />
|
<window_info content_ui="combo" id="Project" order="0" weight="0.13859275" />
|
||||||
<window_info anchor="bottom" id="Find" order="1" weight="0.32931355" />
|
|
||||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||||
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
||||||
<window_info id="UI Designer" order="2" />
|
<window_info id="UI Designer" order="2" />
|
||||||
<window_info active="true" anchor="bottom" id="Debug" order="3" visible="true" weight="0.23005566" />
|
<window_info anchor="bottom" id="Debug" order="3" visible="true" weight="0.23005566" />
|
||||||
<window_info id="Favorites" order="2" side_tool="true" />
|
<window_info id="Favorites" order="2" side_tool="true" />
|
||||||
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
||||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||||
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
|
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
|
||||||
<window_info anchor="bottom" id="Message" order="0" />
|
<window_info anchor="bottom" id="Message" order="0" />
|
||||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||||
|
<window_info anchor="bottom" id="Find" order="1" weight="0.32931355" />
|
||||||
</layout>
|
</layout>
|
||||||
<layout-to-restore>
|
<layout-to-restore>
|
||||||
<window_info anchor="right" id="Palette" order="3" />
|
<window_info anchor="right" id="Palette" order="3" />
|
||||||
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
||||||
<window_info anchor="bottom" id="Run" order="2" weight="0.2591522" />
|
<window_info anchor="bottom" id="Version Control" order="9" />
|
||||||
<window_info anchor="bottom" id="Message" order="0" />
|
|
||||||
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.1369936" />
|
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.1369936" />
|
||||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||||
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
|
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
|
||||||
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
||||||
<window_info anchor="bottom" id="TODO" order="6" />
|
<window_info anchor="bottom" id="TODO" order="6" />
|
||||||
<window_info anchor="bottom" id="Version Control" order="9" />
|
<window_info anchor="bottom" id="Run" order="2" weight="0.2591522" />
|
||||||
|
<window_info anchor="bottom" id="Find" order="1" />
|
||||||
<window_info id="Designer" order="2" />
|
<window_info id="Designer" order="2" />
|
||||||
<window_info id="UI Designer" order="3" />
|
<window_info id="UI Designer" order="3" />
|
||||||
<window_info active="true" anchor="bottom" id="Debug" order="3" visible="true" weight="0.23005566" />
|
<window_info active="true" anchor="bottom" id="Debug" order="3" visible="true" weight="0.23005566" />
|
||||||
@@ -511,7 +513,7 @@
|
|||||||
<window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
|
<window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
|
||||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||||
<window_info anchor="bottom" id="Find" order="1" />
|
<window_info anchor="bottom" id="Message" order="0" />
|
||||||
<window_info anchor="bottom" id="Messages" order="10" weight="0.3283859" />
|
<window_info anchor="bottom" id="Messages" order="10" weight="0.3283859" />
|
||||||
<window_info anchor="right" id="Maven Projects" order="5" />
|
<window_info anchor="right" id="Maven Projects" order="5" />
|
||||||
<window_info id="Favorites" order="4" side_tool="true" />
|
<window_info id="Favorites" order="4" side_tool="true" />
|
||||||
@@ -811,18 +813,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/README.md">
|
|
||||||
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
|
||||||
<state split_layout="SPLIT">
|
|
||||||
<first_editor relative-caret-position="427">
|
|
||||||
<caret line="108" selection-start-line="108" selection-end-line="108" />
|
|
||||||
</first_editor>
|
|
||||||
<second_editor>
|
|
||||||
<js_state />
|
|
||||||
</second_editor>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="jar://C:/Program Files/Java/jdk1.8.0_131/src.zip!/java/lang/Character.java">
|
<entry file="jar://C:/Program Files/Java/jdk1.8.0_131/src.zip!/java/lang/Character.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="515">
|
<state relative-caret-position="515">
|
||||||
@@ -844,33 +834,10 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/CONTRIBUTING.md">
|
|
||||||
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
|
||||||
<state split_layout="SPLIT">
|
|
||||||
<first_editor relative-caret-position="247">
|
|
||||||
<caret line="19" column="30" selection-start-line="19" selection-start-column="30" selection-end-line="19" selection-end-column="30" />
|
|
||||||
</first_editor>
|
|
||||||
<second_editor>
|
|
||||||
<js_state />
|
|
||||||
</second_editor>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/GlyphProps.kt">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="260">
|
|
||||||
<caret line="20" column="18" lean-forward="true" selection-start-line="20" selection-start-column="18" selection-end-line="20" selection-end-column="18" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="jar://$PROJECT_DIR$/lib/gdx.jar!/com/badlogic/gdx/graphics/glutils/GLFrameBuffer.class">
|
<entry file="jar://$PROJECT_DIR$/lib/gdx.jar!/com/badlogic/gdx/graphics/glutils/GLFrameBuffer.class">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="2379">
|
<state relative-caret-position="2379">
|
||||||
<caret line="205" column="13" selection-start-line="205" selection-start-column="13" selection-end-line="205" selection-end-column="13" />
|
<caret line="205" column="13" selection-start-line="205" selection-start-column="13" selection-end-line="205" selection-end-column="13" />
|
||||||
<folding>
|
|
||||||
<element signature="e#7962#7963#0" expanded="true" />
|
|
||||||
<element signature="e#8002#8003#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@@ -890,35 +857,66 @@
|
|||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt">
|
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="-403">
|
<state relative-caret-position="299">
|
||||||
<caret line="45" column="67" lean-forward="true" selection-start-line="45" selection-start-column="67" selection-end-line="45" selection-end-column="67" />
|
<caret line="45" column="67" selection-start-line="45" selection-start-column="67" selection-end-line="45" selection-end-column="67" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/demo.PNG">
|
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/GlyphProps.kt">
|
||||||
<provider selected="true" editor-type-id="images" />
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/FontTestGDX/demotext.txt">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="143">
|
<state relative-caret-position="273">
|
||||||
<caret line="11" column="35" selection-start-line="11" selection-start-column="35" selection-end-line="11" selection-end-column="35" />
|
<caret line="21" column="18" lean-forward="true" selection-start-line="21" selection-start-column="18" selection-end-line="21" selection-end-column="18" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt">
|
<entry file="file://$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="482">
|
<state relative-caret-position="820">
|
||||||
<caret line="208" column="47" selection-start-line="208" selection-start-column="47" selection-end-line="208" selection-end-column="47" />
|
<caret line="149" column="24" selection-start-line="149" selection-start-column="24" selection-end-line="149" selection-end-column="24" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#384#0" expanded="true" />
|
<element signature="e#0#384#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/FontTestGDX/demotext.txt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="429">
|
||||||
|
<caret line="33" column="34" selection-start-line="33" selection-start-column="34" selection-end-line="33" selection-end-column="34" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
|
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="524">
|
<state relative-caret-position="443">
|
||||||
<caret line="440" column="31" selection-start-line="440" selection-start-column="31" selection-end-line="440" selection-end-column="31" />
|
<caret line="930" column="21" selection-start-line="930" selection-start-column="21" selection-end-line="930" selection-end-column="21" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/README.md">
|
||||||
|
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
||||||
|
<state split_layout="FIRST">
|
||||||
|
<first_editor relative-caret-position="325">
|
||||||
|
<caret line="25" column="97" selection-start-line="25" selection-start-column="97" selection-end-line="25" selection-end-column="97" />
|
||||||
|
</first_editor>
|
||||||
|
<second_editor>
|
||||||
|
<js_state />
|
||||||
|
</second_editor>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/demo.PNG">
|
||||||
|
<provider selected="true" editor-type-id="images" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/CONTRIBUTING.md">
|
||||||
|
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
||||||
|
<state split_layout="SPLIT">
|
||||||
|
<first_editor relative-caret-position="454">
|
||||||
|
<caret line="34" column="313" selection-start-line="34" selection-start-column="313" selection-end-line="34" selection-end-column="313" />
|
||||||
|
</first_editor>
|
||||||
|
<second_editor>
|
||||||
|
<js_state />
|
||||||
|
</second_editor>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ Red-tinted area SHOULD NOT CONTAIN any dots, it's emptied for compatibility. (Sl
|
|||||||
|
|
||||||
Blue-tinted area cotains width of the glyph in binary, uppermost dot is the Least Significant Bit.
|
Blue-tinted area cotains width of the glyph in binary, uppermost dot is the Least Significant Bit.
|
||||||
|
|
||||||
Green-tinted area contains extra informations, left blank for most cases. (will be expanded later; no standard has been issued yet)
|
Green-tinted area contains extra informations, left blank for most cases. We'll call it Glyph Tags.
|
||||||
|
|
||||||
Tinted-in-magenta shows the height where diacritics should be placed, for both uppercase and lowercase.
|
Tinted-in-magenta shows the height where diacritics should be placed, for both uppercase and lowercase.
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ Each cell is 16 px wide, and any glyph you draw **must be contained within lefts
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Font metrics
|
### Font Metrics
|
||||||
|
|
||||||
Although the font is basically a Spritesheet, some of the sheet expects variable widths to be supported. Any sheets with ```_variable``` means it expects variable widths. Anything else expects fixed width (regular Spritesheet behaviour). ```cjkpunct``` has width of 10, ```kana``` and ```hangul_johab``` has width of 12, ```wenquanyi``` has width of 16.
|
Although the font is basically a Spritesheet, some of the sheet expects variable widths to be supported. Any sheets with ```_variable``` means it expects variable widths. Anything else expects fixed width (regular Spritesheet behaviour). ```cjkpunct``` has width of 10, ```kana``` and ```hangul_johab``` has width of 12, ```wenquanyi``` has width of 16.
|
||||||
|
|
||||||
@@ -34,6 +34,27 @@ Although the font is basically a Spritesheet, some of the sheet expects variable
|
|||||||
|
|
||||||
Width is encoded in binary bits, on pixels. On the font spritesheet, every glyph has vertical dots on their top-right side (to be exact, every (16k - 1)th pixel on x axis). Above image is a sample of the font, with width information coloured in magenta. From top to bottom, each dot represents 1, 2, 4 and 8. For example, in the above image, ! (exclamation mark) has width of 5, " (double quote) has width of 6, # (octothorp) has width of 8, $ (dollar sign) has width of 9.
|
Width is encoded in binary bits, on pixels. On the font spritesheet, every glyph has vertical dots on their top-right side (to be exact, every (16k - 1)th pixel on x axis). Above image is a sample of the font, with width information coloured in magenta. From top to bottom, each dot represents 1, 2, 4 and 8. For example, in the above image, ! (exclamation mark) has width of 5, " (double quote) has width of 6, # (octothorp) has width of 8, $ (dollar sign) has width of 9.
|
||||||
|
|
||||||
|
### Glyph Tagging System
|
||||||
|
|
||||||
|
Green-tinted area (should be 10 px tall) contains the tags. Tags are defined as following:
|
||||||
|
|
||||||
|
```
|
||||||
|
(LSB) 0 == RTL
|
||||||
|
1 -+ 1 | Align to this X pos of prev char,
|
||||||
|
1 | 2 | only valid if write-on-top is 1
|
||||||
|
1 | 4 | and is centre-aligned and non-zero
|
||||||
|
1 -+ 8 | (if this is zero, floorOf(width/2) will be used instead)
|
||||||
|
0 -+ 0 Align 1 Align 0 Align
|
||||||
|
1 -+ 0 left 0 right 1 Centre
|
||||||
|
0 == Write on top of prev chars (e.g. diacritics)
|
||||||
|
1 == Diacritics stack 0:upward/1:downward
|
||||||
|
(MSB) 0 == Diacritics comes befor the glyph
|
||||||
|
|
||||||
|
NOTE: if glyphs are right or centre aligned, they must be aligned in the same way
|
||||||
|
inside of the bitmap; the program assumes every variable-width glyphs to have
|
||||||
|
a width of 15, regardless of the tagged width.
|
||||||
|
```
|
||||||
|
|
||||||
### Implementing the Korean writing system
|
### Implementing the Korean writing system
|
||||||
|
|
||||||
On this font, Hangul letters are printed by assemblying two or three letter pieces. There are 10 sets of Hangul letter pieces on the font. Top 6 are initials, middle 2 are medials, and bottom 2 are finals. On the rightmost side, there's eight assembled glyphs to help you with (assuming you have basic knowledge on the writing system). Top 6 tells you how to use 6 initials, and bottom 2 tells you how to use 2 finals.
|
On this font, Hangul letters are printed by assemblying two or three letter pieces. There are 10 sets of Hangul letter pieces on the font. Top 6 are initials, middle 2 are medials, and bottom 2 are finals. On the rightmost side, there's eight assembled glyphs to help you with (assuming you have basic knowledge on the writing system). Top 6 tells you how to use 6 initials, and bottom 2 tells you how to use 2 finals.
|
||||||
|
|||||||
@@ -22,40 +22,41 @@ No more suffering. This font has everything you need.
|
|||||||
|
|
||||||
How multilingual? Real multilingual!
|
How multilingual? Real multilingual!
|
||||||
|
|
||||||
Ианҵоуп ақьаад, нусхур аҩырала, ҩ ҽшьаҟакла, иҧшӡоу анапҩырала
|
Ианҵоуп ақьаад, нусхур аҩырала, ҩ ҽшьаҟакла, иҧшӡоу анапҩырала
|
||||||
Գրիչս վայր դրի, վեր կացա և պատրաստվում էի, որ քնեմ, երբ հանկարծ դռանս զանգակը հնչեց
|
Գրիչս վայր դրի, վեր կացա և պատրաստվում էի, որ քնեմ, երբ հանկարծ դռանս զանգակը հնչեց
|
||||||
Zəfər, jaketini də papağını da götür, bu axşam hava çox soyuq olacaq
|
Zəfər, jaketini də papağını da götür, bu axşam hava çox soyuq olacaq
|
||||||
Под южно дърво, цъфтящо в синьо, бягаше малко пухкаво зайче
|
Под южно дърво, цъфтящо в синьо, бягаше малко пухкаво зайче
|
||||||
ᎠᏍᎦᏯᎡᎦᎢᎾᎨᎢᎣᏍᏓᎤᎩᏍᏗᎥᎴᏓᎯᎲᎢᏔᎵᏕᎦᏟᏗᏖᎸᎳᏗᏗᎧᎵᎢᏘᎴᎩ ᏙᏱᏗᏜᏫᏗᏣᏚᎦᏫᏛᏄᏓᎦᏝᏃᎠᎾᏗᎭᏞᎦᎯᎦᏘᏓᏠᎨᏏᏕᏡᎬᏢᏓᏥᏩᏝᎡᎢᎪᎢ
|
ᎠᏍᎦᏯᎡᎦᎢᎾᎨᎢᎣᏍᏓᎤᎩᏍᏗᎥᎴᏓᎯᎲᎢᏔᎵᏕᎦᏟᏗᏖᎸᎳᏗᏗᎧᎵᎢᏘᎴᎩ ᏙᏱᏗᏜᏫᏗᏣᏚᎦᏫᏛᏄᏓᎦᏝᏃᎠᎾᏗᎭᏞᎦᎯᎦᏘᏓᏠᎨᏏᏕᏡᎬᏢᏓᏥᏩᏝᎡᎢᎪᎢ
|
||||||
ᎠᎦᏂᏗᎮᎢᎫᎩᎬᏩᎴᎢᎠᏆᏅᏛᎫᏊᎾᎥᎠᏁᏙᎲᏐᏈᎵᎤᎩᎸᏓᏭᎷᏤᎢᏏᏉᏯᏌᏊ ᎤᏂᏋᎢᏡᎬᎢᎰᏩᎬᏤᎵᏍᏗᏱᎩᎱᎱᎤᎩᎴᎢᏦᎢᎠᏂᏧᏣᏨᎦᏥᎪᎥᏌᏊᎤᎶᏒᎢᎢᏡᎬᎢ
|
ᎠᎦᏂᏗᎮᎢᎫᎩᎬᏩᎴᎢᎠᏆᏅᏛᎫᏊᎾᎥᎠᏁᏙᎲᏐᏈᎵᎤᎩᎸᏓᏭᎷᏤᎢᏏᏉᏯᏌᏊ ᎤᏂᏋᎢᏡᎬᎢᎰᏩᎬᏤᎵᏍᏗᏱᎩᎱᎱᎤᎩᎴᎢᏦᎢᎠᏂᏧᏣᏨᎦᏥᎪᎥᏌᏊᎤᎶᏒᎢᎢᏡᎬᎢ
|
||||||
ᎹᎦᎺᎵᏥᎻᎼᏏᎽᏗᏩᏂᎦᏘᎾᎿᎠᏁᎬᎢᏅᎩᎾᏂᎡᎢᏌᎶᎵᏎᎷᎠᏑᏍᏗᏪᎩ ᎠᎴ ᏬᏗᏲᏭᎾᏓᏍᏓᏴᏁᎢᎤᎦᏅᏮᏰᎵᏳᏂᎨᎢ
|
ᎹᎦᎺᎵᏥᎻᎼᏏᎽᏗᏩᏂᎦᏘᎾᎿᎠᏁᎬᎢᏅᎩᎾᏂᎡᎢᏌᎶᎵᏎᎷᎠᏑᏍᏗᏪᎩ ᎠᎴ ᏬᏗᏲᏭᎾᏓᏍᏓᏴᏁᎢᎤᎦᏅᏮᏰᎵᏳᏂᎨᎢ
|
||||||
Příliš žluťoučký kůň úpěl ďábelské ódy
|
Příliš žluťoučký kůň úpěl ďábelské ódy
|
||||||
Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Walther spillede på xylofon
|
Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Walther spillede på xylofon
|
||||||
Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich
|
Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich
|
||||||
ζαφείρι δέξου πάγκαλο, βαθων ψυχης το σημα
|
ζαφείρι δέξου πάγκαλο, βαθων ψυχης το σημα
|
||||||
ΔΙΑΦΥΛΆΞΤΕ ΓΕΝΙΚΆ ΤΗ ΖΩΉ ΣΑΣ ΑΠΌ ΒΑΘΕΙΆ ΨΥΧΙΚΆ ΤΡΑΎΜΑΤΑ
|
ΔΙΑΦΥΛΆΞΤΕ ΓΕΝΙΚΆ ΤΗ ΖΩΉ ΣΑΣ ΑΠΌ ΒΑΘΕΙΆ ΨΥΧΙΚΆ ΤΡΑΎΜΑΤΑ
|
||||||
სწრაფი ყავისფერი მელა გადაახტა ზარმაც ძაღლს
|
სწრაფი ყავისფერი მელა გადაახტა ზარმაც ძაღლს
|
||||||
Kæmi ný öxi hér, ykist þjófum nú bæði víl og ádrepa
|
ऋषियों को सताने वाले दुष्ट राक्षसों के राजा रावण का सर्वनाश करने वाले विष्णुवतार भगवान श्रीराम अयोध्या के महाराज दशरथ के
|
||||||
Ꝺꝼuaꞅcail Íoꞅa Úꞃṁac na hÓiᵹe Beannaiꞇe póꞃ Éaḃa aᵹus Áꝺaiṁ
|
Kæmi ný öxi hér, ykist þjófum nú bæði víl og ádrepa
|
||||||
Ċuaiġ bé ṁórṡáċ le dlúṫspád fíorḟinn trí hata mo ḋea-ṗorcáin ḃig
|
Ꝺꝼuaꞅcail Íoꞅa Úꞃṁac na hÓiᵹe Beannaiꞇe póꞃ Éaḃa aᵹus Áꝺaiṁ
|
||||||
あめつちほしそら やまかはみねたに くもきりむろこけ ひといぬうへすゑ ゆわさるおふせよ えの𛀁をなれゐて
|
Ċuaiġ bé ṁórṡáċ le dlúṫspád fíorḟinn trí hata mo ḋea-ṗorcáin ḃig
|
||||||
トリナクコヱス ユメサマセ ミヨアケワタル ヒンカシヲ ソライロハエテ オキツヘニ ホフネムレヰヌ モヤノウチ
|
あめつちほしそら やまかはみねたに くもきりむろこけ ひといぬうへすゑ ゆわさるおふせよ えの𛀁をなれゐて
|
||||||
田居に出で 菜摘むわれをぞ 君召すと 求食り追ひゆく 山城の 打酔へる子ら 藻葉干せよ え舟繋けぬ
|
トリナクコヱス ユメサマセ ミヨアケワタル ヒンカシヲ ソライロハエテ オキツヘニ ホフネムレヰヌ モヤノウチ
|
||||||
정 참판 양반댁 규수 큰 교자 타고 혼례 치른 날 하얬다 도럄직한 퀡봹퉪헰
|
田居に出で 菜摘むわれをぞ 君召すと 求食り追ひゆく 山城の 打酔へる子ら 藻葉干せよ え舟繋けぬ
|
||||||
Četri psihi faķīri vēlu vakarā zāģēja guļbūvei durvis, fonā šņācot mežam
|
정 참판 양반댁 규수 큰 교자 타고 혼례 치른 날 하얬다 도럄직한 퀡봹퉪헰
|
||||||
Įlinkdama fechtuotojo špaga sublykčiojusi pragręžė apvalų arbūzą
|
Četri psihi faķīri vēlu vakarā zāģēja guļbūvei durvis, fonā šņācot mežam
|
||||||
Ѕидарски пејзаж: шугав билмез со чудење џвака ќофте и кељ на туѓ цех
|
Įlinkdama fechtuotojo špaga sublykčiojusi pragręžė apvalų arbūzą
|
||||||
Щётканы фермд пийшин цувъя. Бөгж зогсч хэльюү
|
Ѕидарски пејзаж: шугав билмез со чудење џвака ќофте и кељ на туѓ цех
|
||||||
Pchnąć w tę łódź jeża lub ośm skrzyń fig
|
Щётканы фермд пийшин цувъя. Бөгж зогсч хэльюү
|
||||||
Înjurând pițigăiat, zoofobul comandă vexat whisky și tequila
|
Pchnąć w tę łódź jeża lub ośm skrzyń fig
|
||||||
Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства
|
Înjurând pițigăiat, zoofobul comandă vexat whisky și tequila
|
||||||
Ајшо, лепото и чежњо, за љубав срца мога дођи у Хаџиће на кафу
|
Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства
|
||||||
Jovencillo emponzoñado de whisky: ¡qué figurota exhibe!
|
Ајшо, лепото и чежњо, за љубав срца мога дођи у Хаџиће на кафу
|
||||||
นายสังฆภัณฑ์ เฮงพิทักษ์ฝั่ง ผู้เฒ่าซึ่งมีอาชีพเป็นฅนขายฃวด ถูกตำรวจปฏิบัติการจับฟ้องศาล ฐานลักนาฬิกาคุณหญิงฉัตรชฎา ฌานสมาธิ
|
Jovencillo emponzoñado de whisky: ¡qué figurota exhibe!
|
||||||
Pijamalı hasta yağız şoföre çabucak güvendi
|
นายสังฆภัณฑ์ เฮงพิทักษ์ฝั่ง ผู้เฒ่าซึ่งมีอาชีพเป็นฅนขายฃวด ถูกตำรวจปฏิบัติการจับฟ้องศาล ฐานลักนาฬิกาคุณหญิงฉัตรชฎา ฌานสมาธิ
|
||||||
Жебракують філософи при ґанку церкви в Гадячі, ще й шатро їхнє п’яне знаємо
|
Pijamalı hasta yağız şoföre çabucak güvendi
|
||||||
Do bạch kim rất quý nên sẽ dùng để lắp vô xương
|
Жебракують філософи при ґанку церкви в Гадячі, ще й шатро їхнє п’яне знаємо
|
||||||
日堀油告観観藤村抄海評業庁経賃室弁市。太撮収改売週法所何都慣次現。価紙一無三洋日話転手治稿載末替付致治。
|
Do bạch kim rất quý nên sẽ dùng để lắp vô xương
|
||||||
|
日堀油告観観藤村抄海評業庁経賃室弁市。太撮収改売週法所何都慣次現。価紙一無三洋日話転手治稿載末替付致治。
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
|
||||||
|
|||||||
@@ -134,9 +134,7 @@ class FontTestGDX : Game() {
|
|||||||
|
|
||||||
println("${font.noColorCode}\nEND")
|
println("${font.noColorCode}\nEND")
|
||||||
|
|
||||||
println(font.toColorCode(0xC_FFD))
|
println(font.toColorCode(0xF_EEC))
|
||||||
println(font.toColorCode(0xF_F55))
|
|
||||||
println(font.toColorCode(0xE_CCC))
|
|
||||||
|
|
||||||
frameBuffer = FrameBuffer(Pixmap.Format.RGBA8888, TEXW, TEXH, true)
|
frameBuffer = FrameBuffer(Pixmap.Format.RGBA8888, TEXW, TEXH, true)
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,9 @@ The JAR package is meant to be used with Slick2d (extends ```Font``` class) and
|
|||||||
The issue page is open. If you have some issues to submit, or have a question, please leave it on the page.
|
The issue page is open. If you have some issues to submit, or have a question, please leave it on the page.
|
||||||
|
|
||||||
#### Little notes
|
#### Little notes
|
||||||
- To display Bulgarian/Serbian variants, you need special Control Characters. (GameFontBase.charsetOverrideBulgarian; GameFontBase.charsetOverrideSerbian)
|
- To display Bulgarian/Serbian variants, you need special Control Characters. (GameFontBase.charsetOverrideBulgarian -- U+FFFF9; GameFontBase.charsetOverrideSerbian -- U+FFFFA)
|
||||||
- All Han characters are in Chinese variant, no other variants are to be supported as most Chinese, Japanese and Korean can understand other's variant and to be honest, we don't bother anyway.
|
- All Han characters are in Chinese variant, no other variants are to be supported as most Chinese, Japanese and Korean can understand other's variant and to be honest, we don't bother anyway.
|
||||||
|
- Indian script in general is not perfect: this font will never do the proper ligatures (I can't draw all the 1 224 possible combinations). Hopefully it's still be able to understand without them.
|
||||||
|
|
||||||
### Design Goals
|
### Design Goals
|
||||||
|
|
||||||
@@ -22,7 +23,7 @@ The issue page is open. If you have some issues to submit, or have a question, p
|
|||||||
|
|
||||||
## Using on your game
|
## Using on your game
|
||||||
|
|
||||||
- Firstly, place the .jar to your library path and unzip spritesheets, then:
|
- Firstly, place the .jar to your library path and assets folder to the main directory of the app, then:
|
||||||
|
|
||||||
### Using on LibGDX
|
### Using on LibGDX
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 320 KiB After Width: | Height: | Size: 320 KiB |
|
Before Width: | Height: | Size: 320 KiB After Width: | Height: | Size: 320 KiB |
BIN
demo.PNG
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -9,7 +9,8 @@ data class GlyphProps(
|
|||||||
val alignWhere: Int,
|
val alignWhere: Int,
|
||||||
val alignXPos: Int,
|
val alignXPos: Int,
|
||||||
val rtl: Boolean = false,
|
val rtl: Boolean = false,
|
||||||
val diacriticsStackDown: Boolean = false
|
val diacriticsStackDown: Boolean = false,
|
||||||
|
val diacriticsBeforeGlyph: Boolean = false
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
const val LEFT = 0
|
const val LEFT = 0
|
||||||
@@ -23,6 +24,7 @@ data class GlyphProps(
|
|||||||
tags.ushr(5).and(3),
|
tags.ushr(5).and(3),
|
||||||
tags.ushr(1).and(15),
|
tags.ushr(1).and(15),
|
||||||
tags.and(1) == 1,
|
tags.and(1) == 1,
|
||||||
tags.ushr(8).and(1) == 1
|
tags.ushr(8).and(1) == 1,
|
||||||
|
tags.ushr(9).and(1) == 1
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -455,25 +455,29 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
Character.toChars(thisChar).forEach { errorGlyphSB.append(it) }
|
Character.toChars(thisChar).forEach { errorGlyphSB.append(it) }
|
||||||
|
|
||||||
throw InternalError("No GlyphProps for char '$errorGlyphSB' " +
|
throw InternalError("No GlyphProps for char '$errorGlyphSB' " +
|
||||||
"(U+${thisChar.toString(16).toUpperCase()}: ${Character.getName(thisChar)})")
|
"(${thisChar.charInfo()})")
|
||||||
}
|
}
|
||||||
val thisProp = glyphProps[thisChar] ?: nullProp
|
val thisProp = glyphProps[thisChar] ?: nullProp
|
||||||
val lastNonDiacriticChar = textBuffer[nonDiacriticCounter]
|
val lastNonDiacriticChar = textBuffer[nonDiacriticCounter]
|
||||||
val itsProp = glyphProps[lastNonDiacriticChar] ?: nullProp
|
val itsProp = glyphProps[lastNonDiacriticChar] ?: nullProp
|
||||||
|
|
||||||
|
|
||||||
//println("char: $thisChar; properties: $thisProp")
|
//println("char: ${thisChar.charInfo()}\nproperties: $thisProp")
|
||||||
|
|
||||||
|
|
||||||
val alignmentOffset = when (thisProp.alignWhere) {
|
val alignmentOffset = when (thisProp.alignWhere) {
|
||||||
GlyphProps.LEFT -> 0
|
GlyphProps.LEFT -> 0
|
||||||
GlyphProps.RIGHT -> thisProp.width - W_VAR_INIT
|
GlyphProps.RIGHT -> thisProp.width - W_VAR_INIT
|
||||||
GlyphProps.CENTRE -> Math.floor((thisProp.width - W_VAR_INIT) / 2.0).toInt()
|
GlyphProps.CENTRE -> Math.floor((thisProp.width - W_VAR_INIT) / 2.0).toInt()
|
||||||
else -> throw InternalError("Unsupported alignment: ${thisProp.alignWhere}")
|
else -> throw InternalError("Unsupported alignment: ${thisProp.alignWhere} for '$thisChar' (${thisChar.charInfo()})")
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!thisProp.writeOnTop) {
|
if (!thisProp.writeOnTop) {
|
||||||
posXbuffer[charIndex] = posXbuffer[nonDiacriticCounter] + itsProp.width + alignmentOffset + interchar
|
posXbuffer[charIndex] =
|
||||||
|
if (itsProp.alignWhere == GlyphProps.RIGHT)
|
||||||
|
posXbuffer[nonDiacriticCounter] + W_VAR_INIT + alignmentOffset + interchar
|
||||||
|
else
|
||||||
|
posXbuffer[nonDiacriticCounter] + itsProp.width + alignmentOffset + interchar
|
||||||
nonDiacriticCounter = charIndex
|
nonDiacriticCounter = charIndex
|
||||||
stackUpwardCounter = 0
|
stackUpwardCounter = 0
|
||||||
stackDownwardCounter = 0
|
stackDownwardCounter = 0
|
||||||
@@ -506,13 +510,12 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//print("[TerrarumSansBitmap] widthTable for $textBuffer: ")
|
||||||
|
//posXbuffer.forEach { print("$it ") }; println()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//print("[TerrarumSansBitmap] widthTable for $textBuffer: ")
|
|
||||||
//posXbuffer.forEach { print("$it ") }; println()
|
|
||||||
|
|
||||||
|
|
||||||
originalColour = batch.color.cpy()
|
originalColour = batch.color.cpy()
|
||||||
var mainCol = originalColour
|
var mainCol = originalColour
|
||||||
var shadowCol = mainCol.cpy().mul(0.5f,0.5f,0.5f,1f)
|
var shadowCol = mainCol.cpy().mul(0.5f,0.5f,0.5f,1f)
|
||||||
@@ -612,6 +615,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun Int.charInfo() = "U+${this.toString(16).padStart(4, '0').toUpperCase()}: ${Character.getName(this)}"
|
||||||
|
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
super.dispose()
|
super.dispose()
|
||||||
@@ -815,7 +820,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
|
|
||||||
val codeStartX = cellX + binaryCodeOffset
|
val codeStartX = cellX + binaryCodeOffset
|
||||||
val codeStartY = cellY
|
val codeStartY = cellY
|
||||||
val tagStartY = codeStartY + 11
|
val tagStartY = codeStartY + 10
|
||||||
|
|
||||||
var width = 0
|
var width = 0
|
||||||
var tags = 0
|
var tags = 0
|
||||||
@@ -827,7 +832,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (y in 0..8) {
|
for (y in 0..9) {
|
||||||
// if ALPHA is not zero, assume it's 1
|
// if ALPHA is not zero, assume it's 1
|
||||||
if (pixmap.getPixel(codeStartX, tagStartY + y).and(0xFF) != 0) {
|
if (pixmap.getPixel(codeStartX, tagStartY + y).and(0xFF) != 0) {
|
||||||
tags = tags or (1 shl y)
|
tags = tags or (1 shl y)
|
||||||
@@ -874,7 +879,9 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** UTF-16 to ArrayList of Int. UTF-16 is because of Java */
|
/** UTF-16 to ArrayList of Int. UTF-16 is because of Java
|
||||||
|
* Note: CharSequence IS a String. java.lang.String implements CharSequence.
|
||||||
|
*/
|
||||||
private fun CharSequence.toCodePoints(): CodepointSequence {
|
private fun CharSequence.toCodePoints(): CodepointSequence {
|
||||||
val seq = ArrayList<Int>()
|
val seq = ArrayList<Int>()
|
||||||
|
|
||||||
@@ -902,40 +909,24 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
i++
|
i++
|
||||||
}
|
}
|
||||||
|
|
||||||
return seq
|
|
||||||
}
|
|
||||||
|
|
||||||
/** As CharSequence is just an Interface, copy-pasting the code would be the fastest way */
|
// swap position of {letter, diacritics that comes before the letter}
|
||||||
private fun String.toCodePoints(): CodepointSequence {
|
i = 1
|
||||||
val seq = ArrayList<Int>()
|
while (i <= seq.lastIndex) {
|
||||||
|
if ((glyphProps[seq[i]] ?: nullProp).diacriticsBeforeGlyph) {
|
||||||
var i = 0
|
val t = seq[i - 1]
|
||||||
while (i < this.length) {
|
seq[i - 1] = seq[i]
|
||||||
val c = this[i]
|
seq[i] = t
|
||||||
|
|
||||||
if (i < this.lastIndex) {
|
|
||||||
if (c.isHighSurrogate()) {
|
|
||||||
val cNext = this[i + 1]
|
|
||||||
|
|
||||||
if (!cNext.isLowSurrogate())
|
|
||||||
throw IllegalArgumentException("Malformed UTF-16 String: High surrogate must be paired with low surrogate")
|
|
||||||
|
|
||||||
val H = c
|
|
||||||
val L = cNext
|
|
||||||
|
|
||||||
seq.add(Character.toCodePoint(H, L))
|
|
||||||
|
|
||||||
i++ // skip next char (guaranteed to be Low Surrogate)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
seq.add(c.toInt())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
i++
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return seq
|
return seq
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** High surrogate comes before the low. */
|
/** High surrogate comes before the low. */
|
||||||
private fun Char.isHighSurrogate() = (this.toInt() in 0xD800..0xDBFF)
|
private fun Char.isHighSurrogate() = (this.toInt() in 0xD800..0xDBFF)
|
||||||
/** CodePoint = 0x10000 + (H - 0xD800) * 0x400 + (L - 0xDC00) */
|
/** CodePoint = 0x10000 + (H - 0xD800) * 0x400 + (L - 0xDC00) */
|
||||||
|
|||||||