working demo; fixed chinese shading bug

operation not guaranteed on Slick2d
This commit is contained in:
minjaesong
2018-07-26 05:32:28 +09:00
parent 379c84c22e
commit f6e2a3b049
6 changed files with 120 additions and 83 deletions

159
.idea/workspace.xml generated
View File

@@ -7,34 +7,11 @@
</component> </component>
<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 afterPath="$PROJECT_DIR$/.idea/artifacts/FontDemoGDX.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/FontTestGDX/lib/TerrarumSansBitmap.jar" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/lib/TerrarumSansBitmap.jar" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/kotlinc.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/libraries/GdxLib.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/LICENSE.md" beforeDir="false" afterPath="$PROJECT_DIR$/LICENSE.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/libraries/TesterLib.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/markdown-navigator.xml" 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 afterPath="$PROJECT_DIR$/.idea/markdown-navigator/profiles_settings.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/FontTestGDX/FontTestGDX.iml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/artifacts/TerrarumSansBitmap.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/artifacts/TerrarumSansBitmap.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/lib.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/BuildJAR_TerrarumSansBitmap.iml" beforeDir="false" afterPath="$PROJECT_DIR$/BuildJAR_TerrarumSansBitmap.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/TerrarumSansBitmap.jar" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/.idea/.name" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/.idea/artifacts/unnamed.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/.idea/kotlinc.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/.idea/libraries/KotlinJavaRuntime.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/.idea/misc.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/.idea/modules.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/.idea/workspace.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/META-INF/MANIFEST.MF" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/TerrarumSansDemo.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/config.properties" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/src/net/torvald/terrarum/imagefont/GameFontBase.kt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/src/net/torvald/terrarum/imagefont/GameFontDemo.kt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/demo/text.txt" beforeDir="false" />
</list> </list>
<ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/out/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -54,8 +31,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="481"> <state relative-caret-position="286">
<caret line="768" column="40" selection-start-line="768" selection-start-column="40" selection-end-line="768" selection-end-column="40" /> <caret line="514" column="56" lean-forward="true" selection-start-line="514" selection-start-column="48" selection-end-line="514" selection-end-column="56" />
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -63,8 +40,8 @@
<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="221"> <state relative-caret-position="153">
<caret line="361" column="13" selection-start-line="361" selection-start-column="13" selection-end-line="361" selection-end-column="13" /> <caret line="523" column="48" lean-forward="true" selection-start-line="523" selection-start-column="48" selection-end-line="523" selection-end-column="48" />
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -76,8 +53,8 @@
<file leaf-file-name="FontTestGDX.kt" pinned="false" current-in-tab="true"> <file leaf-file-name="FontTestGDX.kt" pinned="false" current-in-tab="true">
<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="468"> <state relative-caret-position="272">
<caret line="36" column="26" lean-forward="true" selection-start-line="36" selection-start-column="26" selection-end-line="36" selection-end-column="26" /> <caret line="21" column="81" selection-start-line="21" selection-start-column="81" selection-end-line="21" selection-end-column="81" />
<folding> <folding>
<element signature="e#48#162#0" expanded="true" /> <element signature="e#48#162#0" expanded="true" />
</folding> </folding>
@@ -85,6 +62,20 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="README.md" pinned="false" current-in-tab="false">
<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="480">
<caret line="241" column="171" selection-start-line="241" selection-start-column="171" selection-end-line="241" selection-end-column="171" />
</first_editor>
<second_editor>
<js_state />
</second_editor>
</state>
</provider>
</entry>
</file>
</leaf> </leaf>
</split-second> </split-second>
</splitter> </splitter>
@@ -106,6 +97,7 @@
<find>fun getWidth</find> <find>fun getWidth</find>
<find>fun dispo</find> <find>fun dispo</find>
<find>xHei</find> <find>xHei</find>
<find>not copy</find>
</findStrings> </findStrings>
</component> </component>
<component name="Git.Settings"> <component name="Git.Settings">
@@ -116,11 +108,14 @@
<list> <list>
<option value="$PROJECT_DIR$/.gitignore" /> <option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/lib/slick.jar!/org/newdawn/slick/Color.class" /> <option value="$PROJECT_DIR$/lib/slick.jar!/org/newdawn/slick/Color.class" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" />
<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$/FontTestGDX/demotext.txt" />
<option value="$PROJECT_DIR$/LICENSE.md" />
<option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" />
<option value="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" /> <option value="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt" />
</list> </list>
</option> </option>
</component> </component>
@@ -144,11 +139,6 @@
<item name="BuildJAR_TerrarumSansBitmap" type="b2602c69:ProjectViewProjectNode" /> <item name="BuildJAR_TerrarumSansBitmap" type="b2602c69:ProjectViewProjectNode" />
<item name="Terrarum-sans-bitmap" type="462c0819:PsiDirectoryNode" /> <item name="Terrarum-sans-bitmap" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="BuildJAR_TerrarumSansBitmap" type="b2602c69:ProjectViewProjectNode" />
<item name="Terrarum-sans-bitmap" type="462c0819:PsiDirectoryNode" />
<item name="assets" type="462c0819:PsiDirectoryNode" />
</path>
<path> <path>
<item name="BuildJAR_TerrarumSansBitmap" type="b2602c69:ProjectViewProjectNode" /> <item name="BuildJAR_TerrarumSansBitmap" type="b2602c69:ProjectViewProjectNode" />
<item name="Terrarum-sans-bitmap" type="462c0819:PsiDirectoryNode" /> <item name="Terrarum-sans-bitmap" type="462c0819:PsiDirectoryNode" />
@@ -178,6 +168,7 @@
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="SearchEverywhereHistoryKey" value="soft wr&#9;ACTION&#9;EditorToggleUseSoftWraps" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/FontTestGDX/lib" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/FontTestGDX/lib" />
<property name="project.structure.last.edited" value="Artifacts" /> <property name="project.structure.last.edited" value="Artifacts" />
<property name="project.structure.proportion" value="0.15" /> <property name="project.structure.proportion" value="0.15" />
@@ -201,7 +192,7 @@
</list> </list>
</option> </option>
</component> </component>
<component name="RunManager" selected="Kotlin.FontTestGDXKt (1)"> <component name="RunManager">
<configuration default="true" type="Applet" factoryName="Applet"> <configuration default="true" type="Applet" factoryName="Applet">
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" /> <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
</configuration> </configuration>
@@ -224,25 +215,21 @@
</option> </option>
<patterns /> <patterns />
</configuration> </configuration>
<configuration name="FontTestGDXKt (1)" type="JetRunConfigurationType" factoryName="Kotlin" temporary="true" nameIsGenerated="true"> <configuration name="FontTestGDXKt" type="JetRunConfigurationType" factoryName="Kotlin" temporary="true">
<module name="FontTestGDX" /> <module name="FontTestGDX" />
<option name="VM_PARAMETERS" /> <option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" /> <option name="PROGRAM_PARAMETERS" value="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" /> <option name="ALTERNATIVE_JRE_PATH" />
<option name="PASS_PARENT_ENVS" value="true" /> <option name="PASS_PARENT_ENVS" value="true" />
<option name="MAIN_CLASS_NAME" value="FontTestGDXKt" /> <option name="MAIN_CLASS_NAME" value="FontTestGDXKt" />
<option name="WORKING_DIRECTORY" /> <option name="WORKING_DIRECTORY" value="" />
</configuration> <method>
<configuration name="FontTestGDXKt" type="JetRunConfigurationType" factoryName="Kotlin" temporary="true" nameIsGenerated="true"> <option name="BuildArtifacts" enabled="true">
<module name="BuildJAR_TerrarumSansBitmap" /> <artifact name="TerrarumSansBitmap" />
<option name="VM_PARAMETERS" /> </option>
<option name="PROGRAM_PARAMETERS" /> <option name="Make" enabled="true" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> </method>
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="MAIN_CLASS_NAME" value="FontTestGDXKt" />
<option name="WORKING_DIRECTORY" />
</configuration> </configuration>
<configuration default="true" type="KotlinStandaloneScriptRunConfigurationType" factoryName="Kotlin script"> <configuration default="true" type="KotlinStandaloneScriptRunConfigurationType" factoryName="Kotlin script">
<option name="filePath" /> <option name="filePath" />
@@ -373,14 +360,9 @@
<setting name="rowsRange" value="" /> <setting name="rowsRange" value="" />
<method /> <method />
</configuration> </configuration>
<list>
<item itemvalue="Kotlin.net.torvald.terrarumsansbitmap.testbed.FontTestGDXKt" />
<item itemvalue="Kotlin.FontTestGDXKt (1)" />
</list>
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="Kotlin.FontTestGDXKt (1)" /> <item itemvalue="Kotlin.FontTestGDXKt" />
<item itemvalue="Kotlin.net.torvald.terrarumsansbitmap.testbed.FontTestGDXKt" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
@@ -416,7 +398,7 @@
<window_info anchor="right" id="Palette&#9;" order="3" /> <window_info anchor="right" id="Palette&#9;" order="3" />
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" /> <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="right" id="Maven Projects" order="3" /> <window_info anchor="right" id="Maven Projects" order="3" />
<window_info anchor="bottom" id="Run" order="2" weight="0.32947975" /> <window_info anchor="bottom" id="Run" order="2" weight="0.2591522" />
<window_info anchor="bottom" id="Version Control" order="7" /> <window_info anchor="bottom" id="Version Control" order="7" />
<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" />
@@ -424,7 +406,7 @@
<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 anchor="bottom" id="Debug" order="3" weight="0.4" /> <window_info active="true" anchor="bottom" id="Debug" order="3" visible="true" weight="0.23025048" />
<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" />
@@ -633,30 +615,61 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt"> <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="221"> <state relative-caret-position="546">
<caret line="361" column="13" selection-start-line="361" selection-start-column="13" selection-end-line="361" selection-end-column="13" /> <caret line="42" column="62" selection-start-line="42" selection-start-column="62" selection-end-line="42" selection-end-column="62" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt"> <entry file="file://$PROJECT_DIR$/LICENSE.md">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
<state relative-caret-position="481"> <state split_layout="SPLIT">
<caret line="768" column="40" selection-start-line="768" selection-start-column="40" selection-end-line="768" selection-end-column="40" /> <first_editor relative-caret-position="26">
<caret line="2" column="23" selection-start-line="2" selection-start-column="23" selection-end-line="2" selection-end-column="23" />
</first_editor>
<second_editor>
<js_state />
</second_editor>
</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="480">
<caret line="241" column="171" selection-start-line="241" selection-start-column="171" selection-end-line="241" selection-end-column="171" />
</first_editor>
<second_editor>
<js_state />
</second_editor>
</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="468"> <state relative-caret-position="272">
<caret line="36" column="26" lean-forward="true" selection-start-line="36" selection-start-column="26" selection-end-line="36" selection-end-column="26" /> <caret line="21" column="81" selection-start-line="21" selection-start-column="81" selection-end-line="21" selection-end-column="81" />
<folding> <folding>
<element signature="e#48#162#0" expanded="true" /> <element signature="e#48#162#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="523" column="48" lean-forward="true" selection-start-line="523" selection-start-column="48" selection-end-line="523" selection-end-column="48" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="514" column="56" lean-forward="true" selection-start-line="514" selection-start-column="48" selection-end-line="514" selection-end-column="56" />
</state>
</provider>
</entry>
</component> </component>
<component name="masterDetails"> <component name="masterDetails">
<states> <states>

