Skip to content

Commit

Permalink
Add Japanese dakuten and handakuten
Browse files Browse the repository at this point in the history
  • Loading branch information
Julow committed Sep 10, 2024
1 parent 8339a1b commit 49944a7
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 4 deletions.
44 changes: 44 additions & 0 deletions srcs/compose/dakuten.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"う": "",
"か": "",
"き": "",
"く": "",
"け": "",
"こ": "",
"さ": "",
"し": "",
"す": "",
"せ": "",
"そ": "",
"た": "",
"ち": "",
"つ": "",
"て": "",
"と": "",
"は": "",
"ひ": "",
"ふ": "",
"へ": "",
"ほ": "",
"ウ": "",
"カ": "",
"キ": "",
"ク": "",
"ケ": "",
"コ": "",
"サ": "",
"シ": "",
"ス": "",
"セ": "",
"ソ": "",
"タ": "",
"チ": "",
"ツ": "",
"テ": "",
"ト": "",
"ハ": "",
"ヒ": "",
"フ": "",
"ヘ": "",
"ホ": ""
}
12 changes: 12 additions & 0 deletions srcs/compose/handakuten.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"は": "",
"ひ": "",
"ふ": "",
"へ": "",
"ほ": "",
"ハ": "",
"ヒ": "",
"フ": "",
"ヘ": "",
"ホ": ""
}
8 changes: 6 additions & 2 deletions srcs/juloo.keyboard2/ComposeKeyData.java
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,8 @@ public final class ComposeKeyData
"\u2336\u0000/\u22ad\u0000/\u22ae\u0000/\u22af\u0000/\u22ea\u0000/\u22eb\u0000/\u22ec\u0000/\u22ed\u0000_\u2395\u235a\u233a\u0000_\u2378\u0000_\u2379\u0000_\u2376\u0000'/:<=>?\\\u00f7\u2190\u2191\u2192\u2193\u2206\u2207\u2218\u2227\u2228\u2260\u22c4\u25cb\u235e\u2341\u2360\u2343\u2338\u2344\u2370\u2342\u2339\u2347\u2350\u2348\u2357\u234d" +
"\u2354\u233b\u2353\u234c\u236f\u233a\u233c\u0000*-.\\_|\u00a8\u2218\u2395\u235f\u2296\u2299\u2349\u235c\u233d\u2365\u233e\u233c\u0000/\u2adc\u0000\u309b\u3094\u0000\u309b\u304c\u0000\u309b\u304e\u0000\u309b\u3050\u0000\u309b\u3052\u0000\u309b\u3054\u0000\u309b\u3056\u0000\u309b\u3058\u0000\u309b\u305a\u0000\u309b\u305c\u0000\u309b\u305e\u0000\u309b\u3060\u0000\u309b\u3062\u0000\u309b\u3065\u0000" +
"\u309b\u3067\u0000\u309b\u3069\u0000\u309b\u309c\u3070\u3071\u0000\u309b\u309c\u3073\u3074\u0000\u309b\u309c\u3076\u3077\u0000\u309b\u309c\u3079\u307a\u0000\u309b\u309c\u307c\u307d\u0000\u309b\u30f4\u0000\u309b\u30ac\u0000\u309b\u30ae\u0000\u309b\u30b0\u0000\u309b\u30b2\u0000\u309b\u30b4\u0000\u309b\u30b6\u0000\u309b\u30b8\u0000\u309b\u30ba\u0000\u309b\u30bc\u0000\u309b\u30be\u0000\u309b\u30c0\u0000\u309b\u30c2\u0000\u309b\u30c5" +
"\u0000\u309b\u30c7\u0000\u309b\u30c9\u0000\u309b\u309c\u30d0\u30d1\u0000\u309b\u309c\u30d3\u30d4\u0000\u309b\u309c\u30d6\u30d7\u0000\u309b\u309c\u30d9\u30da\u0000\u309b\u309c\u30dc\u30dd").toCharArray();
"\u0000\u309b\u30c7\u0000\u309b\u30c9\u0000\u309b\u309c\u30d0\u30d1\u0000\u309b\u309c\u30d3\u30d4\u0000\u309b\u309c\u30d6\u30d7\u0000\u309b\u309c\u30d9\u30da\u0000\u309b\u309c\u30dc\u30dd\u0000\u3046\u304b\u304d\u304f\u3051\u3053\u3055\u3057\u3059\u305b\u305d\u305f\u3061\u3064\u3066\u3068\u306f\u3072\u3075\u3078\u307b\u30a6\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30cf\u30d2\u30d5" +
"\u30d8\u30db\u3094\u304c\u304e\u3050\u3052\u3054\u3056\u3058\u305a\u305c\u305e\u3060\u3062\u3065\u3067\u3069\u3070\u3073\u3076\u3079\u307c\u30f4\u30ac\u30ae\u30b0\u30b2\u30b4\u30b6\u30b8\u30ba\u30bc\u30be\u30c0\u30c2\u30c5\u30c7\u30c9\u30d0\u30d3\u30d6\u30d9\u30dc\u0000\u306f\u3072\u3075\u3078\u307b\u30cf\u30d2\u30d5\u30d8\u30db\u3071\u3074\u3077\u307a\u307d\u30d1\u30d4\u30d7\u30da\u30dd").toCharArray();

