From 1e067c9863cb412af582158b54f1467a6e379416 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sat, 5 Nov 2022 19:26:49 +0100 Subject: Add the bar diacritic dead key Allows to type many of the "with stroke" or "with bar" latin letters. --- .../ExtraKeyCheckBoxPreference.java | 1 + srcs/juloo.keyboard2/KeyModifier.java | 28 +++++++++++++++++++++ srcs/juloo.keyboard2/KeyValue.java | 2 ++ srcs/special_font/5F.svg | 13 ++++++++++ srcs/special_font/result.ttf | Bin 7240 -> 7460 bytes 5 files changed, 44 insertions(+) create mode 100644 srcs/special_font/5F.svg (limited to 'srcs') diff --git a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java index 8787b6b..c4757de 100644 --- a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java +++ b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java @@ -29,6 +29,7 @@ public class ExtraKeyCheckBoxPreference extends CheckBoxPreference "accent_macron", "accent_ogonek", "accent_breve", + "accent_bar", "€", "ß", "£", diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java index 2bb4e08..c733c33 100644 --- a/srcs/juloo.keyboard2/KeyModifier.java +++ b/srcs/juloo.keyboard2/KeyModifier.java @@ -58,6 +58,7 @@ class KeyModifier case ARROWS: return apply_map_char(k, map_char_arrows); case BOX: return apply_map_char(k, map_char_box); case SLASH: return apply_map_char(k, map_char_slash); + case BAR: return apply_map_char(k, map_char_bar); case ARROW_RIGHT: return apply_combining(k, "\u20D7"); default: return k; } @@ -519,4 +520,31 @@ class KeyModifier } } }; + + private static final Map_char map_char_bar = + new Map_char() { + public char apply(char c) + { + switch (c) + { + case 'b': return 'ƀ'; + case 'c': return 'ꞓ'; + case 'd': return 'đ'; + case 'g': return 'ǥ'; + case 'i': return 'ɨ'; + case 'j': return 'ɉ'; + case 'k': return 'ꝁ'; + case 'l': return 'ƚ'; + case 'o': return 'ɵ'; + case 'p': return 'ᵽ'; + case 'q': return 'ꝗ'; + case 'r': return 'ɍ'; + case 't': return 'ŧ'; + case 'u': return 'ʉ'; + case 'y': return 'ɏ'; + case 'z': return 'ƶ'; + default: return c; + } + } + }; } diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index 86d53bb..989e7fe 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -47,6 +47,7 @@ final class KeyValue SLASH, ARROW_RIGHT, BREVE, + BAR, FN, // Must be placed last to be applied first } @@ -287,6 +288,7 @@ final class KeyValue addDiacritic("accent_slash", 0x5C, Modifier.SLASH); addDiacritic("accent_arrow_right", 0x5D, Modifier.ARROW_RIGHT); addDiacritic("accent_breve", 0x5E, Modifier.BREVE); + addDiacritic("accent_bar", 0x5F, Modifier.BAR); addModifierKey("superscript", "Sup", Modifier.SUPERSCRIPT, 0); addModifierKey("subscript", "Sub", Modifier.SUBSCRIPT, 0); addModifierKey("ordinal", "Ord", Modifier.ORDINAL, 0); diff --git a/srcs/special_font/5F.svg b/srcs/special_font/5F.svg new file mode 100644 index 0000000..c91c94f --- /dev/null +++ b/srcs/special_font/5F.svg @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/srcs/special_font/result.ttf b/srcs/special_font/result.ttf index 1227f27..f81838f 100644 Binary files a/srcs/special_font/result.ttf and b/srcs/special_font/result.ttf differ -- cgit v1.2.3