View File

@@ -4,6 +4,7 @@ import com.badlogic.gdx.Screen
import com.badlogic.gdx.backends.lwjgl.LwjglApplication import com.badlogic.gdx.backends.lwjgl.LwjglApplication
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration
import com.badlogic.gdx.graphics.GL20 import com.badlogic.gdx.graphics.GL20
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarumsansbitmap.gdx.GameFontBase import net.torvald.terrarumsansbitmap.gdx.GameFontBase
/** /**
@@ -13,8 +14,19 @@ class FontTestGDX : Game() {
lateinit var font: GameFontBase lateinit var font: GameFontBase
lateinit var inputText: List<String>
lateinit var batch: SpriteBatch
override fun create() { override fun create() {
font = GameFontBase("./assets") font = GameFontBase("./assets", flipY = false) // must test for two cases
val inTextFile = Gdx.files.internal("./FontTestGDX/demotext.txt")
val reader = inTextFile.reader()
inputText = reader.readLines()
reader.close()
batch = SpriteBatch()
} }
override fun getScreen(): Screen? { override fun getScreen(): Screen? {
@@ -26,12 +38,20 @@ class FontTestGDX : Game() {
override fun render() { override fun render() {
Gdx.gl.glClearColor(.094f, .094f, .094f, 1f) Gdx.gl.glClearColor(1f - 0xBA/255f, 1f - 0xDA/255f, 1f - 0x55/255f, 1f)
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT) Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT)
Gdx.gl.glEnable(GL20.GL_TEXTURE_2D) Gdx.gl.glEnable(GL20.GL_TEXTURE_2D)
Gdx.gl.glEnable(GL20.GL_BLEND) Gdx.gl.glEnable(GL20.GL_BLEND)
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA) Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)
batch.begin()
inputText.reversed().forEachIndexed { index, s ->
font.draw(batch, s, 10f, 10f + index * font.lineHeight)
}
batch.end()
} }
override fun pause() { override fun pause() {
@@ -52,8 +72,8 @@ fun main(args: Array<String>) {
val appConfig = LwjglApplicationConfiguration() val appConfig = LwjglApplicationConfiguration()
appConfig.vSyncEnabled = false appConfig.vSyncEnabled = false
appConfig.resizable = false//true; appConfig.resizable = false//true;
appConfig.width = 740 // photographic ratio (1.5:1) appConfig.width = 1024 // photographic ratio (1.5:1)
appConfig.height = 1110 // photographic ratio (1.5:1) appConfig.height = 1024 // photographic ratio (1.5:1)
appConfig.title = "Terrarum Sans Bitmap Test (GDX)" appConfig.title = "Terrarum Sans Bitmap Test (GDX)"
LwjglApplication(FontTestGDX(), appConfig) LwjglApplication(FontTestGDX(), appConfig)

View File

@@ -1,6 +1,6 @@
Terrarum Sans Bitmap Terrarum Sans Bitmap
Copyright (c) 2017 Minjae Song (Torvald) and the contributors Copyright (c) 2017-2018 Minjae Song (Torvald) and the contributors
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@@ -239,4 +239,4 @@ This is a Kotlin-like pseudocode for assembling the glyph:
Thanks to kind people of [/r/Typography](https://www.reddit.com/r/typography/) for amazing feedbacks. Thanks to kind people of [/r/Typography](https://www.reddit.com/r/typography/) for amazing feedbacks.
CJK Ideographs are powered by [WenQuanYi Font](http://wenq.org/wqy2/index.cgi?BitmapSong). The font is distributed under the GNU GPL version 2. Although the glyphs themselves are not copyrightable (the program codes—e.g. TTF—do), we would like to give a credit for the font and the people behind it. CJK Ideographs are powered by [WenQuanYi Font](http://wenq.org/wqy2/index.cgi?BitmapSong). The font is distributed under the GNU GPL version 2. Although, in some countries including where I'm based on, the shapes of typefaces are not copyrightable (the program codes—e.g. TTF—do), we would like to give a credit for the font and the people behind it.

View File

@@ -400,6 +400,10 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
private lateinit var originalColour: Color private lateinit var originalColour: Color
override fun draw(batch: Batch, str: CharSequence, x: Float, y: Float): GlyphLayout? { override fun draw(batch: Batch, str: CharSequence, x: Float, y: Float): GlyphLayout? {
fun Int.flipY() = this * if (flipY) 1 else -1
// always draw at integer position; this is bitmap font after all // always draw at integer position; this is bitmap font after all
val x = Math.round(x).toFloat() val x = Math.round(x).toFloat()
val y = Math.round(y).toFloat() val y = Math.round(y).toFloat()
@@ -508,7 +512,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
sheets[sheetID].get(sheetX, sheetY), sheets[sheetID].get(sheetX, sheetY),
x + textBWidth[index] + 1 + offset, x + textBWidth[index] + 1 + offset,
y + (if (sheetID == SHEET_UNIHAN) // evil exceptions y + (if (sheetID == SHEET_UNIHAN) // evil exceptions
offsetUnihan offsetUnihan.flipY()
else if (sheetID == SHEET_CUSTOM_SYM) else if (sheetID == SHEET_CUSTOM_SYM)
offsetCustomSym offsetCustomSym
else else
@@ -518,7 +522,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
sheets[sheetID].get(sheetX, sheetY), sheets[sheetID].get(sheetX, sheetY),
x + textBWidth[index] + offset, x + textBWidth[index] + offset,
y + (if (sheetID == SHEET_UNIHAN) // evil exceptions y + (if (sheetID == SHEET_UNIHAN) // evil exceptions
offsetUnihan + 1 offsetUnihan.flipY() + 1
else if (sheetID == SHEET_CUSTOM_SYM) else if (sheetID == SHEET_CUSTOM_SYM)
offsetCustomSym + 1 offsetCustomSym + 1
else else
@@ -528,11 +532,11 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
sheets[sheetID].get(sheetX, sheetY), sheets[sheetID].get(sheetX, sheetY),
x + textBWidth[index] + 1 + offset, x + textBWidth[index] + 1 + offset,
y + (if (sheetID == SHEET_UNIHAN) // evil exceptions y + (if (sheetID == SHEET_UNIHAN) // evil exceptions
offsetUnihan + 1 offsetUnihan.flipY() + 1
else if (sheetID == SHEET_CUSTOM_SYM) else if (sheetID == SHEET_CUSTOM_SYM)
offsetCustomSym + 1 offsetCustomSym + 1
else else
1) * if (flipY) 1 else -1 1).flipY()
) )
} }