public static final char[] edges =
("\u0001\u0018\u0019\u001a\u001b\u001c\u001d\u0020\u0021\"\u0023\u0024\u0025\u0026\u0027\u0028\u0029\u002c\u002f\u0032\u0035\u0038\u003b\u003e\u0041\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u000c\u0050\u0051\u0052" +
Expand Down Expand Up @@ -218,7 +219,8 @@ public final class ComposeKeyData
"\u0001\u0002\u1cb3\u0001\u0002\u1cb6\u0001\u0002\u1cb9\u0001\u0002\u1cbc\u0001\u0002\u1cbf\u0001\u0002\u1cc2\u0001\u0002\u1cc5\u0001\u0003\u1cc9\u1cca\u0001\u0001\u0002\u1ccd\u0001\u0002\u1cd0\u0001\u0002\u1cd3\u0001\u0016\u1cea\u1ceb\u1cec\u1ced\u1cee\u1cef\u1cf0\u1cf1\u1cf2\u1cf3\u1cf4\u1cf5\u1cf6\u1cf7\u1cf8\u1cf9\u1cfa\u1cfb\u1cfc\u1cfd\u1cfe\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u1d09\u1d0a\u1d0b\u1d0c\u1d0d\u1d0e\u1d0f\u1d10\u1d11\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1d14\u0001\u0002\u1d17\u0001\u0002\u1d1a\u0001\u0002\u1d1d\u0001\u0002\u1d20\u0001\u0002\u1d23\u0001\u0002\u1d26\u0001\u0002\u1d29\u0001\u0002\u1d2c\u0001\u0002\u1d2f\u0001\u0002\u1d32\u0001\u0002\u1d35\u0001\u0002\u1d38\u0001\u0002\u1d3b\u0001\u0002\u1d3e\u0001\u0002" +
"\u1d41\u0001\u0002\u1d44\u0001\u0003\u1d48\u1d49\u0001\u0001\u0003\u1d4d\u1d4e\u0001\u0001\u0003\u1d52\u1d53\u0001\u0001\u0003\u1d57\u1d58\u0001\u0001\u0003\u1d5c\u1d5d\u0001\u0001\u0002\u1d60\u0001\u0002\u1d63\u0001\u0002\u1d66\u0001\u0002\u1d69\u0001\u0002\u1d6c\u0001\u0002\u1d6f\u0001\u0002\u1d72\u0001\u0002\u1d75\u0001\u0002\u1d78\u0001\u0002\u1d7b\u0001\u0002\u1d7e\u0001\u0002\u1d81\u0001\u0002\u1d84\u0001\u0002\u1d87\u0001" +
"\u0002\u1d8a\u0001\u0002\u1d8d\u0001\u0003\u1d91\u1d92\u0001\u0001\u0003\u1d96\u1d97\u0001\u0001\u0003\u1d9b\u1d9c\u0001\u0001\u0003\u1da0\u1da1\u0001\u0001\u0003\u1da5\u1da6\u0001\u0001").toCharArray();
"\u0002\u1d8a\u0001\u0002\u1d8d\u0001\u0003\u1d91\u1d92\u0001\u0001\u0003\u1d96\u1d97\u0001\u0001\u0003\u1d9b\u1d9c\u0001\u0001\u0003\u1da0\u1da1\u0001\u0001\u0003\u1da5\u1da6\u0001\u0001\u002b\u1dd2\u1dd3\u1dd4\u1dd5\u1dd6\u1dd7\u1dd8\u1dd9\u1dda\u1ddb\u1ddc\u1ddd\u1dde\u1ddf\u1de0\u1de1\u1de2\u1de3\u1de4\u1de5\u1de6\u1de7\u1de8\u1de9\u1dea\u1deb\u1dec\u1ded\u1dee\u1def\u1df0\u1df1\u1df2\u1df3\u1df4\u1df5\u1df6\u1df7\u1df8\u1df9" +
"\u1dfa\u1dfb\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1e07\u1e08\u1e09\u1e0a\u1e0b\u1e0c\u1e0d\u1e0e\u1e0f\u1e10\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001").toCharArray();

public static final int accent_aigu = 1;
public static final int accent_arrows = 68;
Expand All @@ -243,4 +245,6 @@ public final class ComposeKeyData
public static final int accent_tilde = 635;
public static final int accent_trema = 658;
public static final int compose = 671;
public static final int dakuten = 7591;
public static final int handakuten = 7676;
}
2 changes: 2 additions & 0 deletions srcs/juloo.keyboard2/KeyModifier.java
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ public static KeyValue modify(KeyValue k, KeyValue.Modifier mod)
case HORN: return apply_compose(k, ComposeKeyData.accent_horn);
case HOOK_ABOVE: return apply_compose(k, ComposeKeyData.accent_hook_above);
case ARROW_RIGHT: return apply_map_char(k, map_char_arrow_right);
case DAKUTEN: return apply_compose(k, ComposeKeyData.dakuten);
case HANDAKUTEN: return apply_compose(k, ComposeKeyData.handakuten);
default: return k;
}
}
Expand Down
13 changes: 11 additions & 2 deletions srcs/juloo.keyboard2/KeyValue.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ public static enum Modifier
TREMA,
HORN,
HOOK_ABOVE,
DAKUTEN,
HANDAKUTEN,
SUPERSCRIPT,
SUBSCRIPT,
RING,
Expand Down Expand Up @@ -298,10 +300,15 @@ private static KeyValue modifierKey(int symbol, Modifier m, int flags)
return modifierKey(String.valueOf((char)symbol), m, flags | FLAG_KEY_FONT);
}

private static KeyValue diacritic(String symbol, Modifier m, int flags)
{
return new KeyValue(symbol, Kind.Modifier, m.ordinal(),
FLAG_LATCH | FLAG_SPECIAL | flags);
}

private static KeyValue diacritic(int symbol, Modifier m)
{
return new KeyValue(String.valueOf((char)symbol), Kind.Modifier, m.ordinal(),
FLAG_LATCH | FLAG_SPECIAL | FLAG_KEY_FONT);
return diacritic(String.valueOf((char)symbol), m, FLAG_KEY_FONT);
}

private static KeyValue eventKey(String symbol, Event e, int flags)
Expand Down Expand Up @@ -448,6 +455,8 @@ public static KeyValue getKeyByName(String name)
case "accent_dot_below": return diacritic(0xE060, Modifier.DOT_BELOW);
case "accent_horn": return diacritic(0xE061, Modifier.HORN);
case "accent_hook_above": return diacritic(0xE062, Modifier.HOOK_ABOVE);
case "dakuten": return diacritic("゛", Modifier.DAKUTEN, 0);
case "handakuten": return diacritic("゜", Modifier.HANDAKUTEN, 0);
case "superscript": return modifierKey("Sup", Modifier.SUPERSCRIPT, 0);
case "subscript": return modifierKey("Sub", Modifier.SUBSCRIPT, 0);
case "ordinal": return modifierKey("Ord", Modifier.ORDINAL, 0);
Expand Down

0 comments on commit 49944a7

Please sign in to comment.