[PATCH 2/2] dwrite: Fix Unknown/Common/Inherited script categories handling

Nikolay Sivov nsivov at codeweavers.com
Thu Feb 18 16:56:18 CST 2016


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/dwrite/analyzer.c     |  50 +++--
 dlls/dwrite/scripts.c      | 446 ++++++++++++++++++++++++++-------------------
 dlls/dwrite/tests/layout.c |   3 +-
 tools/make_unicode         |  15 +-
 4 files changed, 299 insertions(+), 215 deletions(-)

diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c
index 9dc9df3..a1dafaa 100644
--- a/dlls/dwrite/analyzer.c
+++ b/dlls/dwrite/analyzer.c
@@ -235,13 +235,17 @@ static inline UINT32 decode_surrogate_pair(const WCHAR *str, UINT32 index, UINT3
 
 static inline UINT16 get_char_script(WCHAR c)
 {
-    UINT16 script = get_table_entry(wine_scripts_table, c);
-    if (script == Script_Unknown) {
-        WORD type;
-        if (GetStringTypeW(CT_CTYPE1, &c, 1, &type) && (type & C1_CNTRL))
-            script = Script_Common;
-    }
-    return script;
+    return get_table_entry(wine_scripts_table, c);
+}
+
+static DWRITE_SCRIPT_ANALYSIS get_char_sa(WCHAR c)
+{
+    DWRITE_SCRIPT_ANALYSIS sa;
+
+    sa.script = get_char_script(c);
+    sa.shapes = iscntrlW(c) || c == 0x2028 /* LINE SEPARATOR */ || c == 0x2029 /* PARAGRAPH SEPARATOR */ ?
+        DWRITE_SCRIPT_SHAPES_NO_VISUAL : DWRITE_SCRIPT_SHAPES_DEFAULT;
+    return sa;
 }
 
 static HRESULT analyze_script(const WCHAR *text, UINT32 position, UINT32 length, IDWriteTextAnalysisSink *sink)
@@ -251,36 +255,46 @@ static HRESULT analyze_script(const WCHAR *text, UINT32 position, UINT32 length,
 
     if (!length) return S_OK;
 
-    sa.script = get_char_script(*text);
+    sa = get_char_sa(*text);
 
     pos = position;
     seq_length = 1;
 
     for (i = 1; i < length; i++)
     {
-        UINT16 script = get_char_script(text[i]);
+        DWRITE_SCRIPT_ANALYSIS cur_sa = get_char_sa(text[i]);
 
         /* Unknown type is ignored when preceded or followed by another script */
-        if (sa.script == Script_Unknown) sa.script = script;
-        if (script == Script_Unknown && sa.script != Script_Common) script = sa.script;
-        /* this is a length of a sequence to be reported next */
-        if (sa.script == script) seq_length++;
+        switch (sa.script) {
+        case Script_Unknown:
+            sa.script = cur_sa.script;
+            break;
+        case Script_Common:
+            if (cur_sa.script == Script_Unknown)
+                cur_sa.script = sa.script;
+            else if (cur_sa.script != Script_Common)
+                sa.script = cur_sa.script;
+            break;
+        default:
+            if (cur_sa.script == Script_Unknown || cur_sa.script == Script_Common)
+                cur_sa.script = sa.script;
+        }
 
-        if (sa.script != script)
-        {
+        /* this is a length of a sequence to be reported next */
+        if (sa.script == cur_sa.script && sa.shapes == cur_sa.shapes)
+            seq_length++;
+        else {
             HRESULT hr;
 
-            sa.shapes = sa.script != Script_Common ? DWRITE_SCRIPT_SHAPES_DEFAULT : DWRITE_SCRIPT_SHAPES_NO_VISUAL;
             hr = IDWriteTextAnalysisSink_SetScriptAnalysis(sink, pos, seq_length, &sa);
             if (FAILED(hr)) return hr;
             pos = position + i;
             seq_length = 1;
-            sa.script = script;
+            sa = cur_sa;
         }
     }
 
     /* one char length case or normal completion call */
-    sa.shapes = sa.script != Script_Common ? DWRITE_SCRIPT_SHAPES_DEFAULT : DWRITE_SCRIPT_SHAPES_NO_VISUAL;
     return IDWriteTextAnalysisSink_SetScriptAnalysis(sink, pos, seq_length, &sa);
 }
 
diff --git a/dlls/dwrite/scripts.c b/dlls/dwrite/scripts.c
index d5a54c1..7846827 100644
--- a/dlls/dwrite/scripts.c
+++ b/dlls/dwrite/scripts.c
@@ -2,180 +2,192 @@
 /* generated from http://www.unicode.org/Public/8.0.0/ucd/Scripts.txt */
 /* DO NOT EDIT!! */
 
-const unsigned short wine_scripts_table[5808] =
+const unsigned short wine_scripts_table[6336] =
 {
     /* level 1 offsets */
     0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
     0x0180, 0x0190, 0x01a0, 0x01b0, 0x01c0, 0x01d0, 0x01e0, 0x01f0,
     0x0200, 0x0210, 0x0220, 0x0230, 0x0240, 0x0240, 0x0250, 0x0260,
     0x0270, 0x0280, 0x0290, 0x02a0, 0x02b0, 0x02c0, 0x0110, 0x02d0,
-    0x02e0, 0x02f0, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240,
-    0x0300, 0x0240, 0x0240, 0x0240, 0x0310, 0x0320, 0x0330, 0x0340,
-    0x0350, 0x0360, 0x0370, 0x0380, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x03a0, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390,
-    0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0390, 0x0340,
-    0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03c0, 0x03d0, 0x03e0, 0x03f0,
-    0x0400, 0x0410, 0x0420, 0x0430, 0x0210, 0x0210, 0x0210, 0x0210,
+    0x02e0, 0x02f0, 0x0300, 0x0310, 0x0320, 0x0300, 0x0300, 0x0300,
+    0x0330, 0x0300, 0x0300, 0x0340, 0x0350, 0x0360, 0x0370, 0x0380,
+    0x0390, 0x03a0, 0x03b0, 0x03c0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03e0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0,
+    0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03d0, 0x03f0,
+    0x0400, 0x0400, 0x0400, 0x0400, 0x0410, 0x0420, 0x0430, 0x0440,
+    0x0450, 0x0460, 0x0470, 0x0480, 0x0210, 0x0210, 0x0210, 0x0210,
     0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210,
     0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210,
     0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210,
     0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210,
-    0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0440,
+    0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0490,
     0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240,
     0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240,
     0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240,
     0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240, 0x0240,
-    0x0240, 0x0390, 0x0450, 0x0460, 0x0470, 0x0480, 0x0490, 0x04a0,
+    0x0240, 0x03d0, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0,
     /* level 2 offsets */
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04c0, 0x04d0, 0x04c0, 0x04d0,
-    0x04b0, 0x04b0, 0x04e0, 0x04e0, 0x04f0, 0x0500, 0x04f0, 0x0500,
-    0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0,
-    0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0,
-    0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0,
-    0x04f0, 0x04f0, 0x04f0, 0x0510, 0x04b0, 0x04b0, 0x0520, 0x04b0,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x0530,
-    0x0540, 0x0550, 0x0560, 0x0550, 0x0550, 0x0550, 0x0570, 0x0550,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x0510, 0x0520, 0x0510, 0x0520,
+    0x0500, 0x0500, 0x0530, 0x0530, 0x0540, 0x0550, 0x0540, 0x0550,
+    0x0540, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540,
+    0x0540, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540,
+    0x0540, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540,
+    0x0540, 0x0540, 0x0540, 0x0560, 0x0500, 0x0500, 0x0570, 0x0500,
+    0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0590,
+    0x05a0, 0x05b0, 0x05c0, 0x05b0, 0x05b0, 0x05b0, 0x05d0, 0x05b0,
+    0x05e0, 0x05e0, 0x05e0, 0x05e0, 0x05e0, 0x05e0, 0x05e0, 0x05e0,
+    0x05f0, 0x05e0, 0x05e0, 0x05e0, 0x05e0, 0x05e0, 0x05e0, 0x05e0,
+    0x05e0, 0x05e0, 0x05e0, 0x0600, 0x0610, 0x0620, 0x0600, 0x0610,
+    0x0630, 0x0640, 0x0650, 0x0650, 0x0660, 0x0650, 0x0670, 0x0680,
+    0x0690, 0x06a0, 0x06b0, 0x06b0, 0x06c0, 0x06d0, 0x06b0, 0x06e0,
+    0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06f0, 0x06b0, 0x06b0,
+    0x0700, 0x0710, 0x0710, 0x0710, 0x0720, 0x06b0, 0x06b0, 0x06b0,
+    0x0730, 0x0730, 0x0730, 0x0740, 0x0750, 0x0750, 0x0750, 0x0760,
+    0x0770, 0x0770, 0x0780, 0x0790, 0x07a0, 0x07b0, 0x0580, 0x0580,
+    0x0580, 0x0580, 0x06b0, 0x07c0, 0x0580, 0x0580, 0x07d0, 0x06b0,
+    0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x07f0, 0x0800, 0x07e0,
+    0x0810, 0x0820, 0x0830, 0x0840, 0x0850, 0x0860, 0x0870, 0x0880,
+    0x0890, 0x08a0, 0x08b0, 0x08c0, 0x08d0, 0x08e0, 0x08f0, 0x0900,
+    0x0910, 0x0920, 0x0930, 0x0940, 0x0950, 0x0960, 0x0970, 0x0980,
+    0x0990, 0x09a0, 0x09b0, 0x09c0, 0x09d0, 0x09e0, 0x09f0, 0x0a00,
+    0x0a10, 0x0a20, 0x0a30, 0x0a40, 0x0a50, 0x0a60, 0x0a70, 0x0a80,
+    0x0a90, 0x0aa0, 0x0ab0, 0x0ac0, 0x0ad0, 0x0ae0, 0x0af0, 0x0b00,
+    0x0b10, 0x0b20, 0x0b30, 0x0b40, 0x0b50, 0x0b60, 0x0b70, 0x0b80,
+    0x0b90, 0x0ba0, 0x0bb0, 0x0bc0, 0x0bd0, 0x0be0, 0x0bf0, 0x0c00,
+    0x0c10, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0c60, 0x0c70, 0x0c80,
+    0x0c90, 0x0ca0, 0x0ca0, 0x0cb0, 0x0ca0, 0x0cc0, 0x0580, 0x0580,
+    0x0cd0, 0x0ce0, 0x0cf0, 0x0d00, 0x0d10, 0x0d20, 0x0580, 0x0580,
+    0x0d30, 0x0d30, 0x0d30, 0x0d30, 0x0d40, 0x0d30, 0x0d50, 0x0d60,
+    0x0d30, 0x0d40, 0x0d30, 0x0d70, 0x0d70, 0x0d80, 0x0580, 0x0580,
+    0x0d90, 0x0d90, 0x0d90, 0x0d90, 0x0d90, 0x0d90, 0x0d90, 0x0d90,
+    0x0d90, 0x0d90, 0x0da0, 0x0da0, 0x0db0, 0x0da0, 0x0da0, 0x0dc0,
+    0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0,
+    0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0,
+    0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0df0, 0x0e00, 0x0de0, 0x0de0,
+    0x0df0, 0x0de0, 0x0de0, 0x0e10, 0x0e20, 0x0e30, 0x0de0, 0x0de0,
+    0x0de0, 0x0e20, 0x0de0, 0x0de0, 0x0de0, 0x0e40, 0x0de0, 0x0e50,
+    0x0de0, 0x0e60, 0x0e70, 0x0e70, 0x0e70, 0x0e70, 0x0e70, 0x0e80,
     0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580,
-    0x0590, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580,
-    0x0580, 0x0580, 0x0580, 0x05a0, 0x05b0, 0x05c0, 0x05a0, 0x05b0,
-    0x05d0, 0x05e0, 0x05f0, 0x05f0, 0x0600, 0x05f0, 0x0610, 0x0620,
-    0x0630, 0x0640, 0x0650, 0x0650, 0x0660, 0x0670, 0x0650, 0x0680,
-    0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x0690, 0x0650, 0x0650,
-    0x06a0, 0x06b0, 0x06b0, 0x06b0, 0x06c0, 0x0650, 0x0650, 0x0650,
-    0x06d0, 0x06d0, 0x06d0, 0x06e0, 0x06f0, 0x06f0, 0x06f0, 0x0700,
-    0x0710, 0x0710, 0x0720, 0x0730, 0x0740, 0x0750, 0x04b0, 0x04b0,
-    0x04b0, 0x04b0, 0x0650, 0x0760, 0x04b0, 0x04b0, 0x0770, 0x0650,
-    0x0780, 0x0780, 0x0780, 0x0780, 0x0780, 0x0790, 0x07a0, 0x0780,
-    0x07b0, 0x07c0, 0x07d0, 0x07e0, 0x07f0, 0x0800, 0x0810, 0x0820,
-    0x0830, 0x0840, 0x0850, 0x0860, 0x0870, 0x0880, 0x0890, 0x08a0,
-    0x08b0, 0x08c0, 0x08d0, 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920,
-    0x0930, 0x0940, 0x0950, 0x0960, 0x0970, 0x0980, 0x0990, 0x09a0,
-    0x09b0, 0x09c0, 0x09d0, 0x09e0, 0x09f0, 0x0a00, 0x0a10, 0x0a20,
-    0x0a30, 0x0a40, 0x0a50, 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0,
-    0x0ab0, 0x0ac0, 0x0ad0, 0x0ae0, 0x0af0, 0x0b00, 0x0b10, 0x0b20,
-    0x0b30, 0x0b40, 0x0b50, 0x0b60, 0x0b70, 0x0b80, 0x0b90, 0x0ba0,
-    0x0bb0, 0x0bc0, 0x0bd0, 0x0be0, 0x0bf0, 0x0c00, 0x0c10, 0x0c20,
-    0x0c30, 0x0c40, 0x0c40, 0x0c50, 0x0c40, 0x0c60, 0x04b0, 0x04b0,
-    0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0cc0, 0x04b0, 0x04b0,
-    0x0cd0, 0x0cd0, 0x0cd0, 0x0cd0, 0x0ce0, 0x0cd0, 0x0cf0, 0x0d00,
-    0x0cd0, 0x0ce0, 0x0cd0, 0x0d10, 0x0d10, 0x0d20, 0x04b0, 0x04b0,
-    0x0d30, 0x0d30, 0x0d30, 0x0d30, 0x0d30, 0x0d30, 0x0d30, 0x0d30,
-    0x0d30, 0x0d30, 0x0d40, 0x0d40, 0x0d50, 0x0d40, 0x0d40, 0x0d60,
-    0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70,
-    0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70,
-    0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d90, 0x0da0, 0x0d80, 0x0d80,
-    0x0d90, 0x0d80, 0x0d80, 0x0db0, 0x0dc0, 0x0dd0, 0x0d80, 0x0d80,
-    0x0d80, 0x0dc0, 0x0d80, 0x0d80, 0x0d80, 0x0de0, 0x0d80, 0x0df0,
-    0x0d80, 0x0e00, 0x0e10, 0x0e10, 0x0e10, 0x0e10, 0x0e10, 0x0e20,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x0e30, 0x0e40, 0x0e50, 0x0e50, 0x0e50, 0x0e50, 0x0e60, 0x0e70,
-    0x0e80, 0x0e90, 0x0ea0, 0x0eb0, 0x0ec0, 0x0ed0, 0x0ee0, 0x0ef0,
-    0x0f00, 0x0f00, 0x0f00, 0x0f00, 0x0f00, 0x0f10, 0x0f20, 0x0f20,
-    0x0f30, 0x0f40, 0x0f50, 0x0f50, 0x0f50, 0x0f50, 0x0f50, 0x0f60,
-    0x0f50, 0x0f50, 0x0f70, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x0f80, 0x0f90, 0x0fa0, 0x0fa0, 0x0fb0, 0x04b0, 0x04b0, 0x04b0,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x0f00, 0x0f00,
-    0x0fc0, 0x0fd0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x0fe0, 0x0fe0, 0x0fe0, 0x0fe0, 0x0ff0, 0x0fe0, 0x0fe0, 0x1000,
-    0x1010, 0x1010, 0x1010, 0x1010, 0x1020, 0x1020, 0x1020, 0x1030,
-    0x1040, 0x1040, 0x1040, 0x1050, 0x1060, 0x04b0, 0x04b0, 0x04b0,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x1070, 0x04b0, 0x04b0, 0x04b0,
-    0x04f0, 0x04f0, 0x1080, 0x04f0, 0x04f0, 0x1090, 0x10a0, 0x10b0,
-    0x04f0, 0x04f0, 0x04f0, 0x10c0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x0550, 0x10d0, 0x0550, 0x0550, 0x10d0, 0x10e0, 0x0550, 0x10f0,
-    0x0550, 0x0550, 0x0550, 0x1100, 0x1100, 0x1110, 0x0550, 0x1120,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x1130,
-    0x04b0, 0x1140, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x04b0, 0x04b0, 0x1150, 0x1160, 0x1170, 0x04b0, 0x04f0, 0x04f0,
-    0x0510, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x1180, 0x1180, 0x1180, 0x1180, 0x1180, 0x1180, 0x1180, 0x1180,
-    0x1180, 0x1180, 0x1180, 0x1180, 0x1180, 0x1180, 0x1180, 0x1180,
-    0x1190, 0x1190, 0x11a0, 0x1190, 0x1190, 0x11a0, 0x04f0, 0x04f0,
-    0x11b0, 0x11b0, 0x11b0, 0x11b0, 0x11b0, 0x11b0, 0x11b0, 0x11c0,
-    0x0d40, 0x0d40, 0x0d50, 0x11d0, 0x11d0, 0x11d0, 0x11e0, 0x11f0,
-    0x0d80, 0x1200, 0x1210, 0x1210, 0x1210, 0x1210, 0x0580, 0x0580,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x1220, 0x1230, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1240,
-    0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220,
-    0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1250, 0x04b0, 0x04b0,
-    0x1260, 0x04b0, 0x1270, 0x1280, 0x1290, 0x12a0, 0x12a0, 0x12a0,
-    0x12a0, 0x12b0, 0x12c0, 0x12d0, 0x12d0, 0x12d0, 0x12d0, 0x12e0,
-    0x12f0, 0x1300, 0x1310, 0x1320, 0x0d70, 0x0d70, 0x0d70, 0x0d70,
-    0x1330, 0x04b0, 0x1300, 0x1340, 0x04b0, 0x04b0, 0x04b0, 0x12d0,
-    0x0d70, 0x1330, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x0d70, 0x1330,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x12d0, 0x12d0, 0x1350,
-    0x12d0, 0x12d0, 0x12d0, 0x12d0, 0x12d0, 0x1360, 0x04b0, 0x04b0,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220,
-    0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220,
-    0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220,
-    0x1220, 0x1220, 0x1220, 0x1250, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370,
-    0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370,
-    0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370,
-    0x1380, 0x1370, 0x1370, 0x1370, 0x1390, 0x13a0, 0x13a0, 0x13a0,
-    0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0,
-    0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0,
-    0x13b0, 0x13b0, 0x13c0, 0x04b0, 0x0580, 0x0580, 0x0580, 0x0580,
-    0x0580, 0x0580, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13e0,
-    0x04b0, 0x04b0, 0x13f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0, 0x04f0,
-    0x1400, 0x04f0, 0x1410, 0x1420, 0x04b0, 0x04b0, 0x04b0, 0x1430,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x1440, 0x1440, 0x1440, 0x1440, 0x1450, 0x1460, 0x0780, 0x1470,
-    0x04b0, 0x04b0, 0x04b0, 0x1480, 0x1480, 0x1490, 0x0d70, 0x14a0,
-    0x14b0, 0x14b0, 0x14b0, 0x14b0, 0x14c0, 0x14d0, 0x0d30, 0x14e0,
-    0x14f0, 0x14f0, 0x14f0, 0x1500, 0x1510, 0x1520, 0x0d30, 0x0d30,
-    0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x1530, 0x1540, 0x1210, 0x04f0, 0x04f0, 0x1550, 0x1560, 0x0e10,
-    0x0e10, 0x0e10, 0x0e10, 0x0e10, 0x04b0, 0x04b0, 0x04b0, 0x04b0,
-    0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70,
-    0x0d70, 0x0d70, 0x1570, 0x0d70, 0x1580, 0x0d70, 0x0d70, 0x1590,
-    0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x15a0, 0x1220,
-    0x1220, 0x1220, 0x1220, 0x1220, 0x1220, 0x15b0, 0x04b0, 0x04b0,
-    0x15c0, 0x15d0, 0x05f0, 0x15e0, 0x15f0, 0x0650, 0x0650, 0x0650,
-    0x0650, 0x0650, 0x0650, 0x0650, 0x1600, 0x0770, 0x0650, 0x0650,
-    0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x0650,
-    0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x0650,
-    0x0650, 0x0650, 0x0650, 0x1610, 0x04b0, 0x0650, 0x0650, 0x0650,
-    0x0650, 0x1620, 0x0650, 0x0650, 0x1630, 0x04b0, 0x04b0, 0x1610,
-    0x04b0, 0x04b0, 0x1640, 0x04b0, 0x04b0, 0x04b0, 0x04b0, 0x1650,
-    0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x0650, 0x1660,
-    0x04b0, 0x04b0, 0x04c0, 0x04d0, 0x04c0, 0x04d0, 0x1670, 0x12c0,
-    0x12d0, 0x1680, 0x0d70, 0x1330, 0x1690, 0x16a0, 0x04b0, 0x04b0,
+    0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x0e90, 0x0ea0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0ec0, 0x0ed0,
+    0x0ee0, 0x0ef0, 0x0f00, 0x0f10, 0x0f20, 0x0f30, 0x0f40, 0x0f50,
+    0x0f60, 0x0f60, 0x0f60, 0x0f60, 0x0f60, 0x0f70, 0x0f80, 0x0f80,
+    0x0f90, 0x0fa0, 0x0fb0, 0x0fb0, 0x0fb0, 0x0fb0, 0x0fb0, 0x0fc0,
+    0x0fb0, 0x0fb0, 0x0fd0, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x0fe0, 0x0ff0, 0x1000, 0x1000, 0x1010, 0x0580, 0x0580, 0x0580,
+    0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0f60, 0x0f60,
+    0x1020, 0x1030, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x1040, 0x1040, 0x1040, 0x1040, 0x1050, 0x1040, 0x1040, 0x1060,
+    0x1070, 0x1070, 0x1070, 0x1070, 0x1080, 0x1080, 0x1080, 0x1090,
+    0x10a0, 0x10a0, 0x10a0, 0x10b0, 0x10c0, 0x0580, 0x0580, 0x0580,
+    0x0580, 0x0580, 0x0580, 0x0580, 0x10d0, 0x10e0, 0x10f0, 0x1100,
+    0x0540, 0x0540, 0x1110, 0x0540, 0x0540, 0x1120, 0x1130, 0x1140,
+    0x0540, 0x0540, 0x0540, 0x1150, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x05b0, 0x1160, 0x05b0, 0x05b0, 0x1160, 0x1170, 0x05b0, 0x1180,
+    0x05b0, 0x05b0, 0x05b0, 0x1190, 0x1190, 0x11a0, 0x05b0, 0x11b0,
+    0x11c0, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x11d0, 0x11e0,
+    0x11f0, 0x1200, 0x0500, 0x11f0, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x0500, 0x0500, 0x1210, 0x1220, 0x1230, 0x0500, 0x0540, 0x0540,
+    0x1240, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x1250,
+    0x0500, 0x0500, 0x1260, 0x0580, 0x1250, 0x0580, 0x0500, 0x0500,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
+    0x1270, 0x1270, 0x1270, 0x1270, 0x1270, 0x1270, 0x1270, 0x1270,
+    0x1270, 0x1270, 0x1270, 0x1270, 0x1270, 0x1270, 0x1270, 0x1270,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x1280,
+    0x0500, 0x1290, 0x0500, 0x12a0, 0x12b0, 0x12c0, 0x12d0, 0x0580,
+    0x12e0, 0x12e0, 0x12f0, 0x12e0, 0x12e0, 0x12f0, 0x0540, 0x0540,
+    0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1310,
+    0x0da0, 0x0da0, 0x0db0, 0x1320, 0x1320, 0x1320, 0x1330, 0x1340,
+    0x0de0, 0x1350, 0x1360, 0x1360, 0x1360, 0x1360, 0x05e0, 0x05e0,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x1370, 0x0580, 0x0580, 0x0580,
+    0x1380, 0x1390, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x13a0,
+    0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380,
+    0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x13b0, 0x0580, 0x13c0,
+    0x13d0, 0x0500, 0x13e0, 0x13f0, 0x1400, 0x1410, 0x1410, 0x1410,
+    0x1410, 0x1420, 0x1430, 0x1440, 0x1440, 0x1440, 0x1440, 0x1450,
+    0x1460, 0x1470, 0x1480, 0x1490, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0,
+    0x14a0, 0x0500, 0x1470, 0x14b0, 0x0500, 0x0500, 0x14c0, 0x1440,
+    0x0dd0, 0x14a0, 0x0500, 0x0500, 0x0500, 0x0500, 0x0dd0, 0x14d0,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x1440, 0x1440, 0x14e0,
+    0x1440, 0x1440, 0x1440, 0x1440, 0x1440, 0x14f0, 0x0500, 0x0500,
+    0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
+    0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380,
+    0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380,
+    0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380,
+    0x1380, 0x1380, 0x1380, 0x13b0, 0x0500, 0x0500, 0x0500, 0x0500,
+    0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380,
+    0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x13b0, 0x0580, 0x0580,
+    0x1500, 0x1500, 0x1500, 0x1500, 0x1500, 0x1500, 0x1500, 0x1500,
+    0x1500, 0x1500, 0x1500, 0x1500, 0x1500, 0x1500, 0x1500, 0x1500,
+    0x1500, 0x1500, 0x1500, 0x1500, 0x1500, 0x1500, 0x1500, 0x1500,
+    0x1510, 0x1500, 0x1500, 0x1500, 0x1520, 0x1530, 0x1530, 0x1530,
+    0x1540, 0x1540, 0x1540, 0x1540, 0x1540, 0x1540, 0x1540, 0x1540,
+    0x1540, 0x1540, 0x1540, 0x1540, 0x1540, 0x1540, 0x1540, 0x1540,
+    0x1540, 0x1540, 0x1550, 0x0580, 0x05e0, 0x05e0, 0x05e0, 0x05e0,
+    0x05e0, 0x05e0, 0x1560, 0x1560, 0x1560, 0x1560, 0x1560, 0x1570,
+    0x0500, 0x0500, 0x1580, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540,
+    0x1590, 0x0540, 0x15a0, 0x15b0, 0x0580, 0x0580, 0x0580, 0x15c0,
+    0x0580, 0x0580, 0x0580, 0x15d0, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x15e0, 0x15e0, 0x15e0, 0x15e0, 0x15f0, 0x1600, 0x07e0, 0x1610,
+    0x0580, 0x0580, 0x1620, 0x1630, 0x1630, 0x1640, 0x0dd0, 0x1650,
+    0x1660, 0x1660, 0x1660, 0x1660, 0x1670, 0x1680, 0x0d90, 0x1690,
+    0x16a0, 0x16a0, 0x16a0, 0x16b0, 0x16c0, 0x16d0, 0x0d90, 0x0d90,
+    0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x16e0, 0x16f0, 0x1360, 0x0540, 0x0540, 0x1700, 0x1710, 0x0e70,
+    0x0e70, 0x0e70, 0x0e70, 0x0e70, 0x0580, 0x0580, 0x0580, 0x0580,
+    0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0,
+    0x0dd0, 0x0dd0, 0x1720, 0x0dd0, 0x1730, 0x0dd0, 0x0dd0, 0x1740,
+    0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1750, 0x1380,
+    0x1380, 0x1380, 0x1380, 0x1380, 0x1380, 0x1760, 0x0580, 0x0580,
+    0x1770, 0x1780, 0x0650, 0x1790, 0x17a0, 0x06b0, 0x06b0, 0x06b0,
+    0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x17b0, 0x07d0, 0x06b0, 0x06b0,
+    0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0,
+    0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0,
+    0x06b0, 0x06b0, 0x06b0, 0x17c0, 0x0580, 0x06b0, 0x06b0, 0x06b0,
+    0x06b0, 0x17d0, 0x06b0, 0x06b0, 0x17e0, 0x0580, 0x0580, 0x17f0,
+    0x0580, 0x15d0, 0x1800, 0x0500, 0x0500, 0x1810, 0x1820, 0x1830,
+    0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x1840,
+    0x1850, 0x0500, 0x0510, 0x0520, 0x0510, 0x0520, 0x1860, 0x1430,
+    0x1440, 0x1870, 0x0dd0, 0x14a0, 0x1880, 0x1890, 0x18a0, 0x18b0,
     /* values */
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
-    0x003b, 0x003b, 0x003b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x003b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x003b, 0x003b, 0x003b, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x003b, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
-    0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x0000,
+    0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x0001,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
-    0x003b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x000c, 0x000c, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0025, 0x0025, 0x0025, 0x0025, 0x0000, 0x0025, 0x0025, 0x0025,
-    0x0000, 0x0000, 0x0025, 0x0025, 0x0025, 0x0025, 0x0000, 0x0025,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0025, 0x0000, 0x0025, 0x0000,
+    0x003b, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x000c, 0x000c, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0025, 0x0025, 0x0025, 0x0025, 0x0001, 0x0025, 0x0025, 0x0025,
+    0x0000, 0x0000, 0x0025, 0x0025, 0x0025, 0x0025, 0x0001, 0x0025,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0025, 0x0001, 0x0025, 0x0001,
     0x0025, 0x0025, 0x0025, 0x0000, 0x0025, 0x0000, 0x0025, 0x0025,
     0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025,
     0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025,
@@ -194,7 +206,7 @@ const unsigned short wine_scripts_table[5808] =
     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0000,
     0x0000, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
-    0x0000, 0x0000, 0x0005, 0x0000, 0x0000, 0x0005, 0x0005, 0x0005,
+    0x0000, 0x0001, 0x0005, 0x0000, 0x0000, 0x0005, 0x0005, 0x0005,
     0x0000, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c,
     0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c,
     0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c,
@@ -205,20 +217,20 @@ const unsigned short wine_scripts_table[5808] =
     0x002c, 0x002c, 0x002c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0000, 0x0004, 0x0004,
-    0x0004, 0x0004, 0x0004, 0x0004, 0x0000, 0x0004, 0x0004, 0x0004,
+    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0001, 0x0004, 0x0004,
+    0x0004, 0x0004, 0x0004, 0x0004, 0x0001, 0x0004, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
-    0x0004, 0x0004, 0x0004, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+    0x0004, 0x0004, 0x0004, 0x0001, 0x0001, 0x0000, 0x0004, 0x0001,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
-    0x0000, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+    0x0001, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
     0x0000, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
-    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0000, 0x0004, 0x0004,
+    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0001, 0x0004, 0x0004,
     0x0071, 0x0071, 0x0071, 0x0071, 0x0071, 0x0071, 0x0071, 0x0071,
     0x0071, 0x0071, 0x0071, 0x0071, 0x0071, 0x0071, 0x0000, 0x0071,
     0x0071, 0x0071, 0x0071, 0x0071, 0x0071, 0x0071, 0x0071, 0x0071,
@@ -251,7 +263,7 @@ const unsigned short wine_scripts_table[5808] =
     0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
     0x001c, 0x0000, 0x0000, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
     0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
-    0x001c, 0x001c, 0x001c, 0x001c, 0x0000, 0x0000, 0x001c, 0x001c,
+    0x001c, 0x001c, 0x001c, 0x001c, 0x0001, 0x0001, 0x001c, 0x001c,
     0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
     0x000b, 0x000b, 0x000b, 0x000b, 0x0000, 0x000b, 0x000b, 0x000b,
     0x000b, 0x000b, 0x000b, 0x000b, 0x000b, 0x0000, 0x0000, 0x000b,
@@ -402,7 +414,7 @@ const unsigned short wine_scripts_table[5808] =
     0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b,
     0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b,
     0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b,
-    0x007b, 0x007b, 0x007b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x007b, 0x007b, 0x007b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
     0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b, 0x007b,
     0x007b, 0x007b, 0x007b, 0x007b, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x003a, 0x003a, 0x0000, 0x003a, 0x0000, 0x0000, 0x003a,
@@ -427,8 +439,8 @@ const unsigned short wine_scripts_table[5808] =
     0x007c, 0x007c, 0x007c, 0x007c, 0x007c, 0x007c, 0x007c, 0x007c,
     0x007c, 0x007c, 0x007c, 0x007c, 0x007c, 0x007c, 0x007c, 0x007c,
     0x007c, 0x007c, 0x007c, 0x007c, 0x007c, 0x0000, 0x007c, 0x007c,
-    0x007c, 0x007c, 0x007c, 0x007c, 0x007c, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x007c, 0x007c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x007c, 0x007c, 0x007c, 0x007c, 0x007c, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x007c, 0x007c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
     0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
     0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
@@ -436,7 +448,7 @@ const unsigned short wine_scripts_table[5808] =
     0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0021,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000,
     0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
-    0x0021, 0x0021, 0x0021, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021,
+    0x0021, 0x0021, 0x0021, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021,
     0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029,
     0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029,
     0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
@@ -468,7 +480,7 @@ const unsigned short wine_scripts_table[5808] =
     0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066,
     0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066,
     0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066,
-    0x0066, 0x0066, 0x0066, 0x0000, 0x0000, 0x0000, 0x0066, 0x0066,
+    0x0066, 0x0066, 0x0066, 0x0001, 0x0001, 0x0001, 0x0066, 0x0066,
     0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066,
     0x0066, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0072, 0x0072, 0x0072, 0x0072, 0x0072, 0x0072, 0x0072, 0x0072,
@@ -477,7 +489,7 @@ const unsigned short wine_scripts_table[5808] =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a,
     0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a,
-    0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0000, 0x0000, 0x0000,
+    0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0001, 0x0001, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
     0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
@@ -493,7 +505,7 @@ const unsigned short wine_scripts_table[5808] =
     0x0037, 0x0037, 0x0037, 0x0037, 0x0037, 0x0037, 0x0000, 0x0000,
     0x0037, 0x0037, 0x0037, 0x0037, 0x0037, 0x0037, 0x0037, 0x0037,
     0x0037, 0x0037, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x004d, 0x004d, 0x0000, 0x0000, 0x004d, 0x0000, 0x004d, 0x004d,
+    0x004d, 0x004d, 0x0001, 0x0001, 0x004d, 0x0001, 0x004d, 0x004d,
     0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x0000,
     0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d,
     0x004d, 0x004d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -535,6 +547,12 @@ const unsigned short wine_scripts_table[5808] =
     0x003c, 0x003c, 0x0000, 0x0000, 0x0000, 0x003c, 0x003c, 0x003c,
     0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x0025, 0x0025,
     0x0025, 0x0025, 0x0025, 0x001a, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
@@ -557,18 +575,42 @@ const unsigned short wine_scripts_table[5808] =
     0x0025, 0x0025, 0x0025, 0x0025, 0x0000, 0x0025, 0x0025, 0x0025,
     0x0000, 0x0000, 0x0025, 0x0025, 0x0025, 0x0000, 0x0025, 0x0025,
     0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0000,
-    0x0000, 0x003b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003b,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x003b, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x003b,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0025, 0x0000,
-    0x0000, 0x0000, 0x003b, 0x003b, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x003b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0025, 0x0001,
+    0x0001, 0x0001, 0x003b, 0x003b, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x003b, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x003b, 0x0001,
+    0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
+    0x003b, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003b, 0x0000,
     0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e,
     0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
     0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
     0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
     0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
@@ -587,6 +629,8 @@ const unsigned short wine_scripts_table[5808] =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000,
     0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028,
     0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028,
     0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028,
@@ -595,24 +639,26 @@ const unsigned short wine_scripts_table[5808] =
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0028, 0x0000, 0x0028,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0028, 0x0001, 0x0028,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028,
     0x0028, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000, 0x0029, 0x0029,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0028, 0x0028, 0x0028, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0028, 0x0028, 0x0028, 0x0028, 0x0001, 0x0001, 0x0001, 0x0001,
     0x0000, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d,
     0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d,
     0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d,
     0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d,
     0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x002d, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x002d, 0x002d, 0x002d,
-    0x0000, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
+    0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x002d, 0x002d, 0x002d,
+    0x0001, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
     0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
     0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
     0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
     0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
-    0x0034, 0x0034, 0x0034, 0x0000, 0x0000, 0x0034, 0x0034, 0x0034,
+    0x0034, 0x0034, 0x0034, 0x0001, 0x0001, 0x0034, 0x0034, 0x0034,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000c, 0x000c, 0x000c,
     0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c,
     0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c,
@@ -625,10 +671,14 @@ const unsigned short wine_scripts_table[5808] =
     0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0000,
     0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c,
     0x000c, 0x000c, 0x000c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029,
+    0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0001,
     0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
     0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0000,
     0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
     0x0082, 0x0082, 0x0082, 0x0082, 0x0082, 0x0082, 0x0082, 0x0082,
     0x0082, 0x0082, 0x0082, 0x0082, 0x0082, 0x0082, 0x0082, 0x0082,
     0x0082, 0x0082, 0x0082, 0x0082, 0x0082, 0x0082, 0x0082, 0x0082,
@@ -645,16 +695,18 @@ const unsigned short wine_scripts_table[5808] =
     0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
     0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
+    0x0001, 0x0001, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
-    0x0000, 0x0000, 0x0000, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
+    0x0001, 0x0001, 0x0001, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x0000, 0x0000,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068,
     0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068,
     0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0000, 0x0000, 0x0000,
@@ -663,6 +715,8 @@ const unsigned short wine_scripts_table[5808] =
     0x0068, 0x0068, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
     0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
     0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065,
     0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065,
     0x0065, 0x0065, 0x0065, 0x0065, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -672,7 +726,7 @@ const unsigned short wine_scripts_table[5808] =
     0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031,
     0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031,
     0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031,
-    0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0000, 0x0000,
+    0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0000, 0x0001,
     0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031,
     0x0031, 0x0031, 0x0000, 0x0000, 0x0000, 0x0000, 0x0031, 0x0031,
     0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
@@ -690,7 +744,7 @@ const unsigned short wine_scripts_table[5808] =
     0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x003b,
-    0x003b, 0x003b, 0x003b, 0x0000, 0x003b, 0x003b, 0x003b, 0x003b,
+    0x003b, 0x003b, 0x003b, 0x0001, 0x003b, 0x003b, 0x003b, 0x003b,
     0x003b, 0x003b, 0x003b, 0x003b, 0x003b, 0x0025, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0029, 0x0029, 0x0029, 0x0029, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -714,23 +768,35 @@ const unsigned short wine_scripts_table[5808] =
     0x0004, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
-    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0000, 0x0000,
+    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0001, 0x0001,
     0x0000, 0x0000, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a, 0x001a,
+    0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0000, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
-    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0034, 0x0034,
+    0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0000, 0x0000, 0x0001,
+    0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0034, 0x0034,
     0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
     0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034,
-    0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0000, 0x0000,
+    0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0034, 0x0001, 0x0001,
     0x0000, 0x0000, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029,
     0x0000, 0x0000, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029,
     0x0000, 0x0000, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029,
-    0x0000, 0x0000, 0x0029, 0x0029, 0x0029, 0x0000, 0x0000, 0x0000
+    0x0000, 0x0000, 0x0029, 0x0029, 0x0029, 0x0000, 0x0000, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
+    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000
 };
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index cd2a15f..0ed80e3 100644
--- a/dlls/dwrite/tests/layout.c
+++ b/dlls/dwrite/tests/layout.c
@@ -2057,8 +2057,7 @@ todo_wine
         if (metrics[i].isSoftHyphen)
             ok(!metrics[i].isWhitespace, "%u: got %d\n", i, metrics[i].isWhitespace);
         if (metrics[i].isNewline) {
-            todo_wine_if (i == 17 || i == 19)
-                ok(metrics[i].width == 0.0f, "%u: got width %f\n", i, metrics[i].width);
+            ok(metrics[i].width == 0.0f, "%u: got width %f\n", i, metrics[i].width);
             ok(metrics[i].isWhitespace == 1, "%u: got %d\n", i, metrics[i].isWhitespace);
             ok(metrics[i].canWrapLineAfter == 1, "%u: got %d\n", i, metrics[i].canWrapLineAfter);
         }
diff --git a/tools/make_unicode b/tools/make_unicode
index 7f56ee5..43b6088 100755
--- a/tools/make_unicode
+++ b/tools/make_unicode
@@ -1331,7 +1331,7 @@ sub dump_scripts($)
         }
 
         # ignore some scripts
-        if ($type eq "" || $type eq "Common" || $type eq "Inherited")
+        if ($type eq "Common" || $type eq "Inherited")
         {
             next;
         }
@@ -1339,10 +1339,16 @@ sub dump_scripts($)
         $scripts{$type} = -1;
     }
 
+    # assign script indices, starting from index 2
     $script_index = 1;
     foreach my $script (sort keys %scripts) {
         $scripts{$script} = ++$script_index;
     }
+    # indices change when new scripts are added to the standard,
+    # keep Unknown/Common at fixed positions, Inherited is treated as Unknown
+    $scripts{"Unknown"} = 0;
+    $scripts{"Inherited"} = 0;
+    $scripts{"Common"} = 1;
 
     # now fill a table
     seek $INPUT, 0, 0;
@@ -1385,11 +1391,10 @@ sub dump_scripts($)
     print OUTPUT "/* generated from $UNIDATA/Scripts.txt */\n";
     print OUTPUT "/* DO NOT EDIT!! */\n\n";
 
-    # reserve Unknown and Common ids
+    # Inherited was consumed by Unknown, we don't need it as a separate enum memeber
+    delete $scripts{"Inherited"};
     print OUTPUT "enum unicode_script_id {\n";
-    print OUTPUT "    Script_Unknown = 0,\n";
-    print OUTPUT "    Script_Common = 1,\n";
-    foreach my $script (sort keys %scripts)
+    foreach my $script (sort { $scripts{$a} <=> $scripts{$b} } keys %scripts)
     {
         print OUTPUT "    Script_$script = $scripts{$script},\n";
     }
-- 
2.7.0




More information about the wine-patches mailing list