diff options
Diffstat (limited to 'srcs/juloo.keyboard2/KeyModifier.java')
| -rw-r--r-- | srcs/juloo.keyboard2/KeyModifier.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java index c00ff07..ad41edc 100644 --- a/srcs/juloo.keyboard2/KeyModifier.java +++ b/srcs/juloo.keyboard2/KeyModifier.java @@ -60,6 +60,9 @@ class KeyModifier 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"); + case DOT_BELOW: return apply_map_char(k, map_char_dot_below); + case HORN: return apply_map_char(k, map_char_horn); + case HOOK_ABOVE: return apply_map_char(k, map_char_hook_above); default: return k; } } @@ -570,4 +573,62 @@ class KeyModifier } } }; + + private static final Map_char map_char_dot_below = + new Map_char() { + public char apply(char c) + { + switch (c) + { + case 'a': return 'ạ'; + case 'ă': return 'ặ'; + case 'â': return 'ậ'; + case 'e': return 'ẹ'; + case 'ê': return 'ệ'; + case 'i': return 'ị'; + case 'o': return 'ọ'; + case 'ô': return 'ộ'; + case 'ơ': return 'ợ'; + case 'u': return 'ụ'; + case 'ư': return 'ự'; + case 'y': return 'ỵ'; + default: return c; + } + } + }; + private static final Map_char map_char_horn = + new Map_char() { + public char apply(char c) + { + switch (c) + { + case 'o': return 'ơ'; + case 'u': return 'ư'; + default: return c; + } + } + }; + + private static final Map_char map_char_hook_above = + new Map_char() { + public char apply(char c) + { + switch (c) + { + case 'a': return 'ả'; + case 'ă': return 'ẳ'; + case 'â': return 'ẩ'; + case 'e': return 'ẻ'; + case 'ê': return 'ể'; + case 'i': return 'ỉ'; + case 'o': return 'ỏ'; + case 'ô': return 'ổ'; + case 'ơ': return 'ở'; + case 'u': return 'ủ'; + case 'ư': return 'ử'; + case 'y': return 'ỷ'; + default: return c; + } + } + }; } |
