From 6ce21952532ad5878fd2fbd5bfa16c8300015d01 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Fri, 3 Jan 2025 15:50:30 +0100 Subject: Add glyphs for zwj and zwnj Co-authored-by: @srikanban --- assets/special_font.ttf | Bin 20388 -> 20792 bytes srcs/juloo.keyboard2/KeyValue.java | 8 ++++---- srcs/special_font/018.svg | 36 ++++++++++++++++++++++++++++++++++++ srcs/special_font/019.svg | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 srcs/special_font/018.svg create mode 100644 srcs/special_font/019.svg diff --git a/assets/special_font.ttf b/assets/special_font.ttf index 73f642b..6da9c47 100644 Binary files a/assets/special_font.ttf and b/assets/special_font.ttf differ diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index c6778c9..7c75316 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -315,7 +315,7 @@ public final class KeyValue implements Comparable private static KeyValue charKey(int symbol, char c, int flags) { - return charKey(String.valueOf((char)symbol), c, flags); + return charKey(String.valueOf((char)symbol), c, flags | FLAG_KEY_FONT); } private static KeyValue modifierKey(String symbol, Modifier m, int flags) @@ -628,7 +628,7 @@ public final class KeyValue implements Comparable /* Spaces */ case "\\t": return charKey("\\t", '\t', 0); // Send the tab character case "\\n": return charKey("\\n", '\n', 0); // Send the newline character - case "space": return charKey(0xE00D, ' ', FLAG_KEY_FONT | FLAG_SMALLER_FONT | FLAG_GREYED); + case "space": return charKey(0xE00D, ' ', FLAG_SMALLER_FONT | FLAG_GREYED); case "nbsp": return charKey("\u237d", '\u00a0', FLAG_SMALLER_FONT); case "nnbsp": return charKey("\u2423", '\u202F', FLAG_SMALLER_FONT); @@ -672,9 +672,9 @@ public final class KeyValue implements Comparable case "meteg": return charKey("\u05DE\u05BD", '\u05BD', 0); // or siluq or sof-pasuq case "meteg_placeholder": return placeholderKey(Placeholder.METEG); /* intending/preventing ligature - supported by many scripts*/ - case "zwj": return charKey("zwj", '\u200D', 0); // zero-width joiner (provides ligature) + case "zwj": return charKey(0xE019, '\u200D', 0); // zero-width joiner (provides ligature) case "zwnj": - case "halfspace": return charKey("βΈ½", '\u200C', 0); // zero-width non joiner + case "halfspace": return charKey(0xE018, '\u200C', 0); // zero-width non joiner /* Editing keys */ case "copy": return editingKey(0xE030, Editing.COPY); diff --git a/srcs/special_font/018.svg b/srcs/special_font/018.svg new file mode 100644 index 0000000..4e5e024 --- /dev/null +++ b/srcs/special_font/018.svg @@ -0,0 +1,36 @@ + + + + + + + + + + diff --git a/srcs/special_font/019.svg b/srcs/special_font/019.svg new file mode 100644 index 0000000..b83440b --- /dev/null +++ b/srcs/special_font/019.svg @@ -0,0 +1,36 @@ + + + + + + + + + + -- cgit v1.2.3