Compare commits
239 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
069b1c853d | ||
|
|
d5b912a64e | ||
|
|
07a4988f5f | ||
|
|
13ef2f586e | ||
|
|
5882ddd974 | ||
|
|
2000438c16 | ||
|
|
bdb4e9f03f | ||
|
|
3e395defb5 | ||
|
|
71371e147b | ||
|
|
fbc8aef956 | ||
|
|
32bdc98de5 | ||
|
|
1614260ce7 | ||
|
|
fb60edb9a4 | ||
|
|
47eae57418 | ||
|
|
2a15785f57 | ||
|
|
95dfcb91b5 | ||
|
|
033fcab9ec | ||
|
|
b7521ccabf | ||
|
|
3cc397d2db | ||
|
|
1f37ee1f4f | ||
|
|
2205e1bc44 | ||
|
|
3500f17e08 | ||
|
|
7c8a1be3e5 | ||
|
|
39ff4cd92c | ||
|
|
2c10407c17 | ||
|
|
1f318837e7 | ||
|
|
a5fc22661c | ||
|
|
d8dc1c8cfd | ||
|
|
42c72a6a90 | ||
|
|
385dc8bdff | ||
|
|
a58abd813f | ||
|
|
8b38e3e47d | ||
|
|
bd333293c4 | ||
|
|
c415c29fb5 | ||
|
|
d31b5e4068 | ||
|
|
e2d6d3724c | ||
|
|
48339b0599 | ||
|
|
0dade179d8 | ||
|
|
fb4cfb6e6d | ||
|
|
06fcffde56 | ||
|
|
accbecfb3e | ||
|
|
b3e6f61f96 | ||
|
|
c2b491cc8d | ||
|
|
74695f519b | ||
|
|
adcf84140c | ||
|
|
b7ecfd910e | ||
|
|
a719d872c2 | ||
|
|
2d99f39a99 | ||
|
|
d43a2d5bec | ||
|
|
b2acb83848 | ||
|
|
949187345d | ||
|
|
07d4504a89 | ||
|
|
aa45f942e3 | ||
|
|
7384d970d5 | ||
|
|
8e29db9c4a | ||
|
|
8bf0642b3f | ||
|
|
87492c1f0b | ||
|
|
2196a4b2e7 | ||
|
|
ee51cafa6c | ||
|
|
57ce0363f2 | ||
|
|
77e01151b5 | ||
|
|
869d424292 | ||
|
|
631e60bb73 | ||
|
|
6410256e6a | ||
|
|
66c1a1357a | ||
|
|
d87b0dce7c | ||
|
|
c695a9c5f0 | ||
|
|
6c63504497 | ||
|
|
8fd3f0e99a | ||
|
|
373af27873 | ||
|
|
30327776ba | ||
|
|
32c859fdf8 | ||
|
|
06782fdc55 | ||
|
|
46a57e8e50 | ||
|
|
78333b3fe1 | ||
|
|
35325cb852 | ||
|
|
1bf78cc5bb | ||
|
|
5f1f740fab | ||
|
|
e9c9ae4aab | ||
|
|
09b3a8c759 | ||
|
|
cfc52386ab | ||
|
|
c9474fac1c | ||
|
|
9e85cae502 | ||
|
|
eacbd4fdb0 | ||
|
|
258f70dbf4 | ||
|
|
f69b39df95 | ||
|
|
9b554d3524 | ||
|
|
d6ba2eb7ce | ||
|
|
a9883fc029 | ||
|
|
0ebbcfb8c4 | ||
|
|
4d04f368c6 | ||
|
|
ab04e6b735 | ||
|
|
c1b7d3e036 | ||
|
|
f60454229b | ||
|
|
bba02d9f40 | ||
|
|
1a20283bb3 | ||
|
|
c644d4ad1a | ||
|
|
b9e0366512 | ||
|
|
e81b9f4e53 | ||
|
|
67481f9e44 | ||
|
|
95f42a9126 | ||
|
|
84ea79b069 | ||
|
|
3f1364c982 | ||
|
|
28b902b6c0 | ||
|
|
a19ce0d833 | ||
|
|
b042af1881 | ||
|
|
1d57958db9 | ||
|
|
a9d28510a7 | ||
|
|
b944cf3585 | ||
|
|
de23edcbda | ||
|
|
68382370a4 | ||
|
|
29c7c20844 | ||
|
|
7037a758cf | ||
|
|
75a3bb2198 | ||
|
|
473b34dc7c | ||
|
|
6f88e37df6 | ||
|
|
4ca39b3742 | ||
|
|
3cc44d4421 | ||
|
|
0ea7bf8c1b | ||
|
|
f5bc1f8178 | ||
|
|
2a39ff0d35 | ||
|
|
ecffe22d01 | ||
|
|
e1c48ace6b | ||
|
|
efff35f0e3 | ||
|
|
f10962ceda | ||
|
|
37d21c6f6c | ||
|
|
ff7c0f8df3 | ||
|
|
c863148f13 | ||
|
|
69e12f0205 | ||
|
|
6bf4a5a995 | ||
|
|
38bdb28b64 | ||
|
|
8ba1a4a005 | ||
|
|
70da6a5142 | ||
|
|
2f6126d0ea | ||
|
|
189a427edc | ||
|
|
21dbf348d0 | ||
|
|
ff455ef2fd | ||
|
|
d7029c3841 | ||
|
|
2d894613df | ||
|
|
60a1da1336 | ||
|
|
123d856853 | ||
|
|
617e0bc5b1 | ||
|
|
0a873b3801 | ||
|
|
3c97253c9a | ||
|
|
f228c331cf | ||
|
|
464ac151bd | ||
|
|
8f70306540 | ||
|
|
28166bb2ec | ||
|
|
ac85217998 | ||
|
|
44b2450fbf | ||
|
|
9221373c53 | ||
|
|
bfaa190e49 | ||
|
|
23c7ae15a2 | ||
|
|
077a832767 | ||
|
|
8c9e912491 | ||
|
|
8a7cf85982 | ||
|
|
bae9af79e9 | ||
|
|
374dc1dd66 | ||
|
|
2812460a9c | ||
|
|
83a885d214 | ||
|
|
0dbb32b575 | ||
|
|
4fea10583c | ||
|
|
ebdb0c499c | ||
|
|
4e6f473b6f | ||
|
|
7fdb7a7a91 | ||
|
|
f8a1c4cfdf | ||
|
|
afa59255cc | ||
|
|
23a5a8997f | ||
|
|
4e705e5c7d | ||
|
|
c57f8e191b | ||
|
|
ed97bafc41 | ||
|
|
eebff767ce | ||
|
|
baee9a62aa | ||
|
|
305dbb548c | ||
|
|
0ccdf67f1e | ||
|
|
60aad1b24d | ||
|
|
e31e088744 | ||
|
|
824f11412d | ||
|
|
1445404005 | ||
|
|
dd851cdbc9 | ||
|
|
7abfb2d2f0 | ||
|
|
5e7237fb17 | ||
|
|
0cba7b96be | ||
|
|
1705b2752e | ||
|
|
4614ffab92 | ||
|
|
225d908f70 | ||
|
|
09e7483389 | ||
|
|
57ab00b6e1 | ||
|
|
23b6be74e2 | ||
|
|
905a235a1b | ||
|
|
d6b1dbd1d6 | ||
|
|
e9c4f0723a | ||
|
|
ac6733469c | ||
|
|
a7ecba905a | ||
|
|
d7c48b1f88 | ||
|
|
0c74660396 | ||
|
|
b3c1327dc4 | ||
|
|
489da04d1d | ||
|
|
a58ad756ff | ||
|
|
702f1b2e2f | ||
|
|
f10413d9c4 | ||
|
|
80aa9d0e52 | ||
|
|
64c13571f9 | ||
|
|
a36c5df477 | ||
|
|
7c3069e8cf | ||
|
|
1e66cfec51 | ||
|
|
1e0a820817 | ||
|
|
4623975858 | ||
|
|
23aac0c1c1 | ||
|
|
54d983013a | ||
|
|
c7507a6357 | ||
|
|
0714581866 | ||
|
|
095b8e65fb | ||
|
|
e60652d705 | ||
|
|
f3aeba3d70 | ||
|
|
ee2b1027b7 | ||
|
|
3b05624de5 | ||
|
|
4c0582184f | ||
|
|
5e6b2363b7 | ||
|
|
dbe93a26eb | ||
|
|
b128312e2c | ||
|
|
07ca429483 | ||
|
|
9675c40216 | ||
|
|
0870856674 | ||
|
|
3c6f18efbf | ||
|
|
2fdc6f85f5 | ||
|
|
4ed2c26b35 | ||
|
|
3ef7410e45 | ||
|
|
ba730fafe3 | ||
|
|
ab925bc8c5 | ||
|
|
b1362f3a3b | ||
|
|
f60eb6b3fc | ||
|
|
88f013a304 | ||
|
|
ea9f8fae4c | ||
|
|
a6363131ac | ||
|
|
fc60356b8b | ||
|
|
755420d5b3 | ||
|
|
0200aa5f85 | ||
|
|
7dff623b75 |
3
.gitattributes
vendored
@@ -8,3 +8,6 @@
|
|||||||
*.kra filter=lfs diff=lfs merge=lfs -text
|
*.kra filter=lfs diff=lfs merge=lfs -text
|
||||||
*.png filter=lfs diff=lfs merge=lfs -text
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
*.wav filter=lfs diff=lfs merge=lfs -text
|
*.wav filter=lfs diff=lfs merge=lfs -text
|
||||||
|
|
||||||
|
*.tga binary diff=hex
|
||||||
|
*.kra binary diff=hex
|
||||||
|
|||||||
124
.idea/uiDesigner.xml
generated
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Palette2">
|
||||||
|
<group name="Swing">
|
||||||
|
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Button" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="RadioButton" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="CheckBox" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Label" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||||
|
<preferred-size width="-1" height="20" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
</group>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
85
.idea/workspace.xml
generated
Executable file → Normal file
@@ -10,34 +10,30 @@
|
|||||||
</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/libraries/lib.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/libraries/badlogicgames_gdx.xml" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/libraries/badlogicgames_gdx_backend_lwjgl3.xml" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/runConfigurations.xml" beforeDir="false" />
|
|
||||||
<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$/BuildJAR_TerrarumSansBitmap.iml" beforeDir="false" afterPath="$PROJECT_DIR$/BuildJAR_TerrarumSansBitmap.iml" 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/FontTestGDX.iml" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/FontTestGDX.iml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/assets/cjkpunct.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/cjkpunct.tga" 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/currencies_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/currencies_variable.tga" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/assets/cyrilic_bulgarian_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/cyrilic_bulgarian_variable.tga" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/assets/futhark.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/futhark.tga" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/assets/cyrilic_serbian_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/cyrilic_serbian_variable.tga" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/assets/cyrilic_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/cyrilic_variable.tga" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/assets/greek_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/greek_variable.tga" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/assets/latinExtA_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/latinExtA_variable.tga" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/assets/latinExtB_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/latinExtB_variable.tga" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/assets/latinExtC_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/latinExtC_variable.tga" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/assets/latinExtC_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/latinExtC_variable.tga" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/assets/latinExtD_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/latinExtD_variable.tga" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/assets/richtext_furigana.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/richtext_furigana.tga" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/assets/latinExt_additional_variable.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/latinExt_additional_variable.tga" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/assets/typewriter/typewriter_intl_qwerty.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/typewriter/typewriter_intl_qwerty.tga" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/demo.PNG" beforeDir="false" afterPath="$PROJECT_DIR$/demo.PNG" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/assets/typewriter/typewriter_ko_3set-390.tga" beforeDir="false" afterPath="$PROJECT_DIR$/assets/typewriter/typewriter_ko_3set-390.tga" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/work_files/ascii_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/ascii_variable.psd" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/assets/wenquanyi.tga.gz" beforeDir="false" afterPath="$PROJECT_DIR$/assets/wenquanyi.tga.gz" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/work_files/cyrilic_bulgarian_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/cyrilic_bulgarian_variable.psd" 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$/work_files/cyrilic_serbian_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/cyrilic_serbian_variable.psd" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/glyph_height_pos_annotation.png" beforeDir="false" afterPath="$PROJECT_DIR$/glyph_height_pos_annotation.png" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/work_files/cyrilic_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/cyrilic_variable.psd" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/samples/wikipedia_x86.png" beforeDir="false" afterPath="$PROJECT_DIR$/samples/wikipedia_x86.png" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/work_files/greek_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/greek_variable.psd" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/terrarum_sans_cyrillic_2.png" beforeDir="false" afterPath="$PROJECT_DIR$/terrarum_sans_cyrillic_2.png" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/work_files/latinExtA_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/latinExtA_variable.psd" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/testing.PNG" beforeDir="false" afterPath="$PROJECT_DIR$/testing.PNG" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/work_files/latinExtB_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/latinExtB_variable.psd" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/testtext.txt" beforeDir="false" afterPath="$PROJECT_DIR$/testtext.txt" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/work_files/latinExtC_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/latinExtC_variable.psd" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/width_bit_encoding_annotated.png" beforeDir="false" afterPath="$PROJECT_DIR$/width_bit_encoding_annotated.png" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/work_files/latinExtD_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/latinExtD_variable.psd" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/work_files/typewriter_input/alphnum_glyphs_master.kra" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/typewriter_input/alphnum_glyphs_master.kra" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/work_files/latinExt_additional_variable.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/latinExt_additional_variable.psd" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/work_files/typewriter_input/alphnum_glyphs_resized.kra" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/typewriter_input/alphnum_glyphs_resized.kra" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/work_files/typewriter_input/hangul_3set_glyphs_master.kra" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/typewriter_input/hangul_3set_glyphs_master.kra" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/work_files/typewriter_input/typewriter_input_template.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/typewriter_input/typewriter_input_template.psd" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/work_files/typewriter_input/typewriter_intl_qwerty.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/typewriter_input/typewriter_intl_qwerty.psd" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/work_files/typewriter_input/typewriter_ko_3set-390.psd" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/typewriter_input/typewriter_ko_3set-390.psd" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/work_files/typewriter_input/typewriter_ko_3set_glyphs_resized.kra" beforeDir="false" afterPath="$PROJECT_DIR$/work_files/typewriter_input/typewriter_ko_3set_glyphs_resized.kra" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -64,26 +60,22 @@
|
|||||||
<filtered-out-file-type name="COMMIT_BY_MESSAGE" />
|
<filtered-out-file-type name="COMMIT_BY_MESSAGE" />
|
||||||
</file-type-list>
|
</file-type-list>
|
||||||
</component>
|
</component>
|
||||||
|
<component name="MarkdownSettingsMigration">
|
||||||
|
<option name="stateVersion" value="1" />
|
||||||
|
</component>
|
||||||
<component name="ProjectId" id="1aVE5t6KObkWt36lb07GBy1GY1S" />
|
<component name="ProjectId" id="1aVE5t6KObkWt36lb07GBy1GY1S" />
|
||||||
<component name="ProjectViewState">
|
<component name="ProjectViewState">
|
||||||
<option name="hideEmptyMiddlePackages" value="true" />
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
<option name="showLibraryContents" value="true" />
|
<option name="showLibraryContents" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent">
|
<component name="PropertiesComponent">{
|
||||||
<property name="Downloaded.Files.Path.Enabled" value="false" />
|
"keyToString": {
|
||||||
<property name="Repository.Attach.Annotations" value="false" />
|
"last_opened_file_path": "/home/torvald/Documents/Terrarum-sans-bitmap",
|
||||||
<property name="Repository.Attach.JavaDocs" value="false" />
|
"project.structure.last.edited": "Artifacts",
|
||||||
<property name="Repository.Attach.Sources" value="false" />
|
"project.structure.proportion": "0.0",
|
||||||
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
"project.structure.side.proportion": "0.0"
|
||||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
}
|
||||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
}</component>
|
||||||
<property name="SearchEverywhereHistoryKey" value="HashMap	PSI	JAVA://java.util.HashMap soft wr	ACTION	EditorToggleUseSoftWraps" />
|
|
||||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/lib" />
|
|
||||||
<property name="project.structure.last.edited" value="Libraries" />
|
|
||||||
<property name="project.structure.proportion" value="0.15" />
|
|
||||||
<property name="project.structure.side.proportion" value="0.32068965" />
|
|
||||||
<property name="settings.editor.selected.configurable" value="preferences.keymap" />
|
|
||||||
</component>
|
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
<key name="MoveFile.RECENT_KEYS">
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
<recent name="C:\Users\minjaesong\Documents\Terrarum-sans-bitmap\" />
|
<recent name="C:\Users\minjaesong\Documents\Terrarum-sans-bitmap\" />
|
||||||
@@ -91,7 +83,7 @@
|
|||||||
<recent name="C:\Users\minjaesong\Documents\Terrarum-sans-bitmap\FontTestGDX\src" />
|
<recent name="C:\Users\minjaesong\Documents\Terrarum-sans-bitmap\FontTestGDX\src" />
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager">
|
<component name="RunManager" selected="Kotlin.FontTestGDXKt">
|
||||||
<configuration default="true" type="Applet">
|
<configuration default="true" type="Applet">
|
||||||
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
|
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
|
||||||
<method v="2">
|
<method v="2">
|
||||||
@@ -134,6 +126,13 @@
|
|||||||
</option>
|
</option>
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration name="TypewriterGDXKt" type="JetRunConfigurationType" temporary="true" nameIsGenerated="true">
|
||||||
|
<option name="MAIN_CLASS_NAME" value="TypewriterGDXKt" />
|
||||||
|
<module name="FontTestGDX" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="Make" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
<configuration default="true" type="KotlinStandaloneScriptRunConfigurationType">
|
<configuration default="true" type="KotlinStandaloneScriptRunConfigurationType">
|
||||||
<option name="filePath" />
|
<option name="filePath" />
|
||||||
<method v="2">
|
<method v="2">
|
||||||
@@ -161,6 +160,7 @@
|
|||||||
<recent_temporary>
|
<recent_temporary>
|
||||||
<list>
|
<list>
|
||||||
<item itemvalue="Kotlin.FontTestGDXKt" />
|
<item itemvalue="Kotlin.FontTestGDXKt" />
|
||||||
|
<item itemvalue="Kotlin.TypewriterGDXKt" />
|
||||||
</list>
|
</list>
|
||||||
</recent_temporary>
|
</recent_temporary>
|
||||||
</component>
|
</component>
|
||||||
@@ -197,7 +197,6 @@
|
|||||||
</entry>
|
</entry>
|
||||||
</map>
|
</map>
|
||||||
</option>
|
</option>
|
||||||
<option name="oldMeFiltersMigrated" value="true" />
|
|
||||||
</component>
|
</component>
|
||||||
<component name="XSLT-Support.FileAssociations.UIState">
|
<component name="XSLT-Support.FileAssociations.UIState">
|
||||||
<expand />
|
<expand />
|
||||||
|
|||||||
4
BuildJAR_TerrarumSansBitmap.iml
Executable file → Normal file
@@ -5,9 +5,9 @@
|
|||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="jdk" jdkName="1.8.0_242" jdkType="JavaSDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
|
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
|
||||||
<orderEntry type="library" name="lib" level="project" />
|
<orderEntry type="library" scope="PROVIDED" name="lib" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
@@ -57,10 +57,20 @@ Rightmost vertical column (should be 20 px tall) contains the tags. Tags are def
|
|||||||
Y |= Diacritics Anchor Points (see below)
|
Y |= Diacritics Anchor Points (see below)
|
||||||
X -'
|
X -'
|
||||||
A -,_ 0 Align 1 Align 0 Align 1 Align before
|
A -,_ 0 Align 1 Align 0 Align 1 Align before
|
||||||
A -' 0 left 0 right 1 centre 1 the glyph
|
A -' 0 Left 0 Right 1 Centre 1 the glyph
|
||||||
D --Diacritics Type Bit (see below; not all diacritics are marked as one on the spritesheet)
|
D --Diacritics Type Bit (see below; not all diacritics are actually marked as a diacritics on the spritesheet)
|
||||||
S -,_ 0 Stack 1 Stack 0 Before 1 Up &
|
S -,_ 0 Stack 1 Stack 0 Before 1 Up &
|
||||||
(MSB) S -' 0 up 0 down 1 &After 1 Down (e.g. U+0C48)
|
(MSB) S -' 0 up 0 down 1 &After 1 Down* (e.g. U+0C48)
|
||||||
|
|
||||||
|
Align Centre and Align Right will respect the diacritics anchor points.
|
||||||
|
The Align Right AND Custom anchor point is being used for Thai diacritics.
|
||||||
|
When a width AND diacritics type bit is set, the entire glyph is shifted to the right as specified and the space of same width will be inserted.
|
||||||
|
(See SUNDANESE PAMINGKAL U+1BA1)
|
||||||
|
|
||||||
|
Up&Down:
|
||||||
|
1. when two pixels are both #00FF00 it's "don't stack"
|
||||||
|
2. otherwise, it's actually up&down
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Nudging Bits Encoding
|
#### Nudging Bits Encoding
|
||||||
@@ -76,13 +86,13 @@ Y-positive: nudges towards up
|
|||||||
|
|
||||||
4 Pixels are further divided as follows:
|
4 Pixels are further divided as follows:
|
||||||
|
|
||||||
| LSB | | | | |
|
| LSB | | Red | Green | Blue |
|
||||||
| ------------ | ------------ | ------------ | ------------ | ------------ |
|
| ------------ | ------------ | ------------ | ------------ | ------------ |
|
||||||
| Y | Anchor point Y for: | undefined | undefined | undefined |
|
| Y | Anchor point Y for: | undefined | undefined | undefined |
|
||||||
| X | Anchor point X for: | undefined | undefined | undefined |
|
| X | Anchor point X for: | undefined | undefined | undefined |
|
||||||
| Y | Anchor point Y for: | (unused) | (unused) | (unused) |
|
| Y | Anchor point Y for: | (unused) | (unused) | (unused) |
|
||||||
| X | Anchor point X for: | Type-0 | Type-1 | Type-2 |
|
| X | Anchor point X for: | Type-0 | Type-1 | Type-2 |
|
||||||
| MSB | | | | |
|
| **MSB** | | | | |
|
||||||
|
|
||||||
<MSB,Red> 1Y1Y1Y1Y 1Y2Y2Y2Y 1Y3Y3Y3Y <LSB,Blue>
|
<MSB,Red> 1Y1Y1Y1Y 1Y2Y2Y2Y 1Y3Y3Y3Y <LSB,Blue>
|
||||||
<MSB,Red> 1X1X1X1X 1X2X2X2X 1X3X3X3X <LSB,Blue>
|
<MSB,Red> 1X1X1X1X 1X2X2X2X 1X3X3X3X <LSB,Blue>
|
||||||
@@ -96,7 +106,7 @@ MSB for each word must be set so that the pixel would appear brighter on the ima
|
|||||||
<MSB,Red> FFFFFFFF FFFFFFFF FFFFFFFF <LSB,Blue> (For Type-0)
|
<MSB,Red> FFFFFFFF FFFFFFFF FFFFFFFF <LSB,Blue> (For Type-0)
|
||||||
<MSB,Red> TTTT0000 00000000 00000000 <LSB,Blue> (For Type-1 to Type-15)
|
<MSB,Red> TTTT0000 00000000 00000000 <LSB,Blue> (For Type-1 to Type-15)
|
||||||
|
|
||||||
Certain types of diacritics have predefined meanings:
|
Certain types of diacritics have predefined meanings (but some writing systems define their own meaning e.g. Devanagari):
|
||||||
|
|
||||||
* Type-0: Above
|
* Type-0: Above
|
||||||
* Type-1: Below (when it should be separated from being above)
|
* Type-1: Below (when it should be separated from being above)
|
||||||
@@ -111,10 +121,11 @@ Currently supported opcodes:
|
|||||||
|
|
||||||
*00000000: No-operation; does not use the Compiler Directive system.
|
*00000000: No-operation; does not use the Compiler Directive system.
|
||||||
|
|
||||||
*10000xxx: Replace a character with xxx subchars (yes, number 0 can be used).
|
*10000111: Replace a character with maximum 7 subchars.
|
||||||
Replacement characters are encoded vertically from X-zero, bit by bit
|
Replacement characters are encoded vertically from X-zero, bit by bit
|
||||||
(colour of the pixel doesn't matter) with LSB sitting on Y-zero.
|
(colour of the pixel doesn't matter) with LSB sitting on Y-zero.
|
||||||
|
|
||||||
|
*11111111: Tagging Used by the Subsystems. e.g. #FF0000 marks invalid combination.
|
||||||
|
|
||||||
#### Stack Up/Down
|
#### Stack Up/Down
|
||||||
|
|
||||||
@@ -143,6 +154,10 @@ This tag can be used as a general "replace this with these" directive, as long a
|
|||||||
|
|
||||||
Also note that the font compiler will not "stack" these diacritics.
|
Also note that the font compiler will not "stack" these diacritics.
|
||||||
|
|
||||||
|
#### The Keming Machine Tags
|
||||||
|
|
||||||
|
Keming Machine Tags define the rough shape of the glyph. Please read `keming_machine.txt` for further information.
|
||||||
|
|
||||||
|
|
||||||
#### NOTES
|
#### NOTES
|
||||||
- If glyphs are right or centre aligned, they must be aligned in the same way inside of the bitmap; the font compiler assumes every variable-width glyphs to have a width of 15, regardless of the tagged width.
|
- If glyphs are right or centre aligned, they must be aligned in the same way inside of the bitmap; the font compiler assumes every variable-width glyphs to have a width of 15, regardless of the tagged width.
|
||||||
|
|||||||
2
FontTestGDX/FontTestGDX.iml
Executable file → Normal file
@@ -5,7 +5,7 @@
|
|||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="jdk" jdkName="1.8.0_242" jdkType="JavaSDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="module" module-name="BuildJAR_TerrarumSansBitmap" />
|
<orderEntry type="module" module-name="BuildJAR_TerrarumSansBitmap" />
|
||||||
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
|
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
|
||||||
|
|||||||
@@ -4,9 +4,12 @@ import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration
|
|||||||
import com.badlogic.gdx.files.FileHandle
|
import com.badlogic.gdx.files.FileHandle
|
||||||
import com.badlogic.gdx.graphics.*
|
import com.badlogic.gdx.graphics.*
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
|
import com.badlogic.gdx.graphics.g2d.TextureRegion
|
||||||
import com.badlogic.gdx.graphics.glutils.FrameBuffer
|
import com.badlogic.gdx.graphics.glutils.FrameBuffer
|
||||||
import com.badlogic.gdx.utils.ScreenUtils
|
import com.badlogic.gdx.utils.ScreenUtils
|
||||||
import com.badlogic.gdx.utils.StreamUtils
|
import com.badlogic.gdx.utils.StreamUtils
|
||||||
|
import net.torvald.terrarumsansbitmap.MovableType
|
||||||
|
import net.torvald.terrarumsansbitmap.gdx.CodepointSequence
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap
|
import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
@@ -19,9 +22,9 @@ class FontTestGDX : Game() {
|
|||||||
|
|
||||||
lateinit var font: TerrarumSansBitmap
|
lateinit var font: TerrarumSansBitmap
|
||||||
|
|
||||||
lateinit var inputText: List<String>
|
lateinit var inputText: String
|
||||||
|
|
||||||
lateinit var batch: SpriteBatch
|
lateinit var batch: FlippingSpriteBatch
|
||||||
|
|
||||||
lateinit var frameBuffer: FrameBuffer
|
lateinit var frameBuffer: FrameBuffer
|
||||||
|
|
||||||
@@ -29,20 +32,31 @@ class FontTestGDX : Game() {
|
|||||||
|
|
||||||
private val testing = false
|
private val testing = false
|
||||||
|
|
||||||
private val demotextName = if (testing) "testtext.txt" else "demotext.txt"
|
private val demotextName = if (testing) "testtext.txt" else "demotext_unaligned.txt"
|
||||||
private val outimageName = if (testing) "testing.PNG" else "demo.PNG"
|
private val outimageName = if (testing) "testing.PNG" else "demo.PNG"
|
||||||
|
|
||||||
private lateinit var faketex: Texture
|
private lateinit var faketex: Texture
|
||||||
|
|
||||||
|
private val lineHeight = 24
|
||||||
|
|
||||||
|
|
||||||
|
lateinit var layout: MovableType
|
||||||
|
|
||||||
|
private lateinit var testtex: TextureRegion
|
||||||
|
|
||||||
override fun create() {
|
override fun create() {
|
||||||
font = TerrarumSansBitmap("./assets", debug = true, flipY = false, errorOnUnknownChar = false, shadowAlpha = 0.796f) // must test for two flipY cases
|
font = TerrarumSansBitmap("./assets", debug = true, flipY = false, errorOnUnknownChar = false, shadowAlpha = 0.5f) // must test for two flipY cases
|
||||||
|
// font.scale = 2
|
||||||
|
// font.interchar = 1
|
||||||
|
|
||||||
|
testtex = TextureRegion(Texture("./testtex.tga"))
|
||||||
|
|
||||||
val inTextFile = Gdx.files.internal("./$demotextName")
|
val inTextFile = Gdx.files.internal("./$demotextName")
|
||||||
val reader = inTextFile.reader("UTF-8")
|
val reader = inTextFile.reader("UTF-8")
|
||||||
inputText = reader.readLines()
|
inputText = reader.readLines().joinToString("\n")
|
||||||
reader.close()
|
reader.close()
|
||||||
|
|
||||||
batch = SpriteBatch()
|
batch = FlippingSpriteBatch()
|
||||||
|
|
||||||
|
|
||||||
// create faketex
|
// create faketex
|
||||||
@@ -54,12 +68,28 @@ class FontTestGDX : Game() {
|
|||||||
frameBuffer = FrameBuffer(Pixmap.Format.RGBA8888, TEXW, TEXH, true)
|
frameBuffer = FrameBuffer(Pixmap.Format.RGBA8888, TEXW, TEXH, true)
|
||||||
|
|
||||||
camera = OrthographicCamera(TEXW.toFloat(), TEXH.toFloat())
|
camera = OrthographicCamera(TEXW.toFloat(), TEXH.toFloat())
|
||||||
camera.translate(TEXW.div(2f), 0f)
|
camera.translate(0f, 0f)
|
||||||
camera.setToOrtho(true, TEXW.toFloat(), TEXH.toFloat())
|
camera.setToOrtho(false, TEXW.toFloat(), TEXH.toFloat())
|
||||||
camera.update()
|
camera.update()
|
||||||
|
|
||||||
|
|
||||||
Gdx.input.inputProcessor = Navigator(this)
|
Gdx.input.inputProcessor = Navigator(this)
|
||||||
|
|
||||||
|
|
||||||
|
println(font.charsetOverrideCodestyle)
|
||||||
|
println(font.charsetOverrideDefault)
|
||||||
|
|
||||||
|
val cs1 = CodepointSequence(listOf(0, 65, 0))
|
||||||
|
val cs2 = CodepointSequence(listOf(0, 65))
|
||||||
|
val cs3 = CodepointSequence(listOf(65, 0))
|
||||||
|
val cs4 = CodepointSequence(listOf(65))
|
||||||
|
println("w1: ${font.getWidthNormalised(cs1)}; ${font.getWidth(cs1)}")
|
||||||
|
println("w2: ${font.getWidthNormalised(cs2)}; ${font.getWidth(cs2)}")
|
||||||
|
println("w3: ${font.getWidthNormalised(cs3)}; ${font.getWidth(cs3)}")
|
||||||
|
println("w4: ${font.getWidthNormalised(cs4)}; ${font.getWidth(cs4)}")
|
||||||
|
println("These four numbers must match, even with interchar > 0")
|
||||||
|
|
||||||
|
layout = font.typesetParagraph(batch, inputText, TEXW - 48)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getScreen(): Screen? {
|
override fun getScreen(): Screen? {
|
||||||
@@ -81,25 +111,31 @@ class FontTestGDX : Game() {
|
|||||||
if (tex == null) {
|
if (tex == null) {
|
||||||
frameBuffer.begin()
|
frameBuffer.begin()
|
||||||
|
|
||||||
Gdx.gl.glClearColor(0f,0f,0f,0f)
|
Gdx.gl.glClearColor(.141f, .141f, .141f, 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.glBlendFuncSeparate(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE)
|
batch.setBlendFunctionSeparate(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA) // for not premultiplied textures
|
||||||
// Gdx.gl.glBlendFuncSeparate(GL20.GL_SRC_COLOR, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_SRC_ALPHA, GL20.GL_ONE)
|
|
||||||
|
|
||||||
// Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)
|
|
||||||
|
|
||||||
batch.projectionMatrix = camera.combined
|
batch.projectionMatrix = camera.combined
|
||||||
batch.begin()
|
batch.begin()
|
||||||
|
|
||||||
batch.color = backcol
|
batch.color = backcol
|
||||||
batch.draw(faketex, 0f, 0f, TEXW.toFloat(), TEXH.toFloat())
|
batch.draw(faketex, 0f, 0f, TEXW.toFloat(), TEXH.toFloat())
|
||||||
|
batch.flush()
|
||||||
|
|
||||||
batch.color = Color.WHITE
|
batch.color = Color.WHITE
|
||||||
inputText.forEachIndexed { index, s ->
|
// inputText.forEachIndexed { index, s ->
|
||||||
font.draw(batch, s, 10f, TEXH - 30f - index * font.lineHeight)
|
// font.draw(batch, s, 10f, TEXH - 30f - index * lineHeight)
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
// draw position debuggers
|
||||||
|
// font.draw(batch, "soft\uFE0F\u00ADhyphen\uFE0F\u00ADated", 24f, 12f)
|
||||||
|
// batch.draw(testtex, 24f, 12f)
|
||||||
|
// val layoutDrawCall = { x: Float, y: Float, _: Int -> batch.draw(testtex, x, y) }
|
||||||
|
// layout.draw(batch, 24f, 12f, mapOf(0 to layoutDrawCall))
|
||||||
|
// end of draw position debuggers
|
||||||
|
layout.draw(batch, 24f, 12f)
|
||||||
|
|
||||||
batch.end()
|
batch.end()
|
||||||
|
|
||||||
@@ -128,14 +164,14 @@ class FontTestGDX : Game() {
|
|||||||
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.glBlendFuncSeparate(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE)
|
batch.setBlendFunctionSeparate(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA) // for not premultiplied textures
|
||||||
|
|
||||||
|
camera.setToOrtho(true, WIDTH.toFloat(), HEIGHT.toFloat())
|
||||||
|
|
||||||
|
batch.projectionMatrix = camera.combined
|
||||||
batch.begin()
|
batch.begin()
|
||||||
batch.color = Color.WHITE
|
batch.color = Color.WHITE
|
||||||
batch.draw(tex, 0f, (TEXH.toFloat()/HEIGHT)*TEXH - scrollOffsetY, TEXW.toFloat(), -(TEXH.toFloat() / HEIGHT) * TEXH.toFloat())
|
batch.draw(tex!!, 0f, scrollOffsetY)
|
||||||
|
|
||||||
|
|
||||||
batch.end()
|
batch.end()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,15 +187,15 @@ class FontTestGDX : Game() {
|
|||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
font.dispose()
|
font.dispose()
|
||||||
faketex.dispose()
|
faketex.dispose()
|
||||||
File("./tmp_wenquanyi.tga").delete()
|
testtex.texture.dispose()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun scrollAdd(x: Int = 1) {
|
fun scrollAdd(x: Int = 1) {
|
||||||
scrollOffsetY -= (TEXH.toFloat() / HEIGHT) * 20f * x
|
scrollOffsetY += lineHeight * x
|
||||||
}
|
}
|
||||||
|
|
||||||
fun scrollSub(x: Int = 1) {
|
fun scrollSub(x: Int = 1) {
|
||||||
scrollOffsetY += (TEXH.toFloat() / HEIGHT) * 20f * x
|
scrollOffsetY -= lineHeight * x
|
||||||
}
|
}
|
||||||
|
|
||||||
class Navigator(val main: FontTestGDX) : InputAdapter() {
|
class Navigator(val main: FontTestGDX) : InputAdapter() {
|
||||||
@@ -268,9 +304,52 @@ class FontTestGDX : Game() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class FlippingSpriteBatch(size: Int = 1000) : SpriteBatch(size) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function draws the flipped version of the image by giving flipped uv-coord to the SpriteBatch
|
||||||
|
*/
|
||||||
|
override fun draw(texture: Texture, x: Float, y: Float, width: Float, height: Float) =
|
||||||
|
draw(texture, x, y, width, height, 0f, 0f, 1f, 1f)
|
||||||
|
|
||||||
|
override fun draw(texture: Texture, x: Float, y: Float) =
|
||||||
|
draw(texture, x, y, texture.width.toFloat(), texture.height.toFloat(), 0f, 0f, 1f, 1f)
|
||||||
|
|
||||||
|
fun drawFlipped(texture: Texture, x: Float, y: Float, width: Float, height: Float) =
|
||||||
|
draw(texture, x, y, width, height, 0f, 1f, 1f, 0f)
|
||||||
|
fun drawFlipped(texture: Texture, x: Float, y: Float) =
|
||||||
|
draw(texture, x, y, texture.width.toFloat(), texture.height.toFloat(), 0f, 1f, 1f, 0f)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function does obey the flipping set to the TextureRegion and try to draw flipped version of it,
|
||||||
|
* without touching the flipping setting of the given region.
|
||||||
|
*/
|
||||||
|
override fun draw(region: TextureRegion, x: Float, y: Float, width: Float, height: Float) =
|
||||||
|
draw(region.texture, x, y, width, height, region.u, region.v, region.u2, region.v2)
|
||||||
|
|
||||||
|
override fun draw(region: TextureRegion, x: Float, y: Float) =
|
||||||
|
draw(region.texture, x, y, region.regionWidth.toFloat(), region.regionHeight.toFloat(), region.u, region.v, region.u2, region.v2)
|
||||||
|
|
||||||
|
fun drawFlipped(region: TextureRegion, x: Float, y: Float, width: Float, height: Float) =
|
||||||
|
draw(region.texture, x, y, width, height, region.u, region.v2, region.u2, region.v)
|
||||||
|
fun drawFlipped(region: TextureRegion, x: Float, y: Float) =
|
||||||
|
draw(region.texture, x, y, region.regionWidth.toFloat(), region.regionHeight.toFloat(), region.u, region.v2, region.u2, region.v)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NOTE TO SELF:
|
||||||
|
*
|
||||||
|
* It seems that original SpriteBatch Y-flips when it's drawing a texture, but NOT when it's drawing a textureregion
|
||||||
|
*
|
||||||
|
* (textureregion's default uv-coord is (0,0,1,1)
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
lateinit var appConfig: Lwjgl3ApplicationConfiguration
|
lateinit var appConfig: Lwjgl3ApplicationConfiguration
|
||||||
const val TEXW = 874
|
const val TEXW = 800
|
||||||
const val TEXH = 128 * 20
|
const val TEXH = 24 * 171
|
||||||
|
|
||||||
const val WIDTH = TEXW
|
const val WIDTH = TEXW
|
||||||
const val HEIGHT = 768
|
const val HEIGHT = 768
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import kotlin.math.roundToInt
|
|||||||
/**
|
/**
|
||||||
* Created by minjaesong on 2021-11-05.
|
* Created by minjaesong on 2021-11-05.
|
||||||
*/
|
*/
|
||||||
class TypewriterGDX(val width: Int, val height: Int, val cols: Int) : Game() {
|
class TypewriterGDX(val width: Int, val height: Int, val cols: Int, val hmargin: Int, val vmargin: Int) : Game() {
|
||||||
|
|
||||||
lateinit var font: TerrarumTypewriterBitmap
|
lateinit var font: TerrarumTypewriterBitmap
|
||||||
lateinit var batch: SpriteBatch
|
lateinit var batch: SpriteBatch
|
||||||
@@ -103,7 +103,7 @@ class TypewriterGDX(val width: Int, val height: Int, val cols: Int) : Game() {
|
|||||||
CodepointSequence()
|
CodepointSequence()
|
||||||
)
|
)
|
||||||
|
|
||||||
var keylayoutbase = 0xF9000
|
var keylayoutbase = 0xFA000
|
||||||
private val printableKeys = ((Input.Keys.NUM_0..Input.Keys.NUM_9) + (Input.Keys.A..Input.Keys.PERIOD) + 62 + (Input.Keys.BACKSPACE..Input.Keys.SLASH)).toHashSet()
|
private val printableKeys = ((Input.Keys.NUM_0..Input.Keys.NUM_9) + (Input.Keys.A..Input.Keys.PERIOD) + 62 + (Input.Keys.BACKSPACE..Input.Keys.SLASH)).toHashSet()
|
||||||
|
|
||||||
var initDone = false
|
var initDone = false
|
||||||
@@ -165,7 +165,7 @@ class TypewriterGDX(val width: Int, val height: Int, val cols: Int) : Game() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
textbuf.forEachIndexed { index, s ->
|
textbuf.forEachIndexed { index, s ->
|
||||||
font.draw(batch, s, 40f, 40f + 20 * index)
|
font.draw(batch, s, hmargin.toFloat(), vmargin.toFloat() + 20 * index)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (e: ConcurrentModificationException) {}
|
catch (e: ConcurrentModificationException) {}
|
||||||
@@ -240,8 +240,8 @@ fun main(args: Array<String>) {
|
|||||||
appConfig = Lwjgl3ApplicationConfiguration()
|
appConfig = Lwjgl3ApplicationConfiguration()
|
||||||
appConfig.useVsync(false)
|
appConfig.useVsync(false)
|
||||||
appConfig.setResizable(false)
|
appConfig.setResizable(false)
|
||||||
appConfig.setWindowedMode(600, 800)
|
appConfig.setWindowedMode(534, 668)
|
||||||
appConfig.setTitle("Terrarum Typewriter Bitmap Test")
|
appConfig.setTitle("Terrarum Typewriter Bitmap Test")
|
||||||
|
|
||||||
Lwjgl3Application(TypewriterGDX(600, 800, 64), appConfig)
|
Lwjgl3Application(TypewriterGDX(534, 668, 64, 32, 24), appConfig)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2017-2022 see CONTRIBUTORS.txt
|
Copyright (c) 2017-2024 CuriousTorvald (minjaesong)
|
||||||
|
|
||||||
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
|
||||||
|
|||||||
57
README.md
@@ -2,16 +2,16 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
This font is a bitmap font used in [my game project called Terrarum](https://github.com/minjaesong/Terrarum) (hence the name). The font supports more than 90 % of european languages, as well as Chinese, Japanese and Korean. More technical side, it supports Latin-1 Supplement, Latin Ext-A/B/C, IPA Extension, Greek, Cyrillic (+ Bulgarian, Serbian variants) and the supplement, Armenian, Devanagari, Bengali, Thai, Georgian (Mkhedruli and Mtavruli), General Punctuations, Super/Subscrips, CJK Punctuations, All of the Kana (minus the Hentaigana), Chinese (limited to Unihan and Ext-A), Hangul (every possible syllables) and Fullwidth forms.
|
This font is a bitmap font used in [my game project called Terrarum](https://github.com/minjaesong/Terrarum) (hence the name). The font supports more than 90 % of european languages, as well as Chinese, Japanese, and Korean.
|
||||||
|
|
||||||
The JAR package is meant to be used with LibGDX (extends ```BitmapFont``` class). If you are not using the framework, please refer to the __Font metrics__ section to implement the font metrics correctly on your system.
|
The JAR package is meant to be used with LibGDX (extends ```BitmapFont``` class). If you are not using the framework, please refer to the __Font metrics__ section to implement the font metrics correctly on your system.
|
||||||
|
|
||||||
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
|
#### Notes and Limitations
|
||||||
- To display Bulgarian/Serbian variants, you need special Control Characters. (GameFontBase.charsetOverrideBulgarian -- U+FFFC1; GameFontBase.charsetOverrideSerbian -- U+FFFC2)
|
- Displaying Bulgarian/Serbian variants of Cyrillic requires special Control Characters. (`GameFontBase.charsetOverrideBulgarian` -- U+FFFC1; `GameFontBase.charsetOverrideSerbian` -- U+FFFC2)
|
||||||
- All Han characters are in Chinese variant, no other variants are to be supported as most Chinese, Japanese and Korean people can understand other's variant and as long as I can, we don't bother anyway.
|
- All Han characters are in Mainland Chinese variant. There is no plan to support the other variants unless there is someone willing to do the drawing of the characters
|
||||||
- Indian script in general is not perfect: right now 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.
|
- Only the Devanagari and Tamil has full (as much as I can) ligature support for Indic scripts -- Bengali script does not have any ligature support
|
||||||
- Slick2d versions are now unsupported. I couldn't extend myself to work on both versions, but I'm still welcome to merge your pull requests.
|
- Slick2d versions are now unsupported. I couldn't extend myself to work on both versions, but I'm still welcome to merge your pull requests.
|
||||||
|
|
||||||
### Design Goals
|
### Design Goals
|
||||||
@@ -33,12 +33,14 @@ The issue page is open. If you have some issues to submit, or have a question, p
|
|||||||
|
|
||||||
On your code (Kotlin):
|
On your code (Kotlin):
|
||||||
|
|
||||||
|
import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap
|
||||||
|
|
||||||
class YourGame : Game() {
|
class YourGame : Game() {
|
||||||
|
|
||||||
lateinit var fontGame: Font
|
lateinit var fontGame: Font
|
||||||
|
|
||||||
override fun create() {
|
override fun create() {
|
||||||
fontGame = GameFontBase(path_to_assets)
|
fontGame = TerrarumSansBitmap(path_to_assets, ...)
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,12 +55,14 @@ On your code (Kotlin):
|
|||||||
|
|
||||||
On your code (Java):
|
On your code (Java):
|
||||||
|
|
||||||
|
import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap;
|
||||||
|
|
||||||
class YourGame extends BasicGame {
|
class YourGame extends BasicGame {
|
||||||
|
|
||||||
Font fontGame;
|
Font fontGame;
|
||||||
|
|
||||||
@Override void create() {
|
@Override void create() {
|
||||||
fontGame = new GameFontBase(path_to_assets);
|
fontGame = new TerrarumSansBitmap(path_to_assets, ...);
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,43 +75,6 @@ On your code (Java):
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
### Using on Slick2d (legacy version only)
|
|
||||||
|
|
||||||
On your code (Kotlin):
|
|
||||||
|
|
||||||
class YourGame : BasicGame("YourGameName") {
|
|
||||||
|
|
||||||
lateinit var fontGame: Font
|
|
||||||
|
|
||||||
override fun init(gc: GameContainer) {
|
|
||||||
fontGame = GameFontBase(path_to_assets)
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun render(gc: GameContainer, g: Graphics) {
|
|
||||||
g.font = fontGame
|
|
||||||
g.drawString(...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
On your code (Java):
|
|
||||||
|
|
||||||
class YourGame extends BasicGame {
|
|
||||||
|
|
||||||
Font fontGame;
|
|
||||||
|
|
||||||
@Override void init(GameContainer gc) {
|
|
||||||
fontGame = new GameFontBase(path_to_assets);
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override void render(GameContainer gc, Graphics g) {
|
|
||||||
g.setFont(fontGame);
|
|
||||||
g.drawString(...);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
### How to Use Color Code
|
### How to Use Color Code
|
||||||
|
|
||||||
Color codes are individual unicode characters. While you can somehow make a raw character and paste in on your code, it's certainly not desirable. Fortunately, we're also providing utility functions for the color codes.
|
Color codes are individual unicode characters. While you can somehow make a raw character and paste in on your code, it's certainly not desirable. Fortunately, we're also providing utility functions for the color codes.
|
||||||
@@ -130,4 +97,4 @@ Please refer to [CONTRIBUTING.md](https://github.com/minjaesong/Terrarum-sans-bi
|
|||||||
|
|
||||||
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 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.
|
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 shapes of typefaces are not copyrightable (the program codes—e.g. TTF—do), we would like to give a credit to the font and the people behind it.
|
||||||
|
|||||||
BIN
assets/alphabetic_presentation_forms_extrawide_variable.tga
LFS
Normal file
BIN
assets/ascii_variable.tga
LFS
BIN
assets/bengali_variable.tga
LFS
Executable file
BIN
assets/braille_variable.tga
LFS
Normal file
|
Before Width: | Height: | Size: 50 KiB |
BIN
assets/cjkpunct_variable.tga
LFS
Normal file
BIN
assets/control_pictures_variable.tga
LFS
Normal file
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 130 B |
BIN
assets/cyrilic_variable.tga
LFS
BIN
assets/devanagari_internal_extrawide_variable.tga
LFS
Normal file
BIN
assets/devanagari_variable.tga
LFS
Normal file
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 2.6 MiB After Width: | Height: | Size: 132 B |
BIN
assets/hayeren_variable.tga
LFS
BIN
assets/hentaigana_variable.tga
LFS
Normal file
BIN
assets/internal_variable.tga
LFS
BIN
assets/kana.tga
|
Before Width: | Height: | Size: 210 KiB |
BIN
assets/kana_variable.tga
LFS
Normal file
BIN
assets/latinExtA_variable.tga
LFS
BIN
assets/latinExtB_variable.tga
LFS
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 130 B |
BIN
assets/latinExtD_variable.tga
LFS
BIN
assets/pua_codestyle_ascii_variable.tga
LFS
Normal file
BIN
assets/puae000-e0ff.tga
LFS
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 130 B |
BIN
assets/sundanese_variable.tga
LFS
Normal file
BIN
assets/tamil_extrawide_variable.tga
LFS
Normal file
BIN
assets/thai_variable.tga
LFS
|
Before Width: | Height: | Size: 200 KiB After Width: | Height: | Size: 131 B |
BIN
demo.PNG
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 167 KiB |
31
demotext.txt
@@ -1,4 +1,4 @@
|
|||||||
The bitmap font for games developers who seek good font that has real multilingual support,
|
The bitmap font for game developers who seek good font that has real multilingual support,
|
||||||
for free (as in freedom and without cost)
|
for free (as in freedom and without cost)
|
||||||
|
|
||||||
There are many bitmap fonts on the internet. You care for the multilingual support, but alas!
|
There are many bitmap fonts on the internet. You care for the multilingual support, but alas!
|
||||||
@@ -52,17 +52,20 @@ How multilingual? Real multilingual!
|
|||||||
Ѕидарски пејзаж: шугав билмез со чудење џвака ќофте и кељ на туѓ цех
|
Ѕидарски пејзаж: шугав билмез со чудење џвака ќофте и кељ на туѓ цех
|
||||||
Щётканы фермд пийшин цувъя. Бөгж зогсч хэльюү
|
Щётканы фермд пийшин цувъя. Бөгж зогсч хэльюү
|
||||||
Pchnąć w tę łódź jeża lub ośm skrzyń fig
|
Pchnąć w tę łódź jeża lub ośm skrzyń fig
|
||||||
कः खगौघाङचिच्छौजा झाञ्ज्ञोऽटौठीडडण्ढणः। तथोदधीन् पफर्बाभीर्मयोऽरिल्वाशिषां सहः॥
|
|
||||||
Înjurând pițigăiat, zoofobul comandă vexat whisky și tequila
|
Î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
|
||||||
日堀油告観観藤村抄海評業庁経賃室弁市。太撮収改売週法所何都慣次現。価紙一無三洋日話転手治稿載末替付致治。
|
日堀油告観観藤村抄海評業庁経賃室弁市。太撮収改売週法所何都慣次現。価紙一無三洋日話転手治稿載末替付致治。
|
||||||
[pʰnɣɬɥi.m͡ŋχɫʍɨnaɸ.cθʊɫɯ.ɹɨɫʏ͡ɛx.ɯ͡ɣaxɲaɣɫ.ɸtʰɑɣɴ]
|
[pʰnɣɬɥi.m͡ŋχɫʍɨnaɸ.cθʊɫɯ.ɹɨɫʏ͡ɛx.ɯ͡ɣaxɲaɣɫ.ɸtʰɑɣɴ]
|
||||||
|
⠑⠥⠊⠵⠀⠟⠫⠒⠵⠀⠓⠗⠎⠉⠂⠀⠠⠊⠗⠘⠍⠓⠎⠀⠨⠣⠩⠐⠥⠍⠑⠱⠀⠈⠪⠀⠨⠷⠎⠢⠈⠧⠀⠈⠏⠒⠐⠕⠝⠀⠕⠌⠎⠀⠊⠿⠊⠪⠶⠚⠊
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
|
||||||
@@ -106,19 +109,19 @@ How multilingual? Real multilingual!
|
|||||||
|
|
||||||
Supported Unicode Blocks:
|
Supported Unicode Blocks:
|
||||||
|
|
||||||
Basic Latin Latin-1 Supplement Latin Extended-A Latin Extended-B IPA Extensions
|
Basic Latin Latin-1 Supplement Latin Extended-A Latin Extended-B IPA Extensions Spacing Modifier Letters
|
||||||
Spacing Modifier Letters Combining Diacritical Marks Greek and Copticᴱ Cyrillicᴭ Cyrillic Supplementᴭ
|
Combining Diacritical Marks Greek and Copticᴱ Cyrillicᴭ Cyrillic Supplementᴭ Armenian Devanagari
|
||||||
Armenian Devanagariᶠⁱ Bengaliᶠⁱ Thai Georgianჼ Hangul Jamo Cherokee⁷ Runic Georgian Extended
|
Bengaliᶠⁱ Tamil Thai Georgianჼ Hangul Jamo Cherokee⁷ Runic Sundanese Georgian Extended
|
||||||
Phonetic Extensions Phonetic Extensions Supplement Latin Extended Additional Greek Extended
|
Sundanese Supplement Phonetic Extensions Phonetic Extensions Supplement Latin Extended Additional
|
||||||
General Punctuations Superscripts and Subscripts Currency Symbols Letterlike Symbols
|
Greek Extended General Punctuations Superscripts and Subscripts Currency Symbols Letterlike Symbols
|
||||||
CJK Symbols and Punctuation Latin Extended-C Hiragana Katakana Hangul Compatibility Jamo
|
Braile Patterns Latin Extended-C CJK Symbols and Punctuation Hiragana Katakana
|
||||||
Katakana Phonetic Extensions CJK Unified Ideographs Extension A¹²·¹ CJK Unified Ideographs⁶
|
Hangul Compatibility Jamo Katakana Phonetic Extensions CJK Unified Ideographs Extension A¹²·¹
|
||||||
Latin Extended-D Hangul Jamo Extended-A Hangul Syllables Hangul Jamo Extended-B
|
CJK Unified Ideographs⁶ Latin Extended-D Hangul Jamo Extended-A Hangul Syllables
|
||||||
Halfwidth and Fullwidth Forms Kana Supplement⁹ Enclosed Alphanumeric Supplement
|
Hangul Jamo Extended-B Halfwidth and Fullwidth Forms Kana Supplement⁹ Enclosed Alphanumeric Supplement
|
||||||
|
|
||||||
ᴭ No support for archæic letters ᴱ No support for Coptic
|
ᴭ No support for archæic letters ᴱ No support for Coptic
|
||||||
ᶠⁱ No support for ligatures ჼ Mkhedruli only
|
ᶠⁱ No support for ligatures ჼ Mkhedruli only
|
||||||
⁶ ⁷ ⁹ ¹²·¹ Up to the specified Unicode version
|
⁶ ⁷ ⁹ ¹²·¹ Up to the specified Unicode version
|
||||||
|
|
||||||
GitHub’s issue page is open! You can report any errors, or leave suggestions.
|
GitHub’s issue page is open! You can report any errors, or leave suggestions.
|
||||||
You can help this font to be more versatile. (for more languages, more frameworks) Clone this repo, make
|
You can help this font to be more versatile. (for more languages, more frameworks) Clone this repo, make
|
||||||
|
|||||||
158
demotext_unaligned.txt
Executable file
@@ -0,0 +1,158 @@
|
|||||||
|
The bitmap font for game developers who seek good font that has real multilingual support, for free (as in freedom and without cost)
|
||||||
|
|
||||||
|
There are many bitmap fonts on the internet. You care for the multilingual support, but alas! most of them do not support your language, vector fonts take too much time to load, and even then their legibility suffers because screw built-in antialias.
|
||||||
|
|
||||||
|
You somehow found a multilingual one, and it makes your text as if they came straight from an old computer terminal, and you say:
|
||||||
|
|
||||||
|
“Well, better than nothing… no, it’s ugly.”
|
||||||
|
|
||||||
|
You speak Japanese and wish to support it, but then このクソなfont only good for displaying Japanese, it’s not even truly multilingual, and their English look uncanny and inconsistent.
|
||||||
|
|
||||||
|
Eventually you just mix different fonts together, and the results were always mildly infuriating.
|
||||||
|
|
||||||
|
No more suffering. This font has everything you need.
|
||||||
|
|
||||||
|
while (isVisible(BAD_FONTS)) {
|
||||||
|
ripAndTear(BAD_FONTS).where { GUTS };
|
||||||
|
}
|
||||||
|
|
||||||
|
How multilingual? Real multilingual!
|
||||||
|
|
||||||
|
Ианҵоуп ақьаад, нусхур аҩырала, ҩ ҽшьаҟакла, иҧшӡоу анапҩырала
|
||||||
|
գրիչս վայր դրի, վեր կացա և պատրաստվում էի, որ քնեմ, երբ հանկարծ դռանս զանգակը հնչեց
|
||||||
|
ՄՇԱԿԻՉ ԿԱՄ ԿԵՆՏՐՈՆԱԿԱՆ ՄՇԱԿԻՉ ՀԱՆԳՈՒՅՑԸ ՀԱՆԴԻՍԱՆՈՒՄ Է ՀԱՄԱԿԱՐԳՉԻ ՍԱՐՔԱՎՈՐՈՒՄՆԵՐԻՑ
|
||||||
|
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
|
||||||
|
Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Walther spillede på xylofon
|
||||||
|
PACK MY BOX WITH FIVE DOZEN LIQUOR JUGS
|
||||||
|
hƿæt ƿe ᵹardena inᵹear ꝺaᵹum þeoꝺ cynninᵹa þꞃym ᵹeꝼꞃumon
|
||||||
|
Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich GROẞEN GROẞE
|
||||||
|
ζαφείρι δέξου πάγκαλο, βαθῶν ψυχῆς τὸ σῆμα
|
||||||
|
ΔΙΑΦΥΛΆΞΤΕ ΓΕΝΙΚΆ ΤΗ ΖΩΉ ΣΑΣ ΑΠΌ ΒΑΘΕΙΆ ΨΥΧΙΚΆ ΤΡΑΎΜΑΤΑ
|
||||||
|
სწრაფი ყავისფერი მელა გადაახტა ზარმაც ძაღლს ᲘᲜᲢᲔᲚ ᲞᲔᲜᲢᲘᲣᲛᲘ ᲛᲘᲙᲠᲝᲞᲠᲝᲪᲔᲡᲝᲠᲘ
|
||||||
|
ऋषियों को सताने वाले दुष्ट राक्षसों के राजा रावण का सर्वनाश करने वाले विष्णुवतार भगवान श्रीराम अयोध्या के महाराज दशरथ के
|
||||||
|
Kæmi ný öxi hér, ykist þjófum nú bæði víl og ádrepa
|
||||||
|
Ċuaiġ bé ṁórṡáċ le dlúṫspád fíoꝛḟinn trí hata mo ḋea-ṗoꝛcá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ą
|
||||||
|
Ѕидарски пејзаж: шугав билмез со чудење џвака ќофте и кељ на туѓ цех
|
||||||
|
Щётканы фермд пийшин цувъя. Бөгж зогсч хэльюү
|
||||||
|
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!
|
||||||
|
எழுத்து வடிவங்களுக்கு வார்த்தைகள் மற்றும் வாக்கியங்கள் போலவே தொனி, ஒலி பண்பு, தன்மை உண்டு
|
||||||
|
นายสังฆภัณฑ์ เฮงพิทักษ์ฝั่ง ผู้เฒ่าซึ่งมีอาชีพเป็นฅนขายฃวด ถูกตำรวจปฏิบัติการจับฟ้องศาล ฐานลักนาฬิกาคุณหญิงฉัตรชฎา ฌานสมาธิ
|
||||||
|
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
|
||||||
|
日堀油告観観藤村抄海評業庁経賃室弁市。太撮収改売週法所何都慣次現。価紙一無三洋日話転手治稿載末替付致治。
|
||||||
|
[pʰnɣɬɥi.m͡ŋχɫʍɨnaɸ.cθʊɫɯ.ɹɨɫʏ͡ɛx.ɯ͡ɣaxɲaɣɫ.ɸtʰɑɣɴ]
|
||||||
|
⠑⠥⠊⠵⠀⠟⠫⠒⠵⠀⠓⠗⠎⠉⠂⠀⠠⠊⠗⠘⠍⠓⠎⠀⠨⠣⠩⠐⠥⠍⠑⠱⠀⠈⠪⠀⠨⠷⠎⠢⠈⠧⠀⠈⠏⠒⠐⠕⠝⠀⠕⠌⠎⠀⠊⠿⠊⠪⠶⠚⠊
|
||||||
|
|
||||||
|
Features:
|
||||||
|
|
||||||
|
Heard of « Guillemets »? You speak „Nederlands” or „Deutsch“? ”suomi”? 「日本語」しゃべる?或《中文》?
|
||||||
|
|
||||||
|
‣ Multilingual brackets; these are the most basic things, right?
|
||||||
|
|
||||||
|
99406 91902 59186 29182 45814 57862 34368 08240
|
||||||
|
31485 65379 04348 28952 42927 26157 42615 39526
|
||||||
|
|
||||||
|
‣ Fixed-width (tabulated) numbers, because number-crunching matters
|
||||||
|
|
||||||
|
ᚱᛂᚴᛋᛂᛋᛏᛋᚮᚾᛔᚢᛏᛚᚮᛋ᛬ᚱᛂᚴᛋᛋᚢᚼᚾᚢᛘᚢᛚᚾᛏᚮ᛬ᛏᚮᛋᛁᚮᚵᛂᚢᛏᚮᚱᛘᛔᚱᛂᚴᛋᛏ᛭ᛋᚢᚼᚾᚢᛋᛘᚮᛁᚵᚾᛁᛂᛏᚮᛑ᛭ᚵᛂᚢᛏᚮᚱ
|
||||||
|
|
||||||
|
‣ Colour-code that supports 4096 colours via 4 bit RGB
|
||||||
|
|
||||||
|
Щиглецът се яде само пържен в юфка без чушки и хвойна (Bulgarian)
|
||||||
|
Љубазни фењерџија чађавог лица хоће да ми покаже штос (Serbian)
|
||||||
|
Разъяренный чтец эгоистично бьёт пятью жердями шустрого фехтовальщика (Russian)
|
||||||
|
|
||||||
|
‣ Control characters to support Bulgarian and Serbian letter shapes on the fly
|
||||||
|
|
||||||
|
Press to pay respects—or is it , or …
|
||||||
|
|
||||||
|
‣ Custom symbols for video games
|
||||||
|
|
||||||
|
Can you distinguish following dashes: - – — - – — – - ――――――――――― 48–63 48-63
|
||||||
|
|
||||||
|
‣ For all those dash-pedants, we have en-dash, em-dash, and even horizontal bars!
|
||||||
|
|
||||||
|
5¹⁹⁄₃₂ inch is 142.1 mm · (C₂F₄)ₙ is godly · Error = MoreCode²
|
||||||
|
NOTE: we don’t do fractions. 142¹⁄₁₀ mm is illegal!
|
||||||
|
|
||||||
|
‣ Unicode fractions, also known as super/subscripts
|
||||||
|
|
||||||
|
ᄀᆞᄅᆞᇝ ᄀᆞᅀᅢ 자거늘 밀므리 사ᄋᆞ리로ᄃᆡ 나거ᅀᅡ ᄌᆞᄆᆞ니ᅌᅵ다 셤 안해 자시ᇙ 제 한비 사ᄋᆞ리로ᄃᆡ 뷔어ᅀᅡ ᄌᆞᄆᆞ니ᅌᅵ다
|
||||||
|
쾅 ᄒᆞ는 소리 헨 “아이구, 베락 털어져ᇝ인가?” 영 걷어진 쥥은 몰르곡 경헨 나왕 보고들랑 영헤연 ᄇᆞᆰ도록 ᄌᆞᆷ ᄒᆞᆫᄌᆞᆷ들 안 잣수다 이 시간 동네 사람들.
|
||||||
|
|
||||||
|
‣ Full support for Old Korean/Jeju dialect orthography
|
||||||
|
|
||||||
|
𛀆𛄆𛂦𛂌𛂻𛂶𛁻𛁦𛃶𛂑𛃺𛄚𛄋𛀙𛃫𛁟𛄀𛁛𛁫𛂗𛂁𛃭𛃑𛀋𛂜𛀕𛀬𛃟𛃅𛀴𛂱𛀸𛀁𛁲𛀄𛀿𛀣𛃥𛃔𛃎𛁈ゑ𛂯𛃙𛁕𛁏𛄝
|
||||||
|
|
||||||
|
‣ Full support for Archaic Kana/Hentaigana
|
||||||
|
|
||||||
|
Supported Unicode Blocks:
|
||||||
|
|
||||||
|
⁃ Basic Latin
|
||||||
|
⁃ Latin-1 Supplement
|
||||||
|
⁃ Latin Extended Additional
|
||||||
|
⁃ Latin Extended-A/B/C/D
|
||||||
|
⁃ Armenian
|
||||||
|
⁃ Bengaliᶠⁱ
|
||||||
|
⁃ Braile Patterns
|
||||||
|
⁃ Cherokee⁷
|
||||||
|
⁃ CJK Symbols and Punctuation
|
||||||
|
⁃ CJK Unified Ideographs⁶
|
||||||
|
⁃ CJK Unified Ideographs Extension A¹²·¹
|
||||||
|
⁃ Combining Diacritical Marks
|
||||||
|
⁃ Currency Symbols
|
||||||
|
⁃ Cyrillicᴭ
|
||||||
|
⁃ Cyrillic Supplementᴭ
|
||||||
|
⁃ Devanagari
|
||||||
|
⁃ Enclosed Alphanumeric Supplement
|
||||||
|
⁃ General Punctuations
|
||||||
|
⁃ Georgianჼ
|
||||||
|
⁃ Georgian Extended
|
||||||
|
⁃ Greek and Copticᴱ
|
||||||
|
⁃ Greek Extended
|
||||||
|
⁃ Halfwidth and Fullwidth Forms
|
||||||
|
⁃ Hangul Compatibility Jamo
|
||||||
|
⁃ Hangul Jamo
|
||||||
|
⁃ Hangul Jamo Extended-A/B
|
||||||
|
⁃ Hangul Syllables
|
||||||
|
⁃ IPA Extensions
|
||||||
|
⁃ Hiragana
|
||||||
|
⁃ Katakana
|
||||||
|
⁃ Katakana Phonetic Extensions
|
||||||
|
⁃ Kana Supplement
|
||||||
|
⁃ Kana Extended-A
|
||||||
|
⁃ Small Kana Extension
|
||||||
|
⁃ Letterlike Symbols
|
||||||
|
⁃ Phonetic Extensions
|
||||||
|
⁃ Phonetic Extensions Supplement
|
||||||
|
⁃ Runic
|
||||||
|
⁃ Spacing Modifier Letters
|
||||||
|
⁃ Sundanese
|
||||||
|
⁃ Sundanese Supplement
|
||||||
|
⁃ Superscripts and Subscripts
|
||||||
|
⁃ Tamil
|
||||||
|
⁃ Thai
|
||||||
|
|
||||||
|
ᴭ No support for archæic letters ᴱ No support for Coptic
|
||||||
|
ᶠⁱ No support for ligatures ჼ Mkhedruli only
|
||||||
|
⁶ ⁷ ⁹ ¹²·¹ Up to the specified Unicode version
|
||||||
|
|
||||||
|
GitHub’s issue page is open! You can report any errors, or leave suggestions. You can help this font to be more versatile. (for more languages, more frameworks) Clone this repo, make changes, and make a pull request! I appreciate any and all supports.
|
||||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 129 B |
@@ -45,6 +45,7 @@ data class GlyphProps(
|
|||||||
const val STACK_DOWN = 1
|
const val STACK_DOWN = 1
|
||||||
const val STACK_BEFORE_N_AFTER = 2
|
const val STACK_BEFORE_N_AFTER = 2
|
||||||
const val STACK_UP_N_DOWN = 3
|
const val STACK_UP_N_DOWN = 3
|
||||||
|
const val STACK_DONT = 4
|
||||||
|
|
||||||
const val DIA_OVERLAY = 2
|
const val DIA_OVERLAY = 2
|
||||||
// const val DIA_JOINER = 2
|
// const val DIA_JOINER = 2
|
||||||
@@ -115,7 +116,7 @@ data class GlyphProps(
|
|||||||
if (stackWhere == STACK_BEFORE_N_AFTER)
|
if (stackWhere == STACK_BEFORE_N_AFTER)
|
||||||
2
|
2
|
||||||
else if (directiveOpcode in 0b10000_000..0b10000_111)
|
else if (directiveOpcode in 0b10000_000..0b10000_111)
|
||||||
directiveOpcode and 7
|
7
|
||||||
else 0
|
else 0
|
||||||
|
|
||||||
fun isPragma(pragma: String) = when (pragma) {
|
fun isPragma(pragma: String) = when (pragma) {
|
||||||
@@ -125,4 +126,7 @@ data class GlyphProps(
|
|||||||
|
|
||||||
fun forEachExtInfo(action: (Int) -> Unit) = extInfo.slice(0 until requiredExtInfoCount()).forEach(action)
|
fun forEachExtInfo(action: (Int) -> Unit) = extInfo.slice(0 until requiredExtInfoCount()).forEach(action)
|
||||||
fun forEachExtInfoIndexed(action: (Int, Int) -> Unit) = extInfo.slice(0 until requiredExtInfoCount()).forEachIndexed(action)
|
fun forEachExtInfoIndexed(action: (Int, Int) -> Unit) = extInfo.slice(0 until requiredExtInfoCount()).forEachIndexed(action)
|
||||||
|
|
||||||
|
val isIllegal: Boolean
|
||||||
|
get() = directiveOpcode == 255
|
||||||
}
|
}
|
||||||
1398
src/net/torvald/terrarumsansbitmap/MovableType.kt
Normal file
@@ -278,7 +278,7 @@ class TerrarumTypewriterBitmap(
|
|||||||
private val pixmapOffsetY = 10
|
private val pixmapOffsetY = 10
|
||||||
private val linotypePad = 16
|
private val linotypePad = 16
|
||||||
private var flagFirstRun = true
|
private var flagFirstRun = true
|
||||||
private @Volatile var textBuffer = CodepointSequence(256)
|
private @Volatile var textBuffer = CodepointSequence()
|
||||||
private @Volatile lateinit var tempLinotype: Texture
|
private @Volatile lateinit var tempLinotype: Texture
|
||||||
private var nullProp = GlyphProps(15)
|
private var nullProp = GlyphProps(15)
|
||||||
|
|
||||||
@@ -396,6 +396,8 @@ class TerrarumTypewriterBitmap(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private fun buildPosMap(str: CodepointSequence) = buildPosMap(str.toList())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* posXbuffer's size is greater than the string, last element marks the width of entire string.
|
* posXbuffer's size is greater than the string, last element marks the width of entire string.
|
||||||
*/
|
*/
|
||||||
|
|||||||
BIN
testing.PNG
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 221 KiB |
BIN
testtex.tga
LFS
Normal file
37
testtext.txt
@@ -1,5 +1,38 @@
|
|||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae auctor eu augue ut lectus arcu bibendum. Pulvinar pellentesque habitant morbi tristique senectus et netus. Turpis nunc eget lorem dolor sed viverra ipsum. Duis ultricies lacus sed turpis tincidunt id. Facilisi morbi tempus iaculis urna id volutpat lacus laoreet non. Viverra adipiscing at in tellus integer feugiat scelerisque varius morbi. Viverra vitae congue eu consequat ac felis donec et odio. Quis viverra nibh cras pulvinar. Diam donec adipiscing tristique risus nec feugiat. Ut tristique et egestas quis ipsum suspendisse ultrices. Turpis cursus in hac habitasse. Eget duis at tellus at urna. Eget sit amet tellus cras adipiscing enim eu. Sit amet tellus cras adipiscing enim eu turpis egestas.
|
||||||
|
|
||||||
A ดุ ตี ปู่ พี่ ป่ ม่ ปั มั พีุ
|
Aliquam faucibus purus in massa tempor. Eget nullam non nisi est sit amet. Eu ultrices vitae auctor eu augue ut lectus. Tortor at auctor urna nunc. Quam lacus suspendisse faucibus interdum posuere lorem ipsum. Euismod in pellentesque massa placerat. Velit dignissim sodales ut eu sem integer. Lacus vel facilisis volutpat est velit egestas dui id. Urna nec tincidunt praesent semper feugiat. Duis at tellus at urna condimentum mattis. Mi proin sed libero enim sed faucibus. Semper feugiat nibh sed pulvinar proin gravida hendrerit lectus. Ac tincidunt vitae semper quis lectus nulla. Et netus et malesuada fames ac turpis egestas sed tempus. Odio ut enim blandit volutpat maecenas volutpat blandit aliquam etiam. Pellentesque massa placerat duis ultricies lacus sed. Venenatis a condimentum vitae sapien pellentesque habitant morbi tristique senectus. Sit amet consectetur adipiscing elit pellentesque.
|
||||||
|
|
||||||
ทิ่ท่ท่ิ ปิ่ป่ป่ิ ทิ้ ปิ้ มำด มําด
|
하수는 두 산 틈에서 나와 돌과 부딪쳐 싸우며, 그 놀란 파도와 성난 물머리와 우는 여울과 노한 물결과 슬픈 곡조와 원망하는 소리가 굽이쳐 돌면서, 우는 듯, 소리치는 듯, 바쁘게 호령하는 듯, 항상 장성을 깨뜨릴 형세가 있어, 전차 만승과 전기 만대나 전포 만가와 전고 만좌로써는 그 무너뜨리고 내뿜는 소리를 족히 형용할 수 없을 것이다. 모래 위에 큰 돌은 홀연히 떨어져 섰고, 강 언덕에 버드나무는 어둡고 컴컴하여 물지킴과 하수 귀신이 다투어 나와서 사람을 놀리는 듯한데, 좌우의 교리가 붙들려고 애쓰는 듯싶었다. 혹은 말하기를, “여기는 옛 전쟁터이므로 강물이 저같이 우는 것이다.” 하지만 이는 그런 것이 아니니, 강물 소리는 듣기 여하에 달렸을 것이다.
|
||||||
|
|
||||||
|
나는 이제야 도를 알았도다. 마음이 어두운 자는 이목이 누가 되지 않고, 이 목만을 믿는 자는 보고 듣는 것을 더욱 밝혀서 병이 되는 것이다. 이제 내 마부가 발을 말굽을 밟혀서 뒷차에 실리었으므로, 나는 드디어 혼자 고삐를 늦추어 강에 띄우고, 무릎을 구부려 발을 모으고 안장 위에 앉았으니, 한번 떨어지면 강이나 물로 땅을 삼고 물로 옷을 삼으며 물로 몸을 삼고 물로 성정을 삼으니, 이제야 내 마음은 한번 떨어질 것을 판단한 터이므로 내 귓속에 강물 소리가 없어지고, 무릇 아홉 번 건너는데도 걱정이 없어 의자 위에서 좌와하고 기거하는 것 같았다. 옛날 우는 강을 건너는데, 황룡이 배를 등으로 져서 지극히 위험했으나 사생의 판단이 먼저 마음 속에 밝고 보니, 용이거나 지렁이거나, 크거나 작거나 족히 관계될 바 없었다. 소리와 빛은 외물이니 외물이 항상 이목에 누가 되어 사람으로 하여금 똑바로 보고 듣는 것을 잃게 하는 것이 이 같거든, 하물며 인생이 세상을 지나는 데 그 험하고 위태로운 것이 강물보다 심하고, 보고 듣는 것이 문득 병이 되는 것임에랴.
|
||||||
|
|
||||||
|
数学において体K上定義されたアーベル多様体AがCM-タイプ(CM-type)であるとは、自己準同型環 End(A)の中で十分に大きな部分可換環を持つことをいう。この用語は虚数乗法 (complex multiplication) 論から来ていて、虚数乗法論は19世紀に楕円曲線の研究のため開発された。20世紀の代数的整数論と代数幾何学の主要な成果のひとつに、アーベル多様体の次元d>1の理論の正しい定式化が発見されたことがある。この問題は、多変数複素函数論を使うことが非常に困難であるため、非常に抽象的である。
|
||||||
|
|
||||||
|
CM-タイプ(CM-type)は、単位元におけるAの正則接空間上の、EndQ(A)の(極大)可換部分環Lの作用を記述したものである。単純な種類のスペクトル理論が適用され、Lが固有ベクトルの基底を通して作用することを示すことができる。言い換えると、LはAの正則ベクトル場の上の対角行列を通した作用を持っている。L自体が複数の体の積ではなく数体であるという単純な場合には、CM-タイプはLの複素埋め込み(complex embedding)のリストである。複素共役をペアとして、2d個の複素埋め込みがあり、CM-タイプは各々のペアのから一つを選択する。そのようなCM-タイプの全てが実現されることが知られている。
|
||||||
|
|
||||||
|
從20世紀西北太平洋热带气旋有命名紀錄起至今,有79個熱帶氣旋的名字被除名。在1999年及以前,西北太平洋的熱帶氣旋命名和除名工作是由美國負責。2000年起,命名表改由世界氣象組織颱風委員會制訂,再交由日本氣象廳命名,而颱風委員會都會舉行年度會議,商討部份熱帶氣旋名稱的去留。其會員國有權要求將熱帶氣旋名字除去,在委員會批准替補名字後,就會交由日本氣象廳進行替換工作。大多數被除名的名字是因為在某地區造成嚴重影響而被替換,但有些名字卻基於其他技術性原因而被除名。
|
||||||
|
|
||||||
|
दर्शनशास्त्र (अंग्रेज़ी-philosophy, यूनानी- φιλοσοφία, अर्थात् "प्रज्ञान से प्रेम" ) सामान्य और मौलिक प्रश्नों का सुव्यवस्थित अध्ययन है, जैसे की अस्तित्व, तर्क, ज्ञान, मूल्य, मन और भाषा से संबंधित। दर्शन वास्तविकता के मौलिक सत्य को तर्कबद्ध रूप से समझने और व्याख्या करने का प्रयास है, यथार्थ की परख के लिये एक दृष्टिकोण है। यह मौलिक प्रश्नों को संबोधित करने के अन्य तरीकों (जैसेकि रहस्यवाद , मिथक , या धर्म) से समालोचनात्मक, व्यवस्थित और तर्कसंगत युक्ति पर निर्भर होने के साथ-साथ अपने पूर्वनुमानों और विधियों पर चिंतन करने के कारण अलग है। व्यापक अर्थ में दर्शन, तर्कपूर्ण, विधिपूर्वक एवं क्रमबद्ध विचार की कला है। इसमें भाषा का तार्किक विश्लेषण और शब्दों और अवधारणाओं के अर्थ का स्पष्टीकरण शामिल है। वास्तव में, दर्शन को परिभाषित करना स्वयं में ही एक दार्शनिक प्रश्न है। कुछ स्रोतों का दावा है कि यह शब्द पाइथागोरस (लगभग ५७० - ४९५ ईसा पूर्व) द्वारा गढ़ा गया था, हालांकि यह पूर्णतः निश्चित नहीं है।
|
||||||
|
|
||||||
|
ऐतिहासिक रूप से, दर्शन में ज्ञान के सभी निकाय शामिल थे और इसके अभ्यासक को एक दार्शनिक के रूप में जाना जाता था।." प्राकृतिक दर्शन ", जो प्राचीन ग्रीस में एक शैक्षणिक विद्या के रूप में शुरू हुआ, इसमें खगोल विज्ञान, चिकित्सा और भौतिकी शामिल हैं। उदाहरण के लिए, आइजैक न्यूटन की १६८७ की प्राकृतिक दर्शन के गणितीय सिद्धांत बाद में भौतिकी की एक पुस्तक के रूप में वर्गीकृत हो गई। 19वीं शताब्दी में, आधुनिक अनुसंधान विश्वविद्यालयों के विकास, अकादमिक दर्शनशास्त्र और अन्य विषयों के वृत्तिकरण और उनमें विशेषज्ञता हासिल करने की ओर ले गए। तब से,सामाजिक उत्पादन के विकास और वैज्ञानिक ज्ञान के संचय की प्रक्रिया में अन्वीक्षण के विभिन्न क्षेत्र जो परंपरागत रूप से दर्शनशास्त्र का हिस्सा थे, दर्शनशास्त्र से पृथक होकर अलग-अलग शैक्षणिक विषय बन गए हैं, मूलतः सामाजिक विज्ञान जैसे मनोविज्ञान, समाजशास्त्र, भाषा विज्ञान और अर्थशास्त्र, साथ में दर्शनशास्त्र एक स्वतन्त्र विषय के रूप में विकसित होने लगा।
|
||||||
|
|
||||||
|
மெய்யியல் இயற்கை, சமுதாயம், சிந்தனை ஆகியவற்றின், வளர்ச்சியின் மீது ஆட்சி செய்யும் மிகப்பொதுவான விதிகளைக் குறித்த அறிவியலே மெய்யியல் எனப்படும். மெய்யியலானது இருப்பு, அறிவு, விழுமியம், காரணம், மனம், மொழி தொடர்பான பொதுவானதும், அடிப்படையானதுமான பிரச்சனைகள் பற்றிய படிப்பு என வரையறுக்கப்படுகிறது.
|
||||||
|
|
||||||
|
மெய்யியல் அல்லது மெய்க்கோட்பாட்டு இயல் அல்லது தத்துவம் (philosophy) என்னும் அறிவுத்துறையானது எது உண்மை, எது சரி, எது அறிவு, எது கலை, எது அறம், எது அழகு, கடவுள் என்று ஏதும் உண்டா, என்பது போன்ற அடிப்படையான கேள்விகளைப் பற்றி ஆழ ஆராயும் துறை ஆகும். தத்துவம் என்றால் உண்மை, உள்ளதை உள்ளவாறே அறிவதைப் பற்றிய கொள்கை, இயல் என்று பொருள். மெய்யியல் துறையில் கருத்துக்கள் எவ்வாறு ஏற்கப்படுகின்றன என்பதும், காரணம், ஏரணம், விவாதம் (தருக்கம்) முதலியன யாவை என்றும் கூர்ந்து நோக்கி ஆராயப்படும்.
|
||||||
|
|
||||||
|
தற்காலத்தில் அறிவியல் என்று அறியப்படும் துறை சிறப்புற்று வளரும் முன்னர், மெய்யியல் துறைதான் முன்னணியில் இருந்த அறிவுத்துறை ஆகும். 2500 ஆண்டுகளுக்கு முன்னர் வாழ்ந்த இந்தியர்களும், சீனர்களும், செருமானியர்களும், கிரேக்கர்களும் பிற உலக மாந்த இனங்களும் பலவாறாக, அடிப்படையாகச் சிந்தித்து தொகுத்து வைத்த கருத்துக்கள்தாம் மெய்யியலின் தொடக்கம். மெய்யியல் என்பது ஆங்கிலத்தில் Philosophy (ஃபிலாசஃபி) என்று கூறப்படுவது. இச்சொல் கிரேக்கச் சொல்லாகிய Φιλοσοφία (philo-sophia) என்பதில் இருந்து பெற்றது. இசொல்லின் பொருள் அறிவின் பால் காதல் (அறிவால் ஈர்க்கபடும் துறை) என்பதாகும்.
|
||||||
|
|
||||||
|
ปรัชญา (อังกฤษ: Philosophy จาก กรีก: φιλοσοφία, philosophia, 'ความรักในปัญญา') เป็นการศึกษาปัญหาทั่วไปและปัญหาพื้นฐาน เช่น เกี่ยวกับการดำรงอยู่ (อภิปรัชญา), เหตุผล (ตรรกศาสตร์), ความรู้ (ญาณวิทยา), คุณค่า (จริยศาสตร์), จิตใจ และ ภาษา Such questions are often posed as problems แหล่งข้อมูลบางแหล่งอ้างว่าคำนี้คิดขึ้นโดยพีทากอรัส (c. 570 – c. 495 ปีก่อนค.ศ.) ในขณะที่บางส่วน ปฏิเสธและเชื่อว่าพีทากอรัสนำคำนี้มาใช้จากคำเดิมที่ปรากฏอยู่แล้ว วิธีวิทยาของปรัชญาประกอบด้วยการตั้งคำถาม, การถกเถียงเชิงวิพากษ์, การถกเถียงด้วยเหตุผล และการนำเสนออย่างเป็นระบบระเบียบ
|
||||||
|
|
||||||
|
ในอดีต คำว่า "ปรัชญา" หมายรวมถึงความรู้ทุกแขนง ส่วนผู้ศึกษาปรัชญา เรียก นักปรัชญา นับแต่ยุคของแอริสตอเติล นักปรัชญากรีกโบราณ จนถึงคริสต์ศตวรรษที่ 19 คำว่า "ปรัชญาธรรมชาติ" ครอบคลุมวิชาดาราศาสตร์ แพทยศาสตร์และฟิสิกส์ อย่างเช่น ตำรา Philosophiæ Naturalis Principia Mathematica (หลักคณิตศาสตร์ของปรัชญาธรรมชาติ) ของไอแซก นิวตัน ในปี 1687 เป็นวิชาปรัชญาก่อนที่ภายหลังจะถูกจำแนกเป็นวิชาฟิสิกส์แทน ในศตวรรษที่ 19 ภายหลังการเติบโตของมหาวิทยาลัยวิจัยทำให้ปรัชญาเชิงวิชาการ (academic philosophy) และสาขาวิชาอื่นกลายเป็นอาชีพและมีความเชี่ยวชาญเฉพาะด้านมากขึ้น หลังจากนั้นจึงมีหลายวิชาที่เคยเป็นส่วนหนึ่งของปรัชญาแยกออกไป โดยเฉพาะสังคมศาสตร์ เช่น จิตวิทยา สังคมวิทยา ภาษาศาสตร์ และเศรษฐศาสตร์
|
||||||
|
|
||||||
|
ในปัจจุบัน โดยทั่วไปถือว่าปรัชญาประกอบด้วยสาขาย่อยหลักทางวิชาการได้แก่ อภิปรัชญา ซึ่งศึกษาธรรมชาติพื้นฐานของการดำรงอยู่ และ ความเป็นจริง, ญาณวิทยา ซึ่งศึกษาธรรมชาติของความรู้ และ ความเชื่อ, จริยศาสตร์ ซึ่งศึกษาคุณค่าทางศีลธรรม และ ตรรกศาสตร์ ซึ่งศึกษากฎเกณฑ์ของการให้เหตุผลเพื่อสร้างข้อสรุปจากความจริง สาขาย่อยอื่น ๆ ที่เป็นที่รู้จักของปรัชญา เช่น ปรัชญาวิทยาศาสตร์, ปรัชญาการเมือง, สุนทรียศาสตร์, ปรัชญาภาษา และ ปรัชญาความคิด เป็นต้น
|
||||||
|
สาขาย่อยอื่น ๆ ที่เป็นที่รู้จักของปรัชญา
|
||||||
|
|
||||||
|
ფილოსოფია — მეცნიერება, მსოფლმხედველობა, იდეების და შეხედულებების სისტემა სამყაროზე და მასში ადამიანის ადგილზე. მისი კვლევის საგანია სამყაროსთან ადამიანის შემეცნებითი, სოციალურ-პოლიტიკური, ღირებულებითი, ეთიკური და ესთეტიკური ურთიერთობები. ფილოსოფიის სხვადასხვა პრობლემების გადასაჭრელად იყენებდნენ ისეთ ურთიერთსაწინააღმდეგო მიმართულებებს, როგორებიცაა: დიალექტიკა და მეტაფიზიკა, რაციონალიზმი და ემპირიზმი, მატერიალიზმი და იდეალიზმი, ნატურალიზმი და სპირიტუალიზმი, დეტერმინიზმი და ინდეტერმინიზმი და ა. შ.
|
||||||
|
|
||||||
|
თანამედროვე ფილოსოფიის ძირითადი ტენდენციები დაკავშირებულია ისეთი ფუნდამენტური პრობლემების გააზრებასთან, როგორებიცაა თანამედროვე ცივილიზაციის ბედი, კულტურების მრავალფეროვნება და ერთიანობა, ადამიანის შემეცნების ბუნება, ყოფიერება და ენა.
|
||||||
|
|
||||||
|
Փիլիսոփայություն, գիտություն իմացության և կեցության ընդհանուր սկզբունքների և օրինաչափությունների մասին։ Ձգտում է պարզաբանել ամբողջ կեցության ընդհանուր կապը և միավորել մարդկային գիտելիքի բոլոր ոլորտները։ Փիլիսոփայությունը կարելի է համարել որոշակի աշխարհայացք և աշխարհըմբռնում, որն ունի նաև մեթոդաբանական գործառնություններ։
|
||||||
|
|
||||||
|
«Փիլիսոփայություն» (հին հունարեն՝ φιλοσοφία) բառն ունի հունական ծագում։ Այն առաջացել է հունարեն «սիրել» և «իմաստություն» բառերից։ Այսինքն՝ փիլիսոփայություն թարգմանաբար նշանակում է «իմաստության հանդեպ սեր»։ Հայ մատենագրության մեջ «փիլիսոփայություն» եզրույթին զուգահեռ գործածվել է նաև «իմաստասիրություն» բառը։
|
||||||
34
testtext_typesetting_full.txt
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae auctor eu augue ut lectus arcu bibendum. Pulvinar pellentesque habitant morbi tristique senectus et netus. Turpis nunc eget lorem dolor sed viverra ipsum. Duis ultricies lacus sed turpis tincidunt id. Facilisi morbi tempus iaculis urna id volutpat lacus laoreet non. Viverra adipiscing at in tellus integer feugiat scelerisque varius morbi. Viverra vitae congue eu consequat ac felis donec et odio. Quis viverra nibh cras pulvinar. Diam donec adipiscing tristique risus nec feugiat. Ut tristique et egestas quis ipsum suspendisse ultrices. Turpis cursus in hac habitasse. Eget duis at tellus at urna. Eget sit amet tellus cras adipiscing enim eu. Sit amet tellus cras adipiscing enim eu turpis egestas.
|
||||||
|
|
||||||
|
Aliquam faucibus purus in massa tempor. Eget nullam non nisi est sit amet. Eu ultrices vitae auctor eu augue ut lectus. Tortor at auctor urna nunc. Quam lacus suspendisse faucibus interdum posuere lorem ipsum. Euismod in pellentesque massa placerat. Velit dignissim sodales ut eu sem integer. Lacus vel facilisis volutpat est velit egestas dui id. Urna nec tincidunt praesent semper feugiat. Duis at tellus at urna condimentum mattis. Mi proin sed libero enim sed faucibus. Semper feugiat nibh sed pulvinar proin gravida hendrerit lectus. Ac tincidunt vitae semper quis lectus nulla. Et netus et malesuada fames ac turpis egestas sed tempus. Odio ut enim blandit volutpat maecenas volutpat blandit aliquam etiam. Pellentesque massa placerat duis ultricies lacus sed. Venenatis a condimentum vitae sapien pellentesque habitant morbi tristique senectus. Sit amet consectetur adipiscing elit pellentesque.
|
||||||
|
|
||||||
|
Vel eros donec ac odio tempor. Suspendisse in est ante in nibh mauris cursus. Urna cursus eget nunc scelerisque viverra mauris in. Cursus sit amet dictum sit. Quis imperdiet massa tincidunt nunc pulvinar sapien et ligula ullamcorper. Aenean vel elit scelerisque mauris pellentesque. Mauris in aliquam sem fringilla ut morbi. Nulla aliquet enim tortor at auctor. Pellentesque habitant morbi tristique senectus et. Cras pulvinar mattis nunc sed blandit libero volutpat. Eget velit aliquet sagittis id consectetur purus ut. At volutpat diam ut venenatis tellus in. In tellus integer feugiat scelerisque varius. Dapibus ultrices in iaculis nunc sed augue lacus viverra. Varius quam quisque id diam.
|
||||||
|
|
||||||
|
Ut aliquam purus sit amet luctus venenatis lectus magna. Nunc aliquet bibendum enim facilisis gravida neque convallis a cras. Dictum at tempor commodo ullamcorper a lacus vestibulum sed. Mi proin sed libero enim sed faucibus turpis. Vel turpis nunc eget lorem dolor sed viverra ipsum nunc. Est sit amet facilisis magna. Ultricies tristique nulla aliquet enim. Orci sagittis eu volutpat odio facilisis. Aliquet nec ullamcorper sit amet. Massa placerat duis ultricies lacus sed turpis tincidunt id. Morbi tristique senectus et netus et. Quam id leo in vitae turpis massa sed elementum tempus. Proin sagittis nisl rhoncus mattis rhoncus urna neque viverra justo. Tincidunt eget nullam non nisi est sit amet.
|
||||||
|
|
||||||
|
Feugiat in ante metus dictum at tempor commodo. Maecenas accumsan lacus vel facilisis volutpat. Dignissim cras tincidunt lobortis feugiat vivamus. Ante in nibh mauris cursus mattis molestie a iaculis. Odio pellentesque diam volutpat commodo sed egestas egestas fringilla. Leo integer malesuada nunc vel risus. Tellus id interdum velit laoreet id donec ultrices tincidunt. Et tortor consequat id porta nibh venenatis cras sed. Consectetur libero id faucibus nisl tincidunt eget nullam non nisi. Dapibus ultrices in iaculis nunc sed augue lacus viverra vitae. Enim praesent elementum facilisis leo vel fringilla. Lorem ipsum dolor sit amet consectetur adipiscing elit. Mollis aliquam ut porttitor leo.
|
||||||
|
|
||||||
|
하수는 두 산 틈에서 나와 돌과 부딪쳐 싸우며, 그 놀란 파도와 성난 물머리와 우는 여울과 노한 물결과 슬픈 곡조와 원망하는 소리가 굽이쳐 돌면서, 우는 듯, 소리치는 듯, 바쁘게 호령하는 듯, 항상 장성을 깨뜨릴 형세가 있어, 전차 만승과 전기 만대나 전포 만가와 전고 만좌로써는 그 무너뜨리고 내뿜는 소리를 족히 형용할 수 없을 것이다. 모래 위에 큰 돌은 홀연히 떨어져 섰고, 강 언덕에 버드나무는 어둡고 컴컴하여 물지킴과 하수 귀신이 다투어 나와서 사람을 놀리는 듯한데, 좌우의 교리가 붙들려고 애쓰는 듯싶었다. 혹은 말하기를, “여기는 옛 전쟁터이므로 강물이 저같이 우는 것이다.” 하지만 이는 그런 것이 아니니, 강물 소리는 듣기 여하에 달렸을 것이다.
|
||||||
|
|
||||||
|
산중의 내 집 문 앞에는 큰 시내가 있어 매양 여름철이 되어 큰 비가 한번 지나가면, 시냇물이 갑자기 불어서 항상 차기와 포고의 소리를 듣게 되어 드디어 귀에 젖어 버렸다. 내가 일찍이 문을 닫고 누워서 소리 종류를 비교해 보니, 깊은 소나무가 퉁소 소리를 내는 것은 듣는 이가 청아한 탓이요, 산이 찢어지고 언덕이 무너지는 듯한 것은 듣는 이가 분노한 탓이요, 뭇 개구리가 다투어 우는 것은 듣는 이가 교만한 탓이요, 천둥과 우레가 급한 것은 듣는 이가 놀란 탓이요, 찻물이 끓는 듯이 문무가 겸한 것은 듣는 이가 취미로운 탓이요, 거문고가 궁우에 맞는 것은 듣는 이가 슬픈 탓이요, 종이창에 바람이 우는 것은 듣는 이가 의심나는 탓이니, 모두 바르게 듣지 못하고 특히 흉중에 먹은 뜻을 가지고 귀에 들리는 대로 소리를 만든 것이다.
|
||||||
|
|
||||||
|
지금 나는 밤중에 한 강을 아홉 번 건넜다. 강은 새외로부터 나와서 장성을 뚫고 유하와 조하 · 황화 · 진천 등의 모든 물과 합쳐 밀운성 밑을 거쳐 백하가 되었다. 나는 어제 배로 백하를 건넜는데, 이것은 하류였다. 내가 막 요동 땅에 들어왔을 때는 바야흐로 한여름이라, 뜨거운 볕 밑을 가노라니 홀연 큰 강이 앞에 당하였다. 또한 물결이 산같이 일어나 끝을 볼 수 없으니, 이것은 대개 천리 밖에서 폭우가 온 것이다. 물을 건널 때는 사람들이 모두 머리를 우러러 하늘을 보는데, 나는 생각하기에 사람들이 머리를 들고 쳐다보는 것은 하늘에 묵도하는 것인 줄 알았더니, 나중에 알고 보니 물을 건너는 사람들이 물이 돌아 탕탕히 흐르는 것을 보면 자기 몸은 물이 거슬러 올라가는 것 같고 눈은 강물과 함께 따라 내려가는 것 같아서 갑자기 현기가 나면서 물에 빠지는 것이기 때문에, 그들이 머리를 들어 우러러보는 것은 하늘에 비는 것이 아니라 물을 피하여 보지 않으려 함이었다. 또한 어느 겨를에 잠깐 동안의 목숨을 위하여 기도할 수 있겠는가.
|
||||||
|
|
||||||
|
그 위험함이 이와 같으니, 물 소리를 들어보지 못하고 모두 말하기를, “요동 들은 평평하고 넓기 때문에 물 소리가 크게 울지 않는 것이다.” 하지만 이것은 물을 알지 못하는 것이다. 요하가 울지 않는 것이 아니라 특히 밤에 건너 보지 않은 때문이니, 낮에는 눈으로 물을 볼 수 있으므로 눈이 오로지 위험한 데만 보면서 무서움을 느껴 도리어 눈이 있는 것을 걱정하는 판인데, 어찌 또 들리는 소리가 있겠는가. 지금 나는 밤중에 물을 건너는지라 눈으로 위험한 것을 볼 수 없으니, 위험은 오로지 듣는 데만 있어 바야흐로 귀로 무서움을 느끼니 걱정을 이기지 못하는 것이다.
|
||||||
|
|
||||||
|
나는 이제야 도를 알았도다. 마음이 어두운 자는 이목이 누가 되지 않고, 이 목만을 믿는 자는 보고 듣는 것을 더욱 밝혀서 병이 되는 것이다. 이제 내 마부가 발을 말굽을 밟혀서 뒷차에 실리었으므로, 나는 드디어 혼자 고삐를 늦추어 강에 띄우고, 무릎을 구부려 발을 모으고 안장 위에 앉았으니, 한번 떨어지면 강이나 물로 땅을 삼고 물로 옷을 삼으며 물로 몸을 삼고 물로 성정을 삼으니, 이제야 내 마음은 한번 떨어질 것을 판단한 터이므로 내 귓속에 강물 소리가 없어지고, 무릇 아홉 번 건너는데도 걱정이 없어 의자 위에서 좌와하고 기거하는 것 같았다. 옛날 우는 강을 건너는데, 황룡이 배를 등으로 져서 지극히 위험했으나 사생의 판단이 먼저 마음 속에 밝고 보니, 용이거나 지렁이거나, 크거나 작거나 족히 관계될 바 없었다. 소리와 빛은 외물이니 외물이 항상 이목에 누가 되어 사람으로 하여금 똑바로 보고 듣는 것을 잃게 하는 것이 이 같거든, 하물며 인생이 세상을 지나는 데 그 험하고 위태로운 것이 강물보다 심하고, 보고 듣는 것이 문득 병이 되는 것임에랴.
|
||||||
|
|
||||||
|
数学において体K上定義されたアーベル多様体AがCM-タイプ(CM-type)であるとは、自己準同型環 End(A)の中で十分に大きな部分可換環を持つことをいう。この用語は虚数乗法 (complex multiplication) 論から来ていて、虚数乗法論は19世紀に楕円曲線の研究のため開発された。20世紀の代数的整数論と代数幾何学の主要な成果のひとつに、アーベル多様体の次元d>1の理論の正しい定式化が発見されたことがある。この問題は、多変数複素函数論を使うことが非常に困難であるため、非常に抽象的である。
|
||||||
|
|
||||||
|
フォーマルな定義は、有理数体QとEnd(A)のテンソル積
|
||||||
|
End_Q(A)
|
||||||
|
|
||||||
|
はZ上、次元2dの可換部分環を含んでいることである。d=1のとき、このことは二次体以外にはありえなく、End(A)は虚二次体の整環(英語版)(order)である。d>1に対しては、総実体の虚二次拡大であるCM体の場合が比較すべきに対象である。A が単純アーベル多様体ではないかもしれない(例えば、楕円曲線のカルテシアン積)ことを反映する他の他の場合もある。CM-タイプのアーベル多様体の別の名称は、十分に多くの虚数乗法を持つアーベル多様体である。
|
||||||
|
|
||||||
|
Kが複素数体であれば、任意のCM-タイプのAは、実は、数体である定義体(英語版)(field of definition)を持っている。自己準同型環の可能なタイプは、対合(ロサチの対合(英語版)(Rosati involution))をもつ環として既に分類されていて、CM-タイプのアーベル多様体の分類を導き出す。楕円曲線と同じような方法でCM-タイプの多様体を構成するには、C^dの中の格子 Λ から始め、アーベル多様体のリーマンの関係式を考えに入れる必要がある。
|
||||||
|
|
||||||
|
CM-タイプ(CM-type)は、単位元におけるAの正則接空間上の、EndQ(A)の(極大)可換部分環Lの作用を記述したものである。単純な種類のスペクトル理論が適用され、Lが固有ベクトルの基底を通して作用することを示すことができる。言い換えると、LはAの正則ベクトル場の上の対角行列を通した作用を持っている。L自体が複数の体の積ではなく数体であるという単純な場合には、CM-タイプはLの複素埋め込み(complex embedding)のリストである。複素共役をペアとして、2d個の複素埋め込みがあり、CM-タイプは各々のペアのから一つを選択する。そのようなCM-タイプの全てが実現されることが知られている。
|
||||||
|
|
||||||
|
志村五郎と谷山豊の基本的結果は、CM-タイプとヘッケのL-函数のことばで、A のハッセ・ヴェイユのL-函数を計算することができ、これから導出された無限部分を持つ。これらが、楕円曲線の場合のマックス・ドイリング(英語版)(Max Deuring)の結果を一般化する。
|
||||||
|
|
||||||
|
從20世紀西北太平洋热带气旋有命名紀錄起至今,有79個熱帶氣旋的名字被除名。在1999年及以前,西北太平洋的熱帶氣旋命名和除名工作是由美國負責。2000年起,命名表改由世界氣象組織颱風委員會制訂,再交由日本氣象廳命名,而颱風委員會都會舉行年度會議,商討部份熱帶氣旋名稱的去留。其會員國有權要求將熱帶氣旋名字除去,在委員會批准替補名字後,就會交由日本氣象廳進行替換工作。大多數被除名的名字是因為在某地區造成嚴重影響而被替換,但有些名字卻基於其他技術性原因而被除名。
|
||||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 130 B |