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