diff --git a/srcs/compose/accent_aigu.json b/srcs/compose/accent_aigu.json index bfc04b8..f34b90c 100644 --- a/srcs/compose/accent_aigu.json +++ b/srcs/compose/accent_aigu.json @@ -1,17 +1,52 @@ { + // latin "a": "á", "c": "ć", "e": "é", + "g": "ǵ", "i": "í", + "k": "ḱ", "l": "ĺ", - "ń": "ń", + "m": "ḿ", + "n": "ń", "o": "ó", + "p": "ṕ", "r": "ŕ", "s": "ś", "u": "ú", + "w": "ẃ", "y": "ý", "z": "ź", + // extended latin (multiple diacritics) + "â": "ấ", + "ă": "ắ", + "å": "ǻ", + "æ": "ǽ", + "ç": "ḉ", + "ê": "ế", + "ē": "ḗ", + "ï": "ḯ", + "ô": "ố", + "ơ": "ớ", + "õ": "ṍ", + "ō": "ṓ", + "ø": "ǿ", + "ṡ": "ṥ", "ü": "ǘ", + "ư": "ứ", + "ũ": "ṹ", + // greek + "α": "ά", + "ε": "έ", + "η": "ή", + "ι": "ί", + "ο": "ό", + "υ": "ύ", + // cyrillic + "к": "ќ", + "г": "ѓ", + // combining character + "ą": "ą\u0301", "j": "j\u0301", "у": "у\u0301", "е": "е\u0301", diff --git a/srcs/compose/accent_bar.json b/srcs/compose/accent_bar.json index 14dc9f6..de3b940 100644 --- a/srcs/compose/accent_bar.json +++ b/srcs/compose/accent_bar.json @@ -1,8 +1,12 @@ { + // latin + "2": "ƻ", "b": "ƀ", "c": "ꞓ", "d": "đ", + "f": "ꞙ", "g": "ǥ", + "h": "ħ", "i": "ɨ", "j": "ɉ", "k": "ꝁ", @@ -14,5 +18,13 @@ "t": "ŧ", "u": "ʉ", "y": "ɏ", - "z": "ƶ" + "z": "ƶ", + // extended latin + "ȷ": "ɟ", + // cyrillic + "о": "ө", + "ӧ": "ӫ", + "ү": "ұ", + "ь": "ҍ", + "х": "ӿ" } diff --git a/srcs/compose/accent_caron.json b/srcs/compose/accent_caron.json index 2e1a953..2684cb3 100644 --- a/srcs/compose/accent_caron.json +++ b/srcs/compose/accent_caron.json @@ -1,9 +1,14 @@ { + // latin "a": "ǎ", "c": "č", "d": "ď", "e": "ě", + "g": "ǧ", + "h": "ȟ", "i": "ǐ", + "j": "ǰ", // no uppercase + "k": "ǩ", "l": "ľ", "n": "ň", "o": "ǒ", @@ -12,5 +17,17 @@ "t": "ť", "u": "ǔ", "z": "ž", - "ü": "ǚ" + // extended latin + "ṡ": "ṧ", + "ü": "ǚ", + "ʒ": "ǯ", + // combining character + "в": "в\u030C", + "г": "г\u030C", + "ғ": "ғ\u030C", + "д": "д\u030C", + "з": "з\u030C", + "р": "р\u030C", + "т": "т\u030C", + "х": "х\u030C" } diff --git a/srcs/compose/accent_cedille.json b/srcs/compose/accent_cedille.json index 3c05760..f04768b 100644 --- a/srcs/compose/accent_cedille.json +++ b/srcs/compose/accent_cedille.json @@ -1,4 +1,5 @@ { + // latin "c": "ç", "d": "ḑ", "e": "ȩ", @@ -9,5 +10,8 @@ "n": "ņ", "r": "ŗ", "s": "ş", - "t": "ţ" + "t": "ţ", + // extended latin + "ć": "ḉ", + "ĕ": "ḝ" } diff --git a/srcs/compose/accent_circonflexe.json b/srcs/compose/accent_circonflexe.json index 448cc87..a16d063 100644 --- a/srcs/compose/accent_circonflexe.json +++ b/srcs/compose/accent_circonflexe.json @@ -1,4 +1,7 @@ { + "+": "⨣", + "≈": "⩯", + // latin "a": "â", "c": "ĉ", "e": "ê", @@ -9,7 +12,27 @@ "o": "ô", "ŝ": "ŝ", "u": "û", + "w": "ŵ", + "x": "x̂", + "y": "ŷ", "z": "ẑ", + // extended latin + "á": "ấ", + "à": "ầ", + "ã": "ẫ", + "ạ": "ậ", + "ả": "ẩ", + "é": "ế", + "è": "ề", + "ẽ": "ễ", + "ẹ": "ệ", + "ẻ": "ể", + "ó": "ố", + "ò": "ồ", + "ơ": "ổ", + "õ": "ỗ", + "ọ": "ộ", + // combining characters "а": "а\u0302", "е": "е\u0302", "и": "и\u0302", diff --git a/srcs/compose/accent_dot_above.json b/srcs/compose/accent_dot_above.json index 12f2f58..b270a1d 100644 --- a/srcs/compose/accent_dot_above.json +++ b/srcs/compose/accent_dot_above.json @@ -17,5 +17,30 @@ "w": "ẇ", "x": "ẋ", "y": "ẏ", - "z": "ż" + "z": "ż", + // remove dot since i and j already have one + "i": "ı", + "j": "ȷ", + // extended latin + "ā": "ǡ", + "ō": "ȱ", + "ś": "ṥ", + "ṣ": "ṩ", + "š": "ṧ", + "ſ": "ẛ", + // combining character + "k": "k\u0307", + "l": "l\u0307", + "q": "q\u0307", + "u": "u\u0307", + "v": "v\u0307", + // math + "∈": "⋵", + "⨯": "⨰", + "∧": "⩑", + "∨": "⩒", + "≡": "⩧", + "~": "⩪", + "⊆": "⫃", + "⊇": "⫄" } diff --git a/srcs/compose/accent_dot_below.json b/srcs/compose/accent_dot_below.json index 35114d0..c0bcfd4 100644 --- a/srcs/compose/accent_dot_below.json +++ b/srcs/compose/accent_dot_below.json @@ -1,14 +1,34 @@ { + // latin "a": "ạ", + "b": "ḅ", + "d": "ḍ", + "e": "ẹ", + "h": "ḥ", + "i": "ị", + "k": "ḳ", + "l": "ḷ", + "m": "ṃ", + "n": "ṇ", + "o": "ọ", + "r": "ṛ", + "s": "ṣ", + "t": "ṭ", + "u": "ụ", + "v": "ṿ", + "w": "ẉ", + "y": "ỵ", + "z": "ẓ", + // extended latin "ă": "ặ", "â": "ậ", - "e": "ẹ", "ê": "ệ", - "i": "ị", - "o": "ọ", "ô": "ộ", "ơ": "ợ", - "u": "ụ", + "ṡ": "ṩ", "ư": "ự", - "y": "ỵ" + // math + "-": "⨪", + "+": "⨥", + "=": "⩦" } diff --git a/srcs/compose/accent_double_aigu.json b/srcs/compose/accent_double_aigu.json index 1732b26..ad40497 100644 --- a/srcs/compose/accent_double_aigu.json +++ b/srcs/compose/accent_double_aigu.json @@ -1,7 +1,11 @@ { + " ": "˝", + // latin "o": "ő", "u": "ű", - " ": "˝", + // cyrillic + "у": "ӳ", + // combining character "a": "a\u030b", "e": "e\u030b", "i": "i\u030b", diff --git a/srcs/compose/accent_grave.json b/srcs/compose/accent_grave.json index efd07c2..16320a5 100644 --- a/srcs/compose/accent_grave.json +++ b/srcs/compose/accent_grave.json @@ -1,8 +1,38 @@ { + // latin "a": "à", "e": "è", "i": "ì", + "n": "ǹ", "o": "ò", "u": "ù", - "ü": "ǜ" + "w": "ẁ", + "y": "ỳ", + // extended latin + "â": "ầ", + "ă": "ằ", + "ê": "ề", + "ē": "ḕ", + "ơ": "ờ", + "ô": "ồ", + "ō": "ṑ", + "ü": "ǜ", + "ư": "ừ", + // greek (technically not a grave, but a varia) + "α": "ὰ", + "ε": "ὲ", + "η": "ὴ", + "ι": "ὶ", + "ο": "ὸ", + "υ": "ὺ", + "ω": "ὼ", + // there is more like ἒ, ᾣ, etc + // cyrillic + "е": "ѐ", + "и": "ѝ", + // combining character + "ɔ": "ɔ\u0300", + "s": "s\u0300", + "ʌ": "ʌ\u0300", + "z": "z\u0300" } diff --git a/srcs/compose/accent_macron.json b/srcs/compose/accent_macron.json index b311974..7224517 100644 --- a/srcs/compose/accent_macron.json +++ b/srcs/compose/accent_macron.json @@ -1,8 +1,35 @@ { + // latin "a": "ā", "e": "ē", + "g": "ḡ", "i": "ī", "o": "ō", "u": "ū", - "ü": "ǖ" + "y": "ȳ", + // extended latin + "æ": "ǣ", + "ä": "ǟ", + "ȧ": "ǡ", + "è": "ḕ", + "é": "ḗ", + "ḷ": "ḹ", + "ṛ": "ṝ", + "ö": "ȫ", + "ȯ": "ȱ", + "ǫ": "ǭ", + "õ": "ȭ", + "ò": "ṑ", + "ó": "ṓ", + "ü": "ǖ", // there is also ṻ + // cyrillic + "и": "ӣ", + "у": "ӯ", + // greek + "α": "ᾱ", + "ι": "ῑ", + "υ": "ῡ", + // combining characters + "l": "l\u0304", + "r": "r\u0304" } diff --git a/srcs/compose/accent_ogonek.json b/srcs/compose/accent_ogonek.json index a722cef..4a7f8b6 100644 --- a/srcs/compose/accent_ogonek.json +++ b/srcs/compose/accent_ogonek.json @@ -1,10 +1,10 @@ { + // latin "a": "ą", "e": "ę", "i": "į", - "k": "ķ", - "l": "ļ", - "n": "ņ", "o": "ǫ", - "u": "ų" + "u": "ų", + // extended latin + "ō": "ǭ" } diff --git a/srcs/compose/accent_ring.json b/srcs/compose/accent_ring.json index 9fad5bc..ac6ed66 100644 --- a/srcs/compose/accent_ring.json +++ b/srcs/compose/accent_ring.json @@ -1,4 +1,11 @@ { + // latin "a": "å", - "u": "ů" + "u": "ů", + "w": "ẘ", // no uppercase + "y": "ẙ", // no uppercase + // extended latin + "á": "ǻ", + // extra + "~": "⸛" } diff --git a/srcs/compose/accent_slash.json b/srcs/compose/accent_slash.json index 1d07925..5743935 100644 --- a/srcs/compose/accent_slash.json +++ b/srcs/compose/accent_slash.json @@ -8,7 +8,11 @@ "l": "ł", "n": "ꞥ", "o": "ø", + "ó": "ǿ", + "ɔ": "ꬿ", "r": "ꞧ", "s": "ꞩ", - "t": "ⱦ" + "t": "ⱦ", + "u": "ꞹ", + "v": "ꝟ" } diff --git a/srcs/compose/accent_subscript.json b/srcs/compose/accent_subscript.json index 79a3c93..2cf2daf 100644 --- a/srcs/compose/accent_subscript.json +++ b/srcs/compose/accent_subscript.json @@ -1,4 +1,6 @@ { + // arabic numbers + "0": "₀", "1": "₁", "2": "₂", "3": "₃", @@ -8,12 +10,13 @@ "7": "₇", "8": "₈", "9": "₉", - "0": "₀", + // math operators "+": "₊", "-": "₋", "=": "₌", "(": "₍", ")": "₎", + // latin "a": "ₐ", "e": "ₑ", "h": "ₕ", @@ -30,5 +33,13 @@ "t": "ₜ", "u": "ᵤ", "v": "ᵥ", - "x": "ₓ" + "x": "ₓ", + // extended latin + "ə": "ₔ", + // greek + "β": "ᵦ", + "γ": "ᵧ", + "ρ": "ᵨ", + "φ": "ᵩ", + "χ": "ᵪ" } diff --git a/srcs/compose/accent_superscript.json b/srcs/compose/accent_superscript.json index 68b9751..292815d 100644 --- a/srcs/compose/accent_superscript.json +++ b/srcs/compose/accent_superscript.json @@ -1,4 +1,6 @@ { + // numbers + "0": "⁰", "1": "¹", "2": "²", "3": "³", @@ -8,12 +10,18 @@ "7": "⁷", "8": "⁸", "9": "⁹", - "0": "⁰", + // math operators "+": "⁺", "-": "⁻", "=": "⁼", "(": "⁽", ")": "⁾", + // latin + "n": "ⁿ", + + // since there are no more "superscript" characters, + // we substitute with "modifier letter small"s which looks the same + // latin "a": "ᵃ", "b": "ᵇ", "c": "ᶜ", @@ -26,10 +34,11 @@ "j": "ʲ", "k": "ᵏ", "l": "ˡ", + // see above for n "m": "ᵐ", - "n": "ⁿ", "o": "ᵒ", "p": "ᵖ", + "q": "ꟴ", // there is no proper lowercase superscript q "r": "ʳ", "s": "ˢ", "t": "ᵗ", @@ -38,5 +47,47 @@ "w": "ʷ", "x": "ˣ", "y": "ʸ", - "z": "ᶻ" + "z": "ᶻ", + // extended latin + "ɐ": "ᵄ", + "ᴂ": "ᵆ", + "ɕ": "ᶝ", + "ə": "ᵊ", + "ɛ": "ᵋ", + "ɜ": "ᶟ", // turned open e, ↓ not the same + "ᴈ": "ᵌ", // reversed open e + "ɥ": "ᶣ", + "ɦ": "ʱ", + "ᴉ": "ᵎ", + "ɨ": "ᶤ", + "ɟ": "ᶡ", + "ɱ": "ᶬ", + "ɯ": "ᵚ", + "ɰ": "ᶭ", + "ŋ": "ᵑ", + "ᴝ": "ᵙ", + "ɵ": "ᶱ", + "œ": "ꟹ", + "ɔ": "ᵓ", + "ɹ": "ʴ", + "ɻ": "ʵ", + "ʁ": "ʶ", + "ʂ": "ᶳ", + "ʉ": "ᶶ", + "ʃ": "ᶴ", + "ʒ": "ᶾ", + "ʍ": "ꭩ", + // greek + "ɒ": "ᶛ", + "β": "ᵝ", + "ɣ": "ˠ", + "δ": "ᵟ", + "φ": "ᵠ", + "χ": "ᵡ", + "ι": "ᶥ", + "ʊ": "ᶷ", + "ʌ": "ᶺ", + "θ": "ᶿ", + // cyrillic + "ө": "ᶱ" } diff --git a/srcs/compose/accent_tilde.json b/srcs/compose/accent_tilde.json index a79d1a3..7939068 100644 --- a/srcs/compose/accent_tilde.json +++ b/srcs/compose/accent_tilde.json @@ -1,13 +1,21 @@ { + // latin "a": "ã", "e": "ẽ", "i": "ĩ", "n": "ñ", "o": "õ", "u": "ũ", + "v": "ṽ", + "y": "ỹ", + // extended latin "ă": "ẵ", "â": "ẫ", "ê": "ễ", "ơ": "ỡ", - "ư": "ữ" + "ō": "ȭ", + "ó": "ṍ", + "ö": "ṏ", + "ư": "ữ", + "ú": "ṹ" } diff --git a/srcs/compose/accent_trema.json b/srcs/compose/accent_trema.json index 64cba56..dc9c5f8 100644 --- a/srcs/compose/accent_trema.json +++ b/srcs/compose/accent_trema.json @@ -1,8 +1,54 @@ { + // fun + "~": "⍨", + "*": "⍣", + "∇": "⍢", + "°": "⍤", + // latin "a": "ä", "e": "ë", + "h": "ḧ", "i": "ï", "o": "ö", + "t": "ẗ", "u": "ü", - "y": "ÿ" + "w": "ẅ", + "x": "ẍ", + "y": "ÿ", + // extended latin + "ā": "ǟ", + "ō": "ȫ", + "õ": "ṏ", + "í": "ḯ", + "ū": "ǖ", // there is also ṻ + "ú": "ǘ", + "ù": "ǜ", + "ǔ": "ǚ", + // greek + "ι": "ϊ", + "υ": "ϋ", + "ὺ": "ῢ", + "ύ": "ΰ", + "ῦ": "ῧ", + "ϒ": "ϔ", + // cyrillic + "а": "ӓ", + "ә": "ӛ", + "ж": "ӝ", + "з": "ӟ", + "и": "ӥ", + "о": "ӧ", + "ө": "ӫ", + "э": "ӭ", + "у": "ӱ", + "ч": "ӵ", + "ы": "ӹ", + // combining character + "c": "c\u0308", + "j": "j\u0308", + "k": "k\u0308", + "l": "l\u0308", + "m": "m\u0308", + "n": "n\u0308", + "s": "s\u0308" } diff --git a/srcs/compose/shift.json b/srcs/compose/shift.json index 3c52024..57e3490 100644 --- a/srcs/compose/shift.json +++ b/srcs/compose/shift.json @@ -18,7 +18,38 @@ "┐": "╗", "─": "═", "│": "║", + // superscript + "ᵃ": "ᴬ", + "ᵇ": "ᴮ", + "ᶜ": "ꟲ", + "ᵈ": "ᴰ", + "ᵉ": "ᴱ", + "ᶠ": "ꟳ", + "ᵍ": "ᴳ", + "ʰ": "ᴴ", + "ⁱ": "ᴵ", + "ʲ": "ᴶ", + "ᵏ": "ᴷ", + "ˡ": "ᴸ", + "ᵐ": "ᴹ", + "ⁿ": "ᴺ", + "ᵒ": "ᴼ", + "ᵖ": "ᴾ", + "ʳ": "ᴿ", + "ᵗ": "ᵀ", + "ᵘ": "ᵁ", + "ᵛ": "ⱽ", + "ʷ": "ᵂ", + "ᶾ": "ᴣ", + "ᵠ": "ᶲ", + // german eszett has an uppercase, but because it is uncommon, java doesn't know about it "ß": "ẞ", + // these characters don't have a preapplied uppercase version, so we use combining characters + "ẗ": "T\u0308", + "ẘ": "W\u030A", + "ẙ": "Y\u030A", + "ǰ": "J\u030C", + "ȷ": "J\u0307", // In Turkish, upper case of 'iı' is 'İI' but Java's toUpperCase will // return 'II'. To make 'İ' accessible, make it the shift of 'ı'. This // has the inconvenient of swapping i and ı on the keyboard. diff --git a/srcs/juloo.keyboard2/ComposeKeyData.java b/srcs/juloo.keyboard2/ComposeKeyData.java index afac294..e604412 100644 Binary files a/srcs/juloo.keyboard2/ComposeKeyData.java and b/srcs/juloo.keyboard2/ComposeKeyData.java differ