From e63ff8f837947d574cc2da0c764b564302580343 Mon Sep 17 00:00:00 2001
From: Jules Aguillon
Date: Thu, 17 Mar 2022 20:08:26 +0100
Subject: Stateless build of the special font file
Keep the glyphs in SVG format and build the font using a FontForge
script.
A part of the previous font is kept because the sources is lost.
This adds a new dependency to the build system, fontforge.
---
srcs/juloo.keyboard2/KeyValue.java | 8 ++++----
srcs/juloo.keyboard2/Theme.java | 2 +-
srcs/special_font/01.svg | 7 +++++++
srcs/special_font/02.svg | 16 ++++++++++++++++
srcs/special_font/03.svg | 16 ++++++++++++++++
srcs/special_font/04.svg | 1 +
srcs/special_font/README.md | 8 ++++++++
srcs/special_font/base_font.ttf | Bin 0 -> 5780 bytes
srcs/special_font/build.pe | 15 +++++++++++++++
9 files changed, 68 insertions(+), 5 deletions(-)
create mode 100644 srcs/special_font/01.svg
create mode 100644 srcs/special_font/02.svg
create mode 100644 srcs/special_font/03.svg
create mode 100644 srcs/special_font/04.svg
create mode 100644 srcs/special_font/README.md
create mode 100644 srcs/special_font/base_font.ttf
create mode 100644 srcs/special_font/build.pe
(limited to 'srcs')
diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java
index 9cee797..9c0c080 100644
--- a/srcs/juloo.keyboard2/KeyValue.java
+++ b/srcs/juloo.keyboard2/KeyValue.java
@@ -228,10 +228,10 @@ class KeyValue
addCharKey('€', EVENT_NONE, FLAG_LOCALIZED);
addCharKey('£', EVENT_NONE, FLAG_LOCALIZED);
- addSpecialKey("config", "\uE806", EVENT_CONFIG, FLAG_KEY_FONT | FLAG_SMALLER_FONT);
+ addSpecialKey("config", "\u0004", EVENT_CONFIG, FLAG_KEY_FONT | FLAG_SMALLER_FONT);
addSpecialKey("switch_text", "ABC", EVENT_SWITCH_TEXT);
addSpecialKey("switch_numeric", "123+", EVENT_SWITCH_NUMERIC);
- addSpecialKey("switch_emoji", "\uE812" , EVENT_SWITCH_EMOJI, FLAG_KEY_FONT | FLAG_SMALLER_FONT);
+ addSpecialKey("switch_emoji", "\u0001" , EVENT_SWITCH_EMOJI, FLAG_KEY_FONT | FLAG_SMALLER_FONT);
addSpecialKey("switch_back_emoji", "ABC", EVENT_SWITCH_BACK_EMOJI);
addSpecialKey("change_method", "\ue807", EVENT_CHANGE_METHOD, FLAG_KEY_FONT | FLAG_SMALLER_FONT);
addSpecialKey("action", "Action", EVENT_ACTION, FLAG_SMALLER_FONT); // Will always be replaced
@@ -242,8 +242,8 @@ class KeyValue
addEventKey("right", "\uE80C", KeyEvent.KEYCODE_DPAD_RIGHT, FLAG_KEY_FONT | FLAG_PRECISE_REPEAT);
addEventKey("down", "\uE809", KeyEvent.KEYCODE_DPAD_DOWN, FLAG_KEY_FONT | FLAG_PRECISE_REPEAT);
addEventKey("left", "\uE80A", KeyEvent.KEYCODE_DPAD_LEFT, FLAG_KEY_FONT | FLAG_PRECISE_REPEAT);
- addEventKey("page_up", "\uE810", KeyEvent.KEYCODE_PAGE_UP, FLAG_KEY_FONT);
- addEventKey("page_down", "\uE811", KeyEvent.KEYCODE_PAGE_DOWN, FLAG_KEY_FONT);
+ addEventKey("page_up", "\u0002", KeyEvent.KEYCODE_PAGE_UP, FLAG_KEY_FONT);
+ addEventKey("page_down", "\u0003", KeyEvent.KEYCODE_PAGE_DOWN, FLAG_KEY_FONT);
addEventKey("home", "\uE80E", KeyEvent.KEYCODE_MOVE_HOME, FLAG_KEY_FONT);
addEventKey("end", "\uE80F", KeyEvent.KEYCODE_MOVE_END, FLAG_KEY_FONT);
addEventKey("backspace", "⌫", KeyEvent.KEYCODE_DEL, FLAG_SMALLER_FONT);
diff --git a/srcs/juloo.keyboard2/Theme.java b/srcs/juloo.keyboard2/Theme.java
index 3d57fe7..548e291 100644
--- a/srcs/juloo.keyboard2/Theme.java
+++ b/srcs/juloo.keyboard2/Theme.java
@@ -70,7 +70,7 @@ public class Theme
{
if (_specialKeyFont == null)
{
- _specialKeyFont = Typeface.createFromAsset(context.getAssets(), "fonts/keys.ttf");
+ _specialKeyFont = Typeface.createFromAsset(context.getAssets(), "special_font.ttf");
}
return _specialKeyFont;
}
diff --git a/srcs/special_font/01.svg b/srcs/special_font/01.svg
new file mode 100644
index 0000000..86169a4
--- /dev/null
+++ b/srcs/special_font/01.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/srcs/special_font/02.svg b/srcs/special_font/02.svg
new file mode 100644
index 0000000..3eab9dc
--- /dev/null
+++ b/srcs/special_font/02.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/srcs/special_font/03.svg b/srcs/special_font/03.svg
new file mode 100644
index 0000000..a4140eb
--- /dev/null
+++ b/srcs/special_font/03.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/srcs/special_font/04.svg b/srcs/special_font/04.svg
new file mode 100644
index 0000000..2a52ef7
--- /dev/null
+++ b/srcs/special_font/04.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/srcs/special_font/README.md b/srcs/special_font/README.md
new file mode 100644
index 0000000..baa8bb6
--- /dev/null
+++ b/srcs/special_font/README.md
@@ -0,0 +1,8 @@
+# Fonts
+
+See copyright notice in each SVG files.
+
+The glyphs in `base_font.ttf` are made by:
+
+- Home and End
+ Author: @sdrapha
diff --git a/srcs/special_font/base_font.ttf b/srcs/special_font/base_font.ttf
new file mode 100644
index 0000000..2bfd130
Binary files /dev/null and b/srcs/special_font/base_font.ttf differ
diff --git a/srcs/special_font/build.pe b/srcs/special_font/build.pe
new file mode 100644
index 0000000..fab828b
--- /dev/null
+++ b/srcs/special_font/build.pe
@@ -0,0 +1,15 @@
+# The special font is used for the symbols of some keys. It is built from SVG
+# files, one for each glyph.
+
+# Starts from an existing font file for glyphs that don't have SVG sources yet.
+Open($2)
+
+# Imports glyphs, file name is position in the font.
+i = 3
+while (i < $argc)
+ Select(Strtol($argv[i]:t:r))
+ Import($argv[i])
+ i++
+endloop
+
+Generate($1)
--
cgit v1.2.3