[DLL:KEYBOARD] Add a dead keys transformations collection. (#861)
authorȘtefan Fulea <stefan.fulea@mail.com>
Sat, 15 Sep 2018 17:59:55 +0000 (20:59 +0300)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 8 Dec 2018 17:50:47 +0000 (18:50 +0100)
It contains all the Unicode characters that can be formed with a
given dead key (i.e. combining character). Keyboard layouts with
dead keys may find these useful.

CORE-15056

dll/keyboard/kbdrost/deadkeys/acute_acc [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/breve [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/caron [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/circumflex [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/comma_below [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/dbl_acute_acc [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/dot_above [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/grave_acc [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/ogonek [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/ring_above [new file with mode: 0644]
dll/keyboard/kbdrost/deadkeys/tilde [new file with mode: 0644]

diff --git a/dll/keyboard/kbdrost/deadkeys/acute_acc b/dll/keyboard/kbdrost/deadkeys/acute_acc
new file mode 100644 (file)
index 0000000..af7bc5b
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * COMBINING ACUTE ACCENT
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'a', 0x0301, 0x00E1, 0x00) },
+  { DEADTRANS(L'A', 0x0301, 0x00C1, 0x00) },
+  { DEADTRANS(L'c', 0x0301, 0x0107, 0x00) },
+  { DEADTRANS(L'C', 0x0301, 0x0106, 0x00) },
+  { DEADTRANS(L'e', 0x0301, 0x00E9, 0x00) },
+  { DEADTRANS(L'E', 0x0301, 0x00C9, 0x00) },
+  { DEADTRANS(L'g', 0x0301, 0x01F4, 0x00) },
+  { DEADTRANS(L'G', 0x0301, 0x01F5, 0x00) },
+  { DEADTRANS(L'i', 0x0301, 0x00ED, 0x00) },
+  { DEADTRANS(L'I', 0x0301, 0x00CD, 0x00) },
+  { DEADTRANS(L'k', 0x0301, 0x1E31, 0x00) },
+  { DEADTRANS(L'K', 0x0301, 0x1E30, 0x00) },
+  { DEADTRANS(L'l', 0x0301, 0x013A, 0x00) },
+  { DEADTRANS(L'L', 0x0301, 0x0139, 0x00) },
+  { DEADTRANS(L'm', 0x0301, 0x1E3F, 0x00) },
+  { DEADTRANS(L'M', 0x0301, 0x1E3E, 0x00) },
+  { DEADTRANS(L'n', 0x0301, 0x0144, 0x00) },
+  { DEADTRANS(L'N', 0x0301, 0x0143, 0x00) },
+  { DEADTRANS(L'o', 0x0301, 0x00F3, 0x00) },
+  { DEADTRANS(L'O', 0x0301, 0x00D3, 0x00) },
+  { DEADTRANS(L'p', 0x0301, 0x1E55, 0x00) },
+  { DEADTRANS(L'P', 0x0301, 0x1E54, 0x00) },
+  { DEADTRANS(L'r', 0x0301, 0x0155, 0x00) },
+  { DEADTRANS(L'R', 0x0301, 0x0154, 0x00) },
+  { DEADTRANS(L's', 0x0301, 0x015B, 0x00) },
+  { DEADTRANS(L'S', 0x0301, 0x015A, 0x00) },
+  { DEADTRANS(L'u', 0x0301, 0x00FA, 0x00) },
+  { DEADTRANS(L'U', 0x0301, 0x00DA, 0x00) },
+  { DEADTRANS(L'w', 0x0301, 0x1E83, 0x00) },
+  { DEADTRANS(L'W', 0x0301, 0x1E82, 0x00) },
+  { DEADTRANS(L'y', 0x0301, 0x00FD, 0x00) },
+  { DEADTRANS(L'Y', 0x0301, 0x00DD, 0x00) },
+  { DEADTRANS(L'z', 0x0301, 0x017A, 0x00) },
+  { DEADTRANS(L'Z', 0x0301, 0x0179, 0x00) },
diff --git a/dll/keyboard/kbdrost/deadkeys/breve b/dll/keyboard/kbdrost/deadkeys/breve
new file mode 100644 (file)
index 0000000..f6ec412
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * COMBINING BREVE
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'a', 0x0306, 0x0103, 0x00) },
+  { DEADTRANS(L'A', 0x0306, 0x0102, 0x00) },
+  { DEADTRANS(L'e', 0x0306, 0x0115, 0x00) },
+  { DEADTRANS(L'E', 0x0306, 0x0114, 0x00) },
+  { DEADTRANS(L'g', 0x0306, 0x011F, 0x00) },
+  { DEADTRANS(L'G', 0x0306, 0x011E, 0x00) },
+  { DEADTRANS(L'i', 0x0306, 0x012D, 0x00) },
+  { DEADTRANS(L'I', 0x0306, 0x012C, 0x00) },
+  { DEADTRANS(L'i', 0x0306, 0x012D, 0x00) },
+  { DEADTRANS(L'I', 0x0306, 0x012C, 0x00) },
+  { DEADTRANS(L'o', 0x0306, 0x014F, 0x00) },
+  { DEADTRANS(L'O', 0x0306, 0x014E, 0x00) },
+  { DEADTRANS(L'u', 0x0306, 0x016D, 0x00) },
+  { DEADTRANS(L'U', 0x0306, 0x016C, 0x00) },
+  { DEADTRANS(L'u', 0x0306, 0x016D, 0x00) },
+  { DEADTRANS(L'U', 0x0306, 0x016C, 0x00) },
diff --git a/dll/keyboard/kbdrost/deadkeys/caron b/dll/keyboard/kbdrost/deadkeys/caron
new file mode 100644 (file)
index 0000000..2e73970
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * COMBINING CARON
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'a', 0x030C, 0x01CE, 0x00) },
+  { DEADTRANS(L'A', 0x030C, 0x01CD, 0x00) },
+  { DEADTRANS(L'c', 0x030C, 0x010D, 0x00) },
+  { DEADTRANS(L'C', 0x030C, 0x010C, 0x00) },
+  { DEADTRANS(L'd', 0x030C, 0x010F, 0x00) },
+  { DEADTRANS(L'D', 0x030C, 0x010E, 0x00) },
+  { DEADTRANS(L'e', 0x030C, 0x011B, 0x00) },
+  { DEADTRANS(L'E', 0x030C, 0x011A, 0x00) },
+  { DEADTRANS(L'g', 0x030C, 0x01E7, 0x00) },
+  { DEADTRANS(L'G', 0x030C, 0x01E6, 0x00) },
+  { DEADTRANS(L'h', 0x030C, 0x021F, 0x00) },
+  { DEADTRANS(L'H', 0x030C, 0x021E, 0x00) },
+  { DEADTRANS(L'i', 0x030C, 0x01D0, 0x00) },
+  { DEADTRANS(L'I', 0x030C, 0x01CF, 0x00) },
+  { DEADTRANS(L'j', 0x030C, 0x01F0, 0x00) },
+  /* no Unicode capital J with caron */
+  { DEADTRANS(L'k', 0x030C, 0x01E9, 0x00) },
+  { DEADTRANS(L'K', 0x030C, 0x01E8, 0x00) },
+  { DEADTRANS(L'l', 0x030C, 0x013E, 0x00) },
+  { DEADTRANS(L'L', 0x030C, 0x013D, 0x00) },
+  { DEADTRANS(L'n', 0x030C, 0x0148, 0x00) },
+  { DEADTRANS(L'N', 0x030C, 0x0147, 0x00) },
+  { DEADTRANS(L'o', 0x030C, 0x01D2, 0x00) },
+  { DEADTRANS(L'O', 0x030C, 0x01D1, 0x00) },
+  { DEADTRANS(L'r', 0x030C, 0x0159, 0x00) },
+  { DEADTRANS(L'R', 0x030C, 0x0158, 0x00) },
+  { DEADTRANS(L's', 0x030C, 0x0161, 0x00) },
+  { DEADTRANS(L'S', 0x030C, 0x0160, 0x00) },
+  { DEADTRANS(L't', 0x030C, 0x0165, 0x00) },
+  { DEADTRANS(L'T', 0x030C, 0x0164, 0x00) },
+  { DEADTRANS(L'u', 0x030C, 0x01D4, 0x00) },
+  { DEADTRANS(L'U', 0x030C, 0x01D3, 0x00) },
+  { DEADTRANS(L'z', 0x030C, 0x017E, 0x00) },
+  { DEADTRANS(L'Z', 0x030C, 0x017D, 0x00) },
diff --git a/dll/keyboard/kbdrost/deadkeys/circumflex b/dll/keyboard/kbdrost/deadkeys/circumflex
new file mode 100644 (file)
index 0000000..142a7fa
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * COMBINING CIRCUMFLEX
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'a', 0x0302, 0x00E2, 0x00) },
+  { DEADTRANS(L'A', 0x0302, 0x00C2, 0x00) },
+  { DEADTRANS(L'c', 0x0302, 0x0109, 0x00) },
+  { DEADTRANS(L'C', 0x0302, 0x0108, 0x00) },
+  { DEADTRANS(L'e', 0x0302, 0x00EA, 0x00) },
+  { DEADTRANS(L'E', 0x0302, 0x00CA, 0x00) },
+  { DEADTRANS(L'g', 0x0302, 0x011D, 0x00) },
+  { DEADTRANS(L'G', 0x0302, 0x011C, 0x00) },
+  { DEADTRANS(L'h', 0x0302, 0x0125, 0x00) },
+  { DEADTRANS(L'H', 0x0302, 0x0124, 0x00) },
+  { DEADTRANS(L'i', 0x0302, 0x00EE, 0x00) },
+  { DEADTRANS(L'I', 0x0302, 0x00CE, 0x00) },
+  { DEADTRANS(L'j', 0x0302, 0x0135, 0x00) },
+  { DEADTRANS(L'J', 0x0302, 0x0134, 0x00) },
+  { DEADTRANS(L'o', 0x0302, 0x00F4, 0x00) },
+  { DEADTRANS(L'O', 0x0302, 0x00D4, 0x00) },
+  { DEADTRANS(L's', 0x0302, 0x015D, 0x00) },
+  { DEADTRANS(L'S', 0x0302, 0x015C, 0x00) },
+  { DEADTRANS(L'u', 0x0302, 0x00FB, 0x00) },
+  { DEADTRANS(L'U', 0x0302, 0x00DB, 0x00) },
+  { DEADTRANS(L'w', 0x0302, 0x0175, 0x00) },
+  { DEADTRANS(L'W', 0x0302, 0x0174, 0x00) },
+  { DEADTRANS(L'y', 0x0302, 0x0177, 0x00) },
+  { DEADTRANS(L'Y', 0x0302, 0x0176, 0x00) },
+  { DEADTRANS(L'z', 0x0302, 0x1E91, 0x00) },
+  { DEADTRANS(L'Z', 0x0302, 0x1E90, 0x00) },
diff --git a/dll/keyboard/kbdrost/deadkeys/comma_below b/dll/keyboard/kbdrost/deadkeys/comma_below
new file mode 100644 (file)
index 0000000..d636250
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * COMBINING COMMA BELOW
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L's', 0x0326, 0x0219, 0x00) },
+  { DEADTRANS(L'S', 0x0326, 0x0218, 0x00) },
+  { DEADTRANS(L't', 0x0326, 0x021B, 0x00) },
+  { DEADTRANS(L'T', 0x0326, 0x021A, 0x00) },
diff --git a/dll/keyboard/kbdrost/deadkeys/dbl_acute_acc b/dll/keyboard/kbdrost/deadkeys/dbl_acute_acc
new file mode 100644 (file)
index 0000000..772d92e
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * COMBINING DOUBLE ACUTE ACCENT
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'o', 0x030B, 0x0151, 0x00) },
+  { DEADTRANS(L'O', 0x030B, 0x0150, 0x00) },
+  { DEADTRANS(L'u', 0x030B, 0x0171, 0x00) },
+  { DEADTRANS(L'U', 0x030B, 0x0170, 0x00) },
diff --git a/dll/keyboard/kbdrost/deadkeys/dot_above b/dll/keyboard/kbdrost/deadkeys/dot_above
new file mode 100644 (file)
index 0000000..ced75d4
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * COMBINING DOT ABOVE
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'a', 0x0307, 0x0227, 0x00) },
+  { DEADTRANS(L'A', 0x0307, 0x0226, 0x00) },
+  { DEADTRANS(L'b', 0x0307, 0x1E03, 0x00) },
+  { DEADTRANS(L'B', 0x0307, 0x1E02, 0x00) },
+  { DEADTRANS(L'c', 0x0307, 0x010B, 0x00) },
+  { DEADTRANS(L'C', 0x0307, 0x010A, 0x00) },
+  { DEADTRANS(L'd', 0x0307, 0x1E0B, 0x00) },
+  { DEADTRANS(L'D', 0x0307, 0x1E0A, 0x00) },
+  { DEADTRANS(L'e', 0x0307, 0x0117, 0x00) },
+  { DEADTRANS(L'E', 0x0307, 0x0116, 0x00) },
+  { DEADTRANS(L'f', 0x0307, 0x1E1F, 0x00) },
+  { DEADTRANS(L'F', 0x0307, 0x1E1E, 0x00) },
+  { DEADTRANS(L'g', 0x0307, 0x0121, 0x00) },
+  { DEADTRANS(L'G', 0x0307, 0x0120, 0x00) },
+  { DEADTRANS(L'h', 0x0307, 0x1E23, 0x00) },
+  { DEADTRANS(L'H', 0x0307, 0x1E22, 0x00) },
+  { DEADTRANS(L'I', 0x0307, 0x0130, 0x00) },
+  { DEADTRANS(L'm', 0x0307, 0x1E41, 0x00) },
+  { DEADTRANS(L'M', 0x0307, 0x1E40, 0x00) },
+  { DEADTRANS(L'n', 0x0307, 0x1E45, 0x00) },
+  { DEADTRANS(L'N', 0x0307, 0x1E44, 0x00) },
+  { DEADTRANS(L'o', 0x0307, 0x022F, 0x00) },
+  { DEADTRANS(L'O', 0x0307, 0x022E, 0x00) },
+  { DEADTRANS(L'p', 0x0307, 0x1E57, 0x00) },
+  { DEADTRANS(L'P', 0x0307, 0x1E56, 0x00) },
+  { DEADTRANS(L'r', 0x0307, 0x1E59, 0x00) },
+  { DEADTRANS(L'R', 0x0307, 0x1E58, 0x00) },
+  { DEADTRANS(L's', 0x0307, 0x1E61, 0x00) },
+  { DEADTRANS(L'S', 0x0307, 0x1E60, 0x00) },
+  { DEADTRANS(L't', 0x0307, 0x1E6B, 0x00) },
+  { DEADTRANS(L'T', 0x0307, 0x1E6A, 0x00) },
+  { DEADTRANS(L'w', 0x0307, 0x1E87, 0x00) },
+  { DEADTRANS(L'W', 0x0307, 0x1E86, 0x00) },
+  { DEADTRANS(L'x', 0x0307, 0x1E8B, 0x00) },
+  { DEADTRANS(L'X', 0x0307, 0x1E8A, 0x00) },
+  { DEADTRANS(L'y', 0x0307, 0x1E8F, 0x00) },
+  { DEADTRANS(L'Y', 0x0307, 0x1E8E, 0x00) },
+  { DEADTRANS(L'z', 0x0307, 0x017C, 0x00) },
+  { DEADTRANS(L'Z', 0x0307, 0x017B, 0x00) },
diff --git a/dll/keyboard/kbdrost/deadkeys/grave_acc b/dll/keyboard/kbdrost/deadkeys/grave_acc
new file mode 100644 (file)
index 0000000..467a482
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * COMBINING GRAVE ACCENT
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'a', 0x0300, 0x00E0, 0x00) },
+  { DEADTRANS(L'A', 0x0300, 0x00C0, 0x00) },
+  { DEADTRANS(L'e', 0x0300, 0x00E8, 0x00) },
+  { DEADTRANS(L'E', 0x0300, 0x00C8, 0x00) },
+  { DEADTRANS(L'i', 0x0300, 0x00EC, 0x00) },
+  { DEADTRANS(L'I', 0x0300, 0x00CC, 0x00) },
+  { DEADTRANS(L'n', 0x0300, 0x01F9, 0x00) },
+  { DEADTRANS(L'N', 0x0300, 0x01F8, 0x00) },
+  { DEADTRANS(L'o', 0x0300, 0x00F2, 0x00) },
+  { DEADTRANS(L'O', 0x0300, 0x00D2, 0x00) },
+  { DEADTRANS(L'u', 0x0300, 0x00F9, 0x00) },
+  { DEADTRANS(L'U', 0x0300, 0x00D9, 0x00) },
+  { DEADTRANS(L'w', 0x0300, 0x1E81, 0x00) },
+  { DEADTRANS(L'W', 0x0300, 0x1E80, 0x00) },
+  { DEADTRANS(L'y', 0x0300, 0x1EF3, 0x00) },
+  { DEADTRANS(L'Y', 0x0300, 0x1EF2, 0x00) },
diff --git a/dll/keyboard/kbdrost/deadkeys/ogonek b/dll/keyboard/kbdrost/deadkeys/ogonek
new file mode 100644 (file)
index 0000000..f33dbec
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+ * COMBINING OGONEK
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'a', 0x0328, 0x0105, 0x00) },
+  { DEADTRANS(L'A', 0x0328, 0x0104, 0x00) },
+  { DEADTRANS(L'e', 0x0328, 0x0119, 0x00) },
+  { DEADTRANS(L'E', 0x0328, 0x0118, 0x00) },
+  { DEADTRANS(L'i', 0x0328, 0x012F, 0x00) },
+  { DEADTRANS(L'I', 0x0328, 0x012E, 0x00) },
+  { DEADTRANS(L'o', 0x0328, 0x01EB, 0x00) },
+  { DEADTRANS(L'O', 0x0328, 0x01EA, 0x00) },
+  { DEADTRANS(L'u', 0x0328, 0x0173, 0x00) },
+  { DEADTRANS(L'U', 0x0328, 0x0172, 0x00) },
diff --git a/dll/keyboard/kbdrost/deadkeys/ring_above b/dll/keyboard/kbdrost/deadkeys/ring_above
new file mode 100644 (file)
index 0000000..e4a4519
--- /dev/null
@@ -0,0 +1,14 @@
+/*
+ * COMBINING RING ABOVE
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'a', 0x030A, 0x00E5, 0x00) },
+  { DEADTRANS(L'A', 0x030A, 0x00C5, 0x00) },
+  { DEADTRANS(L'u', 0x030A, 0x016F, 0x00) },
+  { DEADTRANS(L'U', 0x030A, 0x016E, 0x00) },
+  { DEADTRANS(L'w', 0x030A, 0x1E98, 0x00) },
+  /* no Unicode capital W with ring above */
+  { DEADTRANS(L'y', 0x030A, 0x1E99, 0x00) },
+  /* no Unicode capital Y with ring above */
diff --git a/dll/keyboard/kbdrost/deadkeys/tilde b/dll/keyboard/kbdrost/deadkeys/tilde
new file mode 100644 (file)
index 0000000..e7ee716
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * COMBINING TILDE
+ * The dead key transformation set was defined by checking the availability of
+ * the resulting letters in Unicode character table: https://unicode-table.com
+ */
+
+  { DEADTRANS(L'a', 0x0303, 0x00E3, 0x00) },
+  { DEADTRANS(L'A', 0x0303, 0x00C3, 0x00) },
+  { DEADTRANS(L'e', 0x0303, 0x1EBD, 0x00) },
+  { DEADTRANS(L'E', 0x0303, 0x1EBC, 0x00) },
+  { DEADTRANS(L'i', 0x0303, 0x0129, 0x00) },
+  { DEADTRANS(L'I', 0x0303, 0x0128, 0x00) },
+  { DEADTRANS(L'n', 0x0303, 0x00F1, 0x00) },
+  { DEADTRANS(L'N', 0x0303, 0x00D1, 0x00) },
+  { DEADTRANS(L'o', 0x0303, 0x00F5, 0x00) },
+  { DEADTRANS(L'O', 0x0303, 0x00D5, 0x00) },
+  { DEADTRANS(L'u', 0x0303, 0x0169, 0x00) },
+  { DEADTRANS(L'U', 0x0303, 0x0168, 0x00) },
+  { DEADTRANS(L'v', 0x0303, 0x1E7D, 0x00) },
+  { DEADTRANS(L'V', 0x0303, 0x1E7C, 0x00) },
+  { DEADTRANS(L'y', 0x0303, 0x1EF9, 0x00) },
+  { DEADTRANS(L'Y', 0x0303, 0x1EF8, 0x00) },