From 2900e8d197ec1f27eec986a59e608a33ba0fcc16 Mon Sep 17 00:00:00 2001
From: Jules Aguillon
Date: Sun, 24 Apr 2022 01:15:41 +0200
Subject: Add Double acute diacritic
Will be used by the Hungarian language.
---
res/xml/dvorak.xml | 2 +-
res/xml/qwerty.xml | 2 +-
srcs/juloo.keyboard2/KeyModifier.java | 9 +++++++++
srcs/juloo.keyboard2/KeyValue.java | 5 ++++-
srcs/special_font/5B.svg | 13 +++++++++++++
5 files changed, 28 insertions(+), 3 deletions(-)
create mode 100644 srcs/special_font/5B.svg
diff --git a/res/xml/dvorak.xml b/res/xml/dvorak.xml
index 567af47..7f2cbe9 100644
--- a/res/xml/dvorak.xml
+++ b/res/xml/dvorak.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/res/xml/qwerty.xml b/res/xml/qwerty.xml
index 5e314a8..4457bec 100644
--- a/res/xml/qwerty.xml
+++ b/res/xml/qwerty.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java
index 73ec84e..2f24874 100644
--- a/srcs/juloo.keyboard2/KeyModifier.java
+++ b/srcs/juloo.keyboard2/KeyModifier.java
@@ -80,6 +80,15 @@ class KeyModifier
return (char)KeyCharacterMap.getDeadChar('\u02DB', c);
case KeyValue.FLAG_ACCENT_DOT_ABOVE:
return (char)KeyCharacterMap.getDeadChar('\u02D9', c);
+ case KeyValue.FLAG_ACCENT_DOUBLE_AIGU:
+ switch (c)
+ {
+ // Composite characters: a̋ e̋ i̋ m̋ ӳ
+ case 'o': return 'ő';
+ case 'u': return 'ű';
+ case ' ': return '˝';
+ default: return c;
+ }
case KeyValue.FLAG_ACCENT_ORDINAL:
switch (c)
{
diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java
index 12735ff..92ec532 100644
--- a/srcs/juloo.keyboard2/KeyValue.java
+++ b/srcs/juloo.keyboard2/KeyValue.java
@@ -39,6 +39,7 @@ class KeyValue
public static final int FLAG_META = (1 << 14);
// Accent flags
+ public static final int FLAG_ACCENT_DOUBLE_AIGU = (1 << 9);
public static final int FLAG_ACCENT_DOT_ABOVE = (1 << 15);
public static final int FLAG_ACCENT1 = (1 << 16); // Grave
public static final int FLAG_ACCENT2 = (1 << 17); // Aigu
@@ -60,7 +61,8 @@ class KeyValue
FLAG_ACCENT3 | FLAG_ACCENT4 | FLAG_ACCENT5 | FLAG_ACCENT6 |
FLAG_ACCENT_CARON | FLAG_ACCENT_MACRON | FLAG_ACCENT_SUPERSCRIPT |
FLAG_ACCENT_SUBSCRIPT | FLAG_ACCENT_ORDINAL | FLAG_ACCENT_ARROWS |
- FLAG_ACCENT_BOX | FLAG_ACCENT_RING | FLAG_ACCENT_OGONEK | FLAG_ACCENT_DOT_ABOVE;
+ FLAG_ACCENT_BOX | FLAG_ACCENT_RING | FLAG_ACCENT_OGONEK |
+ FLAG_ACCENT_DOT_ABOVE | FLAG_ACCENT_DOUBLE_AIGU;
// Language specific keys that are removed from the keyboard by default
public static final int FLAG_LOCALIZED = (1 << 25);
@@ -173,6 +175,7 @@ class KeyValue
addModifierKey("accent_trema", "\u0058", FLAG_ACCENT6 | FLAG_KEY_FONT | FLAG_LOCALIZED);
addModifierKey("accent_ogonek", "\u0059", FLAG_ACCENT_OGONEK | FLAG_KEY_FONT | FLAG_LOCALIZED);
addModifierKey("accent_dot_above", "\u005a", FLAG_ACCENT_DOT_ABOVE | FLAG_KEY_FONT | FLAG_LOCALIZED);
+ addModifierKey("accent_double_aigu", "\u005b", FLAG_ACCENT_DOUBLE_AIGU | FLAG_KEY_FONT | FLAG_LOCALIZED);
addModifierKey("superscript", "Sup", FLAG_ACCENT_SUPERSCRIPT | FLAG_SMALLER_FONT);
addModifierKey("subscript", "Sub", FLAG_ACCENT_SUBSCRIPT | FLAG_SMALLER_FONT);
addModifierKey("ordinal", "Ord", FLAG_ACCENT_ORDINAL | FLAG_SMALLER_FONT);
diff --git a/srcs/special_font/5B.svg b/srcs/special_font/5B.svg
new file mode 100644
index 0000000..2b0bf86
--- /dev/null
+++ b/srcs/special_font/5B.svg
@@ -0,0 +1,13 @@
+
+
+
--
cgit v1.2.3