abouttreesummaryrefslogcommitdiff
path: root/srcs
diff options
context:
space:
mode:
authorJules Aguillon2022-10-15 23:28:36 +0200
committerJules Aguillon2022-10-15 23:28:36 +0200
commitdb347c665c35ed5ca89274e227267d48f0eeca95 (patch)
treef0a33acb17d1451af43f810b086797441cabd29a /srcs
parent8be80eecd43d7ed4d2f1cd3be92571f476972b26 (diff)
downloadunexpected-keyboard-db347c665c35ed5ca89274e227267d48f0eeca95.tar.gz
unexpected-keyboard-db347c665c35ed5ca89274e227267d48f0eeca95.zip
Add the breve diacritic
Diffstat (limited to 'srcs')
-rw-r--r--srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java1
-rw-r--r--srcs/juloo.keyboard2/KeyModifier.java1
-rw-r--r--srcs/juloo.keyboard2/KeyValue.java38
-rw-r--r--srcs/special_font/5E.svg13
-rw-r--r--srcs/special_font/result.ttfbin6912 -> 7136 bytes
5 files changed, 37 insertions, 16 deletions
diff --git a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java
index 79e9051..0a98b9d 100644
--- a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java
+++ b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java
@@ -26,6 +26,7 @@ public class ExtraKeyCheckBoxPreference extends CheckBoxPreference
"accent_caron",
"accent_macron",
"accent_ogonek",
+ "accent_breve",
"€",
"ß",
"£",
diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java
index 325594c..851c37d 100644
--- a/srcs/juloo.keyboard2/KeyModifier.java
+++ b/srcs/juloo.keyboard2/KeyModifier.java
@@ -50,6 +50,7 @@ class KeyModifier
case MACRON: return apply_dead_char(k, '\u00AF');
case OGONEK: return apply_dead_char(k, '\u02DB');
case DOT_ABOVE: return apply_dead_char(k, '\u02D9');
+ case BREVE: return apply_dead_char(k, '\u02D8');
case DOUBLE_AIGU: return apply_map_char(k, map_char_double_aigu);
case ORDINAL: return apply_map_char(k, map_char_ordinal);
case SUPERSCRIPT: return apply_map_char(k, map_char_superscript);
diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java
index 1bd8432..9b89101 100644
--- a/srcs/juloo.keyboard2/KeyValue.java
+++ b/srcs/juloo.keyboard2/KeyValue.java
@@ -45,7 +45,8 @@ final class KeyValue
BOX,
OGONEK,
SLASH,
- ARROW_RIGHT
+ ARROW_RIGHT,
+ BREVE
}
// Behavior flags.
@@ -223,6 +224,11 @@ final class KeyValue
FLAG_LATCH | FLAG_SPECIAL | extra_flags);
}
+ private static void addDiacritic(String name, int special_font_symbol, Modifier m)
+ {
+ addModifierKey(name, String.valueOf((char)special_font_symbol), m, FLAG_KEY_FONT);
+ }
+
private static void addEventKey(String name, String symbol, Event e, int flags)
{
addKey(name, symbol, KIND_EVENT, e.ordinal(), flags | FLAG_SPECIAL);
@@ -249,21 +255,21 @@ final class KeyValue
Modifier.SHIFT, FLAG_KEY_FONT | FLAG_SMALLER_FONT);
addModifierKey("ctrl", "Ctrl", Modifier.CTRL, FLAG_SMALLER_FONT);
addModifierKey("alt", "Alt", Modifier.ALT, FLAG_SMALLER_FONT);
- addModifierKey("accent_aigu", "\u0050", Modifier.AIGU, FLAG_KEY_FONT);
- addModifierKey("accent_caron", "\u0051", Modifier.CARON, FLAG_KEY_FONT);
- addModifierKey("accent_cedille", "\u0052", Modifier.CEDILLE, FLAG_KEY_FONT);
- addModifierKey("accent_circonflexe", "\u0053", Modifier.CIRCONFLEXE, FLAG_KEY_FONT);
- addModifierKey("accent_grave", "\u0054", Modifier.GRAVE, FLAG_KEY_FONT);
- addModifierKey("accent_macron", "\u0055", Modifier.MACRON, FLAG_KEY_FONT);
- addModifierKey("accent_ring", "\u0056", Modifier.RING, FLAG_KEY_FONT);
- addModifierKey("accent_tilde", "\u0057", Modifier.TILDE, FLAG_KEY_FONT);
- addModifierKey("accent_trema", "\u0058", Modifier.TREMA, FLAG_KEY_FONT);
- addModifierKey("accent_ogonek", "\u0059", Modifier.OGONEK, FLAG_KEY_FONT);
- addModifierKey("accent_dot_above", "\u005a", Modifier.DOT_ABOVE, FLAG_KEY_FONT);
- addModifierKey("accent_double_aigu", "\u005b", Modifier.DOUBLE_AIGU, FLAG_KEY_FONT);
- addModifierKey("accent_slash", "\134", // Can't write u005c
- Modifier.SLASH, FLAG_KEY_FONT);
- addModifierKey("accent_arrow_right", "\u005d", Modifier.ARROW_RIGHT, FLAG_KEY_FONT);
+ addDiacritic("accent_aigu", 0x50, Modifier.AIGU);
+ addDiacritic("accent_caron", 0x51, Modifier.CARON);
+ addDiacritic("accent_cedille", 0x52, Modifier.CEDILLE);
+ addDiacritic("accent_circonflexe", 0x53, Modifier.CIRCONFLEXE);
+ addDiacritic("accent_grave", 0x54, Modifier.GRAVE);
+ addDiacritic("accent_macron", 0x55, Modifier.MACRON);
+ addDiacritic("accent_ring", 0x56, Modifier.RING);
+ addDiacritic("accent_tilde", 0x57, Modifier.TILDE);
+ addDiacritic("accent_trema", 0x58, Modifier.TREMA);
+ addDiacritic("accent_ogonek", 0x59, Modifier.OGONEK);
+ addDiacritic("accent_dot_above", 0x5A, Modifier.DOT_ABOVE);
+ addDiacritic("accent_double_aigu", 0x5B, Modifier.DOUBLE_AIGU);
+ addDiacritic("accent_slash", 0x5C, Modifier.SLASH);
+ addDiacritic("accent_arrow_right", 0x5D, Modifier.ARROW_RIGHT);
+ addDiacritic("accent_breve", 0x5E, Modifier.BREVE);
addModifierKey("superscript", "Sup", Modifier.SUPERSCRIPT, FLAG_SMALLER_FONT);
addModifierKey("subscript", "Sub", Modifier.SUBSCRIPT, FLAG_SMALLER_FONT);
addModifierKey("ordinal", "Ord", Modifier.ORDINAL, FLAG_SMALLER_FONT);
diff --git a/srcs/special_font/5E.svg b/srcs/special_font/5E.svg
new file mode 100644
index 0000000..3ba685b
--- /dev/null
+++ b/srcs/special_font/5E.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-20 0 1168 2048">
+ <g transform="matrix(1 0 0 -1 0 1536)">
+ <path fill="currentColor"
+d="M931.256 1002.78l-69.3145 -69.3145q-112.472 86.3154 -249.792 98.0859v99.3945q176.555 -11.7715 319.106 -128.166v0zM516.679 1031.55q-133.396 -10.4619 -249.792 -100.701q0 1.30859 -71.9297 74.5449l2.61523 -2.61523q142.554 116.396 319.106 128.166v-99.3945
+v0zM197.572 860.229q-90.2393 -103.316 -107.24 -245.867h-99.3936q17.001 181.786 137.32 319.104l-6.53906 5.23145l3.92285 -2.61523l41.8506 -43.1582q30.0791 -31.3867 30.0791 -32.6953v0zM1137.89 614.361h-99.3936q-17.001 141.242 -107.239 248.483
+l69.3135 70.6211q120.318 -137.319 137.319 -319.104v0zM1137.89 517.583q-14.3857 -189.633 -129.474 -326.953l-69.3135 70.6221q86.3154 111.164 99.3936 256.331h99.3936v0zM189.726 263.867h0.000976562q-86.3154 107.239 -99.3936 253.716h-99.3945
+q13.0781 -189.633 128.165 -326.953l-3.92285 -3.92383q-1.30762 0 74.5449 77.1611zM939.103 121.315q-146.476 -124.242 -326.952 -136.014v99.3945q139.935 11.7705 257.639 105.934zM516.679 -14.6973q-180.478 11.7715 -326.953 136.013l69.3145 69.3145
+q117.703 -90.2383 257.64 -105.933v-99.3945h-0.000976562zM881 1496q0 -121 -82.5 -194.5t-216.5 -73.5t-217 74t-83 194h151q0 -70 38 -109.5t111 -39.5q70 0 109.5 39t39.5 110h150z" />
+ </g>
+
+</svg>
diff --git a/srcs/special_font/result.ttf b/srcs/special_font/result.ttf
index 3a947ee..defef36 100644
--- a/srcs/special_font/result.ttf
+++ b/srcs/special_font/result.ttf
Binary files differ