diff --git a/res/xml/settings.xml b/res/xml/settings.xml index 93badef..01a79d9 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -26,6 +26,7 @@ + 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