Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
June 2018
- 68 participants
- 1149 messages
[PATCH] ntdll: Only set owned bits in RTL_BITMAP
by janisozaur@gmail.com
From: Michał Janiszewski <janisozaur(a)gmail.com>
Signed-off-by: Michał Janiszewski <janisozaur(a)gmail.com>
---
dlls/ntdll/rtlbitmap.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/rtlbitmap.c b/dlls/ntdll/rtlbitmap.c
index 318f6fcbd4..c3e9385ec0 100644
--- a/dlls/ntdll/rtlbitmap.c
+++ b/dlls/ntdll/rtlbitmap.c
@@ -157,7 +157,8 @@ VOID WINAPI RtlSetBits(PRTL_BITMAP lpBits, ULONG ulStart, ULONG ulCount)
USHORT initialWord = NTDLL_maskBits[ulCount] << (ulStart & 7);
*lpOut++ |= (initialWord & 0xff);
- *lpOut |= (initialWord >> 8);
+ if (lpOut < ((BYTE *)lpBits->Buffer) + (lpBits->SizeOfBitMap / 8))
+ *lpOut |= (initialWord >> 8);
return;
}
}
@@ -218,7 +219,8 @@ VOID WINAPI RtlClearBits(PRTL_BITMAP lpBits, ULONG ulStart, ULONG ulCount)
USHORT initialWord = ~(NTDLL_maskBits[ulCount] << (ulStart & 7));
*lpOut++ &= (initialWord & 0xff);
- *lpOut &= (initialWord >> 8);
+ if (lpOut < ((BYTE *)lpBits->Buffer) + (lpBits->SizeOfBitMap / 8))
+ *lpOut &= (initialWord >> 8);
return;
}
}
--
2.17.1
June 30, 2018
[PATCH] ntdll: Only set owned bits in RTL_BITMAP
by janisozaur@gmail.com
From: Michał Janiszewski <janisozaur(a)gmail.com>
Signed-off-by: Michał Janiszewski <janisozaur(a)gmail.com>
---
dlls/ntdll/rtlbitmap.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/rtlbitmap.c b/dlls/ntdll/rtlbitmap.c
index 318f6fcbd4..c3e9385ec0 100644
--- a/dlls/ntdll/rtlbitmap.c
+++ b/dlls/ntdll/rtlbitmap.c
@@ -157,7 +157,8 @@ VOID WINAPI RtlSetBits(PRTL_BITMAP lpBits, ULONG ulStart, ULONG ulCount)
USHORT initialWord = NTDLL_maskBits[ulCount] << (ulStart & 7);
*lpOut++ |= (initialWord & 0xff);
- *lpOut |= (initialWord >> 8);
+ if (lpOut < ((BYTE *)lpBits->Buffer) + (lpBits->SizeOfBitMap / 8))
+ *lpOut |= (initialWord >> 8);
return;
}
}
@@ -218,7 +219,8 @@ VOID WINAPI RtlClearBits(PRTL_BITMAP lpBits, ULONG ulStart, ULONG ulCount)
USHORT initialWord = ~(NTDLL_maskBits[ulCount] << (ulStart & 7));
*lpOut++ &= (initialWord & 0xff);
- *lpOut &= (initialWord >> 8);
+ if (lpOut < ((BYTE *)lpBits->Buffer) + (lpBits->SizeOfBitMap / 8))
+ *lpOut &= (initialWord >> 8);
return;
}
}
--
2.17.1
June 30, 2018
[v2 PATCH] tools: Update to Unicode 11.0.0.
by Nikolay Sivov
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/dwrite/analyzer.c | 4 +
dlls/dwrite/bracket.c | 2 +-
dlls/dwrite/linebreak.c | 214 +++++++++++++-------------
dlls/dwrite/mirror.c | 2 +-
dlls/dwrite/scripts.c | 308 +++++++++++++++++++------------------
dlls/dwrite/scripts.h | 8 +-
dlls/gdi32/vertical.c | 2 +-
dlls/usp10/bracket.c | 2 +-
dlls/usp10/indicsyllable.c | 86 +++++------
dlls/usp10/linebreak.c | 214 +++++++++++++-------------
dlls/usp10/mirror.c | 2 +-
dlls/usp10/shaping.c | 116 +++++++-------
dlls/wineps.drv/vertical.c | 2 +-
libs/port/compose.c | 2 +-
libs/port/decompose.c | 2 +-
libs/port/digitmap.c | 2 +-
libs/wine/casemap.c | 2 +-
libs/wine/wctype.c | 38 ++---
tools/make_unicode | 9 +-
19 files changed, 514 insertions(+), 503 deletions(-)
diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c
index 8d553c6d56..19214ee392 100644
--- a/dlls/dwrite/analyzer.c
+++ b/dlls/dwrite/analyzer.c
@@ -184,6 +184,10 @@ static const struct dwritescript_properties dwritescripts_properties[Script_Last
{ /* Osge */ { 0x6567734f, 219, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('o','s','g','e') },
{ /* Sgnw */ { 0x776e6753, 95, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('s','g','n','w') },
{ /* Tang */ { 0x676e6154, 520, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('t','a','n','g') },
+ { /* Gonm */ { 0x6d6e6f47, 313, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('g','o','n','m') },
+ { /* Nshu */ { 0x7568734e, 499, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 }, _OT('n','s','h','u') },
+ { /* Soyo */ { 0x6f796f53, 329, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('s','o','y','o') },
+ { /* Zanb */ { 0x626e615a, 339, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('z','a','n','b') },
};
#undef _OT
diff --git a/dlls/dwrite/bracket.c b/dlls/dwrite/bracket.c
index 1509d572c9..16df6381a6 100644
--- a/dlls/dwrite/bracket.c
+++ b/dlls/dwrite/bracket.c
@@ -1,5 +1,5 @@
/* Unicode Bidirectional Bracket table */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/BidiBrackets.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/BidiBrackets.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/dwrite/linebreak.c b/dlls/dwrite/linebreak.c
index 56bde66e9e..cd2ca64952 100644
--- a/dlls/dwrite/linebreak.c
+++ b/dlls/dwrite/linebreak.c
@@ -1,10 +1,10 @@
/* Unicode Line Break Properties */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/LineBreak.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/LineBreak.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
+const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7264] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
@@ -56,22 +56,22 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0790, 0x07a0, 0x07b0,
0x07c0, 0x07d0, 0x05b0, 0x0580, 0x07e0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x07f0, 0x0800, 0x07b0, 0x05b0, 0x0760, 0x0810,
- 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0870,
- 0x0870, 0x0870, 0x05b0, 0x0880, 0x0870, 0x0890, 0x08a0, 0x0580,
- 0x08b0, 0x05b0, 0x05b0, 0x08c0, 0x0580, 0x08d0, 0x08e0, 0x05b0,
- 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950, 0x0960,
- 0x0970, 0x0900, 0x0910, 0x0980, 0x0990, 0x09a0, 0x09b0, 0x09c0,
- 0x09d0, 0x0690, 0x0910, 0x09e0, 0x09f0, 0x0a00, 0x0950, 0x0a10,
- 0x0a20, 0x0900, 0x0910, 0x09e0, 0x0a30, 0x0a40, 0x0950, 0x0a50,
- 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x0ab0, 0x09b0, 0x0ac0,
- 0x0ad0, 0x0ae0, 0x0910, 0x0af0, 0x0b00, 0x0b10, 0x0950, 0x0b20,
- 0x0b30, 0x0ae0, 0x0910, 0x0b40, 0x0b00, 0x0b50, 0x0950, 0x0b60,
- 0x0ad0, 0x0ae0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0950, 0x0ba0,
- 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09b0, 0x0c00,
- 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0870, 0x0870,
- 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0870, 0x0870,
+ 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0860,
+ 0x0860, 0x0860, 0x05b0, 0x0870, 0x0860, 0x0880, 0x0890, 0x0580,
+ 0x08a0, 0x05b0, 0x05b0, 0x08b0, 0x0580, 0x08c0, 0x08d0, 0x05b0,
+ 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950,
+ 0x0960, 0x08f0, 0x0900, 0x0970, 0x0980, 0x0990, 0x09a0, 0x09b0,
+ 0x09c0, 0x0690, 0x0900, 0x09d0, 0x09e0, 0x09f0, 0x0940, 0x0a00,
+ 0x0a10, 0x08f0, 0x0900, 0x09d0, 0x0a20, 0x0a30, 0x0940, 0x0a40,
+ 0x0a50, 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x09a0, 0x0ab0,
+ 0x0ac0, 0x0ad0, 0x0900, 0x0ae0, 0x0af0, 0x0b00, 0x0940, 0x0b10,
+ 0x0b20, 0x0ad0, 0x0900, 0x0b30, 0x0af0, 0x0b40, 0x0940, 0x0b50,
+ 0x0b60, 0x0ad0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0940, 0x0ba0,
+ 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09a0, 0x0c00,
+ 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0860, 0x0860,
+ 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0860, 0x0860,
0x0cc0, 0x0cd0, 0x07b0, 0x0ce0, 0x0cf0, 0x05b0, 0x0d00, 0x0d10,
- 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0870, 0x0870,
+ 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0860, 0x0860,
0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0d70, 0x0c20, 0x0c20, 0x0c20,
0x0c20, 0x0d80, 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0,
0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0db0, 0x0db0,
@@ -86,16 +86,16 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0e70, 0x0e80, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e90, 0x0ea0,
0x0eb0, 0x0ec0, 0x05b0, 0x0ed0, 0x05b0, 0x0ee0, 0x0eb0, 0x0ef0,
0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0f00, 0x0f10, 0x0e50,
- 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a50,
+ 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a40,
0x0f30, 0x05b0, 0x0f40, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f50,
0x05b0, 0x0840, 0x0f60, 0x0f60, 0x0f70, 0x0c20, 0x0f80, 0x0f90,
0x0c20, 0x0c20, 0x0fa0, 0x0c20, 0x0fb0, 0x0fc0, 0x05b0, 0x05b0,
0x05b0, 0x0fd0, 0x0c20, 0x0c20, 0x0c20, 0x0fe0, 0x0c20, 0x0ff0,
- 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0870, 0x0870, 0x0870, 0x0870,
+ 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0860, 0x0860, 0x0860, 0x0860,
0x1010, 0x05b0, 0x05b0, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060,
0x1070, 0x05b0, 0x1080, 0x07b0, 0x05b0, 0x05b0, 0x07f0, 0x1090,
0x05b0, 0x05b0, 0x1020, 0x10a0, 0x10b0, 0x07b0, 0x05b0, 0x10c0,
- 0x0ea0, 0x0870, 0x0870, 0x0870, 0x0a50, 0x10d0, 0x10e0, 0x10f0,
+ 0x0ea0, 0x0860, 0x0860, 0x0860, 0x0a40, 0x10d0, 0x10e0, 0x10f0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x0580, 0x1100,
0x05b0, 0x0e60, 0x05b0, 0x05b0, 0x0e60, 0x1110, 0x05b0, 0x1120,
@@ -108,80 +108,80 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x1320, 0x1330, 0x1340, 0x1350, 0x05b0, 0x05b0, 0x1360, 0x05b0,
0x1370, 0x1380, 0x1390, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x13a0,
- 0x05b0, 0x05b0, 0x13b0, 0x0870, 0x0860, 0x0870, 0x13c0, 0x13c0,
- 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13d0,
- 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x1270, 0x13c0, 0x13c0, 0x13e0,
- 0x13c0, 0x13f0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x05b0,
- 0x1450, 0x1460, 0x05b0, 0x1470, 0x1480, 0x05b0, 0x1490, 0x14a0,
- 0x05b0, 0x14b0, 0x05b0, 0x14c0, 0x14d0, 0x14e0, 0x14f0, 0x1500,
- 0x1510, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1520, 0x1530, 0x1540,
- 0x13c0, 0x1550, 0x05b0, 0x05b0, 0x1560, 0x05b0, 0x1570, 0x05b0,
+ 0x05b0, 0x05b0, 0x13b0, 0x0860, 0x13c0, 0x0860, 0x13d0, 0x13d0,
+ 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13e0,
+ 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x1270, 0x13d0, 0x13d0, 0x13f0,
+ 0x13d0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x1450, 0x05b0,
+ 0x1460, 0x1470, 0x05b0, 0x1480, 0x1490, 0x05b0, 0x14a0, 0x14b0,
+ 0x05b0, 0x14c0, 0x05b0, 0x14d0, 0x14e0, 0x14f0, 0x1500, 0x1510,
+ 0x1520, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1530, 0x1540, 0x1550,
+ 0x13d0, 0x1560, 0x05b0, 0x05b0, 0x1570, 0x05b0, 0x1580, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x1580, 0x1590, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15a0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15b0, 0x05b0, 0x15c0,
- 0x05b0, 0x15d0, 0x05b0, 0x15e0, 0x0910, 0x15f0, 0x1600, 0x0870,
+ 0x1590, 0x15a0, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15c0, 0x05b0, 0x15d0,
+ 0x05b0, 0x15e0, 0x05b0, 0x15f0, 0x0900, 0x1600, 0x1610, 0x0860,
0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1610, 0x1620,
- 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1630, 0x1640,
- 0x05b0, 0x13b0, 0x1650, 0x1650, 0x1650, 0x1650, 0x0580, 0x0580,
- 0x1660, 0x1670, 0x1680, 0x1690, 0x16a0, 0x0870, 0x0870, 0x0870,
- 0x16b0, 0x16c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16d0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16e0, 0x0870, 0x16f0,
- 0x1700, 0x1710, 0x1720, 0x1730, 0x1740, 0x16b0, 0x1750, 0x16b0,
- 0x1760, 0x1770, 0x1780, 0x16b0, 0x1750, 0x16b0, 0x1760, 0x1790,
- 0x17a0, 0x16b0, 0x17b0, 0x17c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x17b0, 0x16b0, 0x16b0, 0x17d0, 0x16b0, 0x16b0, 0x16d0, 0x17e0,
- 0x16b0, 0x17b0, 0x16b0, 0x16b0, 0x17f0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x17b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x16b0, 0x1800, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x1810, 0x16b0, 0x16b0, 0x16b0, 0x1820, 0x05b0, 0x05b0, 0x10c0,
- 0x1830, 0x05b0, 0x1840, 0x0870, 0x05b0, 0x05b0, 0x1610, 0x1850,
- 0x05b0, 0x1860, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1870,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1620, 0x1630,
+ 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1640, 0x1650,
+ 0x05b0, 0x13b0, 0x1660, 0x1660, 0x1660, 0x1660, 0x0580, 0x0580,
+ 0x1670, 0x1680, 0x1690, 0x16a0, 0x16b0, 0x0860, 0x0860, 0x0860,
+ 0x16c0, 0x16d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16e0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16f0, 0x0860, 0x1700,
+ 0x1710, 0x1720, 0x1730, 0x1740, 0x1750, 0x16c0, 0x1760, 0x16c0,
+ 0x1770, 0x1780, 0x1790, 0x16c0, 0x1760, 0x16c0, 0x1770, 0x17a0,
+ 0x17b0, 0x16c0, 0x17c0, 0x17d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x17e0, 0x16c0, 0x16c0, 0x17f0, 0x16c0, 0x16c0, 0x16e0, 0x1800,
+ 0x16c0, 0x17e0, 0x16c0, 0x16c0, 0x1810, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x17e0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
+ 0x16c0, 0x1820, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x1830, 0x16c0, 0x16c0, 0x16c0, 0x1840, 0x05b0, 0x05b0, 0x10c0,
+ 0x1850, 0x05b0, 0x1860, 0x0860, 0x05b0, 0x05b0, 0x1620, 0x1870,
+ 0x05b0, 0x1880, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1890,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x0840, 0x0a50, 0x0870, 0x0870, 0x0870, 0x1880,
- 0x1890, 0x05b0, 0x18a0, 0x18b0, 0x05b0, 0x05b0, 0x05b0, 0x18c0,
- 0x18d0, 0x05b0, 0x05b0, 0x1020, 0x18e0, 0x0f10, 0x0580, 0x18f0,
- 0x07b0, 0x05b0, 0x1900, 0x05b0, 0x1910, 0x1920, 0x0da0, 0x1930,
- 0x08b0, 0x05b0, 0x05b0, 0x1940, 0x1950, 0x1960, 0x0c20, 0x1970,
- 0x05b0, 0x05b0, 0x1980, 0x1990, 0x19a0, 0x19b0, 0x0c20, 0x0c20,
- 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19c0, 0x19d0, 0x0760, 0x19e0,
- 0x19f0, 0x1a00, 0x1650, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a10, 0x0f10,
- 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20,
- 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50,
- 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40,
- 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60,
- 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40,
- 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20,
- 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50,
- 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40,
- 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60,
- 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a70, 0x0db0, 0x1a80, 0x0dd0, 0x0dd0, 0x1a90,
- 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0,
- 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0,
- 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
- 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
- 0x13b0, 0x1ab0, 0x1ac0, 0x1ad0, 0x1ae0, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1af0, 0x1b00, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x1b10, 0x0870, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x1b20, 0x05b0, 0x05b0, 0x0a50, 0x0870, 0x0870, 0x1b30,
- 0x0580, 0x1b40, 0x0580, 0x1b50, 0x1b60, 0x1b70, 0x1b80, 0x1130,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1b90,
- 0x1ba0, 0x1bb0, 0x16b0, 0x1bc0, 0x16b0, 0x1bd0, 0x1be0, 0x1bf0,
- 0x16b0, 0x1c00, 0x16b0, 0x17b0, 0x1c10, 0x1c20, 0x1c30, 0x1c40,
+ 0x05b0, 0x05b0, 0x0840, 0x0a40, 0x0860, 0x0860, 0x0860, 0x18a0,
+ 0x18b0, 0x05b0, 0x18c0, 0x18d0, 0x05b0, 0x05b0, 0x05b0, 0x18e0,
+ 0x18f0, 0x05b0, 0x05b0, 0x1020, 0x1900, 0x0f10, 0x0580, 0x1910,
+ 0x07b0, 0x05b0, 0x1920, 0x05b0, 0x1930, 0x1940, 0x0da0, 0x1950,
+ 0x08a0, 0x05b0, 0x05b0, 0x1960, 0x1970, 0x1980, 0x0c20, 0x1990,
+ 0x05b0, 0x05b0, 0x19a0, 0x19b0, 0x19c0, 0x19d0, 0x0c20, 0x0c20,
+ 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19e0, 0x19f0, 0x0760, 0x1a00,
+ 0x1a10, 0x1a20, 0x1660, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a30, 0x0f10,
+ 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40,
+ 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70,
+ 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60,
+ 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80,
+ 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60,
+ 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40,
+ 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70,
+ 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60,
+ 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80,
+ 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a90, 0x0db0, 0x1aa0, 0x0dd0, 0x0dd0, 0x1ab0,
+ 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0,
+ 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0,
+ 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
+ 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
+ 0x13b0, 0x1ad0, 0x1ae0, 0x1af0, 0x1b00, 0x05b0, 0x05b0, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1600, 0x1b10, 0x05b0, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x1b20, 0x0860, 0x05b0, 0x05b0, 0x05b0,
+ 0x05b0, 0x1b30, 0x05b0, 0x05b0, 0x0a40, 0x0860, 0x0860, 0x1b40,
+ 0x0580, 0x1b50, 0x0580, 0x1b60, 0x1b70, 0x1b80, 0x1b90, 0x1130,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1ba0,
+ 0x1bb0, 0x1bc0, 0x16c0, 0x1bd0, 0x16c0, 0x1be0, 0x1bf0, 0x1c00,
+ 0x16c0, 0x1c10, 0x16c0, 0x17e0, 0x1c20, 0x1c30, 0x1c40, 0x1c50,
/* values */
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0022, 0x0003, 0x0001, 0x0001, 0x0002, 0x0004, 0x0004,
@@ -277,8 +277,6 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x001d, 0x0011,
- 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
@@ -310,7 +308,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x0004, 0x0004, 0x0011, 0x0011, 0x001c, 0x001c,
0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
0x001d, 0x001d, 0x001b, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001b, 0x001d, 0x001a, 0x001d, 0x001d, 0x0011, 0x0011,
+ 0x001d, 0x001b, 0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d,
0x001d, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x0011,
@@ -332,7 +330,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0011, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+ 0x0011, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0004,
@@ -375,8 +373,10 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0011,
0x0011, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004,
+ 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, 0x0004,
0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d,
0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0004,
@@ -551,10 +551,10 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0004,
+ 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0011,
0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
- 0x0004, 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+ 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011,
+ 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
@@ -638,9 +638,11 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0012, 0x0013, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
@@ -711,7 +713,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d,
@@ -733,8 +735,8 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0012, 0x0013, 0x0022, 0x0022, 0x0022, 0x0022, 0x0017, 0x001d,
0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0025, 0x0025, 0x0022, 0x0022, 0x0022, 0x001d,
- 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
- 0x0022, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0011, 0x0011, 0x0011,
+ 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
@@ -768,10 +770,12 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
- 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011,
0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
@@ -871,8 +875,6 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0011, 0x0026, 0x0011,
0x0026, 0x0026, 0x0011, 0x0026, 0x0026, 0x0011, 0x0026, 0x0026,
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
- 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
diff --git a/dlls/dwrite/mirror.c b/dlls/dwrite/mirror.c
index 23dab536c4..daadfa8054 100644
--- a/dlls/dwrite/mirror.c
+++ b/dlls/dwrite/mirror.c
@@ -1,5 +1,5 @@
/* Unicode BiDi mirroring */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/BidiMirroring.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/BidiMirroring.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/dwrite/scripts.c b/dlls/dwrite/scripts.c
index ce139f2932..5d7846afdf 100644
--- a/dlls/dwrite/scripts.c
+++ b/dlls/dwrite/scripts.c
@@ -1,63 +1,63 @@
/* Unicode Script IDs */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/Scripts.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/Scripts.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
+const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6880] =
{
/* 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, 0x0300, 0x0300, 0x0310, 0x0300, 0x0300, 0x0300,
- 0x0320, 0x0300, 0x0300, 0x0330, 0x0340, 0x0350, 0x0360, 0x0370,
- 0x0380, 0x0390, 0x03a0, 0x03b0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03d0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03e0,
- 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x0400, 0x0410, 0x0420, 0x0430,
- 0x0440, 0x0450, 0x0460, 0x0470, 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, 0x0480,
- 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490,
- 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490,
- 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490,
- 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490,
- 0x0490, 0x03c0, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0,
+ 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0490,
+ 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0,
+ 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0,
+ 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0,
+ 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0,
+ 0x04a0, 0x03d0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500,
/* level 2 offsets */
- 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, 0x07c0, 0x07d0,
- 0x07d0, 0x07d0, 0x06b0, 0x07e0, 0x07d0, 0x07f0, 0x0800, 0x06b0,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0520, 0x0530, 0x0520, 0x0530,
+ 0x0510, 0x0510, 0x0540, 0x0540, 0x0550, 0x0560, 0x0550, 0x0560,
+ 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550,
+ 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550,
+ 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550,
+ 0x0550, 0x0550, 0x0550, 0x0570, 0x0510, 0x0510, 0x0580, 0x0510,
+ 0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x05a0,
+ 0x05b0, 0x05c0, 0x05d0, 0x05c0, 0x05c0, 0x05c0, 0x05e0, 0x05c0,
+ 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0,
+ 0x0600, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0,
+ 0x05f0, 0x05f0, 0x05f0, 0x0610, 0x0620, 0x0630, 0x0610, 0x0620,
+ 0x0640, 0x0650, 0x0660, 0x0660, 0x0670, 0x0660, 0x0680, 0x0690,
+ 0x06a0, 0x06b0, 0x06c0, 0x06c0, 0x06d0, 0x06e0, 0x06c0, 0x06f0,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x0700, 0x06c0, 0x06c0,
+ 0x0710, 0x0720, 0x0720, 0x0720, 0x0730, 0x06c0, 0x06c0, 0x06c0,
+ 0x0740, 0x0740, 0x0740, 0x0750, 0x0760, 0x0760, 0x0760, 0x0770,
+ 0x0780, 0x0780, 0x0790, 0x07a0, 0x07b0, 0x07c0, 0x07d0, 0x07d0,
+ 0x07d0, 0x07d0, 0x06c0, 0x07e0, 0x07d0, 0x07f0, 0x0800, 0x06c0,
0x0810, 0x0810, 0x0810, 0x0810, 0x0810, 0x0820, 0x0830, 0x0810,
0x0840, 0x0850, 0x0860, 0x0870, 0x0880, 0x0890, 0x08a0, 0x08b0,
0x08c0, 0x08d0, 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930,
@@ -66,108 +66,110 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
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, 0x0be0, 0x0bf0, 0x0c00, 0x0c10, 0x0be0,
- 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0c60, 0x0c70, 0x0c80, 0x0c90,
- 0x0ca0, 0x0cb0, 0x0cb0, 0x0cc0, 0x0cb0, 0x0cd0, 0x07d0, 0x07d0,
- 0x0ce0, 0x0cf0, 0x0d00, 0x0d10, 0x0d20, 0x0d30, 0x07d0, 0x07d0,
- 0x0d40, 0x0d40, 0x0d40, 0x0d40, 0x0d50, 0x0d40, 0x0d60, 0x0d70,
- 0x0d40, 0x0d50, 0x0d40, 0x0d80, 0x0d80, 0x0d90, 0x07d0, 0x07d0,
- 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0,
- 0x0da0, 0x0da0, 0x0db0, 0x0db0, 0x0dc0, 0x0db0, 0x0db0, 0x0dd0,
- 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0,
- 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0,
- 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0e00, 0x0e10, 0x0df0, 0x0df0,
- 0x0e00, 0x0df0, 0x0df0, 0x0e20, 0x0e30, 0x0e40, 0x0df0, 0x0df0,
- 0x0df0, 0x0e30, 0x0df0, 0x0df0, 0x0df0, 0x0e50, 0x0df0, 0x0e60,
- 0x0df0, 0x0e70, 0x0e80, 0x0e80, 0x0e80, 0x0e80, 0x0e80, 0x0e90,
- 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0,
- 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0,
- 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0,
- 0x0eb0, 0x0ec0, 0x0ed0, 0x0ed0, 0x0ed0, 0x0ed0, 0x0ee0, 0x0ef0,
- 0x0f00, 0x0f10, 0x0f20, 0x0f30, 0x0f40, 0x0f50, 0x0f60, 0x0f70,
- 0x0f80, 0x0f80, 0x0f80, 0x0f80, 0x0f80, 0x0f90, 0x0fa0, 0x0fa0,
- 0x0fb0, 0x0fc0, 0x0fd0, 0x0fd0, 0x0fd0, 0x0fd0, 0x0fd0, 0x0fe0,
- 0x0fd0, 0x0fd0, 0x0ff0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x1000,
- 0x1010, 0x1020, 0x1030, 0x1030, 0x1040, 0x1050, 0x1060, 0x1070,
- 0x1080, 0x1080, 0x1090, 0x1080, 0x10a0, 0x10b0, 0x0f80, 0x0f80,
- 0x10c0, 0x10d0, 0x10e0, 0x10e0, 0x10e0, 0x10f0, 0x10e0, 0x1100,
- 0x1110, 0x1110, 0x1120, 0x1130, 0x07d0, 0x07d0, 0x07d0, 0x07d0,
- 0x1140, 0x1140, 0x1140, 0x1140, 0x1150, 0x1140, 0x1140, 0x1160,
- 0x1170, 0x1170, 0x1170, 0x1170, 0x1180, 0x1180, 0x1180, 0x1190,
- 0x11a0, 0x11a0, 0x11a0, 0x11b0, 0x11c0, 0x11d0, 0x11d0, 0x11d0,
- 0x11e0, 0x07d0, 0x07d0, 0x07d0, 0x11f0, 0x1200, 0x1210, 0x1220,
- 0x0540, 0x0540, 0x1230, 0x0540, 0x0540, 0x1240, 0x1250, 0x1260,
- 0x0540, 0x0540, 0x0540, 0x1270, 0x0580, 0x0580, 0x0580, 0x1280,
- 0x05b0, 0x1290, 0x05b0, 0x05b0, 0x1290, 0x12a0, 0x05b0, 0x12b0,
- 0x05b0, 0x05b0, 0x05b0, 0x12c0, 0x12c0, 0x12d0, 0x05b0, 0x12e0,
- 0x12f0, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x1300, 0x1310,
- 0x1320, 0x1330, 0x0500, 0x0500, 0x07d0, 0x0580, 0x0580, 0x1340,
- 0x0500, 0x0500, 0x1350, 0x1360, 0x1370, 0x0500, 0x0540, 0x0540,
- 0x1380, 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, 0x1390, 0x07d0, 0x13a0, 0x07d0, 0x0500, 0x0500,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
- 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0,
- 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x13c0,
- 0x0500, 0x13d0, 0x0500, 0x13e0, 0x13f0, 0x1400, 0x1410, 0x07d0,
- 0x1420, 0x1420, 0x1430, 0x1420, 0x1420, 0x1430, 0x0540, 0x0540,
- 0x1440, 0x1440, 0x1440, 0x1440, 0x1440, 0x1440, 0x1440, 0x1450,
- 0x0db0, 0x0db0, 0x0dc0, 0x1460, 0x1460, 0x1460, 0x1470, 0x1480,
- 0x0df0, 0x1490, 0x14a0, 0x14a0, 0x14a0, 0x14a0, 0x05e0, 0x05e0,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x14b0, 0x07d0, 0x07d0, 0x07d0,
- 0x14c0, 0x14d0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14e0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14f0, 0x07d0, 0x1500,
- 0x1510, 0x0500, 0x1520, 0x1530, 0x1540, 0x1550, 0x1550, 0x1550,
- 0x1550, 0x1560, 0x1570, 0x1580, 0x1580, 0x1580, 0x1580, 0x1590,
- 0x15a0, 0x15b0, 0x15c0, 0x15d0, 0x0de0, 0x0de0, 0x0de0, 0x0de0,
- 0x15e0, 0x0500, 0x15b0, 0x15f0, 0x0500, 0x0500, 0x1600, 0x1580,
- 0x0de0, 0x15e0, 0x0500, 0x0500, 0x0500, 0x0500, 0x0de0, 0x1610,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x1580, 0x1580, 0x1620,
- 0x1580, 0x1580, 0x1580, 0x1580, 0x1580, 0x1630, 0x0500, 0x0500,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14f0, 0x0500, 0x0500, 0x0500, 0x0500,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x1640, 0x07d0,
+ 0x0bc0, 0x0bd0, 0x0be0, 0x0bf0, 0x0c00, 0x0c10, 0x0c20, 0x0be0,
+ 0x0c30, 0x0c40, 0x0c50, 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0,
+ 0x0cb0, 0x0cc0, 0x0cc0, 0x0cd0, 0x0cc0, 0x0ce0, 0x07d0, 0x07d0,
+ 0x0cf0, 0x0d00, 0x0d10, 0x0d20, 0x0d30, 0x0d40, 0x07d0, 0x07d0,
+ 0x0d50, 0x0d50, 0x0d50, 0x0d50, 0x0d60, 0x0d50, 0x0d70, 0x0d80,
+ 0x0d50, 0x0d60, 0x0d50, 0x0d90, 0x0d90, 0x0da0, 0x07d0, 0x07d0,
+ 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0,
+ 0x0db0, 0x0db0, 0x0dc0, 0x0dc0, 0x0dd0, 0x0dc0, 0x0dc0, 0x0de0,
+ 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0,
+ 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0,
+ 0x0e00, 0x0e00, 0x0e00, 0x0e00, 0x0e10, 0x0e20, 0x0e00, 0x0e00,
+ 0x0e10, 0x0e00, 0x0e00, 0x0e30, 0x0e40, 0x0e50, 0x0e00, 0x0e00,
+ 0x0e00, 0x0e40, 0x0e00, 0x0e00, 0x0e00, 0x0e60, 0x0e00, 0x0e70,
+ 0x0e00, 0x0e80, 0x0e90, 0x0e90, 0x0e90, 0x0e90, 0x0e90, 0x0ea0,
+ 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0,
+ 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0,
+ 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0,
+ 0x0ec0, 0x0ed0, 0x0ee0, 0x0ee0, 0x0ee0, 0x0ee0, 0x0ef0, 0x0f00,
+ 0x0f10, 0x0f20, 0x0f30, 0x0f40, 0x0f50, 0x0f60, 0x0f70, 0x0f80,
+ 0x0f90, 0x0f90, 0x0f90, 0x0f90, 0x0f90, 0x0fa0, 0x0fb0, 0x0fb0,
+ 0x0fc0, 0x0fd0, 0x0fe0, 0x0fe0, 0x0fe0, 0x0fe0, 0x0fe0, 0x0ff0,
+ 0x0fe0, 0x0fe0, 0x1000, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x1010,
+ 0x1020, 0x1030, 0x1040, 0x1040, 0x1050, 0x1060, 0x1070, 0x1080,
+ 0x1090, 0x1090, 0x10a0, 0x1090, 0x10b0, 0x10c0, 0x0f90, 0x0f90,
+ 0x10d0, 0x10e0, 0x10f0, 0x10f0, 0x10f0, 0x1100, 0x10f0, 0x1110,
+ 0x1120, 0x1120, 0x1130, 0x1140, 0x07d0, 0x07d0, 0x07d0, 0x07d0,
+ 0x1150, 0x1150, 0x1150, 0x1150, 0x1160, 0x1150, 0x1150, 0x1170,
+ 0x1180, 0x1180, 0x1180, 0x1180, 0x1190, 0x1190, 0x1190, 0x11a0,
+ 0x11b0, 0x11b0, 0x11b0, 0x11c0, 0x11d0, 0x11e0, 0x11e0, 0x11e0,
+ 0x11f0, 0x07d0, 0x07d0, 0x07d0, 0x1200, 0x1210, 0x1220, 0x1230,
+ 0x0550, 0x0550, 0x1240, 0x0550, 0x0550, 0x1250, 0x1260, 0x1270,
+ 0x0550, 0x0550, 0x0550, 0x1280, 0x0590, 0x0590, 0x0590, 0x1290,
+ 0x05c0, 0x12a0, 0x05c0, 0x05c0, 0x12a0, 0x12b0, 0x05c0, 0x12c0,
+ 0x05c0, 0x05c0, 0x05c0, 0x12d0, 0x12d0, 0x12e0, 0x05c0, 0x12f0,
+ 0x1300, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x1310, 0x1320,
+ 0x1330, 0x1340, 0x0510, 0x1330, 0x07d0, 0x0590, 0x0590, 0x1350,
+ 0x0510, 0x0510, 0x1360, 0x1370, 0x1380, 0x0510, 0x0550, 0x0550,
+ 0x1390, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x1330,
+ 0x0510, 0x0510, 0x13a0, 0x07d0, 0x13b0, 0x07d0, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0,
+ 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x13d0,
+ 0x0510, 0x13e0, 0x0510, 0x13f0, 0x1400, 0x1410, 0x1420, 0x07d0,
+ 0x1430, 0x1430, 0x1440, 0x1430, 0x1430, 0x1440, 0x0550, 0x0550,
+ 0x1450, 0x1450, 0x1450, 0x1450, 0x1450, 0x1450, 0x1450, 0x1460,
+ 0x0dc0, 0x0dc0, 0x0dd0, 0x1470, 0x1470, 0x1470, 0x1480, 0x1490,
+ 0x0e00, 0x14a0, 0x14b0, 0x14b0, 0x14b0, 0x14b0, 0x05f0, 0x05f0,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x14c0, 0x07d0, 0x07d0, 0x07d0,
+ 0x14d0, 0x14e0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14f0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x1500, 0x07d0, 0x1510,
+ 0x1520, 0x0510, 0x1530, 0x1540, 0x1550, 0x1560, 0x1560, 0x1560,
+ 0x1560, 0x1570, 0x1580, 0x1590, 0x1590, 0x1590, 0x1590, 0x15a0,
+ 0x15b0, 0x15c0, 0x15d0, 0x15e0, 0x0df0, 0x0df0, 0x0df0, 0x0df0,
+ 0x15f0, 0x0510, 0x15c0, 0x1600, 0x0510, 0x0510, 0x1610, 0x1590,
+ 0x0df0, 0x15f0, 0x0510, 0x0510, 0x0510, 0x0510, 0x0df0, 0x1620,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x1590, 0x1590, 0x1630,
+ 0x1590, 0x1590, 0x1590, 0x1590, 0x1590, 0x1640, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x1500, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x1500, 0x07d0, 0x07d0,
0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650,
0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650,
0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650,
0x1660, 0x1650, 0x1650, 0x1650, 0x1670, 0x1680, 0x1680, 0x1680,
0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690,
0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690,
- 0x1690, 0x1690, 0x16a0, 0x07d0, 0x05e0, 0x05e0, 0x05e0, 0x05e0,
- 0x05e0, 0x05e0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16c0,
- 0x0500, 0x0500, 0x16d0, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540,
- 0x16e0, 0x0540, 0x16f0, 0x1700, 0x07d0, 0x07d0, 0x07d0, 0x1710,
- 0x1720, 0x1720, 0x1730, 0x14b0, 0x1740, 0x1740, 0x1740, 0x1750,
- 0x1760, 0x1760, 0x1760, 0x1760, 0x1770, 0x1780, 0x0810, 0x1790,
- 0x17a0, 0x17a0, 0x17b0, 0x17c0, 0x17c0, 0x17d0, 0x0de0, 0x17e0,
- 0x17f0, 0x17f0, 0x17f0, 0x17f0, 0x1800, 0x1810, 0x0da0, 0x1820,
- 0x1830, 0x1830, 0x1830, 0x1840, 0x1850, 0x1860, 0x0da0, 0x0da0,
- 0x1870, 0x1870, 0x1870, 0x1870, 0x1880, 0x1890, 0x18a0, 0x18b0,
- 0x18c0, 0x18d0, 0x14a0, 0x0540, 0x0540, 0x18e0, 0x18f0, 0x0e80,
- 0x0e80, 0x0e80, 0x0e80, 0x0e80, 0x18a0, 0x18a0, 0x1900, 0x1910,
- 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0,
- 0x0de0, 0x0de0, 0x1920, 0x0de0, 0x1930, 0x0de0, 0x0de0, 0x1940,
+ 0x1690, 0x1690, 0x16a0, 0x07d0, 0x05f0, 0x05f0, 0x05f0, 0x05f0,
+ 0x05f0, 0x05f0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16c0,
+ 0x0510, 0x0510, 0x16d0, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550,
+ 0x16e0, 0x0550, 0x16f0, 0x1700, 0x07d0, 0x07d0, 0x07d0, 0x1710,
+ 0x1720, 0x1720, 0x1730, 0x1740, 0x1750, 0x1750, 0x1750, 0x1760,
+ 0x1770, 0x1770, 0x1770, 0x1770, 0x1780, 0x1790, 0x0810, 0x17a0,
+ 0x17b0, 0x17b0, 0x17c0, 0x17d0, 0x17d0, 0x17e0, 0x0df0, 0x17f0,
+ 0x1800, 0x1800, 0x1800, 0x1800, 0x1810, 0x1820, 0x0db0, 0x1830,
+ 0x1840, 0x1840, 0x1840, 0x1850, 0x1860, 0x1870, 0x0db0, 0x0db0,
+ 0x1880, 0x1880, 0x1880, 0x1880, 0x1890, 0x18a0, 0x18b0, 0x18c0,
+ 0x18d0, 0x18e0, 0x14b0, 0x0550, 0x0550, 0x18f0, 0x1900, 0x0e90,
+ 0x0e90, 0x0e90, 0x0e90, 0x0e90, 0x18b0, 0x18b0, 0x1910, 0x1920,
+ 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0,
+ 0x0df0, 0x0df0, 0x1930, 0x0df0, 0x1940, 0x0df0, 0x0df0, 0x1950,
0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0,
0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x1950, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x1960, 0x07d0, 0x07d0,
- 0x1970, 0x1980, 0x0650, 0x1990, 0x19a0, 0x06b0, 0x06b0, 0x06b0,
- 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x19b0, 0x19c0, 0x06b0, 0x06b0,
- 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0,
- 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0,
- 0x06b0, 0x06b0, 0x06b0, 0x19d0, 0x07d0, 0x06b0, 0x06b0, 0x06b0,
- 0x06b0, 0x19e0, 0x06b0, 0x06b0, 0x19f0, 0x07d0, 0x07d0, 0x1a00,
- 0x0580, 0x14b0, 0x1a10, 0x0500, 0x0500, 0x1a20, 0x1a30, 0x1a40,
- 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x1a50,
- 0x1a60, 0x0500, 0x0510, 0x0520, 0x0510, 0x0520, 0x1a70, 0x1570,
- 0x1580, 0x1a80, 0x0de0, 0x15e0, 0x1a90, 0x1aa0, 0x1ab0, 0x1ac0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x1960, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x1970, 0x07d0, 0x07d0,
+ 0x1980, 0x1990, 0x0660, 0x19a0, 0x19b0, 0x06c0, 0x06c0, 0x06c0,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x19c0, 0x19d0, 0x06c0, 0x06c0,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0,
+ 0x06c0, 0x06c0, 0x06c0, 0x19e0, 0x07d0, 0x06c0, 0x06c0, 0x06c0,
+ 0x06c0, 0x19f0, 0x06c0, 0x06c0, 0x1a00, 0x07d0, 0x07d0, 0x1a10,
+ 0x0590, 0x1740, 0x1a20, 0x0510, 0x0510, 0x1a30, 0x1a40, 0x1a50,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x1a60,
+ 0x1a70, 0x0510, 0x0520, 0x0530, 0x0520, 0x0530, 0x1a80, 0x1580,
+ 0x1590, 0x1a90, 0x0df0, 0x15f0, 0x1aa0, 0x1ab0, 0x1ac0, 0x1ad0,
/* values */
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
@@ -222,7 +224,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0001, 0x0003, 0x0003,
0x0003, 0x0003, 0x0003, 0x0003, 0x0001, 0x0003, 0x0003, 0x0003,
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
- 0x0003, 0x0003, 0x0003, 0x0001, 0x0003, 0x0000, 0x0003, 0x0001,
+ 0x0003, 0x0003, 0x0003, 0x0001, 0x0001, 0x0000, 0x0003, 0x0001,
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
0x0001, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
@@ -257,8 +259,6 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039,
0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039,
0x0039, 0x0039, 0x0039, 0x0039, 0x0000, 0x0000, 0x0039, 0x0000,
- 0x0051, 0x0051, 0x0051, 0x0051, 0x0051, 0x0051, 0x0051, 0x0051,
- 0x0051, 0x0051, 0x0051, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0000, 0x0003, 0x0003,
@@ -288,7 +288,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0009, 0x0009, 0x0009, 0x0009, 0x0000, 0x0000, 0x0009, 0x0009,
0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009,
0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009,
- 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0000, 0x0000,
+ 0x0009, 0x0009, 0x0009, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0020, 0x0020, 0x0020, 0x0000, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
0x0020, 0x0000, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
@@ -320,7 +320,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x001f, 0x001f, 0x001f, 0x001f, 0x0000, 0x0000, 0x001f, 0x001f,
0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f,
0x001f, 0x001f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f,
+ 0x0000, 0x001f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0045, 0x0045, 0x0045, 0x0000, 0x0045, 0x0045, 0x0045,
0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x0000, 0x0000, 0x0045,
0x0045, 0x0000, 0x0000, 0x0045, 0x0045, 0x0045, 0x0045, 0x0045,
@@ -385,12 +385,14 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,
0x0000, 0x002b, 0x002b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0038, 0x0038, 0x0038, 0x0038, 0x0000, 0x0038, 0x0038, 0x0038,
+ 0x0000, 0x0038, 0x0038, 0x0038, 0x0000, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0000, 0x0038, 0x0038,
0x0038, 0x0000, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
+ 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
+ 0x0038, 0x0038, 0x0038, 0x0000, 0x0000, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0000, 0x0038, 0x0038,
0x0038, 0x0000, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
0x0000, 0x0000, 0x0000, 0x0000, 0x0038, 0x0038, 0x0038, 0x0038,
@@ -589,7 +591,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
0x0002, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001,
- 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001, 0x0001,
+ 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001, 0x0000,
0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0016, 0x0031, 0x0031, 0x0031, 0x0031,
@@ -601,8 +603,8 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0016, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031,
0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031,
0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x001e,
- 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
- 0x0002, 0x0002, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
+ 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0000, 0x0000,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0000, 0x0000,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
@@ -649,7 +651,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
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, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 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,
@@ -671,8 +673,8 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x0000,
0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x0000,
- 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
- 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
@@ -706,7 +708,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
- 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000,
+ 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, 0x0000,
0x0000, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
@@ -721,8 +723,6 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x0000,
0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
- 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
- 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f,
0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f,
0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f,
@@ -753,6 +753,8 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
0x0050, 0x0050, 0x0050, 0x0050, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+ 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
diff --git a/dlls/dwrite/scripts.h b/dlls/dwrite/scripts.h
index 7202f402e6..bf38988b0a 100644
--- a/dlls/dwrite/scripts.h
+++ b/dlls/dwrite/scripts.h
@@ -1,5 +1,5 @@
/* Unicode Script IDs */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/Scripts.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/Scripts.txt */
/* DO NOT EDIT!! */
enum unicode_script_id {
@@ -141,5 +141,9 @@ enum unicode_script_id {
Script_Osage = 135,
Script_SignWriting = 136,
Script_Tangut = 137,
- Script_LastId = 137
+ Script_Masaram_Gondi = 138,
+ Script_Nushu = 139,
+ Script_Soyombo = 140,
+ Script_Zanabazar_Square = 141,
+ Script_LastId = 141
};
diff --git a/dlls/gdi32/vertical.c b/dlls/gdi32/vertical.c
index 05737604b8..ca4467911c 100644
--- a/dlls/gdi32/vertical.c
+++ b/dlls/gdi32/vertical.c
@@ -1,5 +1,5 @@
/* Unicode Vertical Orientation */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/VerticalOrientation.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/VerticalOrientation.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/usp10/bracket.c b/dlls/usp10/bracket.c
index 1509d572c9..16df6381a6 100644
--- a/dlls/usp10/bracket.c
+++ b/dlls/usp10/bracket.c
@@ -1,5 +1,5 @@
/* Unicode Bidirectional Bracket table */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/BidiBrackets.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/BidiBrackets.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/usp10/indicsyllable.c b/dlls/usp10/indicsyllable.c
index dbdac5d4ae..709b1d4ae8 100644
--- a/dlls/usp10/indicsyllable.c
+++ b/dlls/usp10/indicsyllable.c
@@ -1,11 +1,11 @@
/* Unicode Indic Syllabic Category */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/IndicSyllabicCategory.txt */
-/* and from http://www.unicode.org/Public/10.0.0/ucd/IndicPositionalCategory.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/IndicSyllabicCategory.txt */
+/* and from http://www.unicode.org/Public/11.0.0/ucd/IndicPositionalCategory.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
+const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3296] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110,
@@ -53,41 +53,41 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500, 0x0400, 0x0270,
0x0510, 0x0520, 0x0370, 0x0530, 0x0540, 0x0550, 0x0330, 0x0270,
0x0560, 0x0520, 0x0370, 0x0570, 0x0580, 0x0590, 0x0330, 0x05a0,
- 0x05b0, 0x0520, 0x02f0, 0x05c0, 0x05d0, 0x05e0, 0x0330, 0x05f0,
- 0x0600, 0x0610, 0x02f0, 0x0620, 0x0630, 0x0640, 0x0400, 0x0650,
- 0x0660, 0x02f0, 0x0670, 0x0680, 0x0690, 0x0290, 0x0270, 0x0270,
- 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x06f0, 0x0270, 0x0270,
- 0x0270, 0x0700, 0x0710, 0x0720, 0x0730, 0x02f0, 0x0740, 0x0750,
- 0x0760, 0x0770, 0x0780, 0x0790, 0x07a0, 0x0270, 0x0270, 0x0270,
- 0x02f0, 0x02f0, 0x07b0, 0x07c0, 0x07d0, 0x07e0, 0x07f0, 0x0800,
- 0x0810, 0x0820, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0830, 0x0840, 0x0850, 0x0840, 0x0850, 0x0860, 0x0830, 0x0870,
- 0x02f0, 0x02f0, 0x0880, 0x0890, 0x08a0, 0x08b0, 0x0290, 0x0270,
- 0x08c0, 0x0670, 0x08d0, 0x08e0, 0x0400, 0x02f0, 0x08f0, 0x0900,
- 0x02f0, 0x02f0, 0x0910, 0x0920, 0x0930, 0x0290, 0x0270, 0x0270,
- 0x02f0, 0x0940, 0x02f0, 0x02f0, 0x0950, 0x0960, 0x0970, 0x0980,
+ 0x0560, 0x0520, 0x02f0, 0x05b0, 0x05c0, 0x05d0, 0x0330, 0x05e0,
+ 0x05f0, 0x0600, 0x02f0, 0x0610, 0x0620, 0x0630, 0x0400, 0x0640,
+ 0x0650, 0x02f0, 0x0660, 0x0670, 0x0680, 0x0290, 0x0270, 0x0270,
+ 0x0690, 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x0270, 0x0270,
+ 0x0270, 0x06f0, 0x0700, 0x0710, 0x0720, 0x02f0, 0x0730, 0x0740,
+ 0x0750, 0x0760, 0x0770, 0x0780, 0x0790, 0x0270, 0x0270, 0x0270,
+ 0x02f0, 0x02f0, 0x07a0, 0x07b0, 0x07c0, 0x07d0, 0x07e0, 0x07f0,
+ 0x0800, 0x0810, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
+ 0x0820, 0x0830, 0x0840, 0x0830, 0x0840, 0x0850, 0x0820, 0x0860,
+ 0x02f0, 0x02f0, 0x0870, 0x0880, 0x0890, 0x08a0, 0x0290, 0x0270,
+ 0x08b0, 0x0660, 0x08c0, 0x08d0, 0x0400, 0x02f0, 0x08e0, 0x08f0,
+ 0x02f0, 0x02f0, 0x0900, 0x0910, 0x0920, 0x0290, 0x0270, 0x0270,
+ 0x02f0, 0x0930, 0x02f0, 0x02f0, 0x0940, 0x0950, 0x0960, 0x0970,
0x0290, 0x0290, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0990, 0x0850, 0x02f0, 0x09a0, 0x09b0, 0x0290, 0x09c0, 0x09d0,
- 0x09e0, 0x02f0, 0x09f0, 0x0a00, 0x02f0, 0x02f0, 0x0a10, 0x0a20,
- 0x02f0, 0x02f0, 0x0a30, 0x0a40, 0x0a50, 0x0270, 0x0270, 0x0270,
- 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a60, 0x0a70, 0x0a80,
+ 0x0980, 0x0840, 0x02f0, 0x0990, 0x09a0, 0x0290, 0x09b0, 0x09c0,
+ 0x09d0, 0x02f0, 0x09e0, 0x09f0, 0x02f0, 0x02f0, 0x0a00, 0x0a10,
+ 0x02f0, 0x02f0, 0x0a20, 0x0a30, 0x0a40, 0x0270, 0x0270, 0x0270,
+ 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a50, 0x0a60, 0x0a70,
0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a90,
- 0x0aa0, 0x0ab0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0ac0,
- 0x0ad0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
+ 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a80,
+ 0x0a90, 0x0aa0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0ab0,
+ 0x0ac0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0270, 0x0270, 0x0270, 0x0270, 0x0ae0, 0x0270, 0x0270, 0x0270,
- 0x0af0, 0x02f0, 0x0b00, 0x0270, 0x02f0, 0x0b10, 0x0b20, 0x0b30,
- 0x0b40, 0x0b50, 0x02f0, 0x0b60, 0x0b70, 0x0290, 0x0b80, 0x0b90,
- 0x0ba0, 0x02f0, 0x0bb0, 0x02f0, 0x0bc0, 0x0bd0, 0x0270, 0x0270,
- 0x0be0, 0x02f0, 0x02f0, 0x0bf0, 0x0c00, 0x0290, 0x0c10, 0x0c20,
- 0x0c30, 0x02f0, 0x0c40, 0x0c50, 0x0c60, 0x0290, 0x02f0, 0x0c70,
- 0x02f0, 0x02f0, 0x02f0, 0x0c80, 0x0c90, 0x0270, 0x0ca0, 0x0cb0,
+ 0x0270, 0x0270, 0x0270, 0x0270, 0x0ad0, 0x0270, 0x0270, 0x0270,
+ 0x0ae0, 0x02f0, 0x0af0, 0x0270, 0x02f0, 0x0b00, 0x0b10, 0x0b20,
+ 0x0b30, 0x0b40, 0x02f0, 0x0b50, 0x0b60, 0x0290, 0x0b70, 0x0b80,
+ 0x0b90, 0x02f0, 0x0ba0, 0x02f0, 0x0bb0, 0x0bc0, 0x0270, 0x0270,
+ 0x0bd0, 0x02f0, 0x02f0, 0x0be0, 0x0bf0, 0x0290, 0x0c00, 0x0c10,
+ 0x0c20, 0x02f0, 0x0c30, 0x0c40, 0x0c50, 0x0290, 0x02f0, 0x0c60,
+ 0x02f0, 0x02f0, 0x02f0, 0x0c70, 0x0c80, 0x0270, 0x0c90, 0x0ca0,
0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0270, 0x0270, 0x0270, 0x0270, 0x0cc0, 0x0cd0, 0x0ce0, 0x0290,
+ 0x0270, 0x0270, 0x0270, 0x0270, 0x0cb0, 0x0cc0, 0x0cd0, 0x0290,
/* values */
0x5f00, 0x9c00, 0x9500, 0x9500, 0x8600, 0x8600, 0x8600, 0x8600,
- 0x7e00, 0x6e00, 0x6c00, 0x6000, 0x5100, 0x3c00, 0x2600, 0x1900,
+ 0x7e00, 0x6e00, 0x5d00, 0x5100, 0x4200, 0x2d00, 0x1700, 0x0a00,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -129,7 +129,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0107,
0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a,
0x000a, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0501, 0x0501, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006,
0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
0x000a, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x0000,
@@ -151,7 +151,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0107, 0x0607, 0x0607, 0x0607, 0x0607, 0x0507, 0x0000, 0x0507,
0x0507, 0x0007, 0x0000, 0x0107, 0x0107, 0x0605, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x000a, 0x0519, 0x0519, 0x0519, 0x0504, 0x0504, 0x0504,
+ 0x0000, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x000a, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x000a,
0x000a, 0x000a, 0x0000, 0x0000, 0x0604, 0x0003, 0x0107, 0x0507,
0x0107, 0x0607, 0x0607, 0x0607, 0x0607, 0x0000, 0x0000, 0x0207,
@@ -192,10 +192,8 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x0000,
0x0000, 0x001f, 0x001f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0501, 0x0501, 0x0101, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006,
- 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
- 0x000a, 0x000a, 0x000a, 0x0516, 0x0516, 0x0003, 0x0107, 0x0107,
+ 0x000a, 0x000a, 0x000a, 0x0000, 0x0000, 0x0003, 0x0107, 0x0107,
0x0107, 0x0107, 0x0107, 0x0607, 0x0607, 0x0000, 0x0207, 0x0207,
0x0207, 0x0000, 0x0407, 0x0407, 0x0407, 0x0505, 0x0015, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x000b, 0x000b, 0x000b, 0x0107,
@@ -310,12 +308,12 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0607, 0x0207, 0x0107, 0x0507, 0x0000, 0x0000, 0x0000, 0x0000,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0006, 0x0006, 0x0006,
- 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x020e, 0x060e, 0x010d,
- 0x050f, 0x050f, 0x050c, 0x060d, 0x060d, 0x060d, 0x060d, 0x0000,
+ 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x020e, 0x060e, 0x010f,
+ 0x050f, 0x050f, 0x050f, 0x060f, 0x060f, 0x060f, 0x060f, 0x0000,
0x0017, 0x0107, 0x0507, 0x0107, 0x0107, 0x0507, 0x0507, 0x0507,
0x0507, 0x0607, 0x0607, 0x0507, 0x0607, 0x0107, 0x0207, 0x0207,
- 0x0207, 0x0207, 0x0207, 0x0507, 0x0501, 0x0513, 0x0513, 0x0513,
- 0x0513, 0x0513, 0x0516, 0x0521, 0x0521, 0x0000, 0x0000, 0x0621,
+ 0x0207, 0x0207, 0x0207, 0x0507, 0x0507, 0x0513, 0x0513, 0x0513,
+ 0x0513, 0x0513, 0x0521, 0x0521, 0x0521, 0x0000, 0x0000, 0x0621,
0x0501, 0x0501, 0x0501, 0x050c, 0x0102, 0x0006, 0x0006, 0x0006,
0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
0x000a, 0x000a, 0x000a, 0x000a, 0x0504, 0x0107, 0x0507, 0x0507,
@@ -346,7 +344,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0619, 0x0619, 0x0519, 0x0519, 0x0619, 0x0619, 0x0619, 0x0619,
0x0519, 0x0119, 0x0d00, 0x0d00, 0x0d00, 0x0d00, 0x0d00, 0x0d00,
0x0d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0002, 0x0002, 0x0519, 0x0000, 0x0000, 0x0119,
+ 0x0000, 0x0000, 0x0002, 0x0002, 0x0519, 0x0000, 0x0000, 0x0000,
0x0019, 0x0019, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0521, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -380,7 +378,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519,
0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519,
- 0x0519, 0x0519, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0519, 0x0519, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
@@ -393,7 +391,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0501, 0x0501, 0x050c, 0x0102, 0x0006, 0x0006, 0x0006, 0x0006,
0x0006, 0x000a, 0x000a, 0x000a, 0x0006, 0x0006, 0x0006, 0x000a,
0x000a, 0x000a, 0x000a, 0x0504, 0x0107, 0x0107, 0x0507, 0x0507,
- 0x0607, 0x0607, 0x0207, 0x0207, 0x0507, 0x010d, 0x010e, 0x000e,
+ 0x0607, 0x0607, 0x0207, 0x0207, 0x0507, 0x010d, 0x010e, 0x010e,
0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0507, 0x0000, 0x000a,
diff --git a/dlls/usp10/linebreak.c b/dlls/usp10/linebreak.c
index 56bde66e9e..cd2ca64952 100644
--- a/dlls/usp10/linebreak.c
+++ b/dlls/usp10/linebreak.c
@@ -1,10 +1,10 @@
/* Unicode Line Break Properties */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/LineBreak.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/LineBreak.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
+const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7264] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
@@ -56,22 +56,22 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0790, 0x07a0, 0x07b0,
0x07c0, 0x07d0, 0x05b0, 0x0580, 0x07e0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x07f0, 0x0800, 0x07b0, 0x05b0, 0x0760, 0x0810,
- 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0870,
- 0x0870, 0x0870, 0x05b0, 0x0880, 0x0870, 0x0890, 0x08a0, 0x0580,
- 0x08b0, 0x05b0, 0x05b0, 0x08c0, 0x0580, 0x08d0, 0x08e0, 0x05b0,
- 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950, 0x0960,
- 0x0970, 0x0900, 0x0910, 0x0980, 0x0990, 0x09a0, 0x09b0, 0x09c0,
- 0x09d0, 0x0690, 0x0910, 0x09e0, 0x09f0, 0x0a00, 0x0950, 0x0a10,
- 0x0a20, 0x0900, 0x0910, 0x09e0, 0x0a30, 0x0a40, 0x0950, 0x0a50,
- 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x0ab0, 0x09b0, 0x0ac0,
- 0x0ad0, 0x0ae0, 0x0910, 0x0af0, 0x0b00, 0x0b10, 0x0950, 0x0b20,
- 0x0b30, 0x0ae0, 0x0910, 0x0b40, 0x0b00, 0x0b50, 0x0950, 0x0b60,
- 0x0ad0, 0x0ae0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0950, 0x0ba0,
- 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09b0, 0x0c00,
- 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0870, 0x0870,
- 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0870, 0x0870,
+ 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0860,
+ 0x0860, 0x0860, 0x05b0, 0x0870, 0x0860, 0x0880, 0x0890, 0x0580,
+ 0x08a0, 0x05b0, 0x05b0, 0x08b0, 0x0580, 0x08c0, 0x08d0, 0x05b0,
+ 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950,
+ 0x0960, 0x08f0, 0x0900, 0x0970, 0x0980, 0x0990, 0x09a0, 0x09b0,
+ 0x09c0, 0x0690, 0x0900, 0x09d0, 0x09e0, 0x09f0, 0x0940, 0x0a00,
+ 0x0a10, 0x08f0, 0x0900, 0x09d0, 0x0a20, 0x0a30, 0x0940, 0x0a40,
+ 0x0a50, 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x09a0, 0x0ab0,
+ 0x0ac0, 0x0ad0, 0x0900, 0x0ae0, 0x0af0, 0x0b00, 0x0940, 0x0b10,
+ 0x0b20, 0x0ad0, 0x0900, 0x0b30, 0x0af0, 0x0b40, 0x0940, 0x0b50,
+ 0x0b60, 0x0ad0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0940, 0x0ba0,
+ 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09a0, 0x0c00,
+ 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0860, 0x0860,
+ 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0860, 0x0860,
0x0cc0, 0x0cd0, 0x07b0, 0x0ce0, 0x0cf0, 0x05b0, 0x0d00, 0x0d10,
- 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0870, 0x0870,
+ 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0860, 0x0860,
0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0d70, 0x0c20, 0x0c20, 0x0c20,
0x0c20, 0x0d80, 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0,
0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0db0, 0x0db0,
@@ -86,16 +86,16 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0e70, 0x0e80, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e90, 0x0ea0,
0x0eb0, 0x0ec0, 0x05b0, 0x0ed0, 0x05b0, 0x0ee0, 0x0eb0, 0x0ef0,
0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0f00, 0x0f10, 0x0e50,
- 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a50,
+ 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a40,
0x0f30, 0x05b0, 0x0f40, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f50,
0x05b0, 0x0840, 0x0f60, 0x0f60, 0x0f70, 0x0c20, 0x0f80, 0x0f90,
0x0c20, 0x0c20, 0x0fa0, 0x0c20, 0x0fb0, 0x0fc0, 0x05b0, 0x05b0,
0x05b0, 0x0fd0, 0x0c20, 0x0c20, 0x0c20, 0x0fe0, 0x0c20, 0x0ff0,
- 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0870, 0x0870, 0x0870, 0x0870,
+ 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0860, 0x0860, 0x0860, 0x0860,
0x1010, 0x05b0, 0x05b0, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060,
0x1070, 0x05b0, 0x1080, 0x07b0, 0x05b0, 0x05b0, 0x07f0, 0x1090,
0x05b0, 0x05b0, 0x1020, 0x10a0, 0x10b0, 0x07b0, 0x05b0, 0x10c0,
- 0x0ea0, 0x0870, 0x0870, 0x0870, 0x0a50, 0x10d0, 0x10e0, 0x10f0,
+ 0x0ea0, 0x0860, 0x0860, 0x0860, 0x0a40, 0x10d0, 0x10e0, 0x10f0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x0580, 0x1100,
0x05b0, 0x0e60, 0x05b0, 0x05b0, 0x0e60, 0x1110, 0x05b0, 0x1120,
@@ -108,80 +108,80 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x1320, 0x1330, 0x1340, 0x1350, 0x05b0, 0x05b0, 0x1360, 0x05b0,
0x1370, 0x1380, 0x1390, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x13a0,
- 0x05b0, 0x05b0, 0x13b0, 0x0870, 0x0860, 0x0870, 0x13c0, 0x13c0,
- 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13d0,
- 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x1270, 0x13c0, 0x13c0, 0x13e0,
- 0x13c0, 0x13f0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x05b0,
- 0x1450, 0x1460, 0x05b0, 0x1470, 0x1480, 0x05b0, 0x1490, 0x14a0,
- 0x05b0, 0x14b0, 0x05b0, 0x14c0, 0x14d0, 0x14e0, 0x14f0, 0x1500,
- 0x1510, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1520, 0x1530, 0x1540,
- 0x13c0, 0x1550, 0x05b0, 0x05b0, 0x1560, 0x05b0, 0x1570, 0x05b0,
+ 0x05b0, 0x05b0, 0x13b0, 0x0860, 0x13c0, 0x0860, 0x13d0, 0x13d0,
+ 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13e0,
+ 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x1270, 0x13d0, 0x13d0, 0x13f0,
+ 0x13d0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x1450, 0x05b0,
+ 0x1460, 0x1470, 0x05b0, 0x1480, 0x1490, 0x05b0, 0x14a0, 0x14b0,
+ 0x05b0, 0x14c0, 0x05b0, 0x14d0, 0x14e0, 0x14f0, 0x1500, 0x1510,
+ 0x1520, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1530, 0x1540, 0x1550,
+ 0x13d0, 0x1560, 0x05b0, 0x05b0, 0x1570, 0x05b0, 0x1580, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x1580, 0x1590, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15a0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15b0, 0x05b0, 0x15c0,
- 0x05b0, 0x15d0, 0x05b0, 0x15e0, 0x0910, 0x15f0, 0x1600, 0x0870,
+ 0x1590, 0x15a0, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15c0, 0x05b0, 0x15d0,
+ 0x05b0, 0x15e0, 0x05b0, 0x15f0, 0x0900, 0x1600, 0x1610, 0x0860,
0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1610, 0x1620,
- 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1630, 0x1640,
- 0x05b0, 0x13b0, 0x1650, 0x1650, 0x1650, 0x1650, 0x0580, 0x0580,
- 0x1660, 0x1670, 0x1680, 0x1690, 0x16a0, 0x0870, 0x0870, 0x0870,
- 0x16b0, 0x16c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16d0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16e0, 0x0870, 0x16f0,
- 0x1700, 0x1710, 0x1720, 0x1730, 0x1740, 0x16b0, 0x1750, 0x16b0,
- 0x1760, 0x1770, 0x1780, 0x16b0, 0x1750, 0x16b0, 0x1760, 0x1790,
- 0x17a0, 0x16b0, 0x17b0, 0x17c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x17b0, 0x16b0, 0x16b0, 0x17d0, 0x16b0, 0x16b0, 0x16d0, 0x17e0,
- 0x16b0, 0x17b0, 0x16b0, 0x16b0, 0x17f0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x17b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x16b0, 0x1800, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x1810, 0x16b0, 0x16b0, 0x16b0, 0x1820, 0x05b0, 0x05b0, 0x10c0,
- 0x1830, 0x05b0, 0x1840, 0x0870, 0x05b0, 0x05b0, 0x1610, 0x1850,
- 0x05b0, 0x1860, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1870,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1620, 0x1630,
+ 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1640, 0x1650,
+ 0x05b0, 0x13b0, 0x1660, 0x1660, 0x1660, 0x1660, 0x0580, 0x0580,
+ 0x1670, 0x1680, 0x1690, 0x16a0, 0x16b0, 0x0860, 0x0860, 0x0860,
+ 0x16c0, 0x16d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16e0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16f0, 0x0860, 0x1700,
+ 0x1710, 0x1720, 0x1730, 0x1740, 0x1750, 0x16c0, 0x1760, 0x16c0,
+ 0x1770, 0x1780, 0x1790, 0x16c0, 0x1760, 0x16c0, 0x1770, 0x17a0,
+ 0x17b0, 0x16c0, 0x17c0, 0x17d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x17e0, 0x16c0, 0x16c0, 0x17f0, 0x16c0, 0x16c0, 0x16e0, 0x1800,
+ 0x16c0, 0x17e0, 0x16c0, 0x16c0, 0x1810, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x17e0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
+ 0x16c0, 0x1820, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x1830, 0x16c0, 0x16c0, 0x16c0, 0x1840, 0x05b0, 0x05b0, 0x10c0,
+ 0x1850, 0x05b0, 0x1860, 0x0860, 0x05b0, 0x05b0, 0x1620, 0x1870,
+ 0x05b0, 0x1880, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1890,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x0840, 0x0a50, 0x0870, 0x0870, 0x0870, 0x1880,
- 0x1890, 0x05b0, 0x18a0, 0x18b0, 0x05b0, 0x05b0, 0x05b0, 0x18c0,
- 0x18d0, 0x05b0, 0x05b0, 0x1020, 0x18e0, 0x0f10, 0x0580, 0x18f0,
- 0x07b0, 0x05b0, 0x1900, 0x05b0, 0x1910, 0x1920, 0x0da0, 0x1930,
- 0x08b0, 0x05b0, 0x05b0, 0x1940, 0x1950, 0x1960, 0x0c20, 0x1970,
- 0x05b0, 0x05b0, 0x1980, 0x1990, 0x19a0, 0x19b0, 0x0c20, 0x0c20,
- 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19c0, 0x19d0, 0x0760, 0x19e0,
- 0x19f0, 0x1a00, 0x1650, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a10, 0x0f10,
- 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20,
- 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50,
- 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40,
- 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60,
- 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40,
- 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20,
- 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50,
- 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40,
- 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60,
- 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a70, 0x0db0, 0x1a80, 0x0dd0, 0x0dd0, 0x1a90,
- 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0,
- 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0,
- 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
- 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
- 0x13b0, 0x1ab0, 0x1ac0, 0x1ad0, 0x1ae0, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1af0, 0x1b00, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x1b10, 0x0870, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x1b20, 0x05b0, 0x05b0, 0x0a50, 0x0870, 0x0870, 0x1b30,
- 0x0580, 0x1b40, 0x0580, 0x1b50, 0x1b60, 0x1b70, 0x1b80, 0x1130,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1b90,
- 0x1ba0, 0x1bb0, 0x16b0, 0x1bc0, 0x16b0, 0x1bd0, 0x1be0, 0x1bf0,
- 0x16b0, 0x1c00, 0x16b0, 0x17b0, 0x1c10, 0x1c20, 0x1c30, 0x1c40,
+ 0x05b0, 0x05b0, 0x0840, 0x0a40, 0x0860, 0x0860, 0x0860, 0x18a0,
+ 0x18b0, 0x05b0, 0x18c0, 0x18d0, 0x05b0, 0x05b0, 0x05b0, 0x18e0,
+ 0x18f0, 0x05b0, 0x05b0, 0x1020, 0x1900, 0x0f10, 0x0580, 0x1910,
+ 0x07b0, 0x05b0, 0x1920, 0x05b0, 0x1930, 0x1940, 0x0da0, 0x1950,
+ 0x08a0, 0x05b0, 0x05b0, 0x1960, 0x1970, 0x1980, 0x0c20, 0x1990,
+ 0x05b0, 0x05b0, 0x19a0, 0x19b0, 0x19c0, 0x19d0, 0x0c20, 0x0c20,
+ 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19e0, 0x19f0, 0x0760, 0x1a00,
+ 0x1a10, 0x1a20, 0x1660, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a30, 0x0f10,
+ 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40,
+ 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70,
+ 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60,
+ 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80,
+ 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60,
+ 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40,
+ 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70,
+ 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60,
+ 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80,
+ 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a90, 0x0db0, 0x1aa0, 0x0dd0, 0x0dd0, 0x1ab0,
+ 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0,
+ 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0,
+ 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
+ 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
+ 0x13b0, 0x1ad0, 0x1ae0, 0x1af0, 0x1b00, 0x05b0, 0x05b0, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1600, 0x1b10, 0x05b0, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x1b20, 0x0860, 0x05b0, 0x05b0, 0x05b0,
+ 0x05b0, 0x1b30, 0x05b0, 0x05b0, 0x0a40, 0x0860, 0x0860, 0x1b40,
+ 0x0580, 0x1b50, 0x0580, 0x1b60, 0x1b70, 0x1b80, 0x1b90, 0x1130,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1ba0,
+ 0x1bb0, 0x1bc0, 0x16c0, 0x1bd0, 0x16c0, 0x1be0, 0x1bf0, 0x1c00,
+ 0x16c0, 0x1c10, 0x16c0, 0x17e0, 0x1c20, 0x1c30, 0x1c40, 0x1c50,
/* values */
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0022, 0x0003, 0x0001, 0x0001, 0x0002, 0x0004, 0x0004,
@@ -277,8 +277,6 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x001d, 0x0011,
- 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
@@ -310,7 +308,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x0004, 0x0004, 0x0011, 0x0011, 0x001c, 0x001c,
0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
0x001d, 0x001d, 0x001b, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001b, 0x001d, 0x001a, 0x001d, 0x001d, 0x0011, 0x0011,
+ 0x001d, 0x001b, 0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d,
0x001d, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x0011,
@@ -332,7 +330,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0011, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+ 0x0011, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0004,
@@ -375,8 +373,10 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0011,
0x0011, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004,
+ 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, 0x0004,
0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d,
0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0004,
@@ -551,10 +551,10 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0004,
+ 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0011,
0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
- 0x0004, 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+ 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011,
+ 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
@@ -638,9 +638,11 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0012, 0x0013, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
@@ -711,7 +713,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d,
@@ -733,8 +735,8 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0012, 0x0013, 0x0022, 0x0022, 0x0022, 0x0022, 0x0017, 0x001d,
0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0025, 0x0025, 0x0022, 0x0022, 0x0022, 0x001d,
- 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
- 0x0022, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0011, 0x0011, 0x0011,
+ 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
@@ -768,10 +770,12 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
- 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011,
0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
@@ -871,8 +875,6 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0011, 0x0026, 0x0011,
0x0026, 0x0026, 0x0011, 0x0026, 0x0026, 0x0011, 0x0026, 0x0026,
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
- 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
diff --git a/dlls/usp10/mirror.c b/dlls/usp10/mirror.c
index 23dab536c4..daadfa8054 100644
--- a/dlls/usp10/mirror.c
+++ b/dlls/usp10/mirror.c
@@ -1,5 +1,5 @@
/* Unicode BiDi mirroring */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/BidiMirroring.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/BidiMirroring.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/usp10/shaping.c b/dlls/usp10/shaping.c
index 82435ff2c3..cf6f3b4a97 100644
--- a/dlls/usp10/shaping.c
+++ b/dlls/usp10/shaping.c
@@ -1,10 +1,10 @@
/* Unicode Arabic shaping */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/ArabicShaping.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/ArabicShaping.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
+const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2864] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160,
@@ -54,64 +54,64 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0410, 0x0420, 0x0430, 0x0440, 0x0450, 0x0460, 0x0470, 0x0480,
0x0490, 0x04a0, 0x04b0, 0x0360, 0x04c0, 0x04d0, 0x04e0, 0x04f0,
0x0340, 0x0340, 0x0500, 0x0510, 0x0520, 0x0530, 0x0540, 0x0550,
- 0x0340, 0x0560, 0x0570, 0x0340, 0x0580, 0x0590, 0x05a0, 0x0340,
- 0x0340, 0x0340, 0x05b0, 0x05c0, 0x0340, 0x05d0, 0x05e0, 0x0360,
- 0x05f0, 0x0340, 0x0340, 0x0600, 0x0610, 0x0620, 0x0630, 0x0340,
- 0x0640, 0x0340, 0x0340, 0x0650, 0x0660, 0x0340, 0x0630, 0x0340,
- 0x0670, 0x0340, 0x0340, 0x0650, 0x0680, 0x0640, 0x0340, 0x0690,
- 0x0670, 0x0340, 0x0340, 0x0650, 0x06a0, 0x0340, 0x0630, 0x06b0,
- 0x0640, 0x0340, 0x0340, 0x06c0, 0x0660, 0x06d0, 0x0630, 0x0340,
- 0x06e0, 0x0340, 0x0340, 0x0340, 0x06f0, 0x0340, 0x0340, 0x0340,
- 0x0510, 0x0340, 0x0340, 0x0700, 0x0710, 0x0720, 0x0630, 0x0340,
- 0x0640, 0x0340, 0x0340, 0x06c0, 0x0730, 0x0340, 0x0630, 0x0340,
- 0x0740, 0x0340, 0x0340, 0x0750, 0x0660, 0x0340, 0x0630, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0760, 0x0770, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0780, 0x0790, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x07a0, 0x07b0, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x07c0, 0x0340, 0x07d0, 0x0340, 0x0340, 0x0340, 0x07e0,
- 0x07f0, 0x0800, 0x0360, 0x0810, 0x06d0, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0820, 0x0830, 0x0340, 0x0840, 0x0510, 0x0850,
- 0x0860, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0820, 0x0340, 0x0340,
+ 0x0340, 0x0560, 0x0570, 0x0340, 0x0580, 0x0590, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x05a0, 0x05b0, 0x0340, 0x05c0, 0x05d0, 0x0360,
+ 0x05e0, 0x0340, 0x0340, 0x05f0, 0x0600, 0x0610, 0x0620, 0x0340,
+ 0x0630, 0x0340, 0x0340, 0x0640, 0x0650, 0x0340, 0x0620, 0x0340,
+ 0x0660, 0x0340, 0x0340, 0x0640, 0x0670, 0x0630, 0x0340, 0x0680,
+ 0x0660, 0x0340, 0x0340, 0x0640, 0x0690, 0x0340, 0x0620, 0x0340,
+ 0x0630, 0x0340, 0x0340, 0x06a0, 0x0650, 0x06b0, 0x0620, 0x0340,
+ 0x06c0, 0x0340, 0x0340, 0x0340, 0x06d0, 0x0340, 0x0340, 0x0340,
+ 0x0510, 0x0340, 0x0340, 0x06e0, 0x06f0, 0x0700, 0x0620, 0x0340,
+ 0x0630, 0x0340, 0x0340, 0x06a0, 0x0710, 0x0340, 0x0620, 0x0340,
+ 0x0630, 0x0340, 0x0340, 0x0340, 0x0650, 0x0340, 0x0620, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0720, 0x0730, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0740, 0x0750, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0760, 0x0770, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0780, 0x0340, 0x0790, 0x0340, 0x0340, 0x0340, 0x07a0,
+ 0x07b0, 0x07c0, 0x0360, 0x07d0, 0x06b0, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x07e0, 0x07f0, 0x0340, 0x0800, 0x0510, 0x0810,
+ 0x0820, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x07e0, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0870, 0x0340, 0x0870, 0x0340, 0x0630, 0x0340, 0x0630,
- 0x0340, 0x0340, 0x0340, 0x0880, 0x0890, 0x08a0, 0x0340, 0x0340,
- 0x08b0, 0x0340, 0x0530, 0x0530, 0x0530, 0x0530, 0x0530, 0x08c0,
- 0x08d0, 0x0530, 0x08e0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x08f0, 0x0900, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0830, 0x0340, 0x0830, 0x0340, 0x0620, 0x0340, 0x0620,
+ 0x0340, 0x0340, 0x0340, 0x0840, 0x0850, 0x0860, 0x0340, 0x0340,
+ 0x0870, 0x0340, 0x0530, 0x0530, 0x0530, 0x0530, 0x0530, 0x0880,
+ 0x0890, 0x0530, 0x08a0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x08b0, 0x08c0, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0910, 0x0340, 0x0340, 0x0340, 0x0920, 0x0930, 0x0940,
- 0x0340, 0x0340, 0x0340, 0x0950, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0960, 0x0340, 0x0340, 0x0970, 0x06e0, 0x0340, 0x0980, 0x0960,
- 0x0740, 0x0340, 0x0990, 0x0340, 0x0340, 0x0340, 0x09a0, 0x0740,
- 0x0340, 0x0340, 0x09b0, 0x09c0, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x09d0, 0x09e0, 0x09f0,
+ 0x0340, 0x08d0, 0x0340, 0x0340, 0x0340, 0x08e0, 0x08f0, 0x0900,
+ 0x0340, 0x0340, 0x0340, 0x0910, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0920, 0x0340, 0x0340, 0x0930, 0x06c0, 0x0340, 0x0940, 0x0920,
+ 0x0950, 0x0340, 0x0960, 0x0340, 0x0340, 0x0340, 0x0970, 0x0950,
+ 0x0340, 0x0340, 0x0980, 0x0990, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x09a0, 0x09b0, 0x09c0,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0360, 0x0a00,
- 0x0a10, 0x0340, 0x0a20, 0x0340, 0x0340, 0x0340, 0x0a30, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0360, 0x09d0,
+ 0x09e0, 0x0340, 0x09f0, 0x0340, 0x0340, 0x0340, 0x0a00, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0510,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0740,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0950,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360,
- 0x0340, 0x0340, 0x0a40, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0a50, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0a60,
- 0x0340, 0x0700, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0740,
- 0x0a70, 0x0340, 0x0720, 0x0340, 0x0530, 0x0530, 0x0530, 0x0a80,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0a90, 0x0340, 0x0360, 0x0740,
- 0x0340, 0x0340, 0x0aa0, 0x0340, 0x0ab0, 0x0740, 0x0340, 0x0340,
- 0x05f0, 0x0340, 0x0340, 0x0ac0, 0x0340, 0x0340, 0x0ad0, 0x0340,
- 0x0340, 0x0340, 0x0ae0, 0x0af0, 0x0b00, 0x0340, 0x0340, 0x0650,
- 0x0340, 0x0340, 0x0340, 0x0b10, 0x0640, 0x0340, 0x0b20, 0x06d0,
+ 0x0340, 0x0340, 0x0a10, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0a20, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0a30,
+ 0x0340, 0x06e0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0950,
+ 0x0a40, 0x0340, 0x0700, 0x0340, 0x0530, 0x0530, 0x0530, 0x0a50,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0a60, 0x0340, 0x0360, 0x0950,
+ 0x0340, 0x0340, 0x0a70, 0x0340, 0x0a80, 0x0950, 0x0340, 0x0340,
+ 0x05e0, 0x0340, 0x0340, 0x0a90, 0x0340, 0x0340, 0x0aa0, 0x0340,
+ 0x0340, 0x0340, 0x0ab0, 0x0ac0, 0x0ad0, 0x0340, 0x0340, 0x0640,
+ 0x0340, 0x0340, 0x0340, 0x0ae0, 0x0630, 0x0340, 0x0af0, 0x06b0,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b30, 0x0340,
- 0x0340, 0x0b40, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b00, 0x0340,
+ 0x0340, 0x0b10, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0360, 0x0340, 0x0360, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b50,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b20,
/* values */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -189,12 +189,10 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0004, 0x0002, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0002, 0x0004, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x3404, 0x3400, 0x3404, 0x3404, 0x3404, 0x3404, 0x3400, 0x3402,
- 0x3404, 0x3402, 0x3402, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0404, 0x0404, 0x0604, 0x0b04, 0x0f04, 0x1004, 0x1204, 0x1304,
- 0x0104, 0x0104, 0x0802, 0x0302, 0x3502, 0x0000, 0x0702, 0x0a04,
- 0x0d04, 0x3602, 0x0802, 0x0c04, 0x1104, 0x0000, 0x0404, 0x0404,
- 0x0404, 0x0802, 0x0104, 0x3704, 0x3704, 0x3704, 0x0000, 0x0000,
+ 0x0104, 0x0104, 0x0802, 0x0302, 0x3402, 0x0000, 0x0702, 0x0a04,
+ 0x0d04, 0x3502, 0x0802, 0x0c04, 0x1104, 0x0000, 0x0404, 0x0404,
+ 0x0404, 0x0802, 0x0104, 0x3604, 0x3604, 0x3604, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
@@ -224,8 +222,6 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001,
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -241,10 +237,6 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000,
- 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, 0x0001, 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, 0x0000, 0x0001, 0x0000,
@@ -315,6 +307,8 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 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, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
@@ -329,8 +323,8 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
- 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0005, 0x0001, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
diff --git a/dlls/wineps.drv/vertical.c b/dlls/wineps.drv/vertical.c
index 05737604b8..ca4467911c 100644
--- a/dlls/wineps.drv/vertical.c
+++ b/dlls/wineps.drv/vertical.c
@@ -1,5 +1,5 @@
/* Unicode Vertical Orientation */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/VerticalOrientation.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/VerticalOrientation.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/port/compose.c b/libs/port/compose.c
index 71589f47c1..06f6062d24 100644
--- a/libs/port/compose.c
+++ b/libs/port/compose.c
@@ -1,5 +1,5 @@
/* Unicode char composition */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/UnicodeData.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/port/decompose.c b/libs/port/decompose.c
index 221d2e0e92..5e6b2214ec 100644
--- a/libs/port/decompose.c
+++ b/libs/port/decompose.c
@@ -1,5 +1,5 @@
/* Unicode char composition */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/UnicodeData.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/port/digitmap.c b/libs/port/digitmap.c
index 786879a90a..79a86651cc 100644
--- a/libs/port/digitmap.c
+++ b/libs/port/digitmap.c
@@ -1,5 +1,5 @@
/* Unicode digit folding mappings */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/UnicodeData.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/wine/casemap.c b/libs/wine/casemap.c
index bfab3233ee..122f81ff2f 100644
--- a/libs/wine/casemap.c
+++ b/libs/wine/casemap.c
@@ -1,5 +1,5 @@
/* Unicode case mappings */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/UnicodeData.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/wine/wctype.c b/libs/wine/wctype.c
index 8d0a3ed94d..5a79353985 100644
--- a/libs/wine/wctype.c
+++ b/libs/wine/wctype.c
@@ -307,8 +307,8 @@ const unsigned short wine_wctype_table[17152] =
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0xd200, 0xd200, 0xd200, 0x0000, 0x0000, 0x2210, 0x0000,
- 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300,
- 0xc300, 0xc300, 0xc300, 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, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -358,7 +358,7 @@ const unsigned short wine_wctype_table[17152] =
0x1300, 0x1300, 0xd200, 0xd200, 0x0000, 0x0000, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1300, 0x1300, 0x5200, 0x5200, 0x1200, 0x1200, 0x1200, 0x1200,
- 0x1200, 0x1200, 0x1200, 0x5200, 0x1300, 0x1210, 0x0000, 0x0000,
+ 0x1200, 0x1200, 0x1200, 0x5200, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xd200, 0xd200, 0x1200, 0x0000, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300,
0x1300, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
@@ -390,7 +390,7 @@ const unsigned short wine_wctype_table[17152] =
0x1300, 0x1300, 0xd200, 0xd200, 0x0000, 0x0000, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1210, 0x5200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x1300, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
+ 0x0000, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xd200, 0x1200, 0x1200, 0x0000, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x1300,
0x1300, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
@@ -455,14 +455,14 @@ const unsigned short wine_wctype_table[17152] =
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x0000, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0xd200, 0xd200, 0x1200, 0x1200, 0x0000, 0x1300, 0x1300, 0x1300,
+ 0x0000, 0xd200, 0x1200, 0x1200, 0x0000, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x1300, 0x1300,
0x1300, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0xd200, 0xd200, 0x1300, 0x1200, 0x1200,
+ 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x1300, 0x1200, 0x1200,
0x1200, 0xd200, 0xd200, 0xd200, 0xd200, 0x0000, 0x1200, 0x1200,
0x1200, 0x0000, 0x1200, 0x1200, 0x1200, 0xd200, 0x1300, 0x1200,
0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1200,
@@ -933,7 +933,7 @@ const unsigned short wine_wctype_table[17152] =
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0xd200, 0x1200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0xd200, 0x1300, 0x1300, 0x1300, 0x1300, 0xd200, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1200, 0x1200, 0xd200, 0x1300, 0x1300, 0x1200,
+ 0x1300, 0x1300, 0x1200, 0x1200, 0xd200, 0x1300, 0x1300, 0x0000,
0xd200, 0xd200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
@@ -965,8 +965,8 @@ const unsigned short wine_wctype_table[17152] =
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
- 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
- 0xd200, 0xd200, 0x0000, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
+ 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
@@ -1054,7 +1054,7 @@ const unsigned short wine_wctype_table[17152] =
0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
- 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
+ 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
@@ -1158,7 +1158,7 @@ const unsigned short wine_wctype_table[17152] =
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
- 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
+ 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0x0000,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
@@ -1377,7 +1377,7 @@ const unsigned short wine_wctype_table[17152] =
0xb200, 0xb200, 0x0000, 0x0000, 0x0000, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0x0000, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
- 0xb200, 0xb200, 0xb200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xb200, 0xb200, 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, 0xb200, 0xb200, 0xb200, 0xb200,
@@ -1455,8 +1455,8 @@ const unsigned short wine_wctype_table[17152] =
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb300,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
- 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
- 0xb210, 0xb210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 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, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -1548,7 +1548,7 @@ const unsigned short wine_wctype_table[17152] =
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000,
+ 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
@@ -1697,10 +1697,10 @@ const unsigned short wine_wctype_table[17152] =
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 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,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
diff --git a/tools/make_unicode b/tools/make_unicode
index 92b0b64a94..a22cd044b7 100755
--- a/tools/make_unicode
+++ b/tools/make_unicode
@@ -23,7 +23,7 @@ use strict;
# base URLs for www.unicode.org files
my $MAPPINGS = "http://www.unicode.org/Public/MAPPINGS";
-my $UNIDATA = "http://www.unicode.org/Public/10.0.0/ucd";
+my $UNIDATA = "http://www.unicode.org/Public/11.0.0/ucd";
my $REPORTS = "http://www.unicode.org/reports";
my $RFCS = "http://www.rfc-editor.org/rfc";
@@ -1462,7 +1462,12 @@ my %scripts =
"Old_Hungarian" => 134,
"Osage" => 135,
"SignWriting" => 136,
- "Tangut" => 137
+ "Tangut" => 137,
+ # Win10 RS4
+ "Masaram_Gondi" => 138,
+ "Nushu" => 139,
+ "Soyombo" => 140,
+ "Zanabazar_Square" => 141
);
################################################################
--
2.18.0
June 30, 2018
Re: [PATCH] tools: Update to Unicode 11.0.0.
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39464
Your paranoid android.
=== w7u (32 bit analyzer) ===
analyzer.c:1200: Test failed: 0: { /* Zzzz */ { 0x7a7a7a5a, 999, 15, 0x0020, 0, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 1: { /* Zyyy */ { 0x7979795a, 998, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 2: { /* Zinh */ { 0x686e695a, 994, 15, 0x0020, 1, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 3: { /* Arab */ { 0x62617241, 160, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 4: { /* Armn */ { 0x6e6d7241, 230, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 5: { /* Avst */ { 0x74737641, 134, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 6: { /* Bali */ { 0x696c6142, 360, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 7: { /* Bamu */ { 0x756d6142, 435, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 8: { /* Batk */ { 0x6b746142, 365, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 9: { /* Beng */ { 0x676e6542, 325, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 10: { /* Bopo */ { 0x6f706f42, 285, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 11: { /* Brah */ { 0x68617242, 300, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 12: { /* Brai */ { 0x69617242, 570, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 13: { /* Bugi */ { 0x69677542, 367, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 14: { /* Buhd */ { 0x64687542, 372, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 15: { /* Cans */ { 0x736e6143, 440, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 16: { /* Cari */ { 0x69726143, 201, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 17: { /* Cham */ { 0x6d616843, 358, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 18: { /* Cher */ { 0x72656843, 445, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 19: { /* Copt */ { 0x74706f43, 204, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 20: { /* Xsux */ { 0x78757358, 20, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 21: { /* Cprt */ { 0x74727043, 403, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 22: { /* Cyrl */ { 0x6c727943, 220, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 23: { /* Dsrt */ { 0x74727344, 250, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 24: { /* Deva */ { 0x61766544, 315, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 25: { /* Egyp */ { 0x70796745, 50, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 26: { /* Ethi */ { 0x69687445, 430, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 27: { /* Geor */ { 0x726f6547, 240, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 28: { /* Glag */ { 0x67616c47, 225, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 29: { /* Goth */ { 0x68746f47, 206, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 30: { /* Grek */ { 0x6b657247, 200, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 31: { /* Gujr */ { 0x726a7547, 320, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 32: { /* Guru */ { 0x75727547, 310, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 33: { /* Hani */ { 0x696e6148, 500, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 34: { /* Hang */ { 0x676e6148, 286, 8, 0x0020, 1, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 35: { /* Hano */ { 0x6f6e6148, 371, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 36: { /* Hebr */ { 0x72626548, 125, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 37: { /* Hira */ { 0x61726948, 410, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 38: { /* Armi */ { 0x696d7241, 124, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 39: { /* Phli */ { 0x696c6850, 131, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 40: { /* Prti */ { 0x69747250, 130, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 41: { /* Java */ { 0x6176614a, 361, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 42: { /* Kthi */ { 0x6968744b, 317, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 43: { /* Knda */ { 0x61646e4b, 345, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 44: { /* Kana */ { 0x616e614b, 411, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 45: { /* Kali */ { 0x696c614b, 357, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 46: { /* Khar */ { 0x7261684b, 305, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 47: { /* Khmr */ { 0x726d684b, 355, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 48: { /* Laoo */ { 0x6f6f614c, 356, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 49: { /* Latn */ { 0x6e74614c, 215, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 50: { /* Lepc */ { 0x6370654c, 335, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 51: { /* Limb */ { 0x626d694c, 336, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 52: { /* Linb */ { 0x626e694c, 401, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 53: { /* Lisu */ { 0x7573694c, 399, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 54: { /* Lyci */ { 0x6963794c, 202, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 55: { /* Lydi */ { 0x6964794c, 116, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 56: { /* Mlym */ { 0x6d796c4d, 347, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 57: { /* Mand */ { 0x646e614d, 140, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 58: { /* Mtei */ { 0x6965744d, 337, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 59: { /* Mong */ { 0x676e6f4d, 145, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 60: { /* Mymr */ { 0x726d794d, 350, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 61: { /* Talu */ { 0x756c6154, 354, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 62: { /* Nkoo */ { 0x6f6f6b4e, 165, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 63: { /* Ogam */ { 0x6d61674f, 212, 1, 0x1680, 0, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 64: { /* Olck */ { 0x6b636c4f, 261, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 65: { /* Ital */ { 0x6c617449, 210, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 66: { /* Xpeo */ { 0x6f657058, 30, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 67: { /* Sarb */ { 0x62726153, 105, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 68: { /* Orkh */ { 0x686b724f, 175, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 69: { /* Orya */ { 0x6179724f, 327, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 70: { /* Osma */ { 0x616d734f, 260, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 71: { /* Phag */ { 0x67616850, 331, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 72: { /* Phnx */ { 0x786e6850, 115, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 73: { /* Rjng */ { 0x676e6a52, 363, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 74: { /* Runr */ { 0x726e7552, 211, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 75: { /* Samr */ { 0x726d6153, 123, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 76: { /* Saur */ { 0x72756153, 344, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 77: { /* Shaw */ { 0x77616853, 281, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 78: { /* Sinh */ { 0x686e6953, 348, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 79: { /* Sund */ { 0x646e7553, 362, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 80: { /* Sylo */ { 0x6f6c7953, 316, 8, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 81: { /* Syrc */ { 0x63727953, 135, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 82: { /* Tglg */ { 0x676c6754, 370, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 83: { /* Tagb */ { 0x62676154, 373, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 84: { /* Tale */ { 0x656c6154, 353, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 85: { /* Lana */ { 0x616e614c, 351, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 86: { /* Tavt */ { 0x74766154, 359, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 87: { /* Taml */ { 0x6c6d6154, 346, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 88: { /* Telu */ { 0x756c6554, 340, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 89: { /* Thaa */ { 0x61616854, 170, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 90: { /* Thai */ { 0x69616854, 352, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 91: { /* Tibt */ { 0x74626954, 330, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 92: { /* Tfng */ { 0x676e6654, 120, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 93: { /* Ugar */ { 0x72616755, 40, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 94: { /* Vaii */ { 0x69696156, 470, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 95: { /* Yiii */ { 0x69696959, 460, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
=== w7pro64 (32 bit analyzer) ===
analyzer.c:1200: Test failed: 0: { /* Zzzz */ { 0x7a7a7a5a, 999, 15, 0x0020, 0, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 1: { /* Zyyy */ { 0x7979795a, 998, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 2: { /* Zinh */ { 0x686e695a, 994, 15, 0x0020, 1, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 3: { /* Arab */ { 0x62617241, 160, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 4: { /* Armn */ { 0x6e6d7241, 230, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 5: { /* Avst */ { 0x74737641, 134, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 6: { /* Bali */ { 0x696c6142, 360, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 7: { /* Bamu */ { 0x756d6142, 435, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 8: { /* Batk */ { 0x6b746142, 365, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 9: { /* Beng */ { 0x676e6542, 325, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 10: { /* Bopo */ { 0x6f706f42, 285, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 11: { /* Brah */ { 0x68617242, 300, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 12: { /* Brai */ { 0x69617242, 570, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 13: { /* Bugi */ { 0x69677542, 367, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 14: { /* Buhd */ { 0x64687542, 372, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 15: { /* Cans */ { 0x736e6143, 440, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 16: { /* Cari */ { 0x69726143, 201, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 17: { /* Cham */ { 0x6d616843, 358, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 18: { /* Cher */ { 0x72656843, 445, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 19: { /* Copt */ { 0x74706f43, 204, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 20: { /* Xsux */ { 0x78757358, 20, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 21: { /* Cprt */ { 0x74727043, 403, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 22: { /* Cyrl */ { 0x6c727943, 220, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 23: { /* Dsrt */ { 0x74727344, 250, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 24: { /* Deva */ { 0x61766544, 315, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 25: { /* Egyp */ { 0x70796745, 50, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 26: { /* Ethi */ { 0x69687445, 430, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 27: { /* Geor */ { 0x726f6547, 240, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 28: { /* Glag */ { 0x67616c47, 225, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 29: { /* Goth */ { 0x68746f47, 206, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 30: { /* Grek */ { 0x6b657247, 200, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 31: { /* Gujr */ { 0x726a7547, 320, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 32: { /* Guru */ { 0x75727547, 310, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 33: { /* Hani */ { 0x696e6148, 500, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 34: { /* Hang */ { 0x676e6148, 286, 8, 0x0020, 1, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 35: { /* Hano */ { 0x6f6e6148, 371, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 36: { /* Hebr */ { 0x72626548, 125, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 37: { /* Hira */ { 0x61726948, 410, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 38: { /* Armi */ { 0x696d7241, 124, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 39: { /* Phli */ { 0x696c6850, 131, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 40: { /* Prti */ { 0x69747250, 130, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 41: { /* Java */ { 0x6176614a, 361, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 42: { /* Kthi */ { 0x6968744b, 317, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 43: { /* Knda */ { 0x61646e4b, 345, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 44: { /* Kana */ { 0x616e614b, 411, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 45: { /* Kali */ { 0x696c614b, 357, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 46: { /* Khar */ { 0x7261684b, 305, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 47: { /* Khmr */ { 0x726d684b, 355, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 48: { /* Laoo */ { 0x6f6f614c, 356, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 49: { /* Latn */ { 0x6e74614c, 215, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 50: { /* Lepc */ { 0x6370654c, 335, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 51: { /* Limb */ { 0x626d694c, 336, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 52: { /* Linb */ { 0x626e694c, 401, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 53: { /* Lisu */ { 0x7573694c, 399, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 54: { /* Lyci */ { 0x6963794c, 202, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 55: { /* Lydi */ { 0x6964794c, 116, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 56: { /* Mlym */ { 0x6d796c4d, 347, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 57: { /* Mand */ { 0x646e614d, 140, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 58: { /* Mtei */ { 0x6965744d, 337, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 59: { /* Mong */ { 0x676e6f4d, 145, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 60: { /* Mymr */ { 0x726d794d, 350, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 61: { /* Talu */ { 0x756c6154, 354, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 62: { /* Nkoo */ { 0x6f6f6b4e, 165, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 63: { /* Ogam */ { 0x6d61674f, 212, 1, 0x1680, 0, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 64: { /* Olck */ { 0x6b636c4f, 261, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 65: { /* Ital */ { 0x6c617449, 210, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 66: { /* Xpeo */ { 0x6f657058, 30, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 67: { /* Sarb */ { 0x62726153, 105, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 68: { /* Orkh */ { 0x686b724f, 175, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 69: { /* Orya */ { 0x6179724f, 327, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 70: { /* Osma */ { 0x616d734f, 260, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 71: { /* Phag */ { 0x67616850, 331, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 72: { /* Phnx */ { 0x786e6850, 115, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 73: { /* Rjng */ { 0x676e6a52, 363, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 74: { /* Runr */ { 0x726e7552, 211, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 75: { /* Samr */ { 0x726d6153, 123, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 76: { /* Saur */ { 0x72756153, 344, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 77: { /* Shaw */ { 0x77616853, 281, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 78: { /* Sinh */ { 0x686e6953, 348, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 79: { /* Sund */ { 0x646e7553, 362, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 80: { /* Sylo */ { 0x6f6c7953, 316, 8, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 81: { /* Syrc */ { 0x63727953, 135, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 82: { /* Tglg */ { 0x676c6754, 370, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 83: { /* Tagb */ { 0x62676154, 373, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 84: { /* Tale */ { 0x656c6154, 353, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 85: { /* Lana */ { 0x616e614c, 351, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 86: { /* Tavt */ { 0x74766154, 359, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 87: { /* Taml */ { 0x6c6d6154, 346, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 88: { /* Telu */ { 0x756c6554, 340, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 89: { /* Thaa */ { 0x61616854, 170, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 90: { /* Thai */ { 0x69616854, 352, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 91: { /* Tibt */ { 0x74626954, 330, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 92: { /* Tfng */ { 0x676e6654, 120, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 93: { /* Ugar */ { 0x72616755, 40, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 94: { /* Vaii */ { 0x69696156, 470, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 95: { /* Yiii */ { 0x69696959, 460, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
=== w8 (32 bit analyzer) ===
analyzer.c:1200: Test failed: 0: { /* Zzzz */ { 0x7a7a7a5a, 999, 15, 0x0020, 0, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 1: { /* Zyyy */ { 0x7979795a, 998, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 2: { /* Zinh */ { 0x686e695a, 994, 15, 0x0020, 1, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 3: { /* Arab */ { 0x62617241, 160, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 4: { /* Armn */ { 0x6e6d7241, 230, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 5: { /* Avst */ { 0x74737641, 134, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 6: { /* Bali */ { 0x696c6142, 360, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 7: { /* Bamu */ { 0x756d6142, 435, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 8: { /* Batk */ { 0x6b746142, 365, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 9: { /* Beng */ { 0x676e6542, 325, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 10: { /* Bopo */ { 0x6f706f42, 285, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 11: { /* Brah */ { 0x68617242, 300, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 12: { /* Brai */ { 0x69617242, 570, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 13: { /* Bugi */ { 0x69677542, 367, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 14: { /* Buhd */ { 0x64687542, 372, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 15: { /* Cans */ { 0x736e6143, 440, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 16: { /* Cari */ { 0x69726143, 201, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 17: { /* Cham */ { 0x6d616843, 358, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 18: { /* Cher */ { 0x72656843, 445, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 19: { /* Copt */ { 0x74706f43, 204, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 20: { /* Xsux */ { 0x78757358, 20, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 21: { /* Cprt */ { 0x74727043, 403, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 22: { /* Cyrl */ { 0x6c727943, 220, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 23: { /* Dsrt */ { 0x74727344, 250, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 24: { /* Deva */ { 0x61766544, 315, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 25: { /* Egyp */ { 0x70796745, 50, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 26: { /* Ethi */ { 0x69687445, 430, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 27: { /* Geor */ { 0x726f6547, 240, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 28: { /* Glag */ { 0x67616c47, 225, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 29: { /* Goth */ { 0x68746f47, 206, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 30: { /* Grek */ { 0x6b657247, 200, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 31: { /* Gujr */ { 0x726a7547, 320, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 32: { /* Guru */ { 0x75727547, 310, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 33: { /* Hani */ { 0x696e6148, 500, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 34: { /* Hang */ { 0x676e6148, 286, 8, 0x0020, 1, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 35: { /* Hano */ { 0x6f6e6148, 371, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 36: { /* Hebr */ { 0x72626548, 125, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 37: { /* Hira */ { 0x61726948, 410, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 38: { /* Armi */ { 0x696d7241, 124, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 39: { /* Phli */ { 0x696c6850, 131, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 40: { /* Prti */ { 0x69747250, 130, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 41: { /* Java */ { 0x6176614a, 361, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 42: { /* Kthi */ { 0x6968744b, 317, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 43: { /* Knda */ { 0x61646e4b, 345, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 44: { /* Kana */ { 0x616e614b, 411, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 45: { /* Kali */ { 0x696c614b, 357, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 46: { /* Khar */ { 0x7261684b, 305, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 47: { /* Khmr */ { 0x726d684b, 355, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 48: { /* Laoo */ { 0x6f6f614c, 356, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 49: { /* Latn */ { 0x6e74614c, 215, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 50: { /* Lepc */ { 0x6370654c, 335, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 51: { /* Limb */ { 0x626d694c, 336, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 52: { /* Linb */ { 0x626e694c, 401, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 53: { /* Lisu */ { 0x7573694c, 399, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 54: { /* Lyci */ { 0x6963794c, 202, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 55: { /* Lydi */ { 0x6964794c, 116, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 56: { /* Mlym */ { 0x6d796c4d, 347, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 57: { /* Mand */ { 0x646e614d, 140, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 58: { /* Mtei */ { 0x6965744d, 337, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 59: { /* Mong */ { 0x676e6f4d, 145, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 60: { /* Mymr */ { 0x726d794d, 350, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 61: { /* Talu */ { 0x756c6154, 354, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 62: { /* Nkoo */ { 0x6f6f6b4e, 165, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 63: { /* Ogam */ { 0x6d61674f, 212, 1, 0x1680, 0, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 64: { /* Olck */ { 0x6b636c4f, 261, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 65: { /* Ital */ { 0x6c617449, 210, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 66: { /* Xpeo */ { 0x6f657058, 30, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 67: { /* Sarb */ { 0x62726153, 105, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 68: { /* Orkh */ { 0x686b724f, 175, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 69: { /* Orya */ { 0x6179724f, 327, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 70: { /* Osma */ { 0x616d734f, 260, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 71: { /* Phag */ { 0x67616850, 331, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 72: { /* Phnx */ { 0x786e6850, 115, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 73: { /* Rjng */ { 0x676e6a52, 363, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 74: { /* Runr */ { 0x726e7552, 211, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 75: { /* Samr */ { 0x726d6153, 123, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 76: { /* Saur */ { 0x72756153, 344, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 77: { /* Shaw */ { 0x77616853, 281, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 78: { /* Sinh */ { 0x686e6953, 348, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 79: { /* Sund */ { 0x646e7553, 362, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 80: { /* Sylo */ { 0x6f6c7953, 316, 8, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 81: { /* Syrc */ { 0x63727953, 135, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 82: { /* Tglg */ { 0x676c6754, 370, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 83: { /* Tagb */ { 0x62676154, 373, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 84: { /* Tale */ { 0x656c6154, 353, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 85: { /* Lana */ { 0x616e614c, 351, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 86: { /* Tavt */ { 0x74766154, 359, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 87: { /* Taml */ { 0x6c6d6154, 346, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 88: { /* Telu */ { 0x756c6554, 340, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 89: { /* Thaa */ { 0x61616854, 170, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 90: { /* Thai */ { 0x69616854, 352, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 91: { /* Tibt */ { 0x74626954, 330, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 92: { /* Tfng */ { 0x676e6654, 120, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 93: { /* Ugar */ { 0x72616755, 40, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 94: { /* Vaii */ { 0x69696156, 470, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 95: { /* Yiii */ { 0x69696959, 460, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 96: { /* Cakm */ { 0x6d6b6143, 349, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 97: { /* Merc */ { 0x6372654d, 101, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 98: { /* Mero */ { 0x6f72654d, 100, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 99: { /* Plrd */ { 0x64726c50, 282, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 100: { /* Shrd */ { 0x64726853, 319, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 101: { /* Sora */ { 0x61726f53, 398, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 102: { /* Takr */ { 0x726b6154, 321, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
=== w8adm (32 bit analyzer) ===
analyzer.c:1200: Test failed: 0: { /* Zzzz */ { 0x7a7a7a5a, 999, 15, 0x0020, 0, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 1: { /* Zyyy */ { 0x7979795a, 998, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 2: { /* Zinh */ { 0x686e695a, 994, 15, 0x0020, 1, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 3: { /* Arab */ { 0x62617241, 160, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 4: { /* Armn */ { 0x6e6d7241, 230, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 5: { /* Avst */ { 0x74737641, 134, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 6: { /* Bali */ { 0x696c6142, 360, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 7: { /* Bamu */ { 0x756d6142, 435, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 8: { /* Batk */ { 0x6b746142, 365, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 9: { /* Beng */ { 0x676e6542, 325, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 10: { /* Bopo */ { 0x6f706f42, 285, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 11: { /* Brah */ { 0x68617242, 300, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 12: { /* Brai */ { 0x69617242, 570, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 13: { /* Bugi */ { 0x69677542, 367, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 14: { /* Buhd */ { 0x64687542, 372, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 15: { /* Cans */ { 0x736e6143, 440, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 16: { /* Cari */ { 0x69726143, 201, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 17: { /* Cham */ { 0x6d616843, 358, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 18: { /* Cher */ { 0x72656843, 445, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 19: { /* Copt */ { 0x74706f43, 204, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 20: { /* Xsux */ { 0x78757358, 20, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 21: { /* Cprt */ { 0x74727043, 403, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 22: { /* Cyrl */ { 0x6c727943, 220, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 23: { /* Dsrt */ { 0x74727344, 250, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 24: { /* Deva */ { 0x61766544, 315, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 25: { /* Egyp */ { 0x70796745, 50, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 26: { /* Ethi */ { 0x69687445, 430, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 27: { /* Geor */ { 0x726f6547, 240, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 28: { /* Glag */ { 0x67616c47, 225, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 29: { /* Goth */ { 0x68746f47, 206, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 30: { /* Grek */ { 0x6b657247, 200, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 31: { /* Gujr */ { 0x726a7547, 320, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 32: { /* Guru */ { 0x75727547, 310, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 33: { /* Hani */ { 0x696e6148, 500, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 34: { /* Hang */ { 0x676e6148, 286, 8, 0x0020, 1, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 35: { /* Hano */ { 0x6f6e6148, 371, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 36: { /* Hebr */ { 0x72626548, 125, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 37: { /* Hira */ { 0x61726948, 410, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 38: { /* Armi */ { 0x696d7241, 124, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 39: { /* Phli */ { 0x696c6850, 131, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 40: { /* Prti */ { 0x69747250, 130, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 41: { /* Java */ { 0x6176614a, 361, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 42: { /* Kthi */ { 0x6968744b, 317, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 43: { /* Knda */ { 0x61646e4b, 345, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 44: { /* Kana */ { 0x616e614b, 411, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 45: { /* Kali */ { 0x696c614b, 357, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 46: { /* Khar */ { 0x7261684b, 305, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 47: { /* Khmr */ { 0x726d684b, 355, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 48: { /* Laoo */ { 0x6f6f614c, 356, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 49: { /* Latn */ { 0x6e74614c, 215, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 50: { /* Lepc */ { 0x6370654c, 335, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 51: { /* Limb */ { 0x626d694c, 336, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 52: { /* Linb */ { 0x626e694c, 401, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 53: { /* Lisu */ { 0x7573694c, 399, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 54: { /* Lyci */ { 0x6963794c, 202, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 55: { /* Lydi */ { 0x6964794c, 116, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 56: { /* Mlym */ { 0x6d796c4d, 347, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 57: { /* Mand */ { 0x646e614d, 140, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 58: { /* Mtei */ { 0x6965744d, 337, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 59: { /* Mong */ { 0x676e6f4d, 145, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 60: { /* Mymr */ { 0x726d794d, 350, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 61: { /* Talu */ { 0x756c6154, 354, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 62: { /* Nkoo */ { 0x6f6f6b4e, 165, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 63: { /* Ogam */ { 0x6d61674f, 212, 1, 0x1680, 0, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 64: { /* Olck */ { 0x6b636c4f, 261, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 65: { /* Ital */ { 0x6c617449, 210, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 66: { /* Xpeo */ { 0x6f657058, 30, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 67: { /* Sarb */ { 0x62726153, 105, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 68: { /* Orkh */ { 0x686b724f, 175, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 69: { /* Orya */ { 0x6179724f, 327, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 70: { /* Osma */ { 0x616d734f, 260, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 71: { /* Phag */ { 0x67616850, 331, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 72: { /* Phnx */ { 0x786e6850, 115, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 73: { /* Rjng */ { 0x676e6a52, 363, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 74: { /* Runr */ { 0x726e7552, 211, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 75: { /* Samr */ { 0x726d6153, 123, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 76: { /* Saur */ { 0x72756153, 344, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 77: { /* Shaw */ { 0x77616853, 281, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 78: { /* Sinh */ { 0x686e6953, 348, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 79: { /* Sund */ { 0x646e7553, 362, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 80: { /* Sylo */ { 0x6f6c7953, 316, 8, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 81: { /* Syrc */ { 0x63727953, 135, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 82: { /* Tglg */ { 0x676c6754, 370, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 83: { /* Tagb */ { 0x62676154, 373, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 84: { /* Tale */ { 0x656c6154, 353, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 85: { /* Lana */ { 0x616e614c, 351, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 86: { /* Tavt */ { 0x74766154, 359, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 87: { /* Taml */ { 0x6c6d6154, 346, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 88: { /* Telu */ { 0x756c6554, 340, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 89: { /* Thaa */ { 0x61616854, 170, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 90: { /* Thai */ { 0x69616854, 352, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 91: { /* Tibt */ { 0x74626954, 330, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 92: { /* Tfng */ { 0x676e6654, 120, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 93: { /* Ugar */ { 0x72616755, 40, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 94: { /* Vaii */ { 0x69696156, 470, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 95: { /* Yiii */ { 0x69696959, 460, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 96: { /* Cakm */ { 0x6d6b6143, 349, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 97: { /* Merc */ { 0x6372654d, 101, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 98: { /* Mero */ { 0x6f72654d, 100, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 99: { /* Plrd */ { 0x64726c50, 282, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 100: { /* Shrd */ { 0x64726853, 319, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 101: { /* Sora */ { 0x61726f53, 398, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 102: { /* Takr */ { 0x726b6154, 321, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
=== w864 (32 bit analyzer) ===
analyzer.c:1200: Test failed: 0: { /* Zzzz */ { 0x7a7a7a5a, 999, 15, 0x0020, 0, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 1: { /* Zyyy */ { 0x7979795a, 998, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 2: { /* Zinh */ { 0x686e695a, 994, 15, 0x0020, 1, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 3: { /* Arab */ { 0x62617241, 160, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 4: { /* Armn */ { 0x6e6d7241, 230, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 5: { /* Avst */ { 0x74737641, 134, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 6: { /* Bali */ { 0x696c6142, 360, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 7: { /* Bamu */ { 0x756d6142, 435, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 8: { /* Batk */ { 0x6b746142, 365, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 9: { /* Beng */ { 0x676e6542, 325, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 10: { /* Bopo */ { 0x6f706f42, 285, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 11: { /* Brah */ { 0x68617242, 300, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 12: { /* Brai */ { 0x69617242, 570, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 13: { /* Bugi */ { 0x69677542, 367, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 14: { /* Buhd */ { 0x64687542, 372, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 15: { /* Cans */ { 0x736e6143, 440, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 16: { /* Cari */ { 0x69726143, 201, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 17: { /* Cham */ { 0x6d616843, 358, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 18: { /* Cher */ { 0x72656843, 445, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 19: { /* Copt */ { 0x74706f43, 204, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 20: { /* Xsux */ { 0x78757358, 20, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 21: { /* Cprt */ { 0x74727043, 403, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 22: { /* Cyrl */ { 0x6c727943, 220, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 23: { /* Dsrt */ { 0x74727344, 250, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 24: { /* Deva */ { 0x61766544, 315, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 25: { /* Egyp */ { 0x70796745, 50, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 26: { /* Ethi */ { 0x69687445, 430, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 27: { /* Geor */ { 0x726f6547, 240, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 28: { /* Glag */ { 0x67616c47, 225, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 29: { /* Goth */ { 0x68746f47, 206, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 30: { /* Grek */ { 0x6b657247, 200, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 31: { /* Gujr */ { 0x726a7547, 320, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 32: { /* Guru */ { 0x75727547, 310, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 33: { /* Hani */ { 0x696e6148, 500, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 34: { /* Hang */ { 0x676e6148, 286, 8, 0x0020, 1, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 35: { /* Hano */ { 0x6f6e6148, 371, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 36: { /* Hebr */ { 0x72626548, 125, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 37: { /* Hira */ { 0x61726948, 410, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 38: { /* Armi */ { 0x696d7241, 124, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 39: { /* Phli */ { 0x696c6850, 131, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 40: { /* Prti */ { 0x69747250, 130, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 41: { /* Java */ { 0x6176614a, 361, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 42: { /* Kthi */ { 0x6968744b, 317, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 43: { /* Knda */ { 0x61646e4b, 345, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 44: { /* Kana */ { 0x616e614b, 411, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 45: { /* Kali */ { 0x696c614b, 357, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 46: { /* Khar */ { 0x7261684b, 305, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 47: { /* Khmr */ { 0x726d684b, 355, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 48: { /* Laoo */ { 0x6f6f614c, 356, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 49: { /* Latn */ { 0x6e74614c, 215, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 50: { /* Lepc */ { 0x6370654c, 335, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 51: { /* Limb */ { 0x626d694c, 336, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 52: { /* Linb */ { 0x626e694c, 401, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 53: { /* Lisu */ { 0x7573694c, 399, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 54: { /* Lyci */ { 0x6963794c, 202, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 55: { /* Lydi */ { 0x6964794c, 116, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 56: { /* Mlym */ { 0x6d796c4d, 347, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 57: { /* Mand */ { 0x646e614d, 140, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 58: { /* Mtei */ { 0x6965744d, 337, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 59: { /* Mong */ { 0x676e6f4d, 145, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 60: { /* Mymr */ { 0x726d794d, 350, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 61: { /* Talu */ { 0x756c6154, 354, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 62: { /* Nkoo */ { 0x6f6f6b4e, 165, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 63: { /* Ogam */ { 0x6d61674f, 212, 1, 0x1680, 0, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 64: { /* Olck */ { 0x6b636c4f, 261, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 65: { /* Ital */ { 0x6c617449, 210, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 66: { /* Xpeo */ { 0x6f657058, 30, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 67: { /* Sarb */ { 0x62726153, 105, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 68: { /* Orkh */ { 0x686b724f, 175, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 69: { /* Orya */ { 0x6179724f, 327, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 70: { /* Osma */ { 0x616d734f, 260, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 71: { /* Phag */ { 0x67616850, 331, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 72: { /* Phnx */ { 0x786e6850, 115, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 73: { /* Rjng */ { 0x676e6a52, 363, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 74: { /* Runr */ { 0x726e7552, 211, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 75: { /* Samr */ { 0x726d6153, 123, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 76: { /* Saur */ { 0x72756153, 344, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 77: { /* Shaw */ { 0x77616853, 281, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 78: { /* Sinh */ { 0x686e6953, 348, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 79: { /* Sund */ { 0x646e7553, 362, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 80: { /* Sylo */ { 0x6f6c7953, 316, 8, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 81: { /* Syrc */ { 0x63727953, 135, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 82: { /* Tglg */ { 0x676c6754, 370, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 83: { /* Tagb */ { 0x62676154, 373, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 84: { /* Tale */ { 0x656c6154, 353, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 85: { /* Lana */ { 0x616e614c, 351, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 86: { /* Tavt */ { 0x74766154, 359, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 87: { /* Taml */ { 0x6c6d6154, 346, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 88: { /* Telu */ { 0x756c6554, 340, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 89: { /* Thaa */ { 0x61616854, 170, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 90: { /* Thai */ { 0x69616854, 352, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 91: { /* Tibt */ { 0x74626954, 330, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 92: { /* Tfng */ { 0x676e6654, 120, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 93: { /* Ugar */ { 0x72616755, 40, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 94: { /* Vaii */ { 0x69696156, 470, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 95: { /* Yiii */ { 0x69696959, 460, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 96: { /* Cakm */ { 0x6d6b6143, 349, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 97: { /* Merc */ { 0x6372654d, 101, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 98: { /* Mero */ { 0x6f72654d, 100, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 99: { /* Plrd */ { 0x64726c50, 282, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 100: { /* Shrd */ { 0x64726853, 319, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 101: { /* Sora */ { 0x61726f53, 398, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 102: { /* Takr */ { 0x726b6154, 321, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
=== w1064 (32 bit analyzer) ===
analyzer.c:1200: Test failed: 0: { /* Zzzz */ { 0x7a7a7a5a, 999, 15, 0x0020, 0, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 1: { /* Zyyy */ { 0x7979795a, 998, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 2: { /* Zinh */ { 0x686e695a, 994, 15, 0x0020, 1, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 3: { /* Arab */ { 0x62617241, 160, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 4: { /* Armn */ { 0x6e6d7241, 230, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 5: { /* Avst */ { 0x74737641, 134, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 6: { /* Bali */ { 0x696c6142, 360, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 7: { /* Bamu */ { 0x756d6142, 435, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 8: { /* Batk */ { 0x6b746142, 365, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 9: { /* Beng */ { 0x676e6542, 325, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 10: { /* Bopo */ { 0x6f706f42, 285, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 11: { /* Brah */ { 0x68617242, 300, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 12: { /* Brai */ { 0x69617242, 570, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 13: { /* Bugi */ { 0x69677542, 367, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 14: { /* Buhd */ { 0x64687542, 372, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 15: { /* Cans */ { 0x736e6143, 440, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 16: { /* Cari */ { 0x69726143, 201, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 17: { /* Cham */ { 0x6d616843, 358, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 18: { /* Cher */ { 0x72656843, 445, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 19: { /* Copt */ { 0x74706f43, 204, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 20: { /* Xsux */ { 0x78757358, 20, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 21: { /* Cprt */ { 0x74727043, 403, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 22: { /* Cyrl */ { 0x6c727943, 220, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 23: { /* Dsrt */ { 0x74727344, 250, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 24: { /* Deva */ { 0x61766544, 315, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 25: { /* Egyp */ { 0x70796745, 50, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 26: { /* Ethi */ { 0x69687445, 430, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 27: { /* Geor */ { 0x726f6547, 240, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 28: { /* Glag */ { 0x67616c47, 225, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 29: { /* Goth */ { 0x68746f47, 206, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 30: { /* Grek */ { 0x6b657247, 200, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 31: { /* Gujr */ { 0x726a7547, 320, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 32: { /* Guru */ { 0x75727547, 310, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 33: { /* Hani */ { 0x696e6148, 500, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 34: { /* Hang */ { 0x676e6148, 286, 8, 0x0020, 1, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 35: { /* Hano */ { 0x6f6e6148, 371, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 36: { /* Hebr */ { 0x72626548, 125, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 37: { /* Hira */ { 0x61726948, 410, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 38: { /* Armi */ { 0x696d7241, 124, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 39: { /* Phli */ { 0x696c6850, 131, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 40: { /* Prti */ { 0x69747250, 130, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 41: { /* Java */ { 0x6176614a, 361, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 42: { /* Kthi */ { 0x6968744b, 317, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 43: { /* Knda */ { 0x61646e4b, 345, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 44: { /* Kana */ { 0x616e614b, 411, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 45: { /* Kali */ { 0x696c614b, 357, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 46: { /* Khar */ { 0x7261684b, 305, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 47: { /* Khmr */ { 0x726d684b, 355, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 48: { /* Laoo */ { 0x6f6f614c, 356, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 49: { /* Latn */ { 0x6e74614c, 215, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 50: { /* Lepc */ { 0x6370654c, 335, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 51: { /* Limb */ { 0x626d694c, 336, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 52: { /* Linb */ { 0x626e694c, 401, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 53: { /* Lisu */ { 0x7573694c, 399, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 54: { /* Lyci */ { 0x6963794c, 202, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 55: { /* Lydi */ { 0x6964794c, 116, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 56: { /* Mlym */ { 0x6d796c4d, 347, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 57: { /* Mand */ { 0x646e614d, 140, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 58: { /* Mtei */ { 0x6965744d, 337, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 59: { /* Mong */ { 0x676e6f4d, 145, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 60: { /* Mymr */ { 0x726d794d, 350, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 61: { /* Talu */ { 0x756c6154, 354, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 62: { /* Nkoo */ { 0x6f6f6b4e, 165, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 63: { /* Ogam */ { 0x6d61674f, 212, 1, 0x1680, 0, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 64: { /* Olck */ { 0x6b636c4f, 261, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 65: { /* Ital */ { 0x6c617449, 210, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 66: { /* Xpeo */ { 0x6f657058, 30, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 67: { /* Sarb */ { 0x62726153, 105, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 68: { /* Orkh */ { 0x686b724f, 175, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 69: { /* Orya */ { 0x6179724f, 327, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 70: { /* Osma */ { 0x616d734f, 260, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 71: { /* Phag */ { 0x67616850, 331, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 72: { /* Phnx */ { 0x786e6850, 115, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 73: { /* Rjng */ { 0x676e6a52, 363, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 74: { /* Runr */ { 0x726e7552, 211, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 75: { /* Samr */ { 0x726d6153, 123, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 76: { /* Saur */ { 0x72756153, 344, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 77: { /* Shaw */ { 0x77616853, 281, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 78: { /* Sinh */ { 0x686e6953, 348, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 79: { /* Sund */ { 0x646e7553, 362, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 80: { /* Sylo */ { 0x6f6c7953, 316, 8, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 81: { /* Syrc */ { 0x63727953, 135, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 82: { /* Tglg */ { 0x676c6754, 370, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 83: { /* Tagb */ { 0x62676154, 373, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 84: { /* Tale */ { 0x656c6154, 353, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 85: { /* Lana */ { 0x616e614c, 351, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 86: { /* Tavt */ { 0x74766154, 359, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 87: { /* Taml */ { 0x6c6d6154, 346, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 88: { /* Telu */ { 0x756c6554, 340, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 89: { /* Thaa */ { 0x61616854, 170, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 90: { /* Thai */ { 0x69616854, 352, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 91: { /* Tibt */ { 0x74626954, 330, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 92: { /* Tfng */ { 0x676e6654, 120, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 93: { /* Ugar */ { 0x72616755, 40, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 94: { /* Vaii */ { 0x69696156, 470, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 95: { /* Yiii */ { 0x69696959, 460, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 96: { /* Cakm */ { 0x6d6b6143, 349, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 97: { /* Merc */ { 0x6372654d, 101, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 98: { /* Mero */ { 0x6f72654d, 100, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 99: { /* Plrd */ { 0x64726c50, 282, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 100: { /* Shrd */ { 0x64726853, 319, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 101: { /* Sora */ { 0x61726f53, 398, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 102: { /* Takr */ { 0x726b6154, 321, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 103: { /* Bass */ { 0x73736142, 259, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 104: { /* Aghb */ { 0x62686741, 239, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 105: { /* Dupl */ { 0x6c707544, 755, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 106: { /* Elba */ { 0x61626c45, 226, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 107: { /* Gran */ { 0x6e617247, 343, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 108: { /* Khoj */ { 0x6a6f684b, 322, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 109: { /* Sind */ { 0x646e6953, 318, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 110: { /* Lina */ { 0x616e694c, 400, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 111: { /* Mahj */ { 0x6a68614d, 314, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 112: { /* Mani */ { 0x696e614d, 139, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 113: { /* Mend */ { 0x646e654d, 438, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 114: { /* Modi */ { 0x69646f4d, 324, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 115: { /* Mroo */ { 0x6f6f724d, 199, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 116: { /* Nbat */ { 0x7461624e, 159, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 117: { /* Narb */ { 0x6272614e, 106, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 118: { /* Perm */ { 0x6d726550, 227, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 119: { /* Hmng */ { 0x676e6d48, 450, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 120: { /* Palm */ { 0x6d6c6150, 126, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 121: { /* Pauc */ { 0x63756150, 263, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 122: { /* Phlp */ { 0x706c6850, 132, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 123: { /* Sidd */ { 0x64646953, 302, 8, 0x0020, 1, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 124: { /* Tirh */ { 0x68726954, 326, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 125: { /* Wara */ { 0x61726157, 262, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
=== w7pro64 (64 bit analyzer) ===
analyzer.c:1200: Test failed: 0: { /* Zzzz */ { 0x7a7a7a5a, 999, 15, 0x0020, 0, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 1: { /* Zyyy */ { 0x7979795a, 998, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 2: { /* Zinh */ { 0x686e695a, 994, 15, 0x0020, 1, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 3: { /* Arab */ { 0x62617241, 160, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 4: { /* Armn */ { 0x6e6d7241, 230, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 5: { /* Avst */ { 0x74737641, 134, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 6: { /* Bali */ { 0x696c6142, 360, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 7: { /* Bamu */ { 0x756d6142, 435, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 8: { /* Batk */ { 0x6b746142, 365, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 9: { /* Beng */ { 0x676e6542, 325, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 10: { /* Bopo */ { 0x6f706f42, 285, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 11: { /* Brah */ { 0x68617242, 300, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 12: { /* Brai */ { 0x69617242, 570, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 13: { /* Bugi */ { 0x69677542, 367, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 14: { /* Buhd */ { 0x64687542, 372, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 15: { /* Cans */ { 0x736e6143, 440, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 16: { /* Cari */ { 0x69726143, 201, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 17: { /* Cham */ { 0x6d616843, 358, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 18: { /* Cher */ { 0x72656843, 445, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 19: { /* Copt */ { 0x74706f43, 204, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 20: { /* Xsux */ { 0x78757358, 20, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 21: { /* Cprt */ { 0x74727043, 403, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 22: { /* Cyrl */ { 0x6c727943, 220, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 23: { /* Dsrt */ { 0x74727344, 250, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 24: { /* Deva */ { 0x61766544, 315, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 25: { /* Egyp */ { 0x70796745, 50, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 26: { /* Ethi */ { 0x69687445, 430, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 27: { /* Geor */ { 0x726f6547, 240, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 28: { /* Glag */ { 0x67616c47, 225, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 29: { /* Goth */ { 0x68746f47, 206, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 30: { /* Grek */ { 0x6b657247, 200, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 31: { /* Gujr */ { 0x726a7547, 320, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 32: { /* Guru */ { 0x75727547, 310, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 33: { /* Hani */ { 0x696e6148, 500, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 34: { /* Hang */ { 0x676e6148, 286, 8, 0x0020, 1, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 35: { /* Hano */ { 0x6f6e6148, 371, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 36: { /* Hebr */ { 0x72626548, 125, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 37: { /* Hira */ { 0x61726948, 410, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 38: { /* Armi */ { 0x696d7241, 124, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 39: { /* Phli */ { 0x696c6850, 131, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 40: { /* Prti */ { 0x69747250, 130, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 41: { /* Java */ { 0x6176614a, 361, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 42: { /* Kthi */ { 0x6968744b, 317, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 43: { /* Knda */ { 0x61646e4b, 345, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 44: { /* Kana */ { 0x616e614b, 411, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 45: { /* Kali */ { 0x696c614b, 357, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 46: { /* Khar */ { 0x7261684b, 305, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 47: { /* Khmr */ { 0x726d684b, 355, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 48: { /* Laoo */ { 0x6f6f614c, 356, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 49: { /* Latn */ { 0x6e74614c, 215, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 50: { /* Lepc */ { 0x6370654c, 335, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 51: { /* Limb */ { 0x626d694c, 336, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 52: { /* Linb */ { 0x626e694c, 401, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 53: { /* Lisu */ { 0x7573694c, 399, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 54: { /* Lyci */ { 0x6963794c, 202, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 55: { /* Lydi */ { 0x6964794c, 116, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 56: { /* Mlym */ { 0x6d796c4d, 347, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 57: { /* Mand */ { 0x646e614d, 140, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 58: { /* Mtei */ { 0x6965744d, 337, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 59: { /* Mong */ { 0x676e6f4d, 145, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 60: { /* Mymr */ { 0x726d794d, 350, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 61: { /* Talu */ { 0x756c6154, 354, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 62: { /* Nkoo */ { 0x6f6f6b4e, 165, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 63: { /* Ogam */ { 0x6d61674f, 212, 1, 0x1680, 0, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 64: { /* Olck */ { 0x6b636c4f, 261, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 65: { /* Ital */ { 0x6c617449, 210, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 66: { /* Xpeo */ { 0x6f657058, 30, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 67: { /* Sarb */ { 0x62726153, 105, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 68: { /* Orkh */ { 0x686b724f, 175, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 69: { /* Orya */ { 0x6179724f, 327, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 70: { /* Osma */ { 0x616d734f, 260, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 71: { /* Phag */ { 0x67616850, 331, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 72: { /* Phnx */ { 0x786e6850, 115, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 73: { /* Rjng */ { 0x676e6a52, 363, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 74: { /* Runr */ { 0x726e7552, 211, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 75: { /* Samr */ { 0x726d6153, 123, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 76: { /* Saur */ { 0x72756153, 344, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 77: { /* Shaw */ { 0x77616853, 281, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 78: { /* Sinh */ { 0x686e6953, 348, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 79: { /* Sund */ { 0x646e7553, 362, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 80: { /* Sylo */ { 0x6f6c7953, 316, 8, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 81: { /* Syrc */ { 0x63727953, 135, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 82: { /* Tglg */ { 0x676c6754, 370, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 83: { /* Tagb */ { 0x62676154, 373, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 84: { /* Tale */ { 0x656c6154, 353, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 85: { /* Lana */ { 0x616e614c, 351, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 86: { /* Tavt */ { 0x74766154, 359, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 87: { /* Taml */ { 0x6c6d6154, 346, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 88: { /* Telu */ { 0x756c6554, 340, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 89: { /* Thaa */ { 0x61616854, 170, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 90: { /* Thai */ { 0x69616854, 352, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 91: { /* Tibt */ { 0x74626954, 330, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 92: { /* Tfng */ { 0x676e6654, 120, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 93: { /* Ugar */ { 0x72616755, 40, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 94: { /* Vaii */ { 0x69696156, 470, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 95: { /* Yiii */ { 0x69696959, 460, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
=== w864 (64 bit analyzer) ===
analyzer.c:1200: Test failed: 0: { /* Zzzz */ { 0x7a7a7a5a, 999, 15, 0x0020, 0, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 1: { /* Zyyy */ { 0x7979795a, 998, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 2: { /* Zinh */ { 0x686e695a, 994, 15, 0x0020, 1, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 3: { /* Arab */ { 0x62617241, 160, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 4: { /* Armn */ { 0x6e6d7241, 230, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 5: { /* Avst */ { 0x74737641, 134, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 6: { /* Bali */ { 0x696c6142, 360, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 7: { /* Bamu */ { 0x756d6142, 435, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 8: { /* Batk */ { 0x6b746142, 365, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 9: { /* Beng */ { 0x676e6542, 325, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 10: { /* Bopo */ { 0x6f706f42, 285, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 11: { /* Brah */ { 0x68617242, 300, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 12: { /* Brai */ { 0x69617242, 570, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 13: { /* Bugi */ { 0x69677542, 367, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 14: { /* Buhd */ { 0x64687542, 372, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 15: { /* Cans */ { 0x736e6143, 440, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 16: { /* Cari */ { 0x69726143, 201, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 17: { /* Cham */ { 0x6d616843, 358, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 18: { /* Cher */ { 0x72656843, 445, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 19: { /* Copt */ { 0x74706f43, 204, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 20: { /* Xsux */ { 0x78757358, 20, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 21: { /* Cprt */ { 0x74727043, 403, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 22: { /* Cyrl */ { 0x6c727943, 220, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 23: { /* Dsrt */ { 0x74727344, 250, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 24: { /* Deva */ { 0x61766544, 315, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 25: { /* Egyp */ { 0x70796745, 50, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 26: { /* Ethi */ { 0x69687445, 430, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 27: { /* Geor */ { 0x726f6547, 240, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 28: { /* Glag */ { 0x67616c47, 225, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 29: { /* Goth */ { 0x68746f47, 206, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 30: { /* Grek */ { 0x6b657247, 200, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 31: { /* Gujr */ { 0x726a7547, 320, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 32: { /* Guru */ { 0x75727547, 310, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 33: { /* Hani */ { 0x696e6148, 500, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 34: { /* Hang */ { 0x676e6148, 286, 8, 0x0020, 1, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 35: { /* Hano */ { 0x6f6e6148, 371, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 36: { /* Hebr */ { 0x72626548, 125, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 37: { /* Hira */ { 0x61726948, 410, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 38: { /* Armi */ { 0x696d7241, 124, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 39: { /* Phli */ { 0x696c6850, 131, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 40: { /* Prti */ { 0x69747250, 130, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 41: { /* Java */ { 0x6176614a, 361, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 42: { /* Kthi */ { 0x6968744b, 317, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 43: { /* Knda */ { 0x61646e4b, 345, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 44: { /* Kana */ { 0x616e614b, 411, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 45: { /* Kali */ { 0x696c614b, 357, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 46: { /* Khar */ { 0x7261684b, 305, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 47: { /* Khmr */ { 0x726d684b, 355, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 48: { /* Laoo */ { 0x6f6f614c, 356, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 49: { /* Latn */ { 0x6e74614c, 215, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 50: { /* Lepc */ { 0x6370654c, 335, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 51: { /* Limb */ { 0x626d694c, 336, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 52: { /* Linb */ { 0x626e694c, 401, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 53: { /* Lisu */ { 0x7573694c, 399, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 54: { /* Lyci */ { 0x6963794c, 202, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 55: { /* Lydi */ { 0x6964794c, 116, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 56: { /* Mlym */ { 0x6d796c4d, 347, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 57: { /* Mand */ { 0x646e614d, 140, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 58: { /* Mtei */ { 0x6965744d, 337, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 59: { /* Mong */ { 0x676e6f4d, 145, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 60: { /* Mymr */ { 0x726d794d, 350, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 61: { /* Talu */ { 0x756c6154, 354, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 62: { /* Nkoo */ { 0x6f6f6b4e, 165, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 63: { /* Ogam */ { 0x6d61674f, 212, 1, 0x1680, 0, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 64: { /* Olck */ { 0x6b636c4f, 261, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 65: { /* Ital */ { 0x6c617449, 210, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 66: { /* Xpeo */ { 0x6f657058, 30, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 67: { /* Sarb */ { 0x62726153, 105, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 68: { /* Orkh */ { 0x686b724f, 175, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 69: { /* Orya */ { 0x6179724f, 327, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 70: { /* Osma */ { 0x616d734f, 260, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 71: { /* Phag */ { 0x67616850, 331, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 72: { /* Phnx */ { 0x786e6850, 115, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 73: { /* Rjng */ { 0x676e6a52, 363, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 74: { /* Runr */ { 0x726e7552, 211, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 75: { /* Samr */ { 0x726d6153, 123, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 76: { /* Saur */ { 0x72756153, 344, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 77: { /* Shaw */ { 0x77616853, 281, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 78: { /* Sinh */ { 0x686e6953, 348, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 79: { /* Sund */ { 0x646e7553, 362, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 80: { /* Sylo */ { 0x6f6c7953, 316, 8, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 81: { /* Syrc */ { 0x63727953, 135, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 82: { /* Tglg */ { 0x676c6754, 370, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 83: { /* Tagb */ { 0x62676154, 373, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 84: { /* Tale */ { 0x656c6154, 353, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 85: { /* Lana */ { 0x616e614c, 351, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 86: { /* Tavt */ { 0x74766154, 359, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 87: { /* Taml */ { 0x6c6d6154, 346, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 88: { /* Telu */ { 0x756c6554, 340, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 89: { /* Thaa */ { 0x61616854, 170, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 90: { /* Thai */ { 0x69616854, 352, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 91: { /* Tibt */ { 0x74626954, 330, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 92: { /* Tfng */ { 0x676e6654, 120, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 93: { /* Ugar */ { 0x72616755, 40, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 94: { /* Vaii */ { 0x69696156, 470, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 95: { /* Yiii */ { 0x69696959, 460, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 96: { /* Cakm */ { 0x6d6b6143, 349, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 97: { /* Merc */ { 0x6372654d, 101, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 98: { /* Mero */ { 0x6f72654d, 100, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 99: { /* Plrd */ { 0x64726c50, 282, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 100: { /* Shrd */ { 0x64726853, 319, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 101: { /* Sora */ { 0x61726f53, 398, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 102: { /* Takr */ { 0x726b6154, 321, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
=== w1064 (64 bit analyzer) ===
analyzer.c:1200: Test failed: 0: { /* Zzzz */ { 0x7a7a7a5a, 999, 15, 0x0020, 0, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 1: { /* Zyyy */ { 0x7979795a, 998, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 2: { /* Zinh */ { 0x686e695a, 994, 15, 0x0020, 1, 0, 0, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 3: { /* Arab */ { 0x62617241, 160, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 4: { /* Armn */ { 0x6e6d7241, 230, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 5: { /* Avst */ { 0x74737641, 134, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 6: { /* Bali */ { 0x696c6142, 360, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 7: { /* Bamu */ { 0x756d6142, 435, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 8: { /* Batk */ { 0x6b746142, 365, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 9: { /* Beng */ { 0x676e6542, 325, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 10: { /* Bopo */ { 0x6f706f42, 285, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 11: { /* Brah */ { 0x68617242, 300, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 12: { /* Brai */ { 0x69617242, 570, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 13: { /* Bugi */ { 0x69677542, 367, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 14: { /* Buhd */ { 0x64687542, 372, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 15: { /* Cans */ { 0x736e6143, 440, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 16: { /* Cari */ { 0x69726143, 201, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 17: { /* Cham */ { 0x6d616843, 358, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 18: { /* Cher */ { 0x72656843, 445, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 19: { /* Copt */ { 0x74706f43, 204, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 20: { /* Xsux */ { 0x78757358, 20, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 21: { /* Cprt */ { 0x74727043, 403, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 22: { /* Cyrl */ { 0x6c727943, 220, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 23: { /* Dsrt */ { 0x74727344, 250, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 24: { /* Deva */ { 0x61766544, 315, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 25: { /* Egyp */ { 0x70796745, 50, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 26: { /* Ethi */ { 0x69687445, 430, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 27: { /* Geor */ { 0x726f6547, 240, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 28: { /* Glag */ { 0x67616c47, 225, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 29: { /* Goth */ { 0x68746f47, 206, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 30: { /* Grek */ { 0x6b657247, 200, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 31: { /* Gujr */ { 0x726a7547, 320, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 32: { /* Guru */ { 0x75727547, 310, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 33: { /* Hani */ { 0x696e6148, 500, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 34: { /* Hang */ { 0x676e6148, 286, 8, 0x0020, 1, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 35: { /* Hano */ { 0x6f6e6148, 371, 8, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 36: { /* Hebr */ { 0x72626548, 125, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 37: { /* Hira */ { 0x61726948, 410, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 38: { /* Armi */ { 0x696d7241, 124, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 39: { /* Phli */ { 0x696c6850, 131, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 40: { /* Prti */ { 0x69747250, 130, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 41: { /* Java */ { 0x6176614a, 361, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 42: { /* Kthi */ { 0x6968744b, 317, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 43: { /* Knda */ { 0x61646e4b, 345, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 44: { /* Kana */ { 0x616e614b, 411, 8, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 45: { /* Kali */ { 0x696c614b, 357, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 46: { /* Khar */ { 0x7261684b, 305, 15, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 47: { /* Khmr */ { 0x726d684b, 355, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 48: { /* Laoo */ { 0x6f6f614c, 356, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 49: { /* Latn */ { 0x6e74614c, 215, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 50: { /* Lepc */ { 0x6370654c, 335, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 51: { /* Limb */ { 0x626d694c, 336, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 52: { /* Linb */ { 0x626e694c, 401, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 53: { /* Lisu */ { 0x7573694c, 399, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 54: { /* Lyci */ { 0x6963794c, 202, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 55: { /* Lydi */ { 0x6964794c, 116, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 56: { /* Mlym */ { 0x6d796c4d, 347, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 57: { /* Mand */ { 0x646e614d, 140, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 58: { /* Mtei */ { 0x6965744d, 337, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 59: { /* Mong */ { 0x676e6f4d, 145, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 60: { /* Mymr */ { 0x726d794d, 350, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 61: { /* Talu */ { 0x756c6154, 354, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 62: { /* Nkoo */ { 0x6f6f6b4e, 165, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 63: { /* Ogam */ { 0x6d61674f, 212, 1, 0x1680, 0, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 64: { /* Olck */ { 0x6b636c4f, 261, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 65: { /* Ital */ { 0x6c617449, 210, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 66: { /* Xpeo */ { 0x6f657058, 30, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 67: { /* Sarb */ { 0x62726153, 105, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 68: { /* Orkh */ { 0x686b724f, 175, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 69: { /* Orya */ { 0x6179724f, 327, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 70: { /* Osma */ { 0x616d734f, 260, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 71: { /* Phag */ { 0x67616850, 331, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 72: { /* Phnx */ { 0x786e6850, 115, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 73: { /* Rjng */ { 0x676e6a52, 363, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 74: { /* Runr */ { 0x726e7552, 211, 1, 0x0020, 0, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 75: { /* Samr */ { 0x726d6153, 123, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 76: { /* Saur */ { 0x72756153, 344, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 77: { /* Shaw */ { 0x77616853, 281, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 78: { /* Sinh */ { 0x686e6953, 348, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 79: { /* Sund */ { 0x646e7553, 362, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 80: { /* Sylo */ { 0x6f6c7953, 316, 8, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 81: { /* Syrc */ { 0x63727953, 135, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 82: { /* Tglg */ { 0x676c6754, 370, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 83: { /* Tagb */ { 0x62676154, 373, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 84: { /* Tale */ { 0x656c6154, 353, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 85: { /* Lana */ { 0x616e614c, 351, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 86: { /* Tavt */ { 0x74766154, 359, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 87: { /* Taml */ { 0x6c6d6154, 346, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 88: { /* Telu */ { 0x756c6554, 340, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 89: { /* Thaa */ { 0x61616854, 170, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 90: { /* Thai */ { 0x69616854, 352, 8, 0x0020, 1, 0, 1, 0, 1, 0, 0 } },
analyzer.c:1200: Test failed: 91: { /* Tibt */ { 0x74626954, 330, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 92: { /* Tfng */ { 0x676e6654, 120, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 93: { /* Ugar */ { 0x72616755, 40, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 94: { /* Vaii */ { 0x69696156, 470, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 95: { /* Yiii */ { 0x69696959, 460, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 96: { /* Cakm */ { 0x6d6b6143, 349, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 97: { /* Merc */ { 0x6372654d, 101, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 98: { /* Mero */ { 0x6f72654d, 100, 1, 0x0020, 0, 1, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 99: { /* Plrd */ { 0x64726c50, 282, 8, 0x0020, 1, 0, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 100: { /* Shrd */ { 0x64726853, 319, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 101: { /* Sora */ { 0x61726f53, 398, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 102: { /* Takr */ { 0x726b6154, 321, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 103: { /* Bass */ { 0x73736142, 259, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 104: { /* Aghb */ { 0x62686741, 239, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 105: { /* Dupl */ { 0x6c707544, 755, 8, 0x0020, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 106: { /* Elba */ { 0x61626c45, 226, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 107: { /* Gran */ { 0x6e617247, 343, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 108: { /* Khoj */ { 0x6a6f684b, 322, 15, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 109: { /* Sind */ { 0x646e6953, 318, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 110: { /* Lina */ { 0x616e694c, 400, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 111: { /* Mahj */ { 0x6a68614d, 314, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 112: { /* Mani */ { 0x696e614d, 139, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 113: { /* Mend */ { 0x646e654d, 438, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 114: { /* Modi */ { 0x69646f4d, 324, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 115: { /* Mroo */ { 0x6f6f724d, 199, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 116: { /* Nbat */ { 0x7461624e, 159, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 117: { /* Narb */ { 0x6272614e, 106, 1, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 118: { /* Perm */ { 0x6d726550, 227, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 119: { /* Hmng */ { 0x676e6d48, 450, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 120: { /* Palm */ { 0x6d6c6150, 126, 8, 0x0020, 1, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 121: { /* Pauc */ { 0x63756150, 263, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
analyzer.c:1200: Test failed: 122: { /* Phlp */ { 0x706c6850, 132, 8, 0x0640, 0, 1, 0, 0, 0, 1, 1 } },
analyzer.c:1200: Test failed: 123: { /* Sidd */ { 0x64646953, 302, 8, 0x0020, 1, 0, 1, 1, 0, 0, 0 } },
analyzer.c:1200: Test failed: 124: { /* Tirh */ { 0x68726954, 326, 15, 0x0020, 1, 1, 0, 0, 0, 1, 0 } },
analyzer.c:1200: Test failed: 125: { /* Wara */ { 0x61726157, 262, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 } },
June 30, 2018
[PATCH] tools: Update to Unicode 11.0.0.
by Nikolay Sivov
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/dwrite/analyzer.c | 4 +
dlls/dwrite/bracket.c | 2 +-
dlls/dwrite/linebreak.c | 214 ++++++++++++------------
dlls/dwrite/mirror.c | 2 +-
dlls/dwrite/scripts.c | 308 ++++++++++++++++++-----------------
dlls/dwrite/scripts.h | 8 +-
dlls/dwrite/tests/analyzer.c | 12 ++
dlls/gdi32/vertical.c | 2 +-
dlls/usp10/bracket.c | 2 +-
dlls/usp10/indicsyllable.c | 86 +++++-----
dlls/usp10/linebreak.c | 214 ++++++++++++------------
dlls/usp10/mirror.c | 2 +-
dlls/usp10/shaping.c | 116 +++++++------
dlls/wineps.drv/vertical.c | 2 +-
libs/port/compose.c | 2 +-
libs/port/decompose.c | 2 +-
libs/port/digitmap.c | 2 +-
libs/wine/casemap.c | 2 +-
libs/wine/wctype.c | 38 ++---
tools/make_unicode | 9 +-
20 files changed, 526 insertions(+), 503 deletions(-)
diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c
index 8d553c6d56..19214ee392 100644
--- a/dlls/dwrite/analyzer.c
+++ b/dlls/dwrite/analyzer.c
@@ -184,6 +184,10 @@ static const struct dwritescript_properties dwritescripts_properties[Script_Last
{ /* Osge */ { 0x6567734f, 219, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('o','s','g','e') },
{ /* Sgnw */ { 0x776e6753, 95, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('s','g','n','w') },
{ /* Tang */ { 0x676e6154, 520, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('t','a','n','g') },
+ { /* Gonm */ { 0x6d6e6f47, 313, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('g','o','n','m') },
+ { /* Nshu */ { 0x7568734e, 499, 1, 0x0020, 0, 0, 1, 1, 0, 0, 0 }, _OT('n','s','h','u') },
+ { /* Soyo */ { 0x6f796f53, 329, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('s','o','y','o') },
+ { /* Zanb */ { 0x626e615a, 339, 8, 0x0020, 0, 1, 1, 0, 0, 0, 0 }, _OT('z','a','n','b') },
};
#undef _OT
diff --git a/dlls/dwrite/bracket.c b/dlls/dwrite/bracket.c
index 1509d572c9..16df6381a6 100644
--- a/dlls/dwrite/bracket.c
+++ b/dlls/dwrite/bracket.c
@@ -1,5 +1,5 @@
/* Unicode Bidirectional Bracket table */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/BidiBrackets.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/BidiBrackets.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/dwrite/linebreak.c b/dlls/dwrite/linebreak.c
index 56bde66e9e..cd2ca64952 100644
--- a/dlls/dwrite/linebreak.c
+++ b/dlls/dwrite/linebreak.c
@@ -1,10 +1,10 @@
/* Unicode Line Break Properties */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/LineBreak.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/LineBreak.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
+const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7264] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
@@ -56,22 +56,22 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0790, 0x07a0, 0x07b0,
0x07c0, 0x07d0, 0x05b0, 0x0580, 0x07e0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x07f0, 0x0800, 0x07b0, 0x05b0, 0x0760, 0x0810,
- 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0870,
- 0x0870, 0x0870, 0x05b0, 0x0880, 0x0870, 0x0890, 0x08a0, 0x0580,
- 0x08b0, 0x05b0, 0x05b0, 0x08c0, 0x0580, 0x08d0, 0x08e0, 0x05b0,
- 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950, 0x0960,
- 0x0970, 0x0900, 0x0910, 0x0980, 0x0990, 0x09a0, 0x09b0, 0x09c0,
- 0x09d0, 0x0690, 0x0910, 0x09e0, 0x09f0, 0x0a00, 0x0950, 0x0a10,
- 0x0a20, 0x0900, 0x0910, 0x09e0, 0x0a30, 0x0a40, 0x0950, 0x0a50,
- 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x0ab0, 0x09b0, 0x0ac0,
- 0x0ad0, 0x0ae0, 0x0910, 0x0af0, 0x0b00, 0x0b10, 0x0950, 0x0b20,
- 0x0b30, 0x0ae0, 0x0910, 0x0b40, 0x0b00, 0x0b50, 0x0950, 0x0b60,
- 0x0ad0, 0x0ae0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0950, 0x0ba0,
- 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09b0, 0x0c00,
- 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0870, 0x0870,
- 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0870, 0x0870,
+ 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0860,
+ 0x0860, 0x0860, 0x05b0, 0x0870, 0x0860, 0x0880, 0x0890, 0x0580,
+ 0x08a0, 0x05b0, 0x05b0, 0x08b0, 0x0580, 0x08c0, 0x08d0, 0x05b0,
+ 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950,
+ 0x0960, 0x08f0, 0x0900, 0x0970, 0x0980, 0x0990, 0x09a0, 0x09b0,
+ 0x09c0, 0x0690, 0x0900, 0x09d0, 0x09e0, 0x09f0, 0x0940, 0x0a00,
+ 0x0a10, 0x08f0, 0x0900, 0x09d0, 0x0a20, 0x0a30, 0x0940, 0x0a40,
+ 0x0a50, 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x09a0, 0x0ab0,
+ 0x0ac0, 0x0ad0, 0x0900, 0x0ae0, 0x0af0, 0x0b00, 0x0940, 0x0b10,
+ 0x0b20, 0x0ad0, 0x0900, 0x0b30, 0x0af0, 0x0b40, 0x0940, 0x0b50,
+ 0x0b60, 0x0ad0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0940, 0x0ba0,
+ 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09a0, 0x0c00,
+ 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0860, 0x0860,
+ 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0860, 0x0860,
0x0cc0, 0x0cd0, 0x07b0, 0x0ce0, 0x0cf0, 0x05b0, 0x0d00, 0x0d10,
- 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0870, 0x0870,
+ 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0860, 0x0860,
0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0d70, 0x0c20, 0x0c20, 0x0c20,
0x0c20, 0x0d80, 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0,
0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0db0, 0x0db0,
@@ -86,16 +86,16 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0e70, 0x0e80, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e90, 0x0ea0,
0x0eb0, 0x0ec0, 0x05b0, 0x0ed0, 0x05b0, 0x0ee0, 0x0eb0, 0x0ef0,
0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0f00, 0x0f10, 0x0e50,
- 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a50,
+ 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a40,
0x0f30, 0x05b0, 0x0f40, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f50,
0x05b0, 0x0840, 0x0f60, 0x0f60, 0x0f70, 0x0c20, 0x0f80, 0x0f90,
0x0c20, 0x0c20, 0x0fa0, 0x0c20, 0x0fb0, 0x0fc0, 0x05b0, 0x05b0,
0x05b0, 0x0fd0, 0x0c20, 0x0c20, 0x0c20, 0x0fe0, 0x0c20, 0x0ff0,
- 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0870, 0x0870, 0x0870, 0x0870,
+ 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0860, 0x0860, 0x0860, 0x0860,
0x1010, 0x05b0, 0x05b0, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060,
0x1070, 0x05b0, 0x1080, 0x07b0, 0x05b0, 0x05b0, 0x07f0, 0x1090,
0x05b0, 0x05b0, 0x1020, 0x10a0, 0x10b0, 0x07b0, 0x05b0, 0x10c0,
- 0x0ea0, 0x0870, 0x0870, 0x0870, 0x0a50, 0x10d0, 0x10e0, 0x10f0,
+ 0x0ea0, 0x0860, 0x0860, 0x0860, 0x0a40, 0x10d0, 0x10e0, 0x10f0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x0580, 0x1100,
0x05b0, 0x0e60, 0x05b0, 0x05b0, 0x0e60, 0x1110, 0x05b0, 0x1120,
@@ -108,80 +108,80 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x1320, 0x1330, 0x1340, 0x1350, 0x05b0, 0x05b0, 0x1360, 0x05b0,
0x1370, 0x1380, 0x1390, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x13a0,
- 0x05b0, 0x05b0, 0x13b0, 0x0870, 0x0860, 0x0870, 0x13c0, 0x13c0,
- 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13d0,
- 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x1270, 0x13c0, 0x13c0, 0x13e0,
- 0x13c0, 0x13f0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x05b0,
- 0x1450, 0x1460, 0x05b0, 0x1470, 0x1480, 0x05b0, 0x1490, 0x14a0,
- 0x05b0, 0x14b0, 0x05b0, 0x14c0, 0x14d0, 0x14e0, 0x14f0, 0x1500,
- 0x1510, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1520, 0x1530, 0x1540,
- 0x13c0, 0x1550, 0x05b0, 0x05b0, 0x1560, 0x05b0, 0x1570, 0x05b0,
+ 0x05b0, 0x05b0, 0x13b0, 0x0860, 0x13c0, 0x0860, 0x13d0, 0x13d0,
+ 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13e0,
+ 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x1270, 0x13d0, 0x13d0, 0x13f0,
+ 0x13d0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x1450, 0x05b0,
+ 0x1460, 0x1470, 0x05b0, 0x1480, 0x1490, 0x05b0, 0x14a0, 0x14b0,
+ 0x05b0, 0x14c0, 0x05b0, 0x14d0, 0x14e0, 0x14f0, 0x1500, 0x1510,
+ 0x1520, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1530, 0x1540, 0x1550,
+ 0x13d0, 0x1560, 0x05b0, 0x05b0, 0x1570, 0x05b0, 0x1580, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x1580, 0x1590, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15a0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15b0, 0x05b0, 0x15c0,
- 0x05b0, 0x15d0, 0x05b0, 0x15e0, 0x0910, 0x15f0, 0x1600, 0x0870,
+ 0x1590, 0x15a0, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15c0, 0x05b0, 0x15d0,
+ 0x05b0, 0x15e0, 0x05b0, 0x15f0, 0x0900, 0x1600, 0x1610, 0x0860,
0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1610, 0x1620,
- 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1630, 0x1640,
- 0x05b0, 0x13b0, 0x1650, 0x1650, 0x1650, 0x1650, 0x0580, 0x0580,
- 0x1660, 0x1670, 0x1680, 0x1690, 0x16a0, 0x0870, 0x0870, 0x0870,
- 0x16b0, 0x16c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16d0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16e0, 0x0870, 0x16f0,
- 0x1700, 0x1710, 0x1720, 0x1730, 0x1740, 0x16b0, 0x1750, 0x16b0,
- 0x1760, 0x1770, 0x1780, 0x16b0, 0x1750, 0x16b0, 0x1760, 0x1790,
- 0x17a0, 0x16b0, 0x17b0, 0x17c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x17b0, 0x16b0, 0x16b0, 0x17d0, 0x16b0, 0x16b0, 0x16d0, 0x17e0,
- 0x16b0, 0x17b0, 0x16b0, 0x16b0, 0x17f0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x17b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x16b0, 0x1800, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x1810, 0x16b0, 0x16b0, 0x16b0, 0x1820, 0x05b0, 0x05b0, 0x10c0,
- 0x1830, 0x05b0, 0x1840, 0x0870, 0x05b0, 0x05b0, 0x1610, 0x1850,
- 0x05b0, 0x1860, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1870,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1620, 0x1630,
+ 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1640, 0x1650,
+ 0x05b0, 0x13b0, 0x1660, 0x1660, 0x1660, 0x1660, 0x0580, 0x0580,
+ 0x1670, 0x1680, 0x1690, 0x16a0, 0x16b0, 0x0860, 0x0860, 0x0860,
+ 0x16c0, 0x16d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16e0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16f0, 0x0860, 0x1700,
+ 0x1710, 0x1720, 0x1730, 0x1740, 0x1750, 0x16c0, 0x1760, 0x16c0,
+ 0x1770, 0x1780, 0x1790, 0x16c0, 0x1760, 0x16c0, 0x1770, 0x17a0,
+ 0x17b0, 0x16c0, 0x17c0, 0x17d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x17e0, 0x16c0, 0x16c0, 0x17f0, 0x16c0, 0x16c0, 0x16e0, 0x1800,
+ 0x16c0, 0x17e0, 0x16c0, 0x16c0, 0x1810, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x17e0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
+ 0x16c0, 0x1820, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x1830, 0x16c0, 0x16c0, 0x16c0, 0x1840, 0x05b0, 0x05b0, 0x10c0,
+ 0x1850, 0x05b0, 0x1860, 0x0860, 0x05b0, 0x05b0, 0x1620, 0x1870,
+ 0x05b0, 0x1880, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1890,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x0840, 0x0a50, 0x0870, 0x0870, 0x0870, 0x1880,
- 0x1890, 0x05b0, 0x18a0, 0x18b0, 0x05b0, 0x05b0, 0x05b0, 0x18c0,
- 0x18d0, 0x05b0, 0x05b0, 0x1020, 0x18e0, 0x0f10, 0x0580, 0x18f0,
- 0x07b0, 0x05b0, 0x1900, 0x05b0, 0x1910, 0x1920, 0x0da0, 0x1930,
- 0x08b0, 0x05b0, 0x05b0, 0x1940, 0x1950, 0x1960, 0x0c20, 0x1970,
- 0x05b0, 0x05b0, 0x1980, 0x1990, 0x19a0, 0x19b0, 0x0c20, 0x0c20,
- 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19c0, 0x19d0, 0x0760, 0x19e0,
- 0x19f0, 0x1a00, 0x1650, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a10, 0x0f10,
- 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20,
- 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50,
- 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40,
- 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60,
- 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40,
- 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20,
- 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50,
- 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40,
- 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60,
- 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a70, 0x0db0, 0x1a80, 0x0dd0, 0x0dd0, 0x1a90,
- 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0,
- 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0,
- 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
- 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
- 0x13b0, 0x1ab0, 0x1ac0, 0x1ad0, 0x1ae0, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1af0, 0x1b00, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x1b10, 0x0870, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x1b20, 0x05b0, 0x05b0, 0x0a50, 0x0870, 0x0870, 0x1b30,
- 0x0580, 0x1b40, 0x0580, 0x1b50, 0x1b60, 0x1b70, 0x1b80, 0x1130,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1b90,
- 0x1ba0, 0x1bb0, 0x16b0, 0x1bc0, 0x16b0, 0x1bd0, 0x1be0, 0x1bf0,
- 0x16b0, 0x1c00, 0x16b0, 0x17b0, 0x1c10, 0x1c20, 0x1c30, 0x1c40,
+ 0x05b0, 0x05b0, 0x0840, 0x0a40, 0x0860, 0x0860, 0x0860, 0x18a0,
+ 0x18b0, 0x05b0, 0x18c0, 0x18d0, 0x05b0, 0x05b0, 0x05b0, 0x18e0,
+ 0x18f0, 0x05b0, 0x05b0, 0x1020, 0x1900, 0x0f10, 0x0580, 0x1910,
+ 0x07b0, 0x05b0, 0x1920, 0x05b0, 0x1930, 0x1940, 0x0da0, 0x1950,
+ 0x08a0, 0x05b0, 0x05b0, 0x1960, 0x1970, 0x1980, 0x0c20, 0x1990,
+ 0x05b0, 0x05b0, 0x19a0, 0x19b0, 0x19c0, 0x19d0, 0x0c20, 0x0c20,
+ 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19e0, 0x19f0, 0x0760, 0x1a00,
+ 0x1a10, 0x1a20, 0x1660, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a30, 0x0f10,
+ 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40,
+ 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70,
+ 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60,
+ 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80,
+ 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60,
+ 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40,
+ 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70,
+ 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60,
+ 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80,
+ 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a90, 0x0db0, 0x1aa0, 0x0dd0, 0x0dd0, 0x1ab0,
+ 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0,
+ 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0,
+ 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
+ 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
+ 0x13b0, 0x1ad0, 0x1ae0, 0x1af0, 0x1b00, 0x05b0, 0x05b0, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1600, 0x1b10, 0x05b0, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x1b20, 0x0860, 0x05b0, 0x05b0, 0x05b0,
+ 0x05b0, 0x1b30, 0x05b0, 0x05b0, 0x0a40, 0x0860, 0x0860, 0x1b40,
+ 0x0580, 0x1b50, 0x0580, 0x1b60, 0x1b70, 0x1b80, 0x1b90, 0x1130,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1ba0,
+ 0x1bb0, 0x1bc0, 0x16c0, 0x1bd0, 0x16c0, 0x1be0, 0x1bf0, 0x1c00,
+ 0x16c0, 0x1c10, 0x16c0, 0x17e0, 0x1c20, 0x1c30, 0x1c40, 0x1c50,
/* values */
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0022, 0x0003, 0x0001, 0x0001, 0x0002, 0x0004, 0x0004,
@@ -277,8 +277,6 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x001d, 0x0011,
- 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
@@ -310,7 +308,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x0004, 0x0004, 0x0011, 0x0011, 0x001c, 0x001c,
0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
0x001d, 0x001d, 0x001b, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001b, 0x001d, 0x001a, 0x001d, 0x001d, 0x0011, 0x0011,
+ 0x001d, 0x001b, 0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d,
0x001d, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x0011,
@@ -332,7 +330,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0011, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+ 0x0011, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0004,
@@ -375,8 +373,10 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0011,
0x0011, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004,
+ 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, 0x0004,
0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d,
0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0004,
@@ -551,10 +551,10 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0004,
+ 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0011,
0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
- 0x0004, 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+ 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011,
+ 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
@@ -638,9 +638,11 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0012, 0x0013, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
@@ -711,7 +713,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d,
@@ -733,8 +735,8 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0012, 0x0013, 0x0022, 0x0022, 0x0022, 0x0022, 0x0017, 0x001d,
0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0025, 0x0025, 0x0022, 0x0022, 0x0022, 0x001d,
- 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
- 0x0022, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0011, 0x0011, 0x0011,
+ 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
@@ -768,10 +770,12 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
- 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011,
0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
@@ -871,8 +875,6 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0011, 0x0026, 0x0011,
0x0026, 0x0026, 0x0011, 0x0026, 0x0026, 0x0011, 0x0026, 0x0026,
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
- 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
diff --git a/dlls/dwrite/mirror.c b/dlls/dwrite/mirror.c
index 23dab536c4..daadfa8054 100644
--- a/dlls/dwrite/mirror.c
+++ b/dlls/dwrite/mirror.c
@@ -1,5 +1,5 @@
/* Unicode BiDi mirroring */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/BidiMirroring.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/BidiMirroring.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/dwrite/scripts.c b/dlls/dwrite/scripts.c
index ce139f2932..5d7846afdf 100644
--- a/dlls/dwrite/scripts.c
+++ b/dlls/dwrite/scripts.c
@@ -1,63 +1,63 @@
/* Unicode Script IDs */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/Scripts.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/Scripts.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
+const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6880] =
{
/* 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, 0x0300, 0x0300, 0x0310, 0x0300, 0x0300, 0x0300,
- 0x0320, 0x0300, 0x0300, 0x0330, 0x0340, 0x0350, 0x0360, 0x0370,
- 0x0380, 0x0390, 0x03a0, 0x03b0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03d0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0,
- 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x03e0,
- 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x0400, 0x0410, 0x0420, 0x0430,
- 0x0440, 0x0450, 0x0460, 0x0470, 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, 0x0480,
- 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490,
- 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490,
- 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490,
- 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490, 0x0490,
- 0x0490, 0x03c0, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0,
+ 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0210, 0x0490,
+ 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0,
+ 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0,
+ 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0,
+ 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0, 0x04a0,
+ 0x04a0, 0x03d0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500,
/* level 2 offsets */
- 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, 0x07c0, 0x07d0,
- 0x07d0, 0x07d0, 0x06b0, 0x07e0, 0x07d0, 0x07f0, 0x0800, 0x06b0,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0520, 0x0530, 0x0520, 0x0530,
+ 0x0510, 0x0510, 0x0540, 0x0540, 0x0550, 0x0560, 0x0550, 0x0560,
+ 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550,
+ 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550,
+ 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550,
+ 0x0550, 0x0550, 0x0550, 0x0570, 0x0510, 0x0510, 0x0580, 0x0510,
+ 0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x0590, 0x05a0,
+ 0x05b0, 0x05c0, 0x05d0, 0x05c0, 0x05c0, 0x05c0, 0x05e0, 0x05c0,
+ 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0,
+ 0x0600, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0, 0x05f0,
+ 0x05f0, 0x05f0, 0x05f0, 0x0610, 0x0620, 0x0630, 0x0610, 0x0620,
+ 0x0640, 0x0650, 0x0660, 0x0660, 0x0670, 0x0660, 0x0680, 0x0690,
+ 0x06a0, 0x06b0, 0x06c0, 0x06c0, 0x06d0, 0x06e0, 0x06c0, 0x06f0,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x0700, 0x06c0, 0x06c0,
+ 0x0710, 0x0720, 0x0720, 0x0720, 0x0730, 0x06c0, 0x06c0, 0x06c0,
+ 0x0740, 0x0740, 0x0740, 0x0750, 0x0760, 0x0760, 0x0760, 0x0770,
+ 0x0780, 0x0780, 0x0790, 0x07a0, 0x07b0, 0x07c0, 0x07d0, 0x07d0,
+ 0x07d0, 0x07d0, 0x06c0, 0x07e0, 0x07d0, 0x07f0, 0x0800, 0x06c0,
0x0810, 0x0810, 0x0810, 0x0810, 0x0810, 0x0820, 0x0830, 0x0810,
0x0840, 0x0850, 0x0860, 0x0870, 0x0880, 0x0890, 0x08a0, 0x08b0,
0x08c0, 0x08d0, 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930,
@@ -66,108 +66,110 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
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, 0x0be0, 0x0bf0, 0x0c00, 0x0c10, 0x0be0,
- 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0c60, 0x0c70, 0x0c80, 0x0c90,
- 0x0ca0, 0x0cb0, 0x0cb0, 0x0cc0, 0x0cb0, 0x0cd0, 0x07d0, 0x07d0,
- 0x0ce0, 0x0cf0, 0x0d00, 0x0d10, 0x0d20, 0x0d30, 0x07d0, 0x07d0,
- 0x0d40, 0x0d40, 0x0d40, 0x0d40, 0x0d50, 0x0d40, 0x0d60, 0x0d70,
- 0x0d40, 0x0d50, 0x0d40, 0x0d80, 0x0d80, 0x0d90, 0x07d0, 0x07d0,
- 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0,
- 0x0da0, 0x0da0, 0x0db0, 0x0db0, 0x0dc0, 0x0db0, 0x0db0, 0x0dd0,
- 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0,
- 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0,
- 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0e00, 0x0e10, 0x0df0, 0x0df0,
- 0x0e00, 0x0df0, 0x0df0, 0x0e20, 0x0e30, 0x0e40, 0x0df0, 0x0df0,
- 0x0df0, 0x0e30, 0x0df0, 0x0df0, 0x0df0, 0x0e50, 0x0df0, 0x0e60,
- 0x0df0, 0x0e70, 0x0e80, 0x0e80, 0x0e80, 0x0e80, 0x0e80, 0x0e90,
- 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0,
- 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0,
- 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0,
- 0x0eb0, 0x0ec0, 0x0ed0, 0x0ed0, 0x0ed0, 0x0ed0, 0x0ee0, 0x0ef0,
- 0x0f00, 0x0f10, 0x0f20, 0x0f30, 0x0f40, 0x0f50, 0x0f60, 0x0f70,
- 0x0f80, 0x0f80, 0x0f80, 0x0f80, 0x0f80, 0x0f90, 0x0fa0, 0x0fa0,
- 0x0fb0, 0x0fc0, 0x0fd0, 0x0fd0, 0x0fd0, 0x0fd0, 0x0fd0, 0x0fe0,
- 0x0fd0, 0x0fd0, 0x0ff0, 0x0ea0, 0x0ea0, 0x0ea0, 0x0ea0, 0x1000,
- 0x1010, 0x1020, 0x1030, 0x1030, 0x1040, 0x1050, 0x1060, 0x1070,
- 0x1080, 0x1080, 0x1090, 0x1080, 0x10a0, 0x10b0, 0x0f80, 0x0f80,
- 0x10c0, 0x10d0, 0x10e0, 0x10e0, 0x10e0, 0x10f0, 0x10e0, 0x1100,
- 0x1110, 0x1110, 0x1120, 0x1130, 0x07d0, 0x07d0, 0x07d0, 0x07d0,
- 0x1140, 0x1140, 0x1140, 0x1140, 0x1150, 0x1140, 0x1140, 0x1160,
- 0x1170, 0x1170, 0x1170, 0x1170, 0x1180, 0x1180, 0x1180, 0x1190,
- 0x11a0, 0x11a0, 0x11a0, 0x11b0, 0x11c0, 0x11d0, 0x11d0, 0x11d0,
- 0x11e0, 0x07d0, 0x07d0, 0x07d0, 0x11f0, 0x1200, 0x1210, 0x1220,
- 0x0540, 0x0540, 0x1230, 0x0540, 0x0540, 0x1240, 0x1250, 0x1260,
- 0x0540, 0x0540, 0x0540, 0x1270, 0x0580, 0x0580, 0x0580, 0x1280,
- 0x05b0, 0x1290, 0x05b0, 0x05b0, 0x1290, 0x12a0, 0x05b0, 0x12b0,
- 0x05b0, 0x05b0, 0x05b0, 0x12c0, 0x12c0, 0x12d0, 0x05b0, 0x12e0,
- 0x12f0, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x1300, 0x1310,
- 0x1320, 0x1330, 0x0500, 0x0500, 0x07d0, 0x0580, 0x0580, 0x1340,
- 0x0500, 0x0500, 0x1350, 0x1360, 0x1370, 0x0500, 0x0540, 0x0540,
- 0x1380, 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, 0x1390, 0x07d0, 0x13a0, 0x07d0, 0x0500, 0x0500,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
- 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0,
- 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0, 0x13b0,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x13c0,
- 0x0500, 0x13d0, 0x0500, 0x13e0, 0x13f0, 0x1400, 0x1410, 0x07d0,
- 0x1420, 0x1420, 0x1430, 0x1420, 0x1420, 0x1430, 0x0540, 0x0540,
- 0x1440, 0x1440, 0x1440, 0x1440, 0x1440, 0x1440, 0x1440, 0x1450,
- 0x0db0, 0x0db0, 0x0dc0, 0x1460, 0x1460, 0x1460, 0x1470, 0x1480,
- 0x0df0, 0x1490, 0x14a0, 0x14a0, 0x14a0, 0x14a0, 0x05e0, 0x05e0,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x14b0, 0x07d0, 0x07d0, 0x07d0,
- 0x14c0, 0x14d0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14e0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14f0, 0x07d0, 0x1500,
- 0x1510, 0x0500, 0x1520, 0x1530, 0x1540, 0x1550, 0x1550, 0x1550,
- 0x1550, 0x1560, 0x1570, 0x1580, 0x1580, 0x1580, 0x1580, 0x1590,
- 0x15a0, 0x15b0, 0x15c0, 0x15d0, 0x0de0, 0x0de0, 0x0de0, 0x0de0,
- 0x15e0, 0x0500, 0x15b0, 0x15f0, 0x0500, 0x0500, 0x1600, 0x1580,
- 0x0de0, 0x15e0, 0x0500, 0x0500, 0x0500, 0x0500, 0x0de0, 0x1610,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x1580, 0x1580, 0x1620,
- 0x1580, 0x1580, 0x1580, 0x1580, 0x1580, 0x1630, 0x0500, 0x0500,
- 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500, 0x0500,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14f0, 0x0500, 0x0500, 0x0500, 0x0500,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x1640, 0x07d0,
+ 0x0bc0, 0x0bd0, 0x0be0, 0x0bf0, 0x0c00, 0x0c10, 0x0c20, 0x0be0,
+ 0x0c30, 0x0c40, 0x0c50, 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0,
+ 0x0cb0, 0x0cc0, 0x0cc0, 0x0cd0, 0x0cc0, 0x0ce0, 0x07d0, 0x07d0,
+ 0x0cf0, 0x0d00, 0x0d10, 0x0d20, 0x0d30, 0x0d40, 0x07d0, 0x07d0,
+ 0x0d50, 0x0d50, 0x0d50, 0x0d50, 0x0d60, 0x0d50, 0x0d70, 0x0d80,
+ 0x0d50, 0x0d60, 0x0d50, 0x0d90, 0x0d90, 0x0da0, 0x07d0, 0x07d0,
+ 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0,
+ 0x0db0, 0x0db0, 0x0dc0, 0x0dc0, 0x0dd0, 0x0dc0, 0x0dc0, 0x0de0,
+ 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0,
+ 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0,
+ 0x0e00, 0x0e00, 0x0e00, 0x0e00, 0x0e10, 0x0e20, 0x0e00, 0x0e00,
+ 0x0e10, 0x0e00, 0x0e00, 0x0e30, 0x0e40, 0x0e50, 0x0e00, 0x0e00,
+ 0x0e00, 0x0e40, 0x0e00, 0x0e00, 0x0e00, 0x0e60, 0x0e00, 0x0e70,
+ 0x0e00, 0x0e80, 0x0e90, 0x0e90, 0x0e90, 0x0e90, 0x0e90, 0x0ea0,
+ 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0,
+ 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0,
+ 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0,
+ 0x0ec0, 0x0ed0, 0x0ee0, 0x0ee0, 0x0ee0, 0x0ee0, 0x0ef0, 0x0f00,
+ 0x0f10, 0x0f20, 0x0f30, 0x0f40, 0x0f50, 0x0f60, 0x0f70, 0x0f80,
+ 0x0f90, 0x0f90, 0x0f90, 0x0f90, 0x0f90, 0x0fa0, 0x0fb0, 0x0fb0,
+ 0x0fc0, 0x0fd0, 0x0fe0, 0x0fe0, 0x0fe0, 0x0fe0, 0x0fe0, 0x0ff0,
+ 0x0fe0, 0x0fe0, 0x1000, 0x0eb0, 0x0eb0, 0x0eb0, 0x0eb0, 0x1010,
+ 0x1020, 0x1030, 0x1040, 0x1040, 0x1050, 0x1060, 0x1070, 0x1080,
+ 0x1090, 0x1090, 0x10a0, 0x1090, 0x10b0, 0x10c0, 0x0f90, 0x0f90,
+ 0x10d0, 0x10e0, 0x10f0, 0x10f0, 0x10f0, 0x1100, 0x10f0, 0x1110,
+ 0x1120, 0x1120, 0x1130, 0x1140, 0x07d0, 0x07d0, 0x07d0, 0x07d0,
+ 0x1150, 0x1150, 0x1150, 0x1150, 0x1160, 0x1150, 0x1150, 0x1170,
+ 0x1180, 0x1180, 0x1180, 0x1180, 0x1190, 0x1190, 0x1190, 0x11a0,
+ 0x11b0, 0x11b0, 0x11b0, 0x11c0, 0x11d0, 0x11e0, 0x11e0, 0x11e0,
+ 0x11f0, 0x07d0, 0x07d0, 0x07d0, 0x1200, 0x1210, 0x1220, 0x1230,
+ 0x0550, 0x0550, 0x1240, 0x0550, 0x0550, 0x1250, 0x1260, 0x1270,
+ 0x0550, 0x0550, 0x0550, 0x1280, 0x0590, 0x0590, 0x0590, 0x1290,
+ 0x05c0, 0x12a0, 0x05c0, 0x05c0, 0x12a0, 0x12b0, 0x05c0, 0x12c0,
+ 0x05c0, 0x05c0, 0x05c0, 0x12d0, 0x12d0, 0x12e0, 0x05c0, 0x12f0,
+ 0x1300, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x1310, 0x1320,
+ 0x1330, 0x1340, 0x0510, 0x1330, 0x07d0, 0x0590, 0x0590, 0x1350,
+ 0x0510, 0x0510, 0x1360, 0x1370, 0x1380, 0x0510, 0x0550, 0x0550,
+ 0x1390, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x1330,
+ 0x0510, 0x0510, 0x13a0, 0x07d0, 0x13b0, 0x07d0, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0,
+ 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x13d0,
+ 0x0510, 0x13e0, 0x0510, 0x13f0, 0x1400, 0x1410, 0x1420, 0x07d0,
+ 0x1430, 0x1430, 0x1440, 0x1430, 0x1430, 0x1440, 0x0550, 0x0550,
+ 0x1450, 0x1450, 0x1450, 0x1450, 0x1450, 0x1450, 0x1450, 0x1460,
+ 0x0dc0, 0x0dc0, 0x0dd0, 0x1470, 0x1470, 0x1470, 0x1480, 0x1490,
+ 0x0e00, 0x14a0, 0x14b0, 0x14b0, 0x14b0, 0x14b0, 0x05f0, 0x05f0,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x14c0, 0x07d0, 0x07d0, 0x07d0,
+ 0x14d0, 0x14e0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14f0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x1500, 0x07d0, 0x1510,
+ 0x1520, 0x0510, 0x1530, 0x1540, 0x1550, 0x1560, 0x1560, 0x1560,
+ 0x1560, 0x1570, 0x1580, 0x1590, 0x1590, 0x1590, 0x1590, 0x15a0,
+ 0x15b0, 0x15c0, 0x15d0, 0x15e0, 0x0df0, 0x0df0, 0x0df0, 0x0df0,
+ 0x15f0, 0x0510, 0x15c0, 0x1600, 0x0510, 0x0510, 0x1610, 0x1590,
+ 0x0df0, 0x15f0, 0x0510, 0x0510, 0x0510, 0x0510, 0x0df0, 0x1620,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x1590, 0x1590, 0x1630,
+ 0x1590, 0x1590, 0x1590, 0x1590, 0x1590, 0x1640, 0x0510, 0x0510,
+ 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x1500, 0x0510, 0x0510, 0x0510, 0x0510,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x1500, 0x07d0, 0x07d0,
0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650,
0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650,
0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650, 0x1650,
0x1660, 0x1650, 0x1650, 0x1650, 0x1670, 0x1680, 0x1680, 0x1680,
0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690,
0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690,
- 0x1690, 0x1690, 0x16a0, 0x07d0, 0x05e0, 0x05e0, 0x05e0, 0x05e0,
- 0x05e0, 0x05e0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16c0,
- 0x0500, 0x0500, 0x16d0, 0x0540, 0x0540, 0x0540, 0x0540, 0x0540,
- 0x16e0, 0x0540, 0x16f0, 0x1700, 0x07d0, 0x07d0, 0x07d0, 0x1710,
- 0x1720, 0x1720, 0x1730, 0x14b0, 0x1740, 0x1740, 0x1740, 0x1750,
- 0x1760, 0x1760, 0x1760, 0x1760, 0x1770, 0x1780, 0x0810, 0x1790,
- 0x17a0, 0x17a0, 0x17b0, 0x17c0, 0x17c0, 0x17d0, 0x0de0, 0x17e0,
- 0x17f0, 0x17f0, 0x17f0, 0x17f0, 0x1800, 0x1810, 0x0da0, 0x1820,
- 0x1830, 0x1830, 0x1830, 0x1840, 0x1850, 0x1860, 0x0da0, 0x0da0,
- 0x1870, 0x1870, 0x1870, 0x1870, 0x1880, 0x1890, 0x18a0, 0x18b0,
- 0x18c0, 0x18d0, 0x14a0, 0x0540, 0x0540, 0x18e0, 0x18f0, 0x0e80,
- 0x0e80, 0x0e80, 0x0e80, 0x0e80, 0x18a0, 0x18a0, 0x1900, 0x1910,
- 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0,
- 0x0de0, 0x0de0, 0x1920, 0x0de0, 0x1930, 0x0de0, 0x0de0, 0x1940,
+ 0x1690, 0x1690, 0x16a0, 0x07d0, 0x05f0, 0x05f0, 0x05f0, 0x05f0,
+ 0x05f0, 0x05f0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16c0,
+ 0x0510, 0x0510, 0x16d0, 0x0550, 0x0550, 0x0550, 0x0550, 0x0550,
+ 0x16e0, 0x0550, 0x16f0, 0x1700, 0x07d0, 0x07d0, 0x07d0, 0x1710,
+ 0x1720, 0x1720, 0x1730, 0x1740, 0x1750, 0x1750, 0x1750, 0x1760,
+ 0x1770, 0x1770, 0x1770, 0x1770, 0x1780, 0x1790, 0x0810, 0x17a0,
+ 0x17b0, 0x17b0, 0x17c0, 0x17d0, 0x17d0, 0x17e0, 0x0df0, 0x17f0,
+ 0x1800, 0x1800, 0x1800, 0x1800, 0x1810, 0x1820, 0x0db0, 0x1830,
+ 0x1840, 0x1840, 0x1840, 0x1850, 0x1860, 0x1870, 0x0db0, 0x0db0,
+ 0x1880, 0x1880, 0x1880, 0x1880, 0x1890, 0x18a0, 0x18b0, 0x18c0,
+ 0x18d0, 0x18e0, 0x14b0, 0x0550, 0x0550, 0x18f0, 0x1900, 0x0e90,
+ 0x0e90, 0x0e90, 0x0e90, 0x0e90, 0x18b0, 0x18b0, 0x1910, 0x1920,
+ 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0, 0x0df0,
+ 0x0df0, 0x0df0, 0x1930, 0x0df0, 0x1940, 0x0df0, 0x0df0, 0x1950,
0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0,
0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0, 0x07d0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x1950, 0x14c0,
- 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x14c0, 0x1960, 0x07d0, 0x07d0,
- 0x1970, 0x1980, 0x0650, 0x1990, 0x19a0, 0x06b0, 0x06b0, 0x06b0,
- 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x19b0, 0x19c0, 0x06b0, 0x06b0,
- 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0,
- 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0,
- 0x06b0, 0x06b0, 0x06b0, 0x19d0, 0x07d0, 0x06b0, 0x06b0, 0x06b0,
- 0x06b0, 0x19e0, 0x06b0, 0x06b0, 0x19f0, 0x07d0, 0x07d0, 0x1a00,
- 0x0580, 0x14b0, 0x1a10, 0x0500, 0x0500, 0x1a20, 0x1a30, 0x1a40,
- 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x06b0, 0x1a50,
- 0x1a60, 0x0500, 0x0510, 0x0520, 0x0510, 0x0520, 0x1a70, 0x1570,
- 0x1580, 0x1a80, 0x0de0, 0x15e0, 0x1a90, 0x1aa0, 0x1ab0, 0x1ac0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x1960, 0x14d0,
+ 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x14d0, 0x1970, 0x07d0, 0x07d0,
+ 0x1980, 0x1990, 0x0660, 0x19a0, 0x19b0, 0x06c0, 0x06c0, 0x06c0,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x19c0, 0x19d0, 0x06c0, 0x06c0,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0,
+ 0x06c0, 0x06c0, 0x06c0, 0x19e0, 0x07d0, 0x06c0, 0x06c0, 0x06c0,
+ 0x06c0, 0x19f0, 0x06c0, 0x06c0, 0x1a00, 0x07d0, 0x07d0, 0x1a10,
+ 0x0590, 0x1740, 0x1a20, 0x0510, 0x0510, 0x1a30, 0x1a40, 0x1a50,
+ 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x06c0, 0x1a60,
+ 0x1a70, 0x0510, 0x0520, 0x0530, 0x0520, 0x0530, 0x1a80, 0x1580,
+ 0x1590, 0x1a90, 0x0df0, 0x15f0, 0x1aa0, 0x1ab0, 0x1ac0, 0x1ad0,
/* values */
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
@@ -222,7 +224,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0001, 0x0003, 0x0003,
0x0003, 0x0003, 0x0003, 0x0003, 0x0001, 0x0003, 0x0003, 0x0003,
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
- 0x0003, 0x0003, 0x0003, 0x0001, 0x0003, 0x0000, 0x0003, 0x0001,
+ 0x0003, 0x0003, 0x0003, 0x0001, 0x0001, 0x0000, 0x0003, 0x0001,
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
0x0001, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
@@ -257,8 +259,6 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039,
0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039, 0x0039,
0x0039, 0x0039, 0x0039, 0x0039, 0x0000, 0x0000, 0x0039, 0x0000,
- 0x0051, 0x0051, 0x0051, 0x0051, 0x0051, 0x0051, 0x0051, 0x0051,
- 0x0051, 0x0051, 0x0051, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0000, 0x0003, 0x0003,
@@ -288,7 +288,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0009, 0x0009, 0x0009, 0x0009, 0x0000, 0x0000, 0x0009, 0x0009,
0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009,
0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009,
- 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0000, 0x0000,
+ 0x0009, 0x0009, 0x0009, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0020, 0x0020, 0x0020, 0x0000, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
0x0020, 0x0000, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
@@ -320,7 +320,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x001f, 0x001f, 0x001f, 0x001f, 0x0000, 0x0000, 0x001f, 0x001f,
0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f,
0x001f, 0x001f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f,
+ 0x0000, 0x001f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0045, 0x0045, 0x0045, 0x0000, 0x0045, 0x0045, 0x0045,
0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x0000, 0x0000, 0x0045,
0x0045, 0x0000, 0x0000, 0x0045, 0x0045, 0x0045, 0x0045, 0x0045,
@@ -385,12 +385,14 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,
0x0000, 0x002b, 0x002b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0038, 0x0038, 0x0038, 0x0038, 0x0000, 0x0038, 0x0038, 0x0038,
+ 0x0000, 0x0038, 0x0038, 0x0038, 0x0000, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0000, 0x0038, 0x0038,
0x0038, 0x0000, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
+ 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
+ 0x0038, 0x0038, 0x0038, 0x0000, 0x0000, 0x0038, 0x0038, 0x0038,
0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0000, 0x0038, 0x0038,
0x0038, 0x0000, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038,
0x0000, 0x0000, 0x0000, 0x0000, 0x0038, 0x0038, 0x0038, 0x0038,
@@ -589,7 +591,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
0x0002, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001,
- 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001, 0x0001,
+ 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0001, 0x0001, 0x0000,
0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0016, 0x0031, 0x0031, 0x0031, 0x0031,
@@ -601,8 +603,8 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0016, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031,
0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031,
0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x0031, 0x001e,
- 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
- 0x0002, 0x0002, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
+ 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0000, 0x0000,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0000, 0x0000,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
@@ -649,7 +651,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
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, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 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,
@@ -671,8 +673,8 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x0000,
0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x0000,
- 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
- 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
@@ -706,7 +708,7 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
- 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000,
+ 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, 0x0000,
0x0000, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
@@ -721,8 +723,6 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x0000,
0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
- 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021,
- 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f,
0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f,
0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f, 0x005f,
@@ -753,6 +753,8 @@ const unsigned short DECLSPEC_HIDDEN wine_scripts_table[6864] =
0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
0x0050, 0x0050, 0x0050, 0x0050, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+ 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
diff --git a/dlls/dwrite/scripts.h b/dlls/dwrite/scripts.h
index 7202f402e6..bf38988b0a 100644
--- a/dlls/dwrite/scripts.h
+++ b/dlls/dwrite/scripts.h
@@ -1,5 +1,5 @@
/* Unicode Script IDs */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/Scripts.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/Scripts.txt */
/* DO NOT EDIT!! */
enum unicode_script_id {
@@ -141,5 +141,9 @@ enum unicode_script_id {
Script_Osage = 135,
Script_SignWriting = 136,
Script_Tangut = 137,
- Script_LastId = 137
+ Script_Masaram_Gondi = 138,
+ Script_Nushu = 139,
+ Script_Soyombo = 140,
+ Script_Zanabazar_Square = 141,
+ Script_LastId = 141
};
diff --git a/dlls/dwrite/tests/analyzer.c b/dlls/dwrite/tests/analyzer.c
index 77369a7ef9..77ec020cd6 100644
--- a/dlls/dwrite/tests/analyzer.c
+++ b/dlls/dwrite/tests/analyzer.c
@@ -1192,6 +1192,18 @@ static void test_GetScriptProperties(void)
hr = IDWriteTextAnalyzer1_GetScriptProperties(analyzer1, sa, &props);
ok(hr == S_OK, "got 0x%08x\n", hr);
+ for (sa.script = 0;; sa.script++) {
+ hr = IDWriteTextAnalyzer1_GetScriptProperties(analyzer1, sa, &props);
+ if (FAILED(hr))
+ break;
+
+ ok(0, "%u: { /* %.4s */ { 0x%04x, %d, %d, 0x%04x, %d, %d, %d, %d, %d, %d, %d } },\n",
+ sa.script, (char*)&props.isoScriptCode, props.isoScriptCode, props.isoScriptNumber,
+ props.clusterLookahead, props.justificationCharacter, props.restrictCaretToClusters,
+ props.usesWordDividers, props.isDiscreteWriting, props.isBlockWriting, props.isDistributedWithinCluster,
+ props.isConnectedWriting, props.isCursiveWriting);
+ }
+
IDWriteTextAnalyzer1_Release(analyzer1);
}
diff --git a/dlls/gdi32/vertical.c b/dlls/gdi32/vertical.c
index 05737604b8..ca4467911c 100644
--- a/dlls/gdi32/vertical.c
+++ b/dlls/gdi32/vertical.c
@@ -1,5 +1,5 @@
/* Unicode Vertical Orientation */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/VerticalOrientation.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/VerticalOrientation.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/usp10/bracket.c b/dlls/usp10/bracket.c
index 1509d572c9..16df6381a6 100644
--- a/dlls/usp10/bracket.c
+++ b/dlls/usp10/bracket.c
@@ -1,5 +1,5 @@
/* Unicode Bidirectional Bracket table */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/BidiBrackets.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/BidiBrackets.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/usp10/indicsyllable.c b/dlls/usp10/indicsyllable.c
index dbdac5d4ae..709b1d4ae8 100644
--- a/dlls/usp10/indicsyllable.c
+++ b/dlls/usp10/indicsyllable.c
@@ -1,11 +1,11 @@
/* Unicode Indic Syllabic Category */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/IndicSyllabicCategory.txt */
-/* and from http://www.unicode.org/Public/10.0.0/ucd/IndicPositionalCategory.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/IndicSyllabicCategory.txt */
+/* and from http://www.unicode.org/Public/11.0.0/ucd/IndicPositionalCategory.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
+const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3296] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110,
@@ -53,41 +53,41 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500, 0x0400, 0x0270,
0x0510, 0x0520, 0x0370, 0x0530, 0x0540, 0x0550, 0x0330, 0x0270,
0x0560, 0x0520, 0x0370, 0x0570, 0x0580, 0x0590, 0x0330, 0x05a0,
- 0x05b0, 0x0520, 0x02f0, 0x05c0, 0x05d0, 0x05e0, 0x0330, 0x05f0,
- 0x0600, 0x0610, 0x02f0, 0x0620, 0x0630, 0x0640, 0x0400, 0x0650,
- 0x0660, 0x02f0, 0x0670, 0x0680, 0x0690, 0x0290, 0x0270, 0x0270,
- 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x06f0, 0x0270, 0x0270,
- 0x0270, 0x0700, 0x0710, 0x0720, 0x0730, 0x02f0, 0x0740, 0x0750,
- 0x0760, 0x0770, 0x0780, 0x0790, 0x07a0, 0x0270, 0x0270, 0x0270,
- 0x02f0, 0x02f0, 0x07b0, 0x07c0, 0x07d0, 0x07e0, 0x07f0, 0x0800,
- 0x0810, 0x0820, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0830, 0x0840, 0x0850, 0x0840, 0x0850, 0x0860, 0x0830, 0x0870,
- 0x02f0, 0x02f0, 0x0880, 0x0890, 0x08a0, 0x08b0, 0x0290, 0x0270,
- 0x08c0, 0x0670, 0x08d0, 0x08e0, 0x0400, 0x02f0, 0x08f0, 0x0900,
- 0x02f0, 0x02f0, 0x0910, 0x0920, 0x0930, 0x0290, 0x0270, 0x0270,
- 0x02f0, 0x0940, 0x02f0, 0x02f0, 0x0950, 0x0960, 0x0970, 0x0980,
+ 0x0560, 0x0520, 0x02f0, 0x05b0, 0x05c0, 0x05d0, 0x0330, 0x05e0,
+ 0x05f0, 0x0600, 0x02f0, 0x0610, 0x0620, 0x0630, 0x0400, 0x0640,
+ 0x0650, 0x02f0, 0x0660, 0x0670, 0x0680, 0x0290, 0x0270, 0x0270,
+ 0x0690, 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x0270, 0x0270,
+ 0x0270, 0x06f0, 0x0700, 0x0710, 0x0720, 0x02f0, 0x0730, 0x0740,
+ 0x0750, 0x0760, 0x0770, 0x0780, 0x0790, 0x0270, 0x0270, 0x0270,
+ 0x02f0, 0x02f0, 0x07a0, 0x07b0, 0x07c0, 0x07d0, 0x07e0, 0x07f0,
+ 0x0800, 0x0810, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
+ 0x0820, 0x0830, 0x0840, 0x0830, 0x0840, 0x0850, 0x0820, 0x0860,
+ 0x02f0, 0x02f0, 0x0870, 0x0880, 0x0890, 0x08a0, 0x0290, 0x0270,
+ 0x08b0, 0x0660, 0x08c0, 0x08d0, 0x0400, 0x02f0, 0x08e0, 0x08f0,
+ 0x02f0, 0x02f0, 0x0900, 0x0910, 0x0920, 0x0290, 0x0270, 0x0270,
+ 0x02f0, 0x0930, 0x02f0, 0x02f0, 0x0940, 0x0950, 0x0960, 0x0970,
0x0290, 0x0290, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0990, 0x0850, 0x02f0, 0x09a0, 0x09b0, 0x0290, 0x09c0, 0x09d0,
- 0x09e0, 0x02f0, 0x09f0, 0x0a00, 0x02f0, 0x02f0, 0x0a10, 0x0a20,
- 0x02f0, 0x02f0, 0x0a30, 0x0a40, 0x0a50, 0x0270, 0x0270, 0x0270,
- 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a60, 0x0a70, 0x0a80,
+ 0x0980, 0x0840, 0x02f0, 0x0990, 0x09a0, 0x0290, 0x09b0, 0x09c0,
+ 0x09d0, 0x02f0, 0x09e0, 0x09f0, 0x02f0, 0x02f0, 0x0a00, 0x0a10,
+ 0x02f0, 0x02f0, 0x0a20, 0x0a30, 0x0a40, 0x0270, 0x0270, 0x0270,
+ 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a50, 0x0a60, 0x0a70,
0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a90,
- 0x0aa0, 0x0ab0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0ac0,
- 0x0ad0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
+ 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a80,
+ 0x0a90, 0x0aa0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0ab0,
+ 0x0ac0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0270, 0x0270, 0x0270, 0x0270, 0x0ae0, 0x0270, 0x0270, 0x0270,
- 0x0af0, 0x02f0, 0x0b00, 0x0270, 0x02f0, 0x0b10, 0x0b20, 0x0b30,
- 0x0b40, 0x0b50, 0x02f0, 0x0b60, 0x0b70, 0x0290, 0x0b80, 0x0b90,
- 0x0ba0, 0x02f0, 0x0bb0, 0x02f0, 0x0bc0, 0x0bd0, 0x0270, 0x0270,
- 0x0be0, 0x02f0, 0x02f0, 0x0bf0, 0x0c00, 0x0290, 0x0c10, 0x0c20,
- 0x0c30, 0x02f0, 0x0c40, 0x0c50, 0x0c60, 0x0290, 0x02f0, 0x0c70,
- 0x02f0, 0x02f0, 0x02f0, 0x0c80, 0x0c90, 0x0270, 0x0ca0, 0x0cb0,
+ 0x0270, 0x0270, 0x0270, 0x0270, 0x0ad0, 0x0270, 0x0270, 0x0270,
+ 0x0ae0, 0x02f0, 0x0af0, 0x0270, 0x02f0, 0x0b00, 0x0b10, 0x0b20,
+ 0x0b30, 0x0b40, 0x02f0, 0x0b50, 0x0b60, 0x0290, 0x0b70, 0x0b80,
+ 0x0b90, 0x02f0, 0x0ba0, 0x02f0, 0x0bb0, 0x0bc0, 0x0270, 0x0270,
+ 0x0bd0, 0x02f0, 0x02f0, 0x0be0, 0x0bf0, 0x0290, 0x0c00, 0x0c10,
+ 0x0c20, 0x02f0, 0x0c30, 0x0c40, 0x0c50, 0x0290, 0x02f0, 0x0c60,
+ 0x02f0, 0x02f0, 0x02f0, 0x0c70, 0x0c80, 0x0270, 0x0c90, 0x0ca0,
0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270,
- 0x0270, 0x0270, 0x0270, 0x0270, 0x0cc0, 0x0cd0, 0x0ce0, 0x0290,
+ 0x0270, 0x0270, 0x0270, 0x0270, 0x0cb0, 0x0cc0, 0x0cd0, 0x0290,
/* values */
0x5f00, 0x9c00, 0x9500, 0x9500, 0x8600, 0x8600, 0x8600, 0x8600,
- 0x7e00, 0x6e00, 0x6c00, 0x6000, 0x5100, 0x3c00, 0x2600, 0x1900,
+ 0x7e00, 0x6e00, 0x5d00, 0x5100, 0x4200, 0x2d00, 0x1700, 0x0a00,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -129,7 +129,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0107,
0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a,
0x000a, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0501, 0x0501, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006,
0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
0x000a, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x0000,
@@ -151,7 +151,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0107, 0x0607, 0x0607, 0x0607, 0x0607, 0x0507, 0x0000, 0x0507,
0x0507, 0x0007, 0x0000, 0x0107, 0x0107, 0x0605, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x000a, 0x0519, 0x0519, 0x0519, 0x0504, 0x0504, 0x0504,
+ 0x0000, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x000a, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x000a,
0x000a, 0x000a, 0x0000, 0x0000, 0x0604, 0x0003, 0x0107, 0x0507,
0x0107, 0x0607, 0x0607, 0x0607, 0x0607, 0x0000, 0x0000, 0x0207,
@@ -192,10 +192,8 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x0000,
0x0000, 0x001f, 0x001f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0501, 0x0501, 0x0101, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006,
- 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
- 0x000a, 0x000a, 0x000a, 0x0516, 0x0516, 0x0003, 0x0107, 0x0107,
+ 0x000a, 0x000a, 0x000a, 0x0000, 0x0000, 0x0003, 0x0107, 0x0107,
0x0107, 0x0107, 0x0107, 0x0607, 0x0607, 0x0000, 0x0207, 0x0207,
0x0207, 0x0000, 0x0407, 0x0407, 0x0407, 0x0505, 0x0015, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x000b, 0x000b, 0x000b, 0x0107,
@@ -310,12 +308,12 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0607, 0x0207, 0x0107, 0x0507, 0x0000, 0x0000, 0x0000, 0x0000,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0006, 0x0006, 0x0006,
- 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x020e, 0x060e, 0x010d,
- 0x050f, 0x050f, 0x050c, 0x060d, 0x060d, 0x060d, 0x060d, 0x0000,
+ 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x020e, 0x060e, 0x010f,
+ 0x050f, 0x050f, 0x050f, 0x060f, 0x060f, 0x060f, 0x060f, 0x0000,
0x0017, 0x0107, 0x0507, 0x0107, 0x0107, 0x0507, 0x0507, 0x0507,
0x0507, 0x0607, 0x0607, 0x0507, 0x0607, 0x0107, 0x0207, 0x0207,
- 0x0207, 0x0207, 0x0207, 0x0507, 0x0501, 0x0513, 0x0513, 0x0513,
- 0x0513, 0x0513, 0x0516, 0x0521, 0x0521, 0x0000, 0x0000, 0x0621,
+ 0x0207, 0x0207, 0x0207, 0x0507, 0x0507, 0x0513, 0x0513, 0x0513,
+ 0x0513, 0x0513, 0x0521, 0x0521, 0x0521, 0x0000, 0x0000, 0x0621,
0x0501, 0x0501, 0x0501, 0x050c, 0x0102, 0x0006, 0x0006, 0x0006,
0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
0x000a, 0x000a, 0x000a, 0x000a, 0x0504, 0x0107, 0x0507, 0x0507,
@@ -346,7 +344,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0619, 0x0619, 0x0519, 0x0519, 0x0619, 0x0619, 0x0619, 0x0619,
0x0519, 0x0119, 0x0d00, 0x0d00, 0x0d00, 0x0d00, 0x0d00, 0x0d00,
0x0d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0002, 0x0002, 0x0519, 0x0000, 0x0000, 0x0119,
+ 0x0000, 0x0000, 0x0002, 0x0002, 0x0519, 0x0000, 0x0000, 0x0000,
0x0019, 0x0019, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0521, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -380,7 +378,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519,
0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519,
- 0x0519, 0x0519, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x0519, 0x0519, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a,
@@ -393,7 +391,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] =
0x0501, 0x0501, 0x050c, 0x0102, 0x0006, 0x0006, 0x0006, 0x0006,
0x0006, 0x000a, 0x000a, 0x000a, 0x0006, 0x0006, 0x0006, 0x000a,
0x000a, 0x000a, 0x000a, 0x0504, 0x0107, 0x0107, 0x0507, 0x0507,
- 0x0607, 0x0607, 0x0207, 0x0207, 0x0507, 0x010d, 0x010e, 0x000e,
+ 0x0607, 0x0607, 0x0207, 0x0207, 0x0507, 0x010d, 0x010e, 0x010e,
0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0507, 0x0000, 0x000a,
diff --git a/dlls/usp10/linebreak.c b/dlls/usp10/linebreak.c
index 56bde66e9e..cd2ca64952 100644
--- a/dlls/usp10/linebreak.c
+++ b/dlls/usp10/linebreak.c
@@ -1,10 +1,10 @@
/* Unicode Line Break Properties */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/LineBreak.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/LineBreak.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
+const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7264] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
@@ -56,22 +56,22 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0790, 0x07a0, 0x07b0,
0x07c0, 0x07d0, 0x05b0, 0x0580, 0x07e0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x07f0, 0x0800, 0x07b0, 0x05b0, 0x0760, 0x0810,
- 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0870,
- 0x0870, 0x0870, 0x05b0, 0x0880, 0x0870, 0x0890, 0x08a0, 0x0580,
- 0x08b0, 0x05b0, 0x05b0, 0x08c0, 0x0580, 0x08d0, 0x08e0, 0x05b0,
- 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950, 0x0960,
- 0x0970, 0x0900, 0x0910, 0x0980, 0x0990, 0x09a0, 0x09b0, 0x09c0,
- 0x09d0, 0x0690, 0x0910, 0x09e0, 0x09f0, 0x0a00, 0x0950, 0x0a10,
- 0x0a20, 0x0900, 0x0910, 0x09e0, 0x0a30, 0x0a40, 0x0950, 0x0a50,
- 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x0ab0, 0x09b0, 0x0ac0,
- 0x0ad0, 0x0ae0, 0x0910, 0x0af0, 0x0b00, 0x0b10, 0x0950, 0x0b20,
- 0x0b30, 0x0ae0, 0x0910, 0x0b40, 0x0b00, 0x0b50, 0x0950, 0x0b60,
- 0x0ad0, 0x0ae0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0950, 0x0ba0,
- 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09b0, 0x0c00,
- 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0870, 0x0870,
- 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0870, 0x0870,
+ 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0860,
+ 0x0860, 0x0860, 0x05b0, 0x0870, 0x0860, 0x0880, 0x0890, 0x0580,
+ 0x08a0, 0x05b0, 0x05b0, 0x08b0, 0x0580, 0x08c0, 0x08d0, 0x05b0,
+ 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950,
+ 0x0960, 0x08f0, 0x0900, 0x0970, 0x0980, 0x0990, 0x09a0, 0x09b0,
+ 0x09c0, 0x0690, 0x0900, 0x09d0, 0x09e0, 0x09f0, 0x0940, 0x0a00,
+ 0x0a10, 0x08f0, 0x0900, 0x09d0, 0x0a20, 0x0a30, 0x0940, 0x0a40,
+ 0x0a50, 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x09a0, 0x0ab0,
+ 0x0ac0, 0x0ad0, 0x0900, 0x0ae0, 0x0af0, 0x0b00, 0x0940, 0x0b10,
+ 0x0b20, 0x0ad0, 0x0900, 0x0b30, 0x0af0, 0x0b40, 0x0940, 0x0b50,
+ 0x0b60, 0x0ad0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0940, 0x0ba0,
+ 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09a0, 0x0c00,
+ 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0860, 0x0860,
+ 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0860, 0x0860,
0x0cc0, 0x0cd0, 0x07b0, 0x0ce0, 0x0cf0, 0x05b0, 0x0d00, 0x0d10,
- 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0870, 0x0870,
+ 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0860, 0x0860,
0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0d70, 0x0c20, 0x0c20, 0x0c20,
0x0c20, 0x0d80, 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0,
0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0db0, 0x0db0,
@@ -86,16 +86,16 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0e70, 0x0e80, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e90, 0x0ea0,
0x0eb0, 0x0ec0, 0x05b0, 0x0ed0, 0x05b0, 0x0ee0, 0x0eb0, 0x0ef0,
0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0f00, 0x0f10, 0x0e50,
- 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a50,
+ 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a40,
0x0f30, 0x05b0, 0x0f40, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f50,
0x05b0, 0x0840, 0x0f60, 0x0f60, 0x0f70, 0x0c20, 0x0f80, 0x0f90,
0x0c20, 0x0c20, 0x0fa0, 0x0c20, 0x0fb0, 0x0fc0, 0x05b0, 0x05b0,
0x05b0, 0x0fd0, 0x0c20, 0x0c20, 0x0c20, 0x0fe0, 0x0c20, 0x0ff0,
- 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0870, 0x0870, 0x0870, 0x0870,
+ 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0860, 0x0860, 0x0860, 0x0860,
0x1010, 0x05b0, 0x05b0, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060,
0x1070, 0x05b0, 0x1080, 0x07b0, 0x05b0, 0x05b0, 0x07f0, 0x1090,
0x05b0, 0x05b0, 0x1020, 0x10a0, 0x10b0, 0x07b0, 0x05b0, 0x10c0,
- 0x0ea0, 0x0870, 0x0870, 0x0870, 0x0a50, 0x10d0, 0x10e0, 0x10f0,
+ 0x0ea0, 0x0860, 0x0860, 0x0860, 0x0a40, 0x10d0, 0x10e0, 0x10f0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x0580, 0x1100,
0x05b0, 0x0e60, 0x05b0, 0x05b0, 0x0e60, 0x1110, 0x05b0, 0x1120,
@@ -108,80 +108,80 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x1320, 0x1330, 0x1340, 0x1350, 0x05b0, 0x05b0, 0x1360, 0x05b0,
0x1370, 0x1380, 0x1390, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x13a0,
- 0x05b0, 0x05b0, 0x13b0, 0x0870, 0x0860, 0x0870, 0x13c0, 0x13c0,
- 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13d0,
- 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x1270, 0x13c0, 0x13c0, 0x13e0,
- 0x13c0, 0x13f0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x05b0,
- 0x1450, 0x1460, 0x05b0, 0x1470, 0x1480, 0x05b0, 0x1490, 0x14a0,
- 0x05b0, 0x14b0, 0x05b0, 0x14c0, 0x14d0, 0x14e0, 0x14f0, 0x1500,
- 0x1510, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1520, 0x1530, 0x1540,
- 0x13c0, 0x1550, 0x05b0, 0x05b0, 0x1560, 0x05b0, 0x1570, 0x05b0,
+ 0x05b0, 0x05b0, 0x13b0, 0x0860, 0x13c0, 0x0860, 0x13d0, 0x13d0,
+ 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13e0,
+ 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x1270, 0x13d0, 0x13d0, 0x13f0,
+ 0x13d0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x1450, 0x05b0,
+ 0x1460, 0x1470, 0x05b0, 0x1480, 0x1490, 0x05b0, 0x14a0, 0x14b0,
+ 0x05b0, 0x14c0, 0x05b0, 0x14d0, 0x14e0, 0x14f0, 0x1500, 0x1510,
+ 0x1520, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1530, 0x1540, 0x1550,
+ 0x13d0, 0x1560, 0x05b0, 0x05b0, 0x1570, 0x05b0, 0x1580, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x1580, 0x1590, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15a0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15b0, 0x05b0, 0x15c0,
- 0x05b0, 0x15d0, 0x05b0, 0x15e0, 0x0910, 0x15f0, 0x1600, 0x0870,
+ 0x1590, 0x15a0, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15c0, 0x05b0, 0x15d0,
+ 0x05b0, 0x15e0, 0x05b0, 0x15f0, 0x0900, 0x1600, 0x1610, 0x0860,
0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1610, 0x1620,
- 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1630, 0x1640,
- 0x05b0, 0x13b0, 0x1650, 0x1650, 0x1650, 0x1650, 0x0580, 0x0580,
- 0x1660, 0x1670, 0x1680, 0x1690, 0x16a0, 0x0870, 0x0870, 0x0870,
- 0x16b0, 0x16c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16d0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16e0, 0x0870, 0x16f0,
- 0x1700, 0x1710, 0x1720, 0x1730, 0x1740, 0x16b0, 0x1750, 0x16b0,
- 0x1760, 0x1770, 0x1780, 0x16b0, 0x1750, 0x16b0, 0x1760, 0x1790,
- 0x17a0, 0x16b0, 0x17b0, 0x17c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x17b0, 0x16b0, 0x16b0, 0x17d0, 0x16b0, 0x16b0, 0x16d0, 0x17e0,
- 0x16b0, 0x17b0, 0x16b0, 0x16b0, 0x17f0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x17b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x16b0, 0x1800, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0,
- 0x1810, 0x16b0, 0x16b0, 0x16b0, 0x1820, 0x05b0, 0x05b0, 0x10c0,
- 0x1830, 0x05b0, 0x1840, 0x0870, 0x05b0, 0x05b0, 0x1610, 0x1850,
- 0x05b0, 0x1860, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1870,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1620, 0x1630,
+ 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1640, 0x1650,
+ 0x05b0, 0x13b0, 0x1660, 0x1660, 0x1660, 0x1660, 0x0580, 0x0580,
+ 0x1670, 0x1680, 0x1690, 0x16a0, 0x16b0, 0x0860, 0x0860, 0x0860,
+ 0x16c0, 0x16d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16e0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16f0, 0x0860, 0x1700,
+ 0x1710, 0x1720, 0x1730, 0x1740, 0x1750, 0x16c0, 0x1760, 0x16c0,
+ 0x1770, 0x1780, 0x1790, 0x16c0, 0x1760, 0x16c0, 0x1770, 0x17a0,
+ 0x17b0, 0x16c0, 0x17c0, 0x17d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x17e0, 0x16c0, 0x16c0, 0x17f0, 0x16c0, 0x16c0, 0x16e0, 0x1800,
+ 0x16c0, 0x17e0, 0x16c0, 0x16c0, 0x1810, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x17e0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
+ 0x16c0, 0x1820, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0,
+ 0x1830, 0x16c0, 0x16c0, 0x16c0, 0x1840, 0x05b0, 0x05b0, 0x10c0,
+ 0x1850, 0x05b0, 0x1860, 0x0860, 0x05b0, 0x05b0, 0x1620, 0x1870,
+ 0x05b0, 0x1880, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1890,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x0840, 0x0a50, 0x0870, 0x0870, 0x0870, 0x1880,
- 0x1890, 0x05b0, 0x18a0, 0x18b0, 0x05b0, 0x05b0, 0x05b0, 0x18c0,
- 0x18d0, 0x05b0, 0x05b0, 0x1020, 0x18e0, 0x0f10, 0x0580, 0x18f0,
- 0x07b0, 0x05b0, 0x1900, 0x05b0, 0x1910, 0x1920, 0x0da0, 0x1930,
- 0x08b0, 0x05b0, 0x05b0, 0x1940, 0x1950, 0x1960, 0x0c20, 0x1970,
- 0x05b0, 0x05b0, 0x1980, 0x1990, 0x19a0, 0x19b0, 0x0c20, 0x0c20,
- 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19c0, 0x19d0, 0x0760, 0x19e0,
- 0x19f0, 0x1a00, 0x1650, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a10, 0x0f10,
- 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20,
- 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50,
- 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40,
- 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60,
- 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40,
- 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20,
- 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50,
- 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40,
- 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60,
- 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40,
- 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40,
- 0x1a50, 0x1a40, 0x1a70, 0x0db0, 0x1a80, 0x0dd0, 0x0dd0, 0x1a90,
- 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0,
- 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0,
- 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
- 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
- 0x13b0, 0x1ab0, 0x1ac0, 0x1ad0, 0x1ae0, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1af0, 0x1b00, 0x05b0, 0x05b0,
- 0x05b0, 0x05b0, 0x05b0, 0x1b10, 0x0870, 0x05b0, 0x05b0, 0x05b0,
- 0x05b0, 0x1b20, 0x05b0, 0x05b0, 0x0a50, 0x0870, 0x0870, 0x1b30,
- 0x0580, 0x1b40, 0x0580, 0x1b50, 0x1b60, 0x1b70, 0x1b80, 0x1130,
- 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1b90,
- 0x1ba0, 0x1bb0, 0x16b0, 0x1bc0, 0x16b0, 0x1bd0, 0x1be0, 0x1bf0,
- 0x16b0, 0x1c00, 0x16b0, 0x17b0, 0x1c10, 0x1c20, 0x1c30, 0x1c40,
+ 0x05b0, 0x05b0, 0x0840, 0x0a40, 0x0860, 0x0860, 0x0860, 0x18a0,
+ 0x18b0, 0x05b0, 0x18c0, 0x18d0, 0x05b0, 0x05b0, 0x05b0, 0x18e0,
+ 0x18f0, 0x05b0, 0x05b0, 0x1020, 0x1900, 0x0f10, 0x0580, 0x1910,
+ 0x07b0, 0x05b0, 0x1920, 0x05b0, 0x1930, 0x1940, 0x0da0, 0x1950,
+ 0x08a0, 0x05b0, 0x05b0, 0x1960, 0x1970, 0x1980, 0x0c20, 0x1990,
+ 0x05b0, 0x05b0, 0x19a0, 0x19b0, 0x19c0, 0x19d0, 0x0c20, 0x0c20,
+ 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19e0, 0x19f0, 0x0760, 0x1a00,
+ 0x1a10, 0x1a20, 0x1660, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a30, 0x0f10,
+ 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40,
+ 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70,
+ 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60,
+ 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80,
+ 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60,
+ 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40,
+ 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70,
+ 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60,
+ 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80,
+ 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60,
+ 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60,
+ 0x1a70, 0x1a60, 0x1a90, 0x0db0, 0x1aa0, 0x0dd0, 0x0dd0, 0x1ab0,
+ 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0,
+ 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0,
+ 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
+ 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
+ 0x13b0, 0x1ad0, 0x1ae0, 0x1af0, 0x1b00, 0x05b0, 0x05b0, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1600, 0x1b10, 0x05b0, 0x05b0,
+ 0x05b0, 0x05b0, 0x05b0, 0x1b20, 0x0860, 0x05b0, 0x05b0, 0x05b0,
+ 0x05b0, 0x1b30, 0x05b0, 0x05b0, 0x0a40, 0x0860, 0x0860, 0x1b40,
+ 0x0580, 0x1b50, 0x0580, 0x1b60, 0x1b70, 0x1b80, 0x1b90, 0x1130,
+ 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1ba0,
+ 0x1bb0, 0x1bc0, 0x16c0, 0x1bd0, 0x16c0, 0x1be0, 0x1bf0, 0x1c00,
+ 0x16c0, 0x1c10, 0x16c0, 0x17e0, 0x1c20, 0x1c30, 0x1c40, 0x1c50,
/* values */
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0022, 0x0003, 0x0001, 0x0001, 0x0002, 0x0004, 0x0004,
@@ -277,8 +277,6 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x001d, 0x0011,
- 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
@@ -310,7 +308,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x0004, 0x0004, 0x0011, 0x0011, 0x001c, 0x001c,
0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
0x001d, 0x001d, 0x001b, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001b, 0x001d, 0x001a, 0x001d, 0x001d, 0x0011, 0x0011,
+ 0x001d, 0x001b, 0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d,
0x001d, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x0011,
@@ -332,7 +330,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0011, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+ 0x0011, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0004,
@@ -375,8 +373,10 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0011,
0x0011, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004,
+ 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, 0x0004,
0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d,
0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0004,
@@ -551,10 +551,10 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0004,
+ 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0011,
0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
- 0x0004, 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
+ 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011,
+ 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
@@ -638,9 +638,11 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0012, 0x0013, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
+ 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
@@ -711,7 +713,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d,
- 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d,
@@ -733,8 +735,8 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0012, 0x0013, 0x0022, 0x0022, 0x0022, 0x0022, 0x0017, 0x001d,
0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0025, 0x0025, 0x0022, 0x0022, 0x0022, 0x001d,
- 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
- 0x0022, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
+ 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0011, 0x0011, 0x0011,
+ 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
@@ -768,10 +770,12 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
- 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011,
0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011,
+ 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
@@ -871,8 +875,6 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] =
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0011, 0x0026, 0x0011,
0x0026, 0x0026, 0x0011, 0x0026, 0x0026, 0x0011, 0x0026, 0x0026,
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
- 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
- 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
diff --git a/dlls/usp10/mirror.c b/dlls/usp10/mirror.c
index 23dab536c4..daadfa8054 100644
--- a/dlls/usp10/mirror.c
+++ b/dlls/usp10/mirror.c
@@ -1,5 +1,5 @@
/* Unicode BiDi mirroring */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/BidiMirroring.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/BidiMirroring.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/dlls/usp10/shaping.c b/dlls/usp10/shaping.c
index 82435ff2c3..cf6f3b4a97 100644
--- a/dlls/usp10/shaping.c
+++ b/dlls/usp10/shaping.c
@@ -1,10 +1,10 @@
/* Unicode Arabic shaping */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/ArabicShaping.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/ArabicShaping.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
-const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
+const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2864] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160,
@@ -54,64 +54,64 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0410, 0x0420, 0x0430, 0x0440, 0x0450, 0x0460, 0x0470, 0x0480,
0x0490, 0x04a0, 0x04b0, 0x0360, 0x04c0, 0x04d0, 0x04e0, 0x04f0,
0x0340, 0x0340, 0x0500, 0x0510, 0x0520, 0x0530, 0x0540, 0x0550,
- 0x0340, 0x0560, 0x0570, 0x0340, 0x0580, 0x0590, 0x05a0, 0x0340,
- 0x0340, 0x0340, 0x05b0, 0x05c0, 0x0340, 0x05d0, 0x05e0, 0x0360,
- 0x05f0, 0x0340, 0x0340, 0x0600, 0x0610, 0x0620, 0x0630, 0x0340,
- 0x0640, 0x0340, 0x0340, 0x0650, 0x0660, 0x0340, 0x0630, 0x0340,
- 0x0670, 0x0340, 0x0340, 0x0650, 0x0680, 0x0640, 0x0340, 0x0690,
- 0x0670, 0x0340, 0x0340, 0x0650, 0x06a0, 0x0340, 0x0630, 0x06b0,
- 0x0640, 0x0340, 0x0340, 0x06c0, 0x0660, 0x06d0, 0x0630, 0x0340,
- 0x06e0, 0x0340, 0x0340, 0x0340, 0x06f0, 0x0340, 0x0340, 0x0340,
- 0x0510, 0x0340, 0x0340, 0x0700, 0x0710, 0x0720, 0x0630, 0x0340,
- 0x0640, 0x0340, 0x0340, 0x06c0, 0x0730, 0x0340, 0x0630, 0x0340,
- 0x0740, 0x0340, 0x0340, 0x0750, 0x0660, 0x0340, 0x0630, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0760, 0x0770, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0780, 0x0790, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x07a0, 0x07b0, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x07c0, 0x0340, 0x07d0, 0x0340, 0x0340, 0x0340, 0x07e0,
- 0x07f0, 0x0800, 0x0360, 0x0810, 0x06d0, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0820, 0x0830, 0x0340, 0x0840, 0x0510, 0x0850,
- 0x0860, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0820, 0x0340, 0x0340,
+ 0x0340, 0x0560, 0x0570, 0x0340, 0x0580, 0x0590, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x05a0, 0x05b0, 0x0340, 0x05c0, 0x05d0, 0x0360,
+ 0x05e0, 0x0340, 0x0340, 0x05f0, 0x0600, 0x0610, 0x0620, 0x0340,
+ 0x0630, 0x0340, 0x0340, 0x0640, 0x0650, 0x0340, 0x0620, 0x0340,
+ 0x0660, 0x0340, 0x0340, 0x0640, 0x0670, 0x0630, 0x0340, 0x0680,
+ 0x0660, 0x0340, 0x0340, 0x0640, 0x0690, 0x0340, 0x0620, 0x0340,
+ 0x0630, 0x0340, 0x0340, 0x06a0, 0x0650, 0x06b0, 0x0620, 0x0340,
+ 0x06c0, 0x0340, 0x0340, 0x0340, 0x06d0, 0x0340, 0x0340, 0x0340,
+ 0x0510, 0x0340, 0x0340, 0x06e0, 0x06f0, 0x0700, 0x0620, 0x0340,
+ 0x0630, 0x0340, 0x0340, 0x06a0, 0x0710, 0x0340, 0x0620, 0x0340,
+ 0x0630, 0x0340, 0x0340, 0x0340, 0x0650, 0x0340, 0x0620, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0720, 0x0730, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0740, 0x0750, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0760, 0x0770, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0780, 0x0340, 0x0790, 0x0340, 0x0340, 0x0340, 0x07a0,
+ 0x07b0, 0x07c0, 0x0360, 0x07d0, 0x06b0, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x07e0, 0x07f0, 0x0340, 0x0800, 0x0510, 0x0810,
+ 0x0820, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x07e0, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0870, 0x0340, 0x0870, 0x0340, 0x0630, 0x0340, 0x0630,
- 0x0340, 0x0340, 0x0340, 0x0880, 0x0890, 0x08a0, 0x0340, 0x0340,
- 0x08b0, 0x0340, 0x0530, 0x0530, 0x0530, 0x0530, 0x0530, 0x08c0,
- 0x08d0, 0x0530, 0x08e0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x08f0, 0x0900, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0830, 0x0340, 0x0830, 0x0340, 0x0620, 0x0340, 0x0620,
+ 0x0340, 0x0340, 0x0340, 0x0840, 0x0850, 0x0860, 0x0340, 0x0340,
+ 0x0870, 0x0340, 0x0530, 0x0530, 0x0530, 0x0530, 0x0530, 0x0880,
+ 0x0890, 0x0530, 0x08a0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x08b0, 0x08c0, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0910, 0x0340, 0x0340, 0x0340, 0x0920, 0x0930, 0x0940,
- 0x0340, 0x0340, 0x0340, 0x0950, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0960, 0x0340, 0x0340, 0x0970, 0x06e0, 0x0340, 0x0980, 0x0960,
- 0x0740, 0x0340, 0x0990, 0x0340, 0x0340, 0x0340, 0x09a0, 0x0740,
- 0x0340, 0x0340, 0x09b0, 0x09c0, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x09d0, 0x09e0, 0x09f0,
+ 0x0340, 0x08d0, 0x0340, 0x0340, 0x0340, 0x08e0, 0x08f0, 0x0900,
+ 0x0340, 0x0340, 0x0340, 0x0910, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0920, 0x0340, 0x0340, 0x0930, 0x06c0, 0x0340, 0x0940, 0x0920,
+ 0x0950, 0x0340, 0x0960, 0x0340, 0x0340, 0x0340, 0x0970, 0x0950,
+ 0x0340, 0x0340, 0x0980, 0x0990, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x09a0, 0x09b0, 0x09c0,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0360, 0x0a00,
- 0x0a10, 0x0340, 0x0a20, 0x0340, 0x0340, 0x0340, 0x0a30, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0360, 0x09d0,
+ 0x09e0, 0x0340, 0x09f0, 0x0340, 0x0340, 0x0340, 0x0a00, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0510,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0740,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0950,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360,
- 0x0340, 0x0340, 0x0a40, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0a50, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0a60,
- 0x0340, 0x0700, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0740,
- 0x0a70, 0x0340, 0x0720, 0x0340, 0x0530, 0x0530, 0x0530, 0x0a80,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0a90, 0x0340, 0x0360, 0x0740,
- 0x0340, 0x0340, 0x0aa0, 0x0340, 0x0ab0, 0x0740, 0x0340, 0x0340,
- 0x05f0, 0x0340, 0x0340, 0x0ac0, 0x0340, 0x0340, 0x0ad0, 0x0340,
- 0x0340, 0x0340, 0x0ae0, 0x0af0, 0x0b00, 0x0340, 0x0340, 0x0650,
- 0x0340, 0x0340, 0x0340, 0x0b10, 0x0640, 0x0340, 0x0b20, 0x06d0,
+ 0x0340, 0x0340, 0x0a10, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0a20, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0a30,
+ 0x0340, 0x06e0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0950,
+ 0x0a40, 0x0340, 0x0700, 0x0340, 0x0530, 0x0530, 0x0530, 0x0a50,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0a60, 0x0340, 0x0360, 0x0950,
+ 0x0340, 0x0340, 0x0a70, 0x0340, 0x0a80, 0x0950, 0x0340, 0x0340,
+ 0x05e0, 0x0340, 0x0340, 0x0a90, 0x0340, 0x0340, 0x0aa0, 0x0340,
+ 0x0340, 0x0340, 0x0ab0, 0x0ac0, 0x0ad0, 0x0340, 0x0340, 0x0640,
+ 0x0340, 0x0340, 0x0340, 0x0ae0, 0x0630, 0x0340, 0x0af0, 0x06b0,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b30, 0x0340,
- 0x0340, 0x0b40, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b00, 0x0340,
+ 0x0340, 0x0b10, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0360, 0x0340, 0x0360, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
- 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b50,
+ 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b20,
/* values */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -189,12 +189,10 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0004, 0x0002, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0002, 0x0004, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x3404, 0x3400, 0x3404, 0x3404, 0x3404, 0x3404, 0x3400, 0x3402,
- 0x3404, 0x3402, 0x3402, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0404, 0x0404, 0x0604, 0x0b04, 0x0f04, 0x1004, 0x1204, 0x1304,
- 0x0104, 0x0104, 0x0802, 0x0302, 0x3502, 0x0000, 0x0702, 0x0a04,
- 0x0d04, 0x3602, 0x0802, 0x0c04, 0x1104, 0x0000, 0x0404, 0x0404,
- 0x0404, 0x0802, 0x0104, 0x3704, 0x3704, 0x3704, 0x0000, 0x0000,
+ 0x0104, 0x0104, 0x0802, 0x0302, 0x3402, 0x0000, 0x0702, 0x0a04,
+ 0x0d04, 0x3502, 0x0802, 0x0c04, 0x1104, 0x0000, 0x0404, 0x0404,
+ 0x0404, 0x0802, 0x0104, 0x3604, 0x3604, 0x3604, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
@@ -224,8 +222,6 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001,
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -241,10 +237,6 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000,
- 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, 0x0001, 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, 0x0000, 0x0001, 0x0000,
@@ -315,6 +307,8 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 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, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
@@ -329,8 +323,8 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] =
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
- 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
+ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0005, 0x0001, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
diff --git a/dlls/wineps.drv/vertical.c b/dlls/wineps.drv/vertical.c
index 05737604b8..ca4467911c 100644
--- a/dlls/wineps.drv/vertical.c
+++ b/dlls/wineps.drv/vertical.c
@@ -1,5 +1,5 @@
/* Unicode Vertical Orientation */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/VerticalOrientation.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/VerticalOrientation.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/port/compose.c b/libs/port/compose.c
index 71589f47c1..06f6062d24 100644
--- a/libs/port/compose.c
+++ b/libs/port/compose.c
@@ -1,5 +1,5 @@
/* Unicode char composition */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/UnicodeData.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/port/decompose.c b/libs/port/decompose.c
index 221d2e0e92..5e6b2214ec 100644
--- a/libs/port/decompose.c
+++ b/libs/port/decompose.c
@@ -1,5 +1,5 @@
/* Unicode char composition */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/UnicodeData.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/port/digitmap.c b/libs/port/digitmap.c
index 786879a90a..79a86651cc 100644
--- a/libs/port/digitmap.c
+++ b/libs/port/digitmap.c
@@ -1,5 +1,5 @@
/* Unicode digit folding mappings */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/UnicodeData.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/wine/casemap.c b/libs/wine/casemap.c
index bfab3233ee..122f81ff2f 100644
--- a/libs/wine/casemap.c
+++ b/libs/wine/casemap.c
@@ -1,5 +1,5 @@
/* Unicode case mappings */
-/* generated from http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt */
+/* generated from http://www.unicode.org/Public/11.0.0/ucd/UnicodeData.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
diff --git a/libs/wine/wctype.c b/libs/wine/wctype.c
index 8d0a3ed94d..5a79353985 100644
--- a/libs/wine/wctype.c
+++ b/libs/wine/wctype.c
@@ -307,8 +307,8 @@ const unsigned short wine_wctype_table[17152] =
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0xd200, 0xd200, 0xd200, 0x0000, 0x0000, 0x2210, 0x0000,
- 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300, 0xc300,
- 0xc300, 0xc300, 0xc300, 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, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -358,7 +358,7 @@ const unsigned short wine_wctype_table[17152] =
0x1300, 0x1300, 0xd200, 0xd200, 0x0000, 0x0000, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1300, 0x1300, 0x5200, 0x5200, 0x1200, 0x1200, 0x1200, 0x1200,
- 0x1200, 0x1200, 0x1200, 0x5200, 0x1300, 0x1210, 0x0000, 0x0000,
+ 0x1200, 0x1200, 0x1200, 0x5200, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xd200, 0xd200, 0x1200, 0x0000, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300,
0x1300, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
@@ -390,7 +390,7 @@ const unsigned short wine_wctype_table[17152] =
0x1300, 0x1300, 0xd200, 0xd200, 0x0000, 0x0000, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1210, 0x5200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x1300, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
+ 0x0000, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xd200, 0x1200, 0x1200, 0x0000, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x1300,
0x1300, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
@@ -455,14 +455,14 @@ const unsigned short wine_wctype_table[17152] =
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x0000, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0xd200, 0xd200, 0x1200, 0x1200, 0x0000, 0x1300, 0x1300, 0x1300,
+ 0x0000, 0xd200, 0x1200, 0x1200, 0x0000, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x1300, 0x1300,
0x1300, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0xd200, 0xd200, 0x1300, 0x1200, 0x1200,
+ 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x1300, 0x1200, 0x1200,
0x1200, 0xd200, 0xd200, 0xd200, 0xd200, 0x0000, 0x1200, 0x1200,
0x1200, 0x0000, 0x1200, 0x1200, 0x1200, 0xd200, 0x1300, 0x1200,
0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1200,
@@ -933,7 +933,7 @@ const unsigned short wine_wctype_table[17152] =
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0xd200, 0x1200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0xd200, 0x1300, 0x1300, 0x1300, 0x1300, 0xd200, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1200, 0x1200, 0xd200, 0x1300, 0x1300, 0x1200,
+ 0x1300, 0x1300, 0x1200, 0x1200, 0xd200, 0x1300, 0x1300, 0x0000,
0xd200, 0xd200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
@@ -965,8 +965,8 @@ const unsigned short wine_wctype_table[17152] =
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
- 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
- 0xd200, 0xd200, 0x0000, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
+ 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0000, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
@@ -1054,7 +1054,7 @@ const unsigned short wine_wctype_table[17152] =
0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
- 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
+ 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200, 0xd200,
@@ -1158,7 +1158,7 @@ const unsigned short wine_wctype_table[17152] =
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
- 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
+ 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0x0000,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
@@ -1377,7 +1377,7 @@ const unsigned short wine_wctype_table[17152] =
0xb200, 0xb200, 0x0000, 0x0000, 0x0000, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0x0000, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
- 0xb200, 0xb200, 0xb200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xb200, 0xb200, 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, 0xb200, 0xb200, 0xb200, 0xb200,
@@ -1455,8 +1455,8 @@ const unsigned short wine_wctype_table[17152] =
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb300,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
- 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
- 0xb210, 0xb210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 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, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -1548,7 +1548,7 @@ const unsigned short wine_wctype_table[17152] =
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000,
+ 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
@@ -1697,10 +1697,10 @@ const unsigned short wine_wctype_table[17152] =
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
- 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+ 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 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,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
diff --git a/tools/make_unicode b/tools/make_unicode
index 92b0b64a94..a22cd044b7 100755
--- a/tools/make_unicode
+++ b/tools/make_unicode
@@ -23,7 +23,7 @@ use strict;
# base URLs for www.unicode.org files
my $MAPPINGS = "http://www.unicode.org/Public/MAPPINGS";
-my $UNIDATA = "http://www.unicode.org/Public/10.0.0/ucd";
+my $UNIDATA = "http://www.unicode.org/Public/11.0.0/ucd";
my $REPORTS = "http://www.unicode.org/reports";
my $RFCS = "http://www.rfc-editor.org/rfc";
@@ -1462,7 +1462,12 @@ my %scripts =
"Old_Hungarian" => 134,
"Osage" => 135,
"SignWriting" => 136,
- "Tangut" => 137
+ "Tangut" => 137,
+ # Win10 RS4
+ "Masaram_Gondi" => 138,
+ "Nushu" => 139,
+ "Soyombo" => 140,
+ "Zanabazar_Square" => 141
);
################################################################
--
2.18.0
June 30, 2018
Re: [PATCH] gdi32: Add DECLSPEC_HOTPATCH to GetDIBits
by Stefan Dösinger
> Am 28.06.2018 um 17:28 schrieb Alex Henrie <alexhenrie24(a)gmail.com>:
>
> Although this patch fixes the bug in question, Zeb and I would like to
> know: Since all exported Windows API functions support hotpatching,[1]
> why do we add __attribute__((__ms_hook_prologue__)) attribute to
> functions ad hoc instead of making it part of the definitions of
> __stdcall and __cdecl in windef.h?
Alex asked me at Wineconf to comment on this.
When I added __ms_hook_prologue__ to gcc a long time ago we did not anticipate a high number of functions to need it. In 32 bit x86 code it adds minor overhead - there is a 2 byte nop at the start of every function that uses it. Having it on all functions was considered unnecessary and wasteful. On x64 this nop is 8 bytes long.
At the time I worked on this Windows only made regular exported functions hotpatchable (what we have in our .spec files), but not e.g. COM methods. But Windows applications hook COM methods too, we wanted to be able to make static functions hotpatchable. On Windows this is a compiler option: https://docs.microsoft.com/en-us/cpp/build/reference/hotpatch-create-hotpat… <https://docs.microsoft.com/en-us/cpp/build/reference/hotpatch-create-hotpat…> . Doing the same thing would not work for us because we still have to make sure that e.g. IDirect3DDevice9::Present does not contain code that Steam et all cannot handle.
June 30, 2018
[PATCH] msvcr120: Add stub for _SetWinRTOutOfMemoryExceptionCallback.
by Alex Henrie
From: Michael Müller <michael(a)fds-team.de>
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
Patch from Wine Staging.
Fixes https://bugs.winehq.org/show_bug.cgi?id=45394
dlls/msvcr120/msvcr120.spec | 2 +-
dlls/msvcr120_app/msvcr120_app.spec | 2 +-
dlls/msvcrt/misc.c | 8 ++++++++
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 00f622b944..585353ccc8 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -844,7 +844,7 @@
@ stub -arch=i386 _NLG_Return
@ stub -arch=i386 _NLG_Return2
@ stub -arch=arm,win64 __NLG_Return2
-@ stub _SetWinRTOutOfMemoryExceptionCallback
+@ cdecl -arch=i386,x86_64,arm _SetWinRTOutOfMemoryExceptionCallback(ptr) MSVCR120__SetWinRTOutOfMemoryExceptionCallback
@ stub -arch=win64 _SetImageBase
@ stub -arch=win64 _SetThrowImageBase
@ cdecl _Strftime(ptr long str ptr ptr)
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index af1b12957f..ceb8d10306 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -838,7 +838,7 @@
@ stub -arch=i386 _NLG_Return
@ stub -arch=i386 _NLG_Return2
@ stub -arch=arm,win64 __NLG_Return2
-@ stub _SetWinRTOutOfMemoryExceptionCallback
+@ cdecl -arch=i386,x86_64,arm _SetWinRTOutOfMemoryExceptionCallback(ptr) msvcr120._SetWinRTOutOfMemoryExceptionCallback
@ stub -arch=win64 _SetImageBase
@ stub -arch=win64 _SetThrowImageBase
@ cdecl _Strftime(ptr long str ptr ptr) msvcr120._Strftime
diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c
index d760e171bd..5a4e77b098 100644
--- a/dlls/msvcrt/misc.c
+++ b/dlls/msvcrt/misc.c
@@ -580,4 +580,12 @@ void CDECL MSVCRT__crtSleep(DWORD timeout)
TRACE("(%u)\n", timeout);
Sleep(timeout);
}
+
+/*********************************************************************
+ * _SetWinRTOutOfMemoryExceptionCallback (MSVCR120.@)
+ */
+void CDECL MSVCR120__SetWinRTOutOfMemoryExceptionCallback(void *callback)
+{
+ FIXME("(%p): stub\n", callback);
+}
#endif
--
2.18.0
June 29, 2018
Re: [PATCH] user32/tests: Use the available ARRAY_SIZE() macro
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39453
Your paranoid android.
=== wvistau64 (32 bit listbox) ===
listbox.c:740: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY, *) filled with 7 entries, expected > 7
listbox.c:975: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY|DDL_EXCLUSIVE, *) failed err 18
=== wvistau64_zh_CN (32 bit listbox) ===
listbox.c:740: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY, *) filled with 7 entries, expected > 7
listbox.c:975: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY|DDL_EXCLUSIVE, *) failed err 18
=== wvistau64_fr (32 bit listbox) ===
listbox.c:740: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY, *) filled with 7 entries, expected > 7
listbox.c:975: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY|DDL_EXCLUSIVE, *) failed err 18
=== wvistau64_he (32 bit listbox) ===
listbox.c:740: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY, *) filled with 7 entries, expected > 7
listbox.c:975: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY|DDL_EXCLUSIVE, *) failed err 18
=== wvistau64 (64 bit listbox) ===
listbox.c:740: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY, *) filled with 7 entries, expected > 7
listbox.c:975: Test failed: SendMessage(LB_DIR, DDL_DIRECTORY|DDL_EXCLUSIVE, *) failed err 18
=== wvistau64_zh_CN (32 bit msg) ===
msg.c:5084: Test failed: ShowWindow(SW_RESTORE):overlapped: 18: the msg sequence is not complete: expected 0000 - actual 0088
=== w8 (32 bit sysparams) ===
sysparams.c:2511: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out
sysparams.c:2522: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1
=== w8adm (32 bit sysparams) ===
sysparams.c:961: testing SPI_{GET,SET}SCREENSAVETIMEOUT
sysparams.c:2511: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out
sysparams.c:2522: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1
=== w864 (32 bit sysparams) ===
sysparams.c:2511: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out
sysparams.c:2522: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1
=== w1064 (32 bit sysparams) ===
sysparams.c:225: Test failed: Unexpected WM_DISPLAYCHANGE message
June 28, 2018
[PATCH] dbghelp: Map SIMD dwarf registers on ARM64
by André Hentschel
Signed-off-by: André Hentschel <nerv(a)dawncrow.de>
---
dlls/dbghelp/cpu_arm64.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/dbghelp/cpu_arm64.c b/dlls/dbghelp/cpu_arm64.c
index dea19f8..f50b325 100644
--- a/dlls/dbghelp/cpu_arm64.c
+++ b/dlls/dbghelp/cpu_arm64.c
@@ -158,6 +158,7 @@ static unsigned arm64_map_dwarf_register(unsigned regno, BOOL eh_frame)
if (regno == 29) return CV_ARM64_FP;
if (regno == 30) return CV_ARM64_LR;
if (regno == 31) return CV_ARM64_SP;
+ if (regno >= 64 && regno <= 95) return CV_ARM64_Q0 + regno - 64;
FIXME("Don't know how to map register %d\n", regno);
return CV_ARM64_NOREG;
--
2.7.4
June 28, 2018
Re: Bug #45385 related to keyboard and probably wineserver - where to start the search
by John Found
OK, continuing the bug #45385 investigation, I found out that it is somehow related to the window manager and its focus policies.
I am working and testing in XFCE and in the window manager settings there are two checkboxes:
[ ] Activate focus stealing protection
[ ] Honor ICCCM focus hint
So, the buggy behavior happens when and only when both these options are checked.
When only one of the is checked or both are unchecked, the bug does not manifests itself.
The big question here is whether the bug is in the WM/X11 or in the WINE itself.
I can't judge by myself, simply because I don't know how this "stealing prevention" works and
what is "ICCCM focus hint".
While this finding allows to workaround the problem, I am still curious about the actual reason for the wrong behavior.
Any considerations?
Regards
On Wed, 27 Jun 2018 08:50:22 +0300
John Found <johnfound(a)asm32.info> wrote:
> I just reported bug #45385 (https://bugs.winehq.org/show_bug.cgi?id=45385) and want to try to fix it.
>
> So I want to ask about some preliminary directions - where to check the code,
> what is the general structure of the code related to the bug subject, possible suspicious places.
>
> Here is the full bug report in order to save you a visit to the bug tracker:
>
> > I noticed that the state of the keys sometimes sticks in pressed state.
> >
> > This happens when cycling windows with some shortcut key combination.
> >
> > For example if cycling with Alt+Tab, on pressing Alt, the program gets WM_KEYDOWN and the state of the VK_MENU becomes pressed. But after cycling windows, the program does not get WM_KEYUP because the window is not focused and VK_MENU (and the respective VK_LMENU or VK_RMENU) remain in pressed state.
> >
> > When cycling back to the program window, the window get focused only after releasing Alt key, so it does not get this event as well.
> >
> > If cycling windows with another shortcut key combination (for example Alt+Shift+Tab - for backward cycling) both VK_MENU and VK_SHIFT keys stick.
> >
> > In the same time, GetAsyncKeyState returns the proper state of the keys.
> >
> > Note1: The problem is obviously in the wineserver code, because it handles the key state tables for the different threads.
> >
> > Note2: The effect happens only sometimes. It seems the code for proper processing is already there, but some racing conditions have place.
> >
> > Note3: There is some probability that the effect is in result of my application code, but it never happens on real Windows, so I considered it a bug.
> >
> > Note4: I tried to workaround this problem by reading the whole table by GetAsyncKeyState and setting it then with SetKeyboardState on WM_ACTIVATE message of the main window. This workaround actually works, but is too ugly IMO.
> > The same trick on WM_ACTIVATEAPP does not work.
>
> --
> John Found <johnfound(a)asm32.info>
>
>
--
John Found <johnfound(a)asm32.info>
June 28, 2018
Re: Bug #45385 related to keyboard and probably wineserver - where to start the search
by John Found
On Thu, 28 Jun 2018 14:04:31 +0200
Kai Krakow <kai(a)kaishome.de> wrote:
>
> But this should answer the OPs question why it is done in this way.
>
Well, for me the code is still entangled, and not very legible.
Nevertheless I understood how it works and it seems to be correct.
Thank you and all thread contributors above. :)
Regards.
P.S. Actually I found another possible reason for the researched bug, but will ask about it in another post below.
--
John Found <johnfound(a)asm32.info>
June 28, 2018
[PATCH] user32/tests: Use the available ARRAY_SIZE() macro
by Michael Stefaniuc
Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org>
---
dlls/user32/tests/class.c | 16 ++++++-------
dlls/user32/tests/clipboard.c | 4 ++--
dlls/user32/tests/combo.c | 4 ++--
dlls/user32/tests/cursoricon.c | 2 +-
dlls/user32/tests/dde.c | 12 +++++-----
dlls/user32/tests/dialog.c | 8 +++----
dlls/user32/tests/edit.c | 6 ++---
dlls/user32/tests/input.c | 13 +++++------
dlls/user32/tests/listbox.c | 2 +-
dlls/user32/tests/menu.c | 19 ++++++++-------
dlls/user32/tests/monitor.c | 6 ++---
dlls/user32/tests/msg.c | 26 ++++++++++-----------
dlls/user32/tests/resource.c | 4 ++--
dlls/user32/tests/scroll.c | 2 +-
dlls/user32/tests/sysparams.c | 50 ++++++++++++++++++++--------------------
dlls/user32/tests/text.c | 8 +++----
dlls/user32/tests/uitools.c | 2 +-
dlls/user32/tests/win.c | 52 +++++++++++++++++++++---------------------
dlls/user32/tests/wsprintf.c | 8 +++----
19 files changed, 121 insertions(+), 123 deletions(-)
diff --git a/dlls/user32/tests/class.c b/dlls/user32/tests/class.c
index 9b3b2b30f3..53fa2f12e3 100644
--- a/dlls/user32/tests/class.c
+++ b/dlls/user32/tests/class.c
@@ -169,7 +169,7 @@ static void ClassTest(HINSTANCE hInstance, BOOL global)
}
/* check GetClassName */
- i = GetClassNameW(hTestWnd, str, sizeof(str)/sizeof(str[0]));
+ i = GetClassNameW(hTestWnd, str, ARRAY_SIZE(str));
ok(i == lstrlenW(className),
"GetClassName returned incorrect length\n");
ok(!lstrcmpW(className,str),
@@ -725,7 +725,7 @@ static void test_builtinproc(void)
ok(IsWindowUnicode(hwnd) ||
broken(!IsWindowUnicode(hwnd)) /* Windows 8 and 10 */,
"Windows should be Unicode\n");
- SendMessageW(hwnd, WM_GETTEXT, sizeof(buf) / sizeof(buf[0]), (LPARAM)buf);
+ SendMessageW(hwnd, WM_GETTEXT, ARRAY_SIZE(buf), (LPARAM)buf);
if (IsWindowUnicode(hwnd))
ok(memcmp(buf, unistring, sizeof(unistring)) == 0, "WM_GETTEXT invalid return\n");
else
@@ -939,7 +939,7 @@ static const struct
static void test_extra_values(void)
{
int i;
- for(i=0; i< sizeof(extra_values)/sizeof(extra_values[0]); i++)
+ for(i = 0; i < ARRAY_SIZE(extra_values); i++)
{
WNDCLASSEXA wcx;
BOOL ret = GetClassInfoExA(NULL,extra_values[i].name,&wcx);
@@ -1133,7 +1133,7 @@ static void test_comctl32_class( const char *name )
name++;
- GetTempPathA(sizeof(path)/sizeof(path[0]), path);
+ GetTempPathA(ARRAY_SIZE(path), path);
strcat(path, "comctl32_class.manifest");
create_manifest_file(path, comctl32_manifest);
@@ -1161,7 +1161,7 @@ static void test_comctl32_class( const char *name )
if (!ret)
goto skiptest;
- MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, sizeof(nameW)/sizeof(WCHAR) );
+ MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, ARRAY_SIZE(nameW));
ret = GetClassInfoW( 0, nameW, &wcW );
ok( ret, "GetClassInfoW failed for %s\n", name );
module = GetModuleHandleA( "comctl32" );
@@ -1187,7 +1187,7 @@ static void test_comctl32_class( const char *name )
ret = GetClassInfoA( 0, name, &wcA );
ok( ret || broken(!ret) /* <= winxp */, "GetClassInfoA failed for %s\n", name );
if (!ret) return;
- MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, sizeof(nameW)/sizeof(WCHAR) );
+ MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, ARRAY_SIZE(nameW));
ret = GetClassInfoW( 0, nameW, &wcW );
ok( ret, "GetClassInfoW failed for %s\n", name );
module = GetModuleHandleA( "comctl32" );
@@ -1243,7 +1243,7 @@ static void test_comctl32_classes(void)
};
winetest_get_mainargs( &argv );
- for (i = 0; i < sizeof(classes) / sizeof(classes[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(classes); i++)
{
memset( &startup, 0, sizeof(startup) );
startup.cb = sizeof( startup );
@@ -1322,7 +1322,7 @@ static void test_actctx_classes(void)
HWND hwnd;
char path[MAX_PATH];
- GetTempPathA(sizeof(path)/sizeof(path[0]), path);
+ GetTempPathA(ARRAY_SIZE(path), path);
strcat(path, "actctx_classes.manifest");
create_manifest_file(path, main_manifest);
diff --git a/dlls/user32/tests/clipboard.c b/dlls/user32/tests/clipboard.c
index 3d3ef8b4c1..4436ece70d 100644
--- a/dlls/user32/tests/clipboard.c
+++ b/dlls/user32/tests/clipboard.c
@@ -711,7 +711,7 @@ static void test_synthesized(void)
r = CloseClipboard();
ok(r, "gle %d\n", GetLastError());
- for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); i++)
{
r = OpenClipboard(NULL);
ok(r, "%u: gle %d\n", i, GetLastError());
@@ -2044,7 +2044,7 @@ static void test_string_data(void)
char bufferA[12];
WCHAR bufferW[12];
- for (i = 0; i < sizeof(test_data) / sizeof(test_data[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(test_data); i++)
{
/* 1-byte Unicode strings crash on Win64 */
#ifdef _WIN64
diff --git a/dlls/user32/tests/combo.c b/dlls/user32/tests/combo.c
index ad706ea754..3358e846a0 100644
--- a/dlls/user32/tests/combo.c
+++ b/dlls/user32/tests/combo.c
@@ -291,7 +291,7 @@ static void test_WM_LBUTTONDOWN(void)
hCombo = CreateWindowA("ComboBox", "Combo", WS_VISIBLE|WS_CHILD|CBS_DROPDOWN,
0, 0, 200, 150, hMainWnd, (HMENU)COMBO_ID, NULL, 0);
- for (i = 0; i < sizeof(choices)/sizeof(UINT); i++){
+ for (i = 0; i < ARRAY_SIZE(choices); i++){
sprintf(buffer, stringFormat, choices[i]);
result = SendMessageA(hCombo, CB_ADDSTRING, 0, (LPARAM)buffer);
ok(result == i,
@@ -709,7 +709,7 @@ static void test_listbox_size(DWORD style)
{10, 100, TRUE},
};
- for(test = 0; test < sizeof(info_height) / sizeof(info_height[0]); test++)
+ for(test = 0; test < ARRAY_SIZE(info_height); test++)
{
const struct list_size_info *info_test = &info_height[test];
int height_item; /* Height of a list item */
diff --git a/dlls/user32/tests/cursoricon.c b/dlls/user32/tests/cursoricon.c
index 3d56815848..8404ee71ab 100644
--- a/dlls/user32/tests/cursoricon.c
+++ b/dlls/user32/tests/cursoricon.c
@@ -2533,7 +2533,7 @@ static void test_PrivateExtractIcons(void)
static const test_icon_entries_t icon_desc[] = {{0,0,TRUE}, {16,16,TRUE}, {32,32}, {64,64,TRUE}};
- create_ico_file("extract.ico", icon_desc, sizeof(icon_desc)/sizeof(*icon_desc));
+ create_ico_file("extract.ico", icon_desc, ARRAY_SIZE(icon_desc));
ret = PrivateExtractIconsA("extract.ico", 0, 32, 32, &icon, NULL, 1, 0);
ok(ret == 1, "PrivateExtractIconsA returned %u\n", ret);
diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c
index d63a0f65aa..eed2ac437e 100644
--- a/dlls/user32/tests/dde.c
+++ b/dlls/user32/tests/dde.c
@@ -2396,7 +2396,7 @@ static WCHAR test_cmd_w_to_w[][32] = {
{ 0x4efa, 0x4efc, 0x0061, 0x4efe, 0 }, /* some Chinese chars */
{ 0x0061, 0x0062, 0x0063, 0x9152, 0 }, /* Chinese with latin characters begin */
};
-static const int nb_callbacks = 5 + sizeof(test_cmd_w_to_w)/sizeof(test_cmd_w_to_w[0]);
+static const int nb_callbacks = 5 + ARRAY_SIZE(test_cmd_w_to_w);
static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV hconv,
HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
@@ -2480,7 +2480,7 @@ static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV
size_a = strlen(test_cmd_a_to_a) + 1;
size_w = (lstrlenW(cmd_w) + 1) * sizeof(WCHAR);
size_a_to_w = MultiByteToWideChar( CP_ACP, 0, test_cmd_a_to_a, -1, test_cmd_a_to_w,
- sizeof(test_cmd_a_to_w)/sizeof(WCHAR) ) * sizeof(WCHAR);
+ ARRAY_SIZE(test_cmd_a_to_w)) * sizeof(WCHAR);
size_w_to_a = WideCharToMultiByte( CP_ACP, 0, cmd_w, -1,
test_cmd_w_to_a, sizeof(test_cmd_w_to_a), NULL, NULL );
switch (str_index)
@@ -2528,7 +2528,7 @@ static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV
/* double A->W mapping */
/* NT uses the full size, XP+ only until the first null */
DWORD nt_size = MultiByteToWideChar( CP_ACP, 0, (char *)cmd_w, size_w, test_cmd_a_to_w,
- sizeof(test_cmd_a_to_w)/sizeof(WCHAR) ) * sizeof(WCHAR);
+ ARRAY_SIZE(test_cmd_a_to_w)) * sizeof(WCHAR);
DWORD xp_size = MultiByteToWideChar( CP_ACP, 0, (char *)cmd_w, -1, NULL, 0 ) * sizeof(WCHAR);
ok(size == xp_size || broken(size == nt_size) ||
broken(str_index == 4 && IsDBCSLeadByte(cmd_w[0])) /* East Asian */,
@@ -2554,7 +2554,7 @@ static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV
{
todo_wine ok(size == size_w, "Wrong size %d expected %d, msg_index=%d\n", size, size_w, msg_index);
MultiByteToWideChar(CP_ACP, 0, test_cmd_w_to_a, size_w, test_cmd_a_to_w,
- sizeof(test_cmd_a_to_w)/sizeof(WCHAR));
+ ARRAY_SIZE(test_cmd_a_to_w));
todo_wine ok(!lstrcmpW((WCHAR*)buffer, cmd_w),
"Expected %s got %s, msg_index=%d\n", wine_dbgstr_w(cmd_w), wine_dbgstr_w((WCHAR *)buffer), msg_index);
}
@@ -2562,7 +2562,7 @@ static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV
{
todo_wine ok(size == size_w, "Wrong size %d expected %d, msg_index=%d\n", size, size_w, msg_index);
MultiByteToWideChar(CP_ACP, 0, test_cmd_w_to_a, size_w, test_cmd_a_to_w,
- sizeof(test_cmd_a_to_w)/sizeof(WCHAR));
+ ARRAY_SIZE(test_cmd_a_to_w));
if (!is_cjk())
todo_wine ok(!lstrcmpW((WCHAR*)buffer, test_cmd_a_to_w), "Expected %s, got %s, msg_index=%d\n",
wine_dbgstr_w(test_cmd_a_to_w), wine_dbgstr_w((WCHAR*)buffer), msg_index);
@@ -2663,7 +2663,7 @@ static void test_end_to_end_client(BOOL type_a)
err = DdeGetLastError(client_pid);
ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err);
- for (i = 0; i < sizeof(test_cmd_w_to_w)/sizeof(test_cmd_w_to_w[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(test_cmd_w_to_w); i++)
{
hdata = DdeClientTransaction((LPBYTE)test_cmd_w_to_w[i],
(lstrlenW(test_cmd_w_to_w[i]) + 1) * sizeof(WCHAR),
diff --git a/dlls/user32/tests/dialog.c b/dlls/user32/tests/dialog.c
index ab3eec88bc..807a85b4ea 100644
--- a/dlls/user32/tests/dialog.c
+++ b/dlls/user32/tests/dialog.c
@@ -161,7 +161,7 @@ static BOOL CreateWindows (HINSTANCE hinst)
*/
if (p->id >= numwnds)
{
- if (p->id >= sizeof(hwnd)/sizeof(hwnd[0]))
+ if (p->id >= ARRAY_SIZE(hwnd))
{
trace ("Control %ld is out of range\n", p->id);
return FALSE;
@@ -1045,7 +1045,7 @@ static void test_GetDlgItemText(void)
BOOL ret;
strcpy(string, "Overwrite Me");
- ret = GetDlgItemTextA(NULL, 0, string, sizeof(string)/sizeof(string[0]));
+ ret = GetDlgItemTextA(NULL, 0, string, ARRAY_SIZE(string));
ok(!ret, "GetDlgItemText(NULL) shouldn't have succeeded\n");
ok(string[0] == '\0' || broken(!strcmp(string, "Overwrite Me")),
@@ -1461,7 +1461,7 @@ static INT_PTR CALLBACK test_aw_conversion_dlgproc(HWND hdlg, UINT msg, WPARAM w
(BYTE)buff[0], (BYTE)buff[1], len);
memset(buffW, 0xff, sizeof(buffW));
- len = GetWindowTextW(hdlg, buffW, sizeof(buffW)/sizeof(buffW[0]));
+ len = GetWindowTextW(hdlg, buffW, ARRAY_SIZE(buffW));
ok(buffW[0] == 'W' && buffW[1] == 0xffff && len == 0, "Unexpected window text %#x, %#x, len %d\n",
buffW[0], buffW[1], len);
@@ -1567,7 +1567,7 @@ static INT_PTR CALLBACK test_aw_conversion_dlgproc2(HWND hdlg, UINT msg, WPARAM
ok(!strcmp(buff, testtext) && len == 0, "Unexpected window text %s, len %d\n", buff, len);
memset(buffW, 0xff, sizeof(buffW));
- len = GetWindowTextW(hdlg, buffW, sizeof(buffW)/sizeof(buffW[0]));
+ len = GetWindowTextW(hdlg, buffW, ARRAY_SIZE(buffW));
ok(buffW[0] == 0 && buffW[1] == 0xffff && len == 0, "Unexpected window text %#x, %#x, len %d\n",
buffW[0], buffW[1], len);
diff --git a/dlls/user32/tests/edit.c b/dlls/user32/tests/edit.c
index 01418bf551..00c05fdef0 100644
--- a/dlls/user32/tests/edit.c
+++ b/dlls/user32/tests/edit.c
@@ -2956,7 +2956,7 @@ static void test_EM_GETLINE(void)
hwnd[0] = create_editcontrol(ES_AUTOHSCROLL | ES_AUTOVSCROLL, 0);
hwnd[1] = create_editcontrolW(ES_AUTOHSCROLL | ES_AUTOVSCROLL, 0);
- for (i = 0; i < sizeof(hwnd)/sizeof(hwnd[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(hwnd); i++)
{
static const WCHAR strW[] = {'t','e','x','t',0};
static const char *str = "text";
@@ -2984,13 +2984,13 @@ static void test_EM_GETLINE(void)
ok(!strcmp(buff, str), "Unexpected line data %s.\n", buff);
memset(buffW, 0, sizeof(buffW));
- *(WORD *)buffW = sizeof(buffW)/sizeof(buffW[0]);
+ *(WORD *)buffW = ARRAY_SIZE(buffW);
r = SendMessageW(hwnd[i], EM_GETLINE, 0, (LPARAM)buffW);
ok(r == lstrlenW(strW), "Failed to get a line %d.\n", r);
ok(!lstrcmpW(buffW, strW), "Unexpected line data %s.\n", wine_dbgstr_w(buffW));
memset(buffW, 0, sizeof(buffW));
- *(WORD *)buffW = sizeof(buffW)/sizeof(buffW[0]);
+ *(WORD *)buffW = ARRAY_SIZE(buffW);
r = SendMessageW(hwnd[i], EM_GETLINE, 1, (LPARAM)buffW);
ok(r == lstrlenW(strW), "Failed to get a line %d.\n", r);
ok(!lstrcmpW(buffW, strW), "Unexpected line data %s.\n", wine_dbgstr_w(buffW));
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
index 8fa1de23e1..03b84007b1 100644
--- a/dlls/user32/tests/input.c
+++ b/dlls/user32/tests/input.c
@@ -943,8 +943,7 @@ static void test_Input_blackbox(void)
i.u.ki.time = 0;
i.u.ki.dwExtraInfo = 0;
- for (ii = 0; ii < sizeof(sendinput_test)/sizeof(struct sendinput_test_s)-1;
- ii++) {
+ for (ii = 0; ii < ARRAY_SIZE(sendinput_test)-1; ii++) {
GetKeyboardState(ks1);
i.u.ki.wScan = ii+1 /* useful for debugging */;
i.u.ki.dwFlags = sendinput_test[ii].dwFlags;
@@ -1520,12 +1519,12 @@ static void test_GetRawInputDeviceList(void)
ok(ret > 0, "expected non-zero\n");
/* check if variable changes from larger to smaller value */
- devcount = odevcount = sizeof(devices) / sizeof(devices[0]);
+ devcount = odevcount = ARRAY_SIZE(devices);
oret = ret = pGetRawInputDeviceList(devices, &odevcount, sizeof(devices[0]));
ok(ret > 0, "expected non-zero\n");
ok(devcount == odevcount, "expected %d, got %d\n", devcount, odevcount);
devcount = odevcount;
- odevcount = sizeof(devices) / sizeof(devices[0]);
+ odevcount = ARRAY_SIZE(devices);
ret = pGetRawInputDeviceList(NULL, &odevcount, sizeof(devices[0]));
ok(ret == 0, "expected 0, got %d\n", ret);
ok(odevcount == oret, "expected %d, got %d\n", oret, odevcount);
@@ -1567,7 +1566,7 @@ static void test_key_map(void)
"Scan code -> vKey = %x (not VK_RSHIFT)\n", kR);
/* test that MAPVK_VSC_TO_VK prefers the non-numpad vkey if there's ambiguity */
- for (i = 0; i < sizeof(numpad_collisions)/sizeof(numpad_collisions[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(numpad_collisions); i++)
{
UINT numpad_scan = MapVirtualKeyExA(numpad_collisions[i][0], MAPVK_VK_TO_VSC, kl);
UINT other_scan = MapVirtualKeyExA(numpad_collisions[i][1], MAPVK_VK_TO_VSC, kl);
@@ -1665,7 +1664,7 @@ static void test_ToUnicode(void)
"ToUnicode didn't null-terminate the buffer when there was room.\n");
}
- for (i = 0; i < sizeof(utests) / sizeof(utests[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(utests); i++)
{
UINT vk = utests[i].vk, mod = utests[i].modifiers, scan;
@@ -1808,7 +1807,7 @@ static void test_key_names(void)
ok( buffer[0] == 0, "wrong string '%s'\n", buffer );
memset( bufferW, 0xcc, sizeof(bufferW) );
- ret = GetKeyNameTextW( lparam, bufferW, sizeof(bufferW)/sizeof(WCHAR) );
+ ret = GetKeyNameTextW( lparam, bufferW, ARRAY_SIZE(bufferW));
ok( ret > 0, "wrong len %u for %s\n", ret, wine_dbgstr_w(bufferW) );
ok( ret == lstrlenW(bufferW), "wrong len %u for %s\n", ret, wine_dbgstr_w(bufferW) );
diff --git a/dlls/user32/tests/listbox.c b/dlls/user32/tests/listbox.c
index 88d3adb728..c6edc76ea2 100644
--- a/dlls/user32/tests/listbox.c
+++ b/dlls/user32/tests/listbox.c
@@ -51,7 +51,7 @@ static int strcmp_aw(LPCWSTR strw, const char *stra)
WCHAR buf[1024];
if (!stra) return 1;
- MultiByteToWideChar(CP_ACP, 0, stra, -1, buf, sizeof(buf)/sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, stra, -1, buf, ARRAY_SIZE(buf));
return lstrcmpW(strw, buf);
}
diff --git a/dlls/user32/tests/menu.c b/dlls/user32/tests/menu.c
index 0f6e8618a6..7f338ce9b1 100644
--- a/dlls/user32/tests/menu.c
+++ b/dlls/user32/tests/menu.c
@@ -668,7 +668,7 @@ static void test_menu_ownerdraw(void)
ok( ret, "AppendMenu failed for %d\n", k-1);
}
MOD_maxid = k-1;
- assert( k <= sizeof(MOD_rc)/sizeof(RECT));
+ assert( k <= ARRAY_SIZE(MOD_rc));
/* display the menu */
TrackPopupMenu( hmenu, TPM_RETURNCMD, 100,100, 0, hwnd, NULL);
@@ -986,14 +986,14 @@ static void test_menu_bmp_and_string(void)
for( ispop=1; ispop >= 0; ispop--){
static SIZE bmsizes[]= {
{10,10},{38,38},{1,30},{55,5}};
- for( szidx=0; szidx < sizeof( bmsizes) / sizeof( SIZE); szidx++) {
+ for( szidx=0; szidx < ARRAY_SIZE(bmsizes); szidx++) {
HBITMAP hbm = CreateBitmap( bmsizes[szidx].cx, bmsizes[szidx].cy,1,1,bmfill);
HBITMAP bitmaps[] = { HBMMENU_CALLBACK, hbm, HBMMENU_POPUP_CLOSE, NULL };
ok( hbm != 0, "CreateBitmap failed err %d\n", GetLastError());
- for( txtidx = 0; txtidx < sizeof(MOD_txtsizes)/sizeof(MOD_txtsizes[0]); txtidx++) {
+ for( txtidx = 0; txtidx < ARRAY_SIZE(MOD_txtsizes); txtidx++) {
for( hassub = 0; hassub < 2 ; hassub++) { /* add submenu item */
for( mnuopt = 0; mnuopt < 3 ; mnuopt++){ /* test MNS_NOCHECK/MNS_CHECKORBMP */
- for( bmpidx = 0; bmpidx <sizeof(bitmaps)/sizeof(HBITMAP); bmpidx++) {
+ for( bmpidx = 0; bmpidx <ARRAY_SIZE(bitmaps); bmpidx++) {
/* no need to test NULL bitmaps of several sizes */
if( !bitmaps[bmpidx] && szidx > 0) continue;
/* the HBMMENU_POPUP not to test for menu bars */
@@ -2757,9 +2757,8 @@ static void test_menu_resource_layout(void)
ok(ret, "AppendMenu failed\n");
count = GetMenuItemCount(hmenu);
- ok(count == sizeof(menu_data)/sizeof(menu_data[0]),
- "expected %u menu items, got %u\n",
- (UINT)(sizeof(menu_data)/sizeof(menu_data[0])), count);
+ ok(count == ARRAY_SIZE(menu_data), "expected %u menu items, got %u\n",
+ (UINT) ARRAY_SIZE(menu_data), count);
for (i = 0; i < count; i++)
{
@@ -2978,9 +2977,9 @@ static void test_InsertMenu(void)
};
HMENU hmenu;
-#define create_menu(a) create_menu_from_data((a), sizeof(a)/sizeof((a)[0]))
-#define create_menuitem(a) create_menuitem_from_data((a), sizeof(a)/sizeof((a)[0]))
-#define compare_menu(h, a) compare_menu_data((h), (a), sizeof(a)/sizeof((a)[0]))
+#define create_menu(a) create_menu_from_data((a), ARRAY_SIZE(a))
+#define create_menuitem(a) create_menuitem_from_data((a), ARRAY_SIZE(a))
+#define compare_menu(h, a) compare_menu_data((h), (a), ARRAY_SIZE(a))
hmenu = create_menu(in1);
compare_menu(hmenu, out1);
diff --git a/dlls/user32/tests/monitor.c b/dlls/user32/tests/monitor.c
index 4d7b020e14..f4c1a4b17c 100644
--- a/dlls/user32/tests/monitor.c
+++ b/dlls/user32/tests/monitor.c
@@ -398,7 +398,7 @@ static void test_monitors(void)
/* tests for cbSize in MONITORINFO */
monitor = pMonitorFromWindow( 0, MONITOR_DEFAULTTOPRIMARY );
- for (i = 0; i < (sizeof(testdatami) / sizeof(testdatami[0])); i++)
+ for (i = 0; i < ARRAY_SIZE(testdatami); i++)
{
memset( &mi, 0, sizeof(mi) );
mi.cbSize = testdatami[i].cbSize;
@@ -420,7 +420,7 @@ static void test_monitors(void)
}
/* tests for cbSize in MONITORINFOEXA */
- for (i = 0; i < (sizeof(testdatamiexa) / sizeof(testdatamiexa[0])); i++)
+ for (i = 0; i < ARRAY_SIZE(testdatamiexa); i++)
{
memset( &miexa, 0, sizeof(miexa) );
miexa.cbSize = testdatamiexa[i].cbSize;
@@ -433,7 +433,7 @@ static void test_monitors(void)
}
/* tests for cbSize in MONITORINFOEXW */
- for (i = 0; i < (sizeof(testdatamiexw) / sizeof(testdatamiexw[0])); i++)
+ for (i = 0; i < ARRAY_SIZE(testdatamiexw); i++)
{
memset( &miexw, 0, sizeof(miexw) );
miexw.cbSize = testdatamiexw[i].cbSize;
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index a0f2cbeef0..1f2c0dd1f7 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -4966,7 +4966,7 @@ static void test_WM_DEVICECHANGE(HWND hwnd)
DBT_DEVICETYPESPECIFIC,
DBT_CUSTOMEVENT};
- for (i = 0; i < sizeof(wparams)/sizeof(wparams[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(wparams); i++)
{
SetLastError(0xdeadbeef);
ret = PostMessageA(hwnd, WM_DEVICECHANGE, wparams[i], 0);
@@ -6273,7 +6273,7 @@ static void test_button_messages(void)
hfont2 = CreateFontIndirectA(&logfont);
ok(hfont2 != NULL, "Failed to create Tahoma font\n");
- for (i = 0; i < sizeof(button)/sizeof(button[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(button); i++)
{
MSG msg;
DWORD style, state;
@@ -6686,7 +6686,7 @@ static void test_static_messages(void)
subclass_static();
- for (i = 0; i < sizeof(static_ctrl)/sizeof(static_ctrl[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(static_ctrl); i++)
{
hwnd = CreateWindowExA(0, "my_static_class", "test", static_ctrl[i].style | WS_POPUP,
0, 0, 50, 14, 0, 0, 0, NULL);
@@ -9729,13 +9729,13 @@ static void test_timers_no_wnd(void)
win_skip("SetCoalescableTimer not available.\n");
/* Check what happens when we're running out of timers */
- for (i=0; i<sizeof(ids)/sizeof(ids[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(ids); i++)
{
SetLastError(0xdeadbeef);
ids[i] = SetTimer(NULL, 0, USER_TIMER_MAXIMUM, tfunc);
if (!ids[i]) break;
}
- ok(i != sizeof(ids)/sizeof(ids[0]), "all timers were created successfully\n");
+ ok(i != ARRAY_SIZE(ids), "all timers were created successfully\n");
ok(GetLastError()==ERROR_NO_MORE_USER_HANDLES || broken(GetLastError()==0xdeadbeef),
"GetLastError() = %d\n", GetLastError());
while (i > 0) KillTimer(NULL, ids[--i]);
@@ -10113,7 +10113,7 @@ static void test_winevents(void)
ok_sequence(WmEmptySeq, "empty notify winevents", FALSE);
}
- for (i = 0; i < sizeof(WmWinEventsSeq)/sizeof(WmWinEventsSeq[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(WmWinEventsSeq); i++)
pNotifyWinEvent(events[i].message, hwnd, events[i].wParam, events[i].lParam);
ok_sequence(WmWinEventsSeq, "notify winevents", FALSE);
@@ -12797,7 +12797,7 @@ static void test_ShowWindow(void)
ok(EqualRect(&win_rc, &wp.rcNormalPosition), "expected %s got %s\n", wine_dbgstr_rect(&win_rc),
wine_dbgstr_rect(&wp.rcNormalPosition));
- for (i = 0; i < sizeof(sw)/sizeof(sw[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(sw); i++)
{
static const char * const sw_cmd_name[13] =
{
@@ -14660,20 +14660,20 @@ static void test_defwinproc(void)
flush_events();
buffA[0] = 0;
- GetWindowTextA(hwnd, buffA, sizeof(buffA)/sizeof(*buffA));
+ GetWindowTextA(hwnd, buffA, ARRAY_SIZE(buffA));
ok(!strcmp(buffA, "test_defwndproc"), "unexpected window text, %s\n", buffA);
/* Zero high word of the lParam */
res = DefWindowProcA(hwnd, WM_SETTEXT, 0, 0x1234);
ok(res == 0, "WM_SETTEXT was expected to fail, %ld\n", res);
- GetWindowTextA(hwnd, buffA, sizeof(buffA)/sizeof(*buffA));
+ GetWindowTextA(hwnd, buffA, ARRAY_SIZE(buffA));
ok(!strcmp(buffA, "test_defwndproc"), "unexpected window text, %s\n", buffA);
res = DefWindowProcW(hwnd, WM_SETTEXT, 0, 0x1234);
ok(res == 0, "WM_SETTEXT was expected to fail, %ld\n", res);
- GetWindowTextA(hwnd, buffA, sizeof(buffA)/sizeof(*buffA));
+ GetWindowTextA(hwnd, buffA, ARRAY_SIZE(buffA));
ok(!strcmp(buffA, "test_defwndproc"), "unexpected window text, %s\n", buffA);
GetCursorPos(&pos);
@@ -14933,7 +14933,7 @@ static void test_PostMessage(void)
PostMessageA(hwnd, WM_USER+1, 0x1234, 0x5678);
PostMessageA(0, WM_USER+2, 0x5678, 0x1234);
- for (i = 0; i < sizeof(data)/sizeof(data[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(data); i++)
{
memset(&msg, 0xab, sizeof(msg));
ret = PeekMessageA(&msg, data[i].hwnd, 0, 0, PM_NOREMOVE);
@@ -14991,7 +14991,7 @@ static void test_broadcast(void)
oldproc = (WNDPROC)SetWindowLongPtrA(hwnd, GWLP_WNDPROC, (LONG_PTR)broadcast_test_proc);
SetWindowLongPtrA(hwnd, GWLP_USERDATA, (LONG_PTR)oldproc);
- for (i = 0; i < sizeof(messages)/sizeof(messages[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(messages); i++)
{
BOOL ret;
MSG msg;
@@ -15321,7 +15321,7 @@ static void test_WaitForInputIdle( char *argv0 )
thread = CreateThread( NULL, 0, wait_idle_thread, NULL, 0, &id );
- for (i = 0; i < sizeof(wait_idle_expect)/sizeof(wait_idle_expect[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(wait_idle_expect); i++)
{
ResetEvent( start_event );
ResetEvent( end_event );
diff --git a/dlls/user32/tests/resource.c b/dlls/user32/tests/resource.c
index 2388adb64f..5d4c4e2f96 100644
--- a/dlls/user32/tests/resource.c
+++ b/dlls/user32/tests/resource.c
@@ -50,7 +50,7 @@ static void test_LoadStringW(void)
win_skip( "LoadStringW does not return a pointer to the resource\n" );
return;
}
- length2 = LoadStringW(hInst, 2, returnedstringw, sizeof(returnedstringw) /sizeof(WCHAR)); /* get resource string */
+ length2 = LoadStringW(hInst, 2, returnedstringw, ARRAY_SIZE(returnedstringw)); /* get resource string */
ok(length2 > 0, "LoadStringW failed to load resource 2, ret %d, err %d\n", length2, GetLastError());
ok(length1 == length2, "LoadStringW returned different values dependent on buflen. ret1 %d, ret2 %d\n",
length1, length2);
@@ -93,7 +93,7 @@ static void test_LoadStringA (void)
int ret, ret2;
assert (sizeof str < sizeof buf);
- for (i = 0; i < sizeof tests / sizeof tests[0]; i++) {
+ for (i = 0; i < ARRAY_SIZE(tests); i++) {
const unsigned int bufsiz = tests[i].bufsiz;
const unsigned int expected = tests[i].expected;
const int len = LoadStringA (hInst, 0, buf, bufsiz);
diff --git a/dlls/user32/tests/scroll.c b/dlls/user32/tests/scroll.c
index 0bda5dd0f4..291d11af0f 100644
--- a/dlls/user32/tests/scroll.c
+++ b/dlls/user32/tests/scroll.c
@@ -514,7 +514,7 @@ static void scrollbar_test_init(void)
wc.lpfnWndProc = scroll_init_proc;
RegisterClassExA(&wc);
- for(i = 0; i < sizeof style / sizeof style[0]; i++)
+ for(i = 0; i < ARRAY_SIZE(style); i++)
{
/* need not to destroy these windows due creation abort */
CreateWindowExA(0, cls_name, NULL, style[i],
diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c
index ce056e9160..3db058f950 100644
--- a/dlls/user32/tests/sysparams.c
+++ b/dlls/user32/tests/sysparams.c
@@ -710,7 +710,7 @@ static void test_SPI_SETMOUSE( void ) /* 4 */
POINT proj_change7[] = { {6, 6}, {14, 6}, {32, 6}, {40, 40}, {44, 40}, {400, 400} };
POINT proj_change8[] = { {6, 6}, {28, 6}, {32, 6}, {40, 40}, {44, 40}, {400, 400} };
- int nchange = sizeof( req_change ) / sizeof( POINT );
+ int nchange = ARRAY_SIZE(req_change);
trace("testing SPI_{GET,SET}MOUSE\n");
SetLastError(0xdeadbeef);
@@ -875,7 +875,7 @@ static void test_SPI_SETKEYBOARDSPEED( void ) /* 10 */
if (!test_error_msg(rc,"SPI_{GET,SET}KEYBOARDSPEED"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
char buf[10];
@@ -964,7 +964,7 @@ static void test_SPI_SETSCREENSAVETIMEOUT( void ) /* 14 */
if (!test_error_msg(rc,"SPI_{GET,SET}SCREENSAVETIMEOUT"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
char buf[10];
@@ -1001,7 +1001,7 @@ static void test_SPI_SETSCREENSAVEACTIVE( void ) /* 17 */
if (!test_error_msg(rc,"SPI_{GET,SET}SCREENSAVEACTIVE"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
@@ -1042,7 +1042,7 @@ static void test_SPI_SETKEYBOARDDELAY( void ) /* 23 */
if (!test_error_msg(rc,"SPI_{GET,SET}KEYBOARDDELAY"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT delay;
char buf[10];
@@ -1143,7 +1143,7 @@ static void test_SPI_SETICONTITLEWRAP( void ) /* 26 */
if (!test_error_msg(rc,"SPI_{GET,SET}ICONTITLEWRAP"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
UINT regval;
@@ -1187,7 +1187,7 @@ static void test_SPI_SETMENUDROPALIGNMENT( void ) /* 28 */
if (!test_error_msg(rc,"SPI_{GET,SET}MENUDROPALIGNMENT"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
@@ -1223,7 +1223,7 @@ static void test_SPI_SETDOUBLECLKWIDTH( void ) /* 29 */
trace("testing SPI_{GET,SET}DOUBLECLKWIDTH\n");
old_width = GetSystemMetrics( SM_CXDOUBLECLK );
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
char buf[10];
@@ -1257,7 +1257,7 @@ static void test_SPI_SETDOUBLECLKHEIGHT( void ) /* 30 */
trace("testing SPI_{GET,SET}DOUBLECLKHEIGHT\n");
old_height = GetSystemMetrics( SM_CYDOUBLECLK );
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
char buf[10];
@@ -1347,7 +1347,7 @@ static void test_SPI_SETMOUSEBUTTONSWAP( void ) /* 33 */
trace("testing SPI_{GET,SET}MOUSEBUTTONSWAP\n");
old_b = GetSystemMetrics( SM_SWAPBUTTON );
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
SetLastError(0xdeadbeef);
rc=SystemParametersInfoA( SPI_SETMOUSEBUTTONSWAP, vals[i], 0,
@@ -1402,7 +1402,7 @@ static void test_SPI_SETDRAGFULLWINDOWS( void ) /* 37 */
if (!test_error_msg(rc,"SPI_{GET,SET}DRAGFULLWINDOWS"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
@@ -1925,7 +1925,7 @@ static void test_SPI_SETSHOWSOUNDS( void ) /* 57 */
if (!test_error_msg(rc,"SPI_{GET,SET}SHOWSOUNDS"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
@@ -1962,7 +1962,7 @@ static void test_SPI_SETKEYBOARDPREF( void ) /* 69 */
if (!test_error_msg(rc,"SPI_{GET,SET}KEYBOARDPREF"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
BOOL v;
@@ -1997,7 +1997,7 @@ static void test_SPI_SETSCREENREADER( void ) /* 71 */
if (!test_error_msg(rc,"SPI_{GET,SET}SCREENREADER"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
BOOL v;
@@ -2036,7 +2036,7 @@ static void test_SPI_SETFONTSMOOTHING( void ) /* 75 */
SystemParametersInfoA( SPI_GETFONTSMOOTHINGCONTRAST, 0, &old_contrast, 0 );
SystemParametersInfoA( SPI_GETFONTSMOOTHINGORIENTATION, 0, &old_orient, 0 );
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
@@ -2113,7 +2113,7 @@ static void test_SPI_SETLOWPOWERACTIVE( void ) /* 85 */
if (!test_error_msg(rc,"SPI_{GET,SET}LOWPOWERACTIVE"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
@@ -2151,7 +2151,7 @@ static void test_SPI_SETPOWEROFFACTIVE( void ) /* 86 */
if (!test_error_msg(rc,"SPI_{GET,SET}POWEROFFACTIVE"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
@@ -2189,7 +2189,7 @@ static void test_SPI_SETSNAPTODEFBUTTON( void ) /* 95 */
if (!test_error_msg(rc,"SPI_GETSNAPTODEFBUTTON"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
@@ -2224,7 +2224,7 @@ static void test_SPI_SETMOUSEHOVERWIDTH( void ) /* 99 */
if (!test_error_msg(rc,"SPI_{GET,SET}MOUSEHOVERWIDTH"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
char buf[10];
@@ -2261,7 +2261,7 @@ static void test_SPI_SETMOUSEHOVERHEIGHT( void ) /* 101 */
if (!test_error_msg(rc,"SPI_{GET,SET}MOUSEHOVERHEIGHT"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
char buf[10];
@@ -2302,7 +2302,7 @@ static void test_SPI_SETMOUSEHOVERTIME( void ) /* 103 */
if (!test_error_msg(rc,"SPI_{GET,SET}MOUSEHOVERTIME"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
char buf[10];
@@ -2341,7 +2341,7 @@ static void test_SPI_SETWHEELSCROLLLINES( void ) /* 105 */
if (!test_error_msg(rc,"SPI_{GET,SET}WHEELSCROLLLINES"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
char buf[10];
@@ -2380,7 +2380,7 @@ static void test_SPI_SETMENUSHOWDELAY( void ) /* 107 */
if (!test_error_msg(rc,"SPI_{GET,SET}MENUSHOWDELAY"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
char buf[10];
@@ -2419,7 +2419,7 @@ static void test_SPI_SETWHEELSCROLLCHARS( void ) /* 108 */
if (!test_error_msg(rc,"SPI_{GET,SET}WHEELSCROLLCHARS"))
return;
- for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
+ for (i=0;i<ARRAY_SIZE(vals);i++)
{
UINT v;
char buf[10];
@@ -2489,7 +2489,7 @@ static void test_WM_DISPLAYCHANGE(void)
displaychange_sem = CreateSemaphoreW(NULL, 0, 1, NULL);
- for(i = 0; i < sizeof(test_bpps)/sizeof(test_bpps[0]); i++) {
+ for(i = 0; i < ARRAY_SIZE(test_bpps); i++) {
last_bpp = -1;
memset(&mode, 0, sizeof(mode));
diff --git a/dlls/user32/tests/text.c b/dlls/user32/tests/text.c
index c5bcd50716..359721fcd9 100644
--- a/dlls/user32/tests/text.c
+++ b/dlls/user32/tests/text.c
@@ -765,7 +765,7 @@ static void test_CharToOem_OemToChar(void)
char oem;
WCHAR uni, expect;
- for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); i++)
{
const char *expected = tests[i].ret ? helloWorld : "";
const char *src = tests[i].src ? helloWorld : NULL;
@@ -792,7 +792,7 @@ static void test_CharToOem_OemToChar(void)
ok(!strcmp(buf, expected), "test %d: got '%s'\n", i, buf);
}
- for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); i++)
{
const char *expected = tests[i].ret ? helloWorld : "";
const WCHAR *src = tests[i].src ? helloWorldW : NULL;
@@ -804,12 +804,12 @@ static void test_CharToOem_OemToChar(void)
ok(!strcmp(buf, expected), "test %d: got '%s'\n", i, buf);
memset(buf, 0, sizeof(buf));
- ret = CharToOemBuffW(src, dst, sizeof(helloWorldW)/sizeof(WCHAR));
+ ret = CharToOemBuffW(src, dst, ARRAY_SIZE(helloWorldW));
ok(ret == tests[i].ret, "test %d: expected %d, got %d\n", i, tests[i].ret, ret);
ok(!strcmp(buf, expected), "test %d: got '%s'\n", i, buf);
}
- for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); i++)
{
const WCHAR *expected = tests[i].ret ? helloWorldW : emptyW;
const char *src = tests[i].src ? helloWorld : NULL;
diff --git a/dlls/user32/tests/uitools.c b/dlls/user32/tests/uitools.c
index b52fe3a03a..07cf776a95 100644
--- a/dlls/user32/tests/uitools.c
+++ b/dlls/user32/tests/uitools.c
@@ -175,7 +175,7 @@ static void test_IsRectEmpty(void)
{{-109, -107, -103, -101}, FALSE},
};
- for (i = 0; i < sizeof(rtest)/sizeof(rtest[0]); i++) {
+ for (i = 0; i < ARRAY_SIZE(rtest); i++) {
ret = IsRectEmpty(&rtest[i].rect);
ok(ret == rtest[i].ret, "Test %d: IsRectEmpty returned %s for %s\n", i,
ret ? "TRUE" : "FALSE", wine_dbgstr_rect(&rtest[i].rect));
diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c
index 1f10d66dcd..d7f8843c98 100644
--- a/dlls/user32/tests/win.c
+++ b/dlls/user32/tests/win.c
@@ -2158,7 +2158,7 @@ static void test_mdi(void)
client_cs.hWindowMenu = 0;
client_cs.idFirstChild = 1;
- for (i = 0; i < sizeof(style)/sizeof(style[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(style); i++)
{
SCROLLINFO si;
BOOL ret, gotit;
@@ -6390,7 +6390,7 @@ static void test_set_window_style(void)
cls.lpszClassName = "TestSetWindowStylesClass";
ok(RegisterClassA(&cls), "RegisterClass failed\n");
- for (i = 0; i < sizeof(tests) / sizeof(*tests); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); i++)
{
expected_style = tests[i].style;
if (tests[i].creation_style & WS_MINIMIZE)
@@ -6857,7 +6857,7 @@ static void test_gettext(void)
num_gettext_msgs = 0;
memset( bufW, 0xcc, sizeof(bufW) );
g_wm_gettext_override.buffW = bufW;
- buf_len = GetWindowTextW( hwnd2, bufW, sizeof(bufW)/sizeof(WCHAR) );
+ buf_len = GetWindowTextW( hwnd2, bufW, ARRAY_SIZE(bufW));
ok( buf_len == 0, "got %d\n", buf_len );
ok( *bufW == 0, "got %x\n", *bufW );
ok( num_gettext_msgs == 1, "got %u WM_GETTEXT messages\n", num_gettext_msgs );
@@ -6955,7 +6955,7 @@ static void test_gettext(void)
memset( bufW, 0x1c, sizeof(bufW) );
g_wm_gettext_override.dont_terminate = TRUE;
- buf_len = GetWindowTextW( hwnd, bufW, sizeof(bufW)/sizeof(bufW[0]) );
+ buf_len = GetWindowTextW( hwnd, bufW, ARRAY_SIZE(bufW));
ok( buf_len == 4, "Unexpected text length, %d\n", buf_len );
ok( !memcmp(bufW, textW, 4 * sizeof(WCHAR)), "Unexpected window text, %s\n", wine_dbgstr_w(bufW) );
ok( bufW[4] == 0, "Unexpected buffer contents, %#x\n", bufW[4] );
@@ -6974,7 +6974,7 @@ static void test_gettext(void)
memset( bufW, 0x1c, sizeof(bufW) );
g_wm_gettext_override.dont_terminate = TRUE;
- buf_len = GetWindowTextW( hwnd2, bufW, sizeof(bufW)/sizeof(bufW[0]) );
+ buf_len = GetWindowTextW( hwnd2, bufW, ARRAY_SIZE(bufW));
ok( buf_len == 4, "Unexpected text length, %d\n", buf_len );
ok( !memcmp(bufW, textW, 4 * sizeof(WCHAR)), "Unexpected window text, %s\n", wine_dbgstr_w(bufW) );
ok( bufW[4] == 0x1c1c, "Unexpected buffer contents, %#x\n", bufW[4] );
@@ -7399,7 +7399,7 @@ static void test_hwnd_message(void)
if (parent) ok( !IsWindowVisible( parent ), "HWND_MESSAGE parent is visible\n" );
/* GetWindowLong */
- for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); i++)
{
SetLastError( 0xdeadbeef );
result = GetWindowLongPtrW( parent, tests[i].offset );
@@ -7679,14 +7679,14 @@ static void test_fullscreen(void)
cls.lpszClassName = "fullscreen_class";
RegisterClassA(&cls);
- for (i = 0; i < sizeof(t_style)/sizeof(t_style[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(t_style); i++)
{
DWORD style, ex_style;
/* avoid a WM interaction */
assert(!(t_style[i] & WS_VISIBLE));
- for (j = 0; j < sizeof(t_ex_style)/sizeof(t_ex_style[0]); j++)
+ for (j = 0; j < ARRAY_SIZE(t_ex_style); j++)
{
int fixup;
@@ -8430,7 +8430,7 @@ static void create_window_tree(HWND parent, HWND *window, int size)
memset(window, 0, size * sizeof(window[0]));
pos = 0;
- for (i = 0; i < sizeof(style)/sizeof(style[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(style); i++)
{
assert(pos < size);
window[pos] = CreateWindowExA(0, "my_window", NULL, style[i] | WS_CHILD,
@@ -8577,7 +8577,7 @@ static void test_child_window_from_point(void)
ok(parent != 0, "CreateWindowEx failed\n");
trace("parent %p\n", parent);
- create_window_tree(parent, window, sizeof(window)/sizeof(window[0]));
+ create_window_tree(parent, window, ARRAY_SIZE(window));
found_invisible = 0;
found_disabled = 0;
@@ -8586,14 +8586,14 @@ static void test_child_window_from_point(void)
found_extransparent = 0;
/* FIXME: also test WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx */
- for (i = 0; i < sizeof(real_child_pos)/sizeof(real_child_pos[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(real_child_pos); i++)
{
struct window_attributes attrs;
pt.x = pt.y = 50;
hwnd = RealChildWindowFromPoint(parent, pt);
ok(hwnd != 0, "RealChildWindowFromPoint failed\n");
- ret = window_to_index(hwnd, window, sizeof(window)/sizeof(window[0]));
+ ret = window_to_index(hwnd, window, ARRAY_SIZE(window));
/* FIXME: remove once Wine is fixed */
todo_wine_if (ret != real_child_pos[i])
ok(ret == real_child_pos[i], "expected %d, got %d\n", real_child_pos[i], ret);
@@ -9782,7 +9782,7 @@ static void test_LockWindowUpdate(HWND parent)
UpdateWindow(parent);
flush_events(TRUE);
- for (i = 0; i < sizeof(tests) / sizeof(tests[0]); ++i)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
HDC hdc;
POINT p = {10, 10};
@@ -10047,7 +10047,7 @@ static void test_desktop( void )
DWORD_PTR result;
int i;
- for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); i++)
{
SetLastError( 0xdeadbeef );
result = GetWindowLongPtrW( desktop, tests[i].offset );
@@ -10143,7 +10143,7 @@ static void test_topmost(void)
ok(!is_topmost(hwnd), "hwnd %p topmost state is wrong\n", hwnd);
ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10183,7 +10183,7 @@ todo_wine
ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10197,7 +10197,7 @@ todo_wine
ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10218,7 +10218,7 @@ if (!is_wine) /* FIXME: remove once Wine is fixed */
ok(!is_topmost(hwnd2), "hwnd %p topmost state is wrong\n", hwnd2);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
hwnd_child2 = create_tool_window(WS_VISIBLE|WS_POPUP, hwnd);
ok(hwnd_child2 != 0, "Failed to create popup window (%d)\n", GetLastError());
@@ -10268,7 +10268,7 @@ todo_wine
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10292,7 +10292,7 @@ todo_wine
ok(!is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10316,7 +10316,7 @@ todo_wine
ok(!is_topmost(hwnd_grandchild), "hwnd %p topmost state is wrong\n", hwnd_grandchild);
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_child, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10350,7 +10350,7 @@ todo_wine
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_child, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10373,7 +10373,7 @@ todo_wine
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
check_z_order(hwnd_child, hwnd_child2, 0, hwnd, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_grandchild, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10394,7 +10394,7 @@ if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, 0, hwnd_child2, hwnd, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_child, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10418,7 +10418,7 @@ if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, 0, hwnd2, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, 0, hwnd_child2, hwnd, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
swp_after(hwnd_child, HWND_TOPMOST);
ok(!is_topmost(owner), "hwnd %p topmost state is wrong\n", owner);
@@ -10442,7 +10442,7 @@ if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd, hwnd2, 0, owner, FALSE);
if (!is_wine) /* FIXME: remove once Wine is fixed */
check_z_order(hwnd_child, 0, hwnd_child2, hwnd, FALSE);
- reset_window_state(state, sizeof(state)/sizeof(state[0]));
+ reset_window_state(state, ARRAY_SIZE(state));
DestroyWindow(hwnd_grandchild);
DestroyWindow(hwnd_child);
diff --git a/dlls/user32/tests/wsprintf.c b/dlls/user32/tests/wsprintf.c
index f0e80b2ad6..f79b6306a7 100644
--- a/dlls/user32/tests/wsprintf.c
+++ b/dlls/user32/tests/wsprintf.c
@@ -66,7 +66,7 @@ static void wsprintfATest(void)
win_skip( "I64 formats not supported\n" );
return;
}
- for (i = 0; i < sizeof(i64_formats)/sizeof(i64_formats[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(i64_formats); i++)
{
rc = wsprintfA(buf, i64_formats[i].fmt, i64_formats[i].value);
ok(rc == strlen(i64_formats[i].res), "%u: wsprintfA length failure: rc=%d\n", i, rc);
@@ -98,10 +98,10 @@ static void wsprintfWTest(void)
win_skip( "I64 formats not supported\n" );
return;
}
- for (i = 0; i < sizeof(i64_formats)/sizeof(i64_formats[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(i64_formats); i++)
{
- MultiByteToWideChar( CP_ACP, 0, i64_formats[i].fmt, -1, fmt, sizeof(fmt)/sizeof(WCHAR) );
- MultiByteToWideChar( CP_ACP, 0, i64_formats[i].res, -1, res, sizeof(res)/sizeof(WCHAR) );
+ MultiByteToWideChar( CP_ACP, 0, i64_formats[i].fmt, -1, fmt, ARRAY_SIZE(fmt));
+ MultiByteToWideChar( CP_ACP, 0, i64_formats[i].res, -1, res, ARRAY_SIZE(res));
rc = wsprintfW(buf, fmt, i64_formats[i].value);
ok(rc == lstrlenW(res), "%u: wsprintfW length failure: rc=%d\n", i, rc);
ok(!lstrcmpW(buf, res), "%u: wrong result [%s]\n", i, wine_dbgstr_w(buf));
--
2.14.4
June 28, 2018
[PATCH] user32/tests: Avoid ARRAY_SIZE-like macros
by Michael Stefaniuc
Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org>
---
dlls/user32/tests/monitor.c | 3 +--
dlls/user32/tests/win.c | 15 ++++++---------
2 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/dlls/user32/tests/monitor.c b/dlls/user32/tests/monitor.c
index dfdca49e79..4d7b020e14 100644
--- a/dlls/user32/tests/monitor.c
+++ b/dlls/user32/tests/monitor.c
@@ -150,7 +150,6 @@ static const struct vid_mode vid_modes_test[] = {
{0, 0, 0, 0, DM_DISPLAYFREQUENCY, 0}
*/
};
-#define vid_modes_cnt (sizeof(vid_modes_test) / sizeof(vid_modes_test[0]))
static void test_ChangeDisplaySettingsEx(void)
{
@@ -237,7 +236,7 @@ static void test_ChangeDisplaySettingsEx(void)
memset(&dm, 0, sizeof(dm));
dm.dmSize = sizeof(dm);
- for (i = 0; i < vid_modes_cnt; i++)
+ for (i = 0; i < ARRAY_SIZE(vid_modes_test); i++)
{
dm.dmPelsWidth = vid_modes_test[i].w;
dm.dmPelsHeight = vid_modes_test[i].h;
diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c
index ac706aa4bf..1f10d66dcd 100644
--- a/dlls/user32/tests/win.c
+++ b/dlls/user32/tests/win.c
@@ -84,8 +84,6 @@ static const char* szAWRClass = "Winsize";
static HMENU hmenu;
static DWORD our_pid;
-#define COUNTOF(arr) (sizeof(arr)/sizeof(arr[0]))
-
static void dump_minmax_info( const MINMAXINFO *minmax )
{
trace("Reserved=%d,%d MaxSize=%d,%d MaxPos=%d,%d MinTrack=%d,%d MaxTrack=%d,%d\n",
@@ -5289,9 +5287,9 @@ static void test_AWR_window_size(BOOL menu)
/* A exhaustive check of all the styles takes too long
* so just do a (hopefully representative) sample
*/
- for (i = 0; i < COUNTOF(styles); ++i)
+ for (i = 0; i < ARRAY_SIZE(styles); ++i)
test_AWRwindow(szAWRClass, styles[i], 0, menu);
- for (i = 0; i < COUNTOF(exStyles); ++i) {
+ for (i = 0; i < ARRAY_SIZE(exStyles); ++i) {
test_AWRwindow(szAWRClass, WS_POPUP, exStyles[i], menu);
test_AWRwindow(szAWRClass, WS_THICKFRAME, exStyles[i], menu);
}
@@ -5306,13 +5304,13 @@ static void test_AWR_flags(void)
DWORD i, j, k, style, exstyle;
RECT rect, rect2;
- for (i = 0; i < (1 << COUNTOF(styles)); i++)
+ for (i = 0; i < (1 << ARRAY_SIZE(styles)); i++)
{
- for (k = style = 0; k < COUNTOF(styles); k++) if (i & (1 << k)) style |= styles[k];
+ for (k = style = 0; k < ARRAY_SIZE(styles); k++) if (i & (1 << k)) style |= styles[k];
- for (j = 0; j < (1 << COUNTOF(exStyles)); j++)
+ for (j = 0; j < (1 << ARRAY_SIZE(exStyles)); j++)
{
- for (k = exstyle = 0; k < COUNTOF(exStyles); k++) if (j & (1 << k)) exstyle |= exStyles[k];
+ for (k = exstyle = 0; k < ARRAY_SIZE(exStyles); k++) if (j & (1 << k)) exstyle |= exStyles[k];
SetRect( &rect, 100, 100, 200, 200 );
rect2 = rect;
AdjustWindowRectEx( &rect, style, FALSE, exstyle );
@@ -5329,7 +5327,6 @@ static void test_AWR_flags(void)
}
}
}
-#undef COUNTOF
#define SHOWSYSMETRIC(SM) trace(#SM "=%d\n", GetSystemMetrics(SM))
--
2.14.4
June 28, 2018
Re: [PATCH v2 1/4] explorer: Add a private message to notify the graphics driver when activity occurs.
by Zebediah Figura
On 27/06/18 19:43, Alexandre Julliard wrote:
> Zebediah Figura <zfigura(a)codeweavers.com> writes:
>
>> @@ -661,6 +665,11 @@ static LRESULT WINAPI desktop_wnd_proc( HWND hwnd, UINT message, WPARAM wp, LPAR
>> }
>> return 0;
>>
>> + case WM_WINE_NOTIFY_ACTIVITY:
>> + if (wine_notify_activity)
>> + wine_notify_activity();
>> + return 0;
>> +
>> default:
>> return DefWindowProcW( hwnd, message, wp, lp );
>> }
>
> I think it would be cleaner to have the drivers wrap the desktop winproc
> so that we don't need to define new driver functions. The Android driver
> already does this.
>
Thanks; I'll look into this.
June 28, 2018
[PATCH] hnetcfg: Store the long path in INetFwAuthorizedApplication_put_ProcessImageFileName().
by Zebediah Figura
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/hnetcfg/apps.c | 14 ++++++++++++--
dlls/hnetcfg/tests/policy.c | 1 +
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/hnetcfg/apps.c b/dlls/hnetcfg/apps.c
index 69eabd6..21e1007 100644
--- a/dlls/hnetcfg/apps.c
+++ b/dlls/hnetcfg/apps.c
@@ -268,9 +268,9 @@ static HRESULT WINAPI fw_app_put_ProcessImageFileName(
{
fw_app *This = impl_from_INetFwAuthorizedApplication( iface );
UNIVERSAL_NAME_INFOW *info;
+ DWORD sz, longsz;
WCHAR *path;
DWORD res;
- DWORD sz;
FIXME("%p, %s\n", This, debugstr_w(image));
@@ -298,9 +298,19 @@ static HRESULT WINAPI fw_app_put_ProcessImageFileName(
sz = GetFullPathNameW(image, 0, NULL, NULL);
if (!(path = heap_alloc(++sz * sizeof(WCHAR))))
return E_OUTOFMEMORY;
-
GetFullPathNameW(image, sz, path, NULL);
+ longsz = GetLongPathNameW(path, path, sz);
+ if (longsz > sz)
+ {
+ if (!(path = heap_realloc(path, longsz * sizeof(WCHAR))))
+ {
+ heap_free(path);
+ return E_OUTOFMEMORY;
+ }
+ GetLongPathNameW(path, path, longsz);
+ }
+
SysFreeString( This->filename );
This->filename = SysAllocString(path);
heap_free(path);
diff --git a/dlls/hnetcfg/tests/policy.c b/dlls/hnetcfg/tests/policy.c
index 389be16..4e90ceb 100644
--- a/dlls/hnetcfg/tests/policy.c
+++ b/dlls/hnetcfg/tests/policy.c
@@ -140,6 +140,7 @@ static void test_NetFwAuthorizedApplication(void)
SysFreeString(bstr);
GetFullPathNameW(image, ARRAY_SIZE(fullpath), fullpath, NULL);
+ GetLongPathNameW(fullpath, fullpath, ARRAY_SIZE(fullpath));
info = (UNIVERSAL_NAME_INFOW *)&netpath;
sz = sizeof(netpath);
--
2.7.4
June 28, 2018
[PATCH] gdi32: Add DECLSPEC_HOTPATCH to GetDIBits
by Alex Henrie
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
Fixes https://bugs.winehq.org/show_bug.cgi?id=45346
Although this patch fixes the bug in question, Zeb and I would like to
know: Since all exported Windows API functions support hotpatching,[1]
why do we add __attribute__((__ms_hook_prologue__)) attribute to
functions ad hoc instead of making it part of the definitions of
__stdcall and __cdecl in windef.h?
[1] https://blogs.msdn.microsoft.com/oldnewthing/20110921-00/?p=9583
---
dlls/gdi32/dib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/gdi32/dib.c b/dlls/gdi32/dib.c
index c7dcdb122c..1312bf0533 100644
--- a/dlls/gdi32/dib.c
+++ b/dlls/gdi32/dib.c
@@ -1208,7 +1208,7 @@ BITMAPINFO *copy_packed_dib( const BITMAPINFO *src_info, UINT usage )
* Success: Number of scan lines copied from bitmap
* Failure: 0
*/
-INT WINAPI GetDIBits(
+INT WINAPI DECLSPEC_HOTPATCH GetDIBits(
HDC hdc, /* [in] Handle to device context */
HBITMAP hbitmap, /* [in] Handle to bitmap */
UINT startscan, /* [in] First scan line to set in dest bitmap */
--
2.18.0
June 28, 2018
[PATCH] configure: Allow building bcrypt with GnuTLS support on macOS.
by Hans Leidekker
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
---
configure.ac | 1 -
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 9c38cfb376..d10acde146 100644
--- a/configure.ac
+++ b/configure.ac
@@ -789,7 +789,6 @@ case $host_os in
LIBS="$LIBS $SECURITY_LIBS"
AC_CHECK_FUNCS(SSLCopyPeerCertificates)
LIBS="$ac_save_LIBS"
- with_gnutls=${with_gnutls:-no}
fi
if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
then
--
2.11.0
June 28, 2018
Seeking for future maintainer of Tea CI
by Qian Hong
Dear folks,
(Long time no see, hey!)
I know many Wine contributors are in WineConf, some of you might even
be missing me <grin>, so it's the perfect time to raise this topic :)
And I know new Wine contributors join the community every year, so I
should introduce a bit about myself ^_^
I'm Qian Hong, a former Wine contributor since 2012. In 2016, I move
my focus from upstream Wine to Tea CI https://tea-ci.org
Tea CI is a *C*ontinuous *I*ntegration platform which supports
building both Linux application and Windows application, it's the only
platform which supports building Windows application without depending
on any Windows License because of the utilizing of Wine. For people
who aren't familiar with fashion words like CI, think about it like
our Wine TestBot, which builds and tests software automatically.
Here are some examples of how people use Tea CI:
https://tea-ci.org/mamedev/mame
https://tea-ci.org/concurrencykit/ck
https://tea-ci.org/Alexpux/MINGW-packages
There are currently 200 registered users of Tea CI, while only a few
of them are active.
I (co)founded Tea CI as a non-profit project for some ambitious goals,
which I'm shy to tell anymore because it doesn't work out. I admit it
is not very successful, it wasn't updated for more than one year,
Msys2/MinGW packages are outdated, Wine compatibility issues are
remaining unfixed, Web UI is not friendly enough, documentation is not
complete, the future is unclear, etc... However, I do appreciate lots
of people who helped Tea CI in many different ways, including but not
limited to Wine/Wine Staging developers, Cygwin/Msys2/GDB developers,
Drone CI developers, Mozilla RR developer, Arch developer, and many
many more.
I was considering shutting down Tea CI because lacking maintenance and
other reasons, however, I received positive feedback from some users:
>>>
XXX (A startup) is happy to cover your server costs as a sponsor. If
it is 98 EUR per month we can cover full cost. Would that help towards
keeping it active?
<<<
>>>
it is very convenient to do windows builds and I would use it
more if it were updated and taken care of. I do have (and had) a few
projects that could use it, some of them were commercial.
<<<
>>>
I think this is one of a few projects providing windows builds
without actual windows server. This alone makes it worth the while.
<<<
>>>
I would be willing to support the project financially (though not the
full amount), if someone would be maintaining and improving it (perhaps
under your supervision?).
<<<
>>>
It's been a solid platform, and even though we only build 'tiny'
builds on a single platform, and not most of the components, we've
done it for practically every commit these last 18 months.
It will be a shame to lose it, and I'm not sure what out-of-the-box
solution would replace it for Msys2/MinGW.
<<<
>>>
We are currently using Tea CI in a major project, ConcurrencyKit. CK
is a very UNIX oriented library, so Tea CI made things very easy.
<<<
To be fair, I should also share negative feedback like:
>>>
I last used TeaCI for about a year starting ~2 years ago, using it
once to twice a week. ultimately, various bugs from ancient Cygwin
versions led me move most of my infrastructure to MSVC and use
AppVeyor. I appreciate all the money and hard work you have put in,
but ultimately, I have no issue if TeaCI shuts down.
<<<
As one might see, it could be a pity if no one maintains Tea CI.
However, due to personal reasons, I'm not able to spend enough time
and energy to improve Tea CI, that's why I am hoping to transfer the
owner of Tea CI. The most challenging part of Tea CI is keeping Wine
compatible with Cygwin/Msys2, which requires experienced Wine
development skills, and most people who have the skill are subscribing
to this list :)
I know looking for future maintainers of Tea CI is much harder than
looking for a job, people who have the skill are likely to have no
time. However, I am still very keen to ask: by any chance, would
anyone be interested in taking a look, or at least raise a discussion
during/after WineConf?
If anyone is interested in a follow up of the discussion, I'm glad to
answer any questions about Tea CI.
Looking forward to hearing from you!
--
Regards,
Qian Hong
June 28, 2018
[PATCH 2/2] inetcpl.cpl: Add partial support for writing DefaultConnectionSettings registry setting
by Piotr Caban
IE 10+ saves connection information in this key. .NET 4.6.2 is using the
key to read proxy settings.
Signed-off-by: Piotr Caban <piotr(a)codeweavers.com>
---
dlls/inetcpl.cpl/connections.c | 83
+++++++++++++++++++++++++++++++++++++++++-
1 file changed, 81 insertions(+), 2 deletions(-)
June 28, 2018
[PATCH 1/2] inetcpl.cpl: Add proxy server settings dialog
by Piotr Caban
Signed-off-by: Piotr Caban <piotr(a)codeweavers.com>
---
dlls/inetcpl.cpl/Makefile.in | 1 +
dlls/inetcpl.cpl/connections.c | 178
+++++++++++++++++++++++++++++++++++++++++
dlls/inetcpl.cpl/inetcpl.c | 6 ++
dlls/inetcpl.cpl/inetcpl.h | 6 ++
dlls/inetcpl.cpl/inetcpl.rc | 14 ++++
5 files changed, 205 insertions(+)
create mode 100644 dlls/inetcpl.cpl/connections.c
June 28, 2018
Re: [PATCH] iphlpapi: Cast caddr_t to char* before doing pointer arithmetic
by Simon Richter
Hi,
On Thu, Jun 28, 2018 at 01:54:45PM +0200, Alex Henrie wrote:
> - while (ifPtr && ifPtr < ifc->ifc_buf + ifc->ifc_len) {
> + while (ifPtr && (char *)ifPtr < ifc->ifc_buf + ifc->ifc_len) {
Quick question: what if ifc->ifc_len == 1 ?
In this case, can I read the length field of the record, or would that
bring me out of bounds here?
Simon
June 28, 2018
Re: Bug #45385 related to keyboard and probably wineserver - where to start the search
by Kai Krakow
2018-06-28 12:39 GMT+02:00 Matteo Bruni <matteo.mystral(a)gmail.com>:
> 2018-06-28 9:05 GMT+02:00 Kai Krakow <kai(a)kaishome.de>:
>> Hello again!
>>
>> 2018-06-28 8:56 GMT+02:00 Kai Krakow <kai(a)kaishome.de>:
>>> Hello!
>>>
>>> 2018-06-27 21:14 GMT+02:00 Alex Henrie <alexhenrie24(a)gmail.com>:
>>>> On Wed, Jun 27, 2018 at 11:24 AM John Found <johnfound(a)asm32.info> wrote:
>>>>>
>>>>> While reading the code in wineX11.drv/keyboard.c I noticed the following fragment from the function X11DRV_KeymapNotify:
>>>>>
>>>>> for (vkey = VK_LSHIFT; vkey <= VK_RMENU; vkey++)
>>>>> {
>>>>> int m = vkey - VK_LSHIFT;
>>>>> >>> if (modifiers[m].vkey && !(keystate[vkey] & 0x80) != !modifiers[m].pressed)
>>>>> {
>>>>> TRACE( "Adjusting state for vkey %#.2x. State before %#.2x\n",
>>>>> modifiers[m].vkey, keystate[vkey]);
>>>>>
>>>>> update_key_state( keystate, vkey, modifiers[m].pressed );
>>>>> changed = TRUE;
>>>>> }
>>>>> }
>>>>>
>>>>> Can someone explain what the condition pointed by >>> is doing? (Unfortunately, my C skills are pretty low...)
>>>>>
>>>>> Why not simply "(modifiers[m].vkey && (keystate[vkey] & 0x80) != modifiers[m].pressed)"?
>>>>
>>>> I don't immediately know what this if statement is for, but I can tell
>>>> you that the ! operator converts a value of zero to 1 and a nonzero
>>>> value to 0. So, if keystate[vkey] & 0x80 is 0 then
>>>> modifiers[m].pressed must be nonzero and vice versa.
>>>
>>> I always was under the impression that the bang operator does a binary
>>> inversion of the value. Thus, it would convert 0x7F to 0x80. This also
>>> means it would convert 0x00 (signed) to 0xFF (signed) which turns 0
>>> into -1, not 1.
>>>
>>> But however it works, this code is not working in any obvious way and
>>> should maybe be rewritten.
>>>
>>> Just my two cents.
>>
>> I just looked it up, the bang operator seems to be a logical (not
>> binary) operator in C99:
>> https://stackoverflow.com/questions/3661751/what-is-0-in-c
>>
>> According to this, I question how the code above is supposed to work
>> in the first place because "!modifiers[m].pressed" would always be 0
>> or 1, and it is compared to 0 or 0x80.
>
> No, it's compared to 0 or 1 (there is a ! on the left hand side of the == too)
Oh *facepalm*, you're right. I didn't notice the opening and closing
parentheses in the correct position.
>> This is exploiting implicit
>> behavior which is almost always a bad thing to do if you need to
>> understand code later.
>
> It's pretty clear and explicit I'd say.
Maybe but still not very visible...
But this should answer the OPs question why it is done in this way.
Thanks for clarification,
Kai
June 28, 2018
[PATCH] iphlpapi: Cast caddr_t to char* before doing pointer arithmetic
by Alex Henrie
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
Fixes https://bugs.winehq.org/show_bug.cgi?id=18164
dlls/iphlpapi/ifenum.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/iphlpapi/ifenum.c b/dlls/iphlpapi/ifenum.c
index eed1be15d1..c3abdf0e53 100644
--- a/dlls/iphlpapi/ifenum.c
+++ b/dlls/iphlpapi/ifenum.c
@@ -1013,13 +1013,13 @@ static DWORD enumIPAddresses(PDWORD pcAddresses, struct ifconf *ifc)
if (ioctlRet == 0) {
ifPtr = ifc->ifc_buf;
- while (ifPtr && ifPtr < ifc->ifc_buf + ifc->ifc_len) {
+ while (ifPtr && (char *)ifPtr < ifc->ifc_buf + ifc->ifc_len) {
struct ifreq *ifr = (struct ifreq *)ifPtr;
if (ifr->ifr_addr.sa_family == AF_INET)
numAddresses++;
- ifPtr += ifreq_len((struct ifreq *)ifPtr);
+ ifPtr = (char *)ifPtr + ifreq_len((struct ifreq *)ifPtr);
}
}
else
@@ -1074,10 +1074,10 @@ DWORD getIPAddrTable(PMIB_IPADDRTABLE *ppIpAddrTable, HANDLE heap, DWORD flags)
ret = NO_ERROR;
(*ppIpAddrTable)->dwNumEntries = numAddresses;
ifPtr = ifc.ifc_buf;
- while (!ret && ifPtr && ifPtr < ifc.ifc_buf + ifc.ifc_len) {
+ while (!ret && ifPtr && (char *)ifPtr < ifc.ifc_buf + ifc.ifc_len) {
struct ifreq *ifr = (struct ifreq *)ifPtr;
- ifPtr += ifreq_len(ifr);
+ ifPtr = (char *)ifPtr + ifreq_len(ifr);
if (ifr->ifr_addr.sa_family != AF_INET)
continue;
--
2.18.0
June 28, 2018
Re: [PATCH 6/6] user32: For an owner-drawn listbox without strings WM_MEASUREITEM still needs correct itemData.
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39445
Your paranoid android.
=== wvistau64_zh_CN (32 bit msg) ===
msg.c:5180: Test failed: ShowWindow(SW_RESTORE):overlapped: 18: the msg sequence is not complete: expected 0000 - actual 0088
June 28, 2018
Re: [PATCH 4/6] user32: Fix order of items passed in WM_COMPAREITEM data.
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39443
Your paranoid android.
=== wvistau64_zh_CN (32 bit msg) ===
msg.c:5180: Test failed: ShowWindow(SW_RESTORE):overlapped: 18: the msg sequence is not complete: expected 0000 - actual 0088
June 28, 2018
Re: [PATCH 2/6] user32/tests: Add a message test for an owner-drawn sorted listbox.
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39441
Your paranoid android.
=== wvistau64_zh_CN (32 bit msg) ===
msg.c:5182: Test failed: ShowWindow(SW_RESTORE):overlapped: 18: the msg sequence is not complete: expected 0000 - actual 0088
June 28, 2018
Re: [PATCH 1/6] user32/tests: Add a test for WM_MEASUREITEM when inserting an item to an owner-drawn listbox.
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39440
Your paranoid android.
=== wvistau64_zh_CN (32 bit msg) ===
msg.c:5139: Test failed: ShowWindow(SW_RESTORE):overlapped: 18: the msg sequence is not complete: expected 0000 - actual 0088
June 28, 2018
[PATCH 6/6] user32: For an owner-drawn listbox without strings WM_MEASUREITEM still needs correct itemData.
by Dmitry Timoshkov
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/user32/listbox.c | 2 +-
dlls/user32/tests/msg.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c
index 9caccf6097..af8ee40311 100644
--- a/dlls/user32/listbox.c
+++ b/dlls/user32/listbox.c
@@ -1554,7 +1554,7 @@ static LRESULT LISTBOX_InsertItem( LB_DESCR *descr, INT index,
mis.CtlType = ODT_LISTBOX;
mis.CtlID = id;
mis.itemID = index;
- mis.itemData = data;
+ mis.itemData = str ? (ULONG_PTR)str : data;
mis.itemHeight = descr->item_height;
SendMessageW( descr->owner, WM_MEASUREITEM, id, (LPARAM)&mis );
item->height = mis.itemHeight ? mis.itemHeight : 1;
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index da017667e0..052b9b9aae 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -14387,7 +14387,7 @@ static void test_listbox_messages(void)
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 2");
ok(ret == 2, "expected 2, got %ld\n", ret);
- ok_sequence(wm_lb_addstring_sort_ownerdraw, "LB_ADDSTRING", TRUE);
+ ok_sequence(wm_lb_addstring_sort_ownerdraw, "LB_ADDSTRING", FALSE);
check_lb_state(listbox, 3, LB_ERR, 0, 0);
log_all_parent_messages--;
--
2.16.3
June 28, 2018
[PATCH 5/6] user32: Fix the listbox sorting algorithm.
by Dmitry Timoshkov
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/user32/listbox.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c
index 490033902c..9caccf6097 100644
--- a/dlls/user32/listbox.c
+++ b/dlls/user32/listbox.c
@@ -828,10 +828,11 @@ static INT LISTBOX_FindStringPos( LB_DESCR *descr, LPCWSTR str, BOOL exact )
{
INT index, min, max, res;
- if (!(descr->style & LBS_SORT)) return -1; /* Add it at the end */
+ if (!descr->nb_items || !(descr->style & LBS_SORT)) return -1; /* Add it at the end */
+
min = 0;
- max = descr->nb_items;
- while (min != max)
+ max = descr->nb_items - 1;
+ while (min <= max)
{
index = (min + max) / 2;
if (HAS_STRINGS(descr))
@@ -854,10 +855,10 @@ static INT LISTBOX_FindStringPos( LB_DESCR *descr, LPCWSTR str, BOOL exact )
res = SendMessageW( descr->owner, WM_COMPAREITEM, id, (LPARAM)&cis );
}
if (!res) return index;
- if (res > 0) max = index;
+ if (res > 0) max = index - 1;
else min = index + 1;
}
- return exact ? -1 : max;
+ return exact ? -1 : min;
}
--
2.16.3
June 28, 2018
[PATCH 4/6] user32: Fix order of items passed in WM_COMPAREITEM data.
by Dmitry Timoshkov
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/user32/listbox.c | 12 ++++++------
dlls/user32/tests/msg.c | 4 ----
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c
index 8df67634d3..490033902c 100644
--- a/dlls/user32/listbox.c
+++ b/dlls/user32/listbox.c
@@ -835,7 +835,7 @@ static INT LISTBOX_FindStringPos( LB_DESCR *descr, LPCWSTR str, BOOL exact )
{
index = (min + max) / 2;
if (HAS_STRINGS(descr))
- res = LISTBOX_lstrcmpiW( descr->locale, str, descr->items[index].str);
+ res = LISTBOX_lstrcmpiW( descr->locale, descr->items[index].str, str );
else
{
COMPAREITEMSTRUCT cis;
@@ -846,15 +846,15 @@ static INT LISTBOX_FindStringPos( LB_DESCR *descr, LPCWSTR str, BOOL exact )
cis.hwndItem = descr->self;
/* note that some application (MetaStock) expects the second item
* to be in the listbox */
- cis.itemID1 = -1;
- cis.itemData1 = (ULONG_PTR)str;
- cis.itemID2 = index;
- cis.itemData2 = descr->items[index].data;
+ cis.itemID1 = index;
+ cis.itemData1 = descr->items[index].data;
+ cis.itemID2 = -1;
+ cis.itemData2 = (ULONG_PTR)str;
cis.dwLocaleId = descr->locale;
res = SendMessageW( descr->owner, WM_COMPAREITEM, id, (LPARAM)&cis );
}
if (!res) return index;
- if (res < 0) max = index;
+ if (res > 0) max = index;
else min = index + 1;
}
return exact ? -1 : max;
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index 5a5d5ed5fe..da017667e0 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -2276,9 +2276,7 @@ static void add_message_(int line, const struct recvd_message *msg)
ok(msg->wParam == cis->CtlID, "expected %#x, got %#lx\n", cis->CtlID, msg->wParam);
ok(cis->hwndItem == ctrl, "expected %p, got %p\n", ctrl, cis->hwndItem);
-todo_wine
ok((int)cis->itemID1 >= 0, "expected >= 0, got %d\n", cis->itemID1);
-todo_wine
ok((int)cis->itemID2 == -1, "expected -1, got %d\n", cis->itemID2);
sprintf( seq->output, "%s: %p WM_COMPAREITEM: CtlType %#x, CtlID %#x, itemID1 %#x, itemData1 %#lx, itemID2 %#x, itemData2 %#lx",
@@ -14385,10 +14383,8 @@ static void test_listbox_messages(void)
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 0");
ok(ret == 0, "expected 0, got %ld\n", ret);
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 1");
-todo_wine
ok(ret == 1, "expected 1, got %ld\n", ret);
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 2");
-todo_wine
ok(ret == 2, "expected 2, got %ld\n", ret);
ok_sequence(wm_lb_addstring_sort_ownerdraw, "LB_ADDSTRING", TRUE);
--
2.16.3
June 28, 2018
[PATCH 3/6] user32/tests: Add some message tests for not an owner-drawn listbox.
by Dmitry Timoshkov
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/user32/tests/msg.c | 69 +++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 64 insertions(+), 5 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index 0df9687ae2..5a5d5ed5fe 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -14193,6 +14193,13 @@ static const struct message wm_lb_deletestring_reset[] =
{ 0 }
};
static const struct message wm_lb_addstring[] =
+{
+ { LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ef },
+ { LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ed },
+ { LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ee },
+ { 0 }
+};
+static const struct message wm_lb_addstring_ownerdraw[] =
{
{ LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ed },
{ WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf0f2, 0xf30604ed },
@@ -14202,7 +14209,7 @@ static const struct message wm_lb_addstring[] =
{ WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf2f2, 0xf30604ef },
{ 0 }
};
-static const struct message wm_lb_addstring_sort[] =
+static const struct message wm_lb_addstring_sort_ownerdraw[] =
{
{ LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ed },
{ WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf0f2, 0xf30604ed },
@@ -14290,6 +14297,8 @@ static void test_listbox_messages(void)
flush_sequence();
+ log_all_parent_messages++;
+
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 0");
ok(ret == 0, "expected 0, got %ld\n", ret);
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 1");
@@ -14297,13 +14306,11 @@ static void test_listbox_messages(void)
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 2");
ok(ret == 2, "expected 2, got %ld\n", ret);
- ok_sequence(wm_lb_addstring, "LB_ADDSTRING", FALSE);
+ ok_sequence(wm_lb_addstring_ownerdraw, "LB_ADDSTRING", FALSE);
check_lb_state(listbox, 3, LB_ERR, 0, 0);
flush_sequence();
- log_all_parent_messages++;
-
trace("selecting item 0\n");
ret = SendMessageA(listbox, LB_SETCURSEL, 0, 0);
ok(ret == 0, "expected 0, got %ld\n", ret);
@@ -14384,7 +14391,59 @@ todo_wine
todo_wine
ok(ret == 2, "expected 2, got %ld\n", ret);
- ok_sequence(wm_lb_addstring_sort, "LB_ADDSTRING", TRUE);
+ ok_sequence(wm_lb_addstring_sort_ownerdraw, "LB_ADDSTRING", TRUE);
+ check_lb_state(listbox, 3, LB_ERR, 0, 0);
+
+ log_all_parent_messages--;
+
+ DestroyWindow(listbox);
+
+ /* with LBS_HASSTRINGS */
+ listbox = CreateWindowExA(WS_EX_NOPARENTNOTIFY, "ListBox", NULL,
+ WS_CHILD | LBS_NOTIFY | LBS_HASSTRINGS | WS_VISIBLE,
+ 10, 10, 80, 80, parent, (HMENU)ID_LISTBOX, 0, NULL);
+ listbox_orig_proc = (WNDPROC)SetWindowLongPtrA(listbox, GWLP_WNDPROC, (ULONG_PTR)listbox_hook_proc);
+
+ check_lb_state(listbox, 0, LB_ERR, 0, 0);
+
+ flush_sequence();
+
+ log_all_parent_messages++;
+
+ ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 2");
+ ok(ret == 0, "expected 0, got %ld\n", ret);
+ ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 0");
+ ok(ret == 1, "expected 1, got %ld\n", ret);
+ ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 1");
+ ok(ret == 2, "expected 2, got %ld\n", ret);
+
+ ok_sequence(wm_lb_addstring, "LB_ADDSTRING", FALSE);
+ check_lb_state(listbox, 3, LB_ERR, 0, 0);
+
+ log_all_parent_messages--;
+
+ DestroyWindow(listbox);
+
+ /* with LBS_HASSTRINGS and LBS_SORT */
+ listbox = CreateWindowExA(WS_EX_NOPARENTNOTIFY, "ListBox", NULL,
+ WS_CHILD | LBS_NOTIFY | LBS_HASSTRINGS | LBS_SORT | WS_VISIBLE,
+ 10, 10, 80, 80, parent, (HMENU)ID_LISTBOX, 0, NULL);
+ listbox_orig_proc = (WNDPROC)SetWindowLongPtrA(listbox, GWLP_WNDPROC, (ULONG_PTR)listbox_hook_proc);
+
+ check_lb_state(listbox, 0, LB_ERR, 0, 0);
+
+ flush_sequence();
+
+ log_all_parent_messages++;
+
+ ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 2");
+ ok(ret == 0, "expected 0, got %ld\n", ret);
+ ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 0");
+ ok(ret == 0, "expected 0, got %ld\n", ret);
+ ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 1");
+ ok(ret == 1, "expected 1, got %ld\n", ret);
+
+ ok_sequence(wm_lb_addstring, "LB_ADDSTRING", FALSE);
check_lb_state(listbox, 3, LB_ERR, 0, 0);
log_all_parent_messages--;
--
2.16.3
June 28, 2018
[PATCH 2/6] user32/tests: Add a message test for an owner-drawn sorted listbox.
by Dmitry Timoshkov
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/user32/tests/msg.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 88 insertions(+), 3 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index 1c3b639aa0..0df9687ae2 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -2243,18 +2243,61 @@ static void add_message_(int line, const struct recvd_message *msg)
{
MEASURE_ITEM_STRUCT mi;
MEASUREITEMSTRUCT *mis = (MEASUREITEMSTRUCT *)msg->lParam;
+ BOOL is_unicode_data = TRUE;
sprintf( seq->output, "%s: %p WM_MEASUREITEM: CtlType %#x, CtlID %#x, itemID %#x, itemData %#lx",
msg->descr, msg->hwnd, mis->CtlType, mis->CtlID,
mis->itemID, mis->itemData);
+ if (mis->CtlType == ODT_LISTBOX)
+ {
+ HWND ctrl = GetDlgItem(msg->hwnd, mis->CtlID);
+ is_unicode_data = GetWindowLongA(ctrl, GWL_STYLE) & LBS_HASSTRINGS;
+ }
+
mi.u.wp = 0;
mi.u.item.CtlType = mis->CtlType;
mi.u.item.CtlID = mis->CtlID;
mi.u.item.itemID = mis->itemID;
mi.u.item.wParam = msg->wParam;
seq->wParam = mi.u.wp;
- seq->lParam = mis->itemData ? hash_Ly_W((const WCHAR *)mis->itemData) : 0;
+ if (is_unicode_data)
+ seq->lParam = mis->itemData ? hash_Ly_W((const WCHAR *)mis->itemData) : 0;
+ else
+ seq->lParam = mis->itemData ? hash_Ly((const char *)mis->itemData) : 0;
+ break;
+ }
+
+ case WM_COMPAREITEM:
+ {
+ COMPAREITEMSTRUCT *cis = (COMPAREITEMSTRUCT *)msg->lParam;
+ HWND ctrl = GetDlgItem(msg->hwnd, cis->CtlID);
+ BOOL is_unicode_data = TRUE;
+
+ ok(msg->wParam == cis->CtlID, "expected %#x, got %#lx\n", cis->CtlID, msg->wParam);
+ ok(cis->hwndItem == ctrl, "expected %p, got %p\n", ctrl, cis->hwndItem);
+todo_wine
+ ok((int)cis->itemID1 >= 0, "expected >= 0, got %d\n", cis->itemID1);
+todo_wine
+ ok((int)cis->itemID2 == -1, "expected -1, got %d\n", cis->itemID2);
+
+ sprintf( seq->output, "%s: %p WM_COMPAREITEM: CtlType %#x, CtlID %#x, itemID1 %#x, itemData1 %#lx, itemID2 %#x, itemData2 %#lx",
+ msg->descr, msg->hwnd, cis->CtlType, cis->CtlID,
+ cis->itemID1, cis->itemData1, cis->itemID2, cis->itemData2);
+
+ if (cis->CtlType == ODT_LISTBOX)
+ is_unicode_data = GetWindowLongA(ctrl, GWL_STYLE) & LBS_HASSTRINGS;
+
+ if (is_unicode_data)
+ {
+ seq->wParam = cis->itemData1 ? hash_Ly_W((const WCHAR *)cis->itemData1) : 0;
+ seq->lParam = cis->itemData2 ? hash_Ly_W((const WCHAR *)cis->itemData2) : 0;
+ }
+ else
+ {
+ seq->wParam = cis->itemData1 ? hash_Ly((const char *)cis->itemData1) : 0;
+ seq->lParam = cis->itemData2 ? hash_Ly((const char *)cis->itemData2) : 0;
+ }
break;
}
@@ -9044,7 +9087,7 @@ static LRESULT WINAPI ParentMsgCheckProcA(HWND hwnd, UINT message, WPARAM wParam
message == WM_PARENTNOTIFY || message == WM_CANCELMODE ||
message == WM_SETFOCUS || message == WM_KILLFOCUS ||
message == WM_ENABLE || message == WM_ENTERIDLE ||
- message == WM_DRAWITEM || message == WM_MEASUREITEM ||
+ message == WM_DRAWITEM || message == WM_MEASUREITEM || message == WM_COMPAREITEM ||
message == WM_COMMAND || message == WM_IME_SETCONTEXT)
{
switch (message)
@@ -9092,7 +9135,7 @@ static LRESULT WINAPI ParentMsgCheckProcA(HWND hwnd, UINT message, WPARAM wParam
ret = DefWindowProcA(hwnd, message, wParam, lParam);
defwndproc_counter--;
- return ret;
+ return message == WM_COMPAREITEM ? -1 : ret;
}
static INT_PTR CALLBACK StopQuitMsgCheckProcA(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
@@ -14159,6 +14202,19 @@ static const struct message wm_lb_addstring[] =
{ WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf2f2, 0xf30604ef },
{ 0 }
};
+static const struct message wm_lb_addstring_sort[] =
+{
+ { LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ed },
+ { WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf0f2, 0xf30604ed },
+ { LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ee },
+ { WM_COMPAREITEM, sent|wparam|lparam|parent, 0xf30604ed, 0xf30604ee },
+ { WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf1f2, 0xf30604ee },
+ { LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ef },
+ { WM_COMPAREITEM, sent|wparam|lparam|parent, 0xf30604ed, 0xf30604ef },
+ { WM_COMPAREITEM, sent|wparam|lparam|parent, 0xf30604ee, 0xf30604ef },
+ { WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf2f2, 0xf30604ef },
+ { 0 }
+};
#define check_lb_state(a1, a2, a3, a4, a5) check_lb_state_dbg(a1, a2, a3, a4, a5, __LINE__)
@@ -14224,6 +14280,7 @@ static void test_listbox_messages(void)
parent = CreateWindowExA(0, "TestParentClass", NULL, WS_OVERLAPPEDWINDOW | WS_VISIBLE,
100, 100, 200, 200, 0, 0, 0, NULL);
+ /* with LBS_HASSTRINGS */
listbox = CreateWindowExA(WS_EX_NOPARENTNOTIFY, "ListBox", NULL,
WS_CHILD | LBS_NOTIFY | LBS_OWNERDRAWVARIABLE | LBS_HASSTRINGS | WS_VISIBLE,
10, 10, 80, 80, parent, (HMENU)ID_LISTBOX, 0, NULL);
@@ -14304,6 +14361,34 @@ static void test_listbox_messages(void)
log_all_parent_messages--;
+ DestroyWindow(listbox);
+
+ /* with LBS_SORT and without LBS_HASSTRINGS */
+ listbox = CreateWindowExA(WS_EX_NOPARENTNOTIFY, "ListBox", NULL,
+ WS_CHILD | LBS_NOTIFY | LBS_OWNERDRAWVARIABLE | LBS_SORT | WS_VISIBLE,
+ 10, 10, 80, 80, parent, (HMENU)ID_LISTBOX, 0, NULL);
+ listbox_orig_proc = (WNDPROC)SetWindowLongPtrA(listbox, GWLP_WNDPROC, (ULONG_PTR)listbox_hook_proc);
+
+ check_lb_state(listbox, 0, LB_ERR, 0, 0);
+
+ flush_sequence();
+
+ log_all_parent_messages++;
+
+ ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 0");
+ ok(ret == 0, "expected 0, got %ld\n", ret);
+ ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 1");
+todo_wine
+ ok(ret == 1, "expected 1, got %ld\n", ret);
+ ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 2");
+todo_wine
+ ok(ret == 2, "expected 2, got %ld\n", ret);
+
+ ok_sequence(wm_lb_addstring_sort, "LB_ADDSTRING", TRUE);
+ check_lb_state(listbox, 3, LB_ERR, 0, 0);
+
+ log_all_parent_messages--;
+
DestroyWindow(listbox);
DestroyWindow(parent);
}
--
2.16.3
June 28, 2018
[PATCH 1/6] user32/tests: Add a test for WM_MEASUREITEM when inserting an item to an owner-drawn listbox.
by Dmitry Timoshkov
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/user32/tests/msg.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 75 insertions(+), 4 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index a0f2cbeef0..1c3b639aa0 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -3,7 +3,7 @@
*
* Copyright 1999 Ove Kaaven
* Copyright 2003 Dimitrie O. Paun
- * Copyright 2004, 2005 Dmitry Timoshkov
+ * Copyright 2004,2005,2016 Dmitry Timoshkov
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -98,6 +98,22 @@ typedef struct
} u;
} DRAW_ITEM_STRUCT;
+/* encoded MEASUREITEMSTRUCT into a WPARAM */
+typedef struct
+{
+ union
+ {
+ struct
+ {
+ UINT CtlType : 4;
+ UINT CtlID : 4;
+ UINT itemID : 4;
+ UINT wParam : 20;
+ } item;
+ WPARAM wp;
+ } u;
+} MEASURE_ITEM_STRUCT;
+
static BOOL test_DestroyWindow_flag;
static HWINEVENTHOOK hEvent_hook;
static HHOOK hKBD_hook;
@@ -2099,6 +2115,25 @@ static BOOL ignore_message( UINT message )
message == WM_DWMNCRENDERINGCHANGED);
}
+static unsigned hash_Ly_W(const WCHAR *str)
+{
+ unsigned hash = 0;
+
+ for (; *str; str++)
+ hash = hash * 1664525u + (unsigned char)(*str) + 1013904223u;
+
+ return hash;
+}
+
+static unsigned hash_Ly(const char *str)
+{
+ unsigned hash = 0;
+
+ for (; *str; str++)
+ hash = hash * 1664525u + (unsigned char)(*str) + 1013904223u;
+
+ return hash;
+}
#define add_message(msg) add_message_(__LINE__,msg);
static void add_message_(int line, const struct recvd_message *msg)
@@ -2203,6 +2238,26 @@ static void add_message_(int line, const struct recvd_message *msg)
seq->lParam = di.u.lp;
break;
}
+
+ case WM_MEASUREITEM:
+ {
+ MEASURE_ITEM_STRUCT mi;
+ MEASUREITEMSTRUCT *mis = (MEASUREITEMSTRUCT *)msg->lParam;
+
+ sprintf( seq->output, "%s: %p WM_MEASUREITEM: CtlType %#x, CtlID %#x, itemID %#x, itemData %#lx",
+ msg->descr, msg->hwnd, mis->CtlType, mis->CtlID,
+ mis->itemID, mis->itemData);
+
+ mi.u.wp = 0;
+ mi.u.item.CtlType = mis->CtlType;
+ mi.u.item.CtlID = mis->CtlID;
+ mi.u.item.itemID = mis->itemID;
+ mi.u.item.wParam = msg->wParam;
+ seq->wParam = mi.u.wp;
+ seq->lParam = mis->itemData ? hash_Ly_W((const WCHAR *)mis->itemData) : 0;
+ break;
+ }
+
default:
if (msg->message >= 0xc000) return; /* ignore registered messages */
sprintf( seq->output, "%s: %p %04x wp %08lx lp %08lx",
@@ -8989,8 +9044,8 @@ static LRESULT WINAPI ParentMsgCheckProcA(HWND hwnd, UINT message, WPARAM wParam
message == WM_PARENTNOTIFY || message == WM_CANCELMODE ||
message == WM_SETFOCUS || message == WM_KILLFOCUS ||
message == WM_ENABLE || message == WM_ENTERIDLE ||
- message == WM_DRAWITEM || message == WM_COMMAND ||
- message == WM_IME_SETCONTEXT)
+ message == WM_DRAWITEM || message == WM_MEASUREITEM ||
+ message == WM_COMMAND || message == WM_IME_SETCONTEXT)
{
switch (message)
{
@@ -14094,6 +14149,16 @@ static const struct message wm_lb_deletestring_reset[] =
{ WM_DRAWITEM, sent|wparam|parent|optional, ID_LISTBOX },
{ 0 }
};
+static const struct message wm_lb_addstring[] =
+{
+ { LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ed },
+ { WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf0f2, 0xf30604ed },
+ { LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ee },
+ { WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf1f2, 0xf30604ee },
+ { LB_ADDSTRING, sent|wparam|lparam, 0, 0xf30604ef },
+ { WM_MEASUREITEM, sent|wparam|lparam|parent, 0xf2f2, 0xf30604ef },
+ { 0 }
+};
#define check_lb_state(a1, a2, a3, a4, a5) check_lb_state_dbg(a1, a2, a3, a4, a5, __LINE__)
@@ -14119,7 +14184,10 @@ static LRESULT WINAPI listbox_hook_proc(HWND hwnd, UINT message, WPARAM wp, LPAR
msg.flags = sent|wparam|lparam;
if (defwndproc_counter) msg.flags |= defwinproc;
msg.wParam = wp;
- msg.lParam = lp;
+ if (message == LB_ADDSTRING)
+ msg.lParam = lp ? hash_Ly((const char *)lp) : 0;
+ else
+ msg.lParam = lp;
msg.descr = "listbox";
add_message(&msg);
}
@@ -14163,6 +14231,8 @@ static void test_listbox_messages(void)
check_lb_state(listbox, 0, LB_ERR, 0, 0);
+ flush_sequence();
+
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 0");
ok(ret == 0, "expected 0, got %ld\n", ret);
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 1");
@@ -14170,6 +14240,7 @@ static void test_listbox_messages(void)
ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 2");
ok(ret == 2, "expected 2, got %ld\n", ret);
+ ok_sequence(wm_lb_addstring, "LB_ADDSTRING", FALSE);
check_lb_state(listbox, 3, LB_ERR, 0, 0);
flush_sequence();
--
2.16.3
June 28, 2018
Re: [PATCH 1/2] msctf/tests: Set requestedExecutionLevel to asInvoker to prevent virtualization.
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39437
Your paranoid android.
=== w8adm (32 bit inputprocessor) ===
inputprocessor.c:983: Test failed: Unable to register text service(80004005)
inputprocessor.c:986: Test failed: Unable to add Language Profile (80004005)
inputprocessor.c:1048: Test failed: ITfCategoryMgr_RegisterCategory failed
inputprocessor.c:1050: Test failed: ITfCategoryMgr_RegisterCategory failed
inputprocessor.c:1041: Test failed: Registered text service not found
inputprocessor.c:1013: Test failed: Did not find registered text service
inputprocessor.c:1371: Test failed: Failed to Activate text service
inputprocessor.c:1799: Test failed: ITfCategoryMgr_IsEqualTfGuidAtom failed
inputprocessor.c:1800: Test failed: Equal value invalid
inputprocessor.c:1826: Test failed: Id for CLSID_FakeService not matching tid
inputprocessor.c:1327: Test failed: ITfKeystrokeMgr_AdviseKeyEventSink failed
inputprocessor.c:1328: Test failed: KeyEventSink_OnSetFocus not fired as expected, in state 1
inputprocessor.c:1330: Test failed: Wrong return, expected CONNECT_E_ADVISELIMIT
inputprocessor.c:1338: Test failed: ITfKeystrokeMgr_PreserveKey failed
inputprocessor.c:1341: Test failed: ITfKeystrokeMgr_PreserveKey improperly succeeded
inputprocessor.c:1345: Test failed: ITfKeystrokeMgr_IsPreservedKey failed
inputprocessor.c:1349: Test failed: ITfKeystrokeMgr_UnpreserveKey failed
inputprocessor.c:1359: Test failed: ITfKeystrokeMgr_UnadviseKeyEventSink failed
inputprocessor.c:544: Test failed: Unexpected ThreadMgrEventSink_OnSetFocus sink
inputprocessor.c:555: Test failed: Sink reports wrong previous focus
inputprocessor.c:1070: Test failed: Wrong GUID
inputprocessor.c:1078: Test failed: Wrong GUID
inputprocessor.c:1057: Test failed: ITfCategoryMgr_UnregisterCategory failed
inputprocessor.c:1059: Test failed: ITfCategoryMgr_UnregisterCategory failed
inputprocessor.c:993: Test failed: Unable to unregister text service(80004005)
June 28, 2018
Re: Bug #45385 related to keyboard and probably wineserver - where to start the search
by Matteo Bruni
2018-06-28 9:05 GMT+02:00 Kai Krakow <kai(a)kaishome.de>:
> Hello again!
>
> 2018-06-28 8:56 GMT+02:00 Kai Krakow <kai(a)kaishome.de>:
>> Hello!
>>
>> 2018-06-27 21:14 GMT+02:00 Alex Henrie <alexhenrie24(a)gmail.com>:
>>> On Wed, Jun 27, 2018 at 11:24 AM John Found <johnfound(a)asm32.info> wrote:
>>>>
>>>> While reading the code in wineX11.drv/keyboard.c I noticed the following fragment from the function X11DRV_KeymapNotify:
>>>>
>>>> for (vkey = VK_LSHIFT; vkey <= VK_RMENU; vkey++)
>>>> {
>>>> int m = vkey - VK_LSHIFT;
>>>> >>> if (modifiers[m].vkey && !(keystate[vkey] & 0x80) != !modifiers[m].pressed)
>>>> {
>>>> TRACE( "Adjusting state for vkey %#.2x. State before %#.2x\n",
>>>> modifiers[m].vkey, keystate[vkey]);
>>>>
>>>> update_key_state( keystate, vkey, modifiers[m].pressed );
>>>> changed = TRUE;
>>>> }
>>>> }
>>>>
>>>> Can someone explain what the condition pointed by >>> is doing? (Unfortunately, my C skills are pretty low...)
>>>>
>>>> Why not simply "(modifiers[m].vkey && (keystate[vkey] & 0x80) != modifiers[m].pressed)"?
>>>
>>> I don't immediately know what this if statement is for, but I can tell
>>> you that the ! operator converts a value of zero to 1 and a nonzero
>>> value to 0. So, if keystate[vkey] & 0x80 is 0 then
>>> modifiers[m].pressed must be nonzero and vice versa.
>>
>> I always was under the impression that the bang operator does a binary
>> inversion of the value. Thus, it would convert 0x7F to 0x80. This also
>> means it would convert 0x00 (signed) to 0xFF (signed) which turns 0
>> into -1, not 1.
>>
>> But however it works, this code is not working in any obvious way and
>> should maybe be rewritten.
>>
>> Just my two cents.
>
> I just looked it up, the bang operator seems to be a logical (not
> binary) operator in C99:
> https://stackoverflow.com/questions/3661751/what-is-0-in-c
>
> According to this, I question how the code above is supposed to work
> in the first place because "!modifiers[m].pressed" would always be 0
> or 1, and it is compared to 0 or 0x80.
No, it's compared to 0 or 1 (there is a ! on the left hand side of the == too)
> This is exploiting implicit
> behavior which is almost always a bad thing to do if you need to
> understand code later.
It's pretty clear and explicit I'd say.
June 28, 2018
[PATCH 2/2] msctf/tests: Skip tests if limited.
by Zebediah Figura
Fixes https://bugs.winehq.org/show_bug.cgi?id=39238
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/msctf/tests/Makefile.in | 2 +-
dlls/msctf/tests/inputprocessor.c | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/dlls/msctf/tests/Makefile.in b/dlls/msctf/tests/Makefile.in
index 2cb119a..4f699af 100644
--- a/dlls/msctf/tests/Makefile.in
+++ b/dlls/msctf/tests/Makefile.in
@@ -1,5 +1,5 @@
TESTDLL = msctf.dll
-IMPORTS = ole32 user32
+IMPORTS = ole32 user32 advapi32
C_SRCS = \
inputprocessor.c
diff --git a/dlls/msctf/tests/inputprocessor.c b/dlls/msctf/tests/inputprocessor.c
index 4a52432..0d03ce3 100644
--- a/dlls/msctf/tests/inputprocessor.c
+++ b/dlls/msctf/tests/inputprocessor.c
@@ -943,7 +943,18 @@ DEFINE_GUID(GUID_COMPARTMENT_TIPUISTATUS, 0x148ca3ec,0x0366,0x401c,0x8
static HRESULT initialize(void)
{
HRESULT hr;
+ HKEY hkey;
+
CoInitialize(NULL);
+
+ if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\CTF\\TIP", 0,
+ KEY_READ|KEY_WRITE, &hkey) != ERROR_SUCCESS)
+ {
+ skip("Not enough permission to register input processor\n");
+ return E_FAIL;
+ }
+ RegCloseKey(hkey);
+
hr = CoCreateInstance (&CLSID_TF_InputProcessorProfiles, NULL,
CLSCTX_INPROC_SERVER, &IID_ITfInputProcessorProfiles, (void**)&g_ipp);
if (SUCCEEDED(hr))
--
2.7.4
June 28, 2018
[PATCH 1/2] msctf/tests: Set requestedExecutionLevel to asInvoker to prevent virtualization.
by Zebediah Figura
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/msctf/tests/Makefile.in | 3 +++
dlls/msctf/tests/msctf.manifest | 16 ++++++++++++++++
dlls/msctf/tests/msctf.rc | 4 ++++
3 files changed, 23 insertions(+)
create mode 100644 dlls/msctf/tests/msctf.manifest
create mode 100644 dlls/msctf/tests/msctf.rc
diff --git a/dlls/msctf/tests/Makefile.in b/dlls/msctf/tests/Makefile.in
index b3df05c..2cb119a 100644
--- a/dlls/msctf/tests/Makefile.in
+++ b/dlls/msctf/tests/Makefile.in
@@ -3,3 +3,6 @@ IMPORTS = ole32 user32
C_SRCS = \
inputprocessor.c
+
+RC_SRCS = \
+ msctf.rc
diff --git a/dlls/msctf/tests/msctf.manifest b/dlls/msctf/tests/msctf.manifest
new file mode 100644
index 0000000..fc23c29
--- /dev/null
+++ b/dlls/msctf/tests/msctf.manifest
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <assemblyIdentity
+ type="win32"
+ name="Wine.msctf.Test"
+ version="1.0.0.0"
+ processorArchitecture="*"
+ />
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel level="asInvoker" />
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+</assembly>
diff --git a/dlls/msctf/tests/msctf.rc b/dlls/msctf/tests/msctf.rc
new file mode 100644
index 0000000..51b4021
--- /dev/null
+++ b/dlls/msctf/tests/msctf.rc
@@ -0,0 +1,4 @@
+#include "winuser.h"
+
+/* @makedep: msctf.manifest */
+1 RT_MANIFEST msctf.manifest
--
2.7.4
June 28, 2018
[PATCH 2/2] odbccp32/tests: Set requestedExecutionLevel to asInvoker to prevent virtualization.
by Zebediah Figura
Fixes additional test failures observed on my machine.
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/odbccp32/tests/Makefile.in | 3 +++
dlls/odbccp32/tests/odbccp32.manifest | 18 ++++++++++++++++++
dlls/odbccp32/tests/odbccp32.rc | 4 ++++
3 files changed, 25 insertions(+)
create mode 100644 dlls/odbccp32/tests/odbccp32.manifest
create mode 100644 dlls/odbccp32/tests/odbccp32.rc
diff --git a/dlls/odbccp32/tests/Makefile.in b/dlls/odbccp32/tests/Makefile.in
index 912f511..c65292e 100644
--- a/dlls/odbccp32/tests/Makefile.in
+++ b/dlls/odbccp32/tests/Makefile.in
@@ -3,3 +3,6 @@ IMPORTS = odbccp32 advapi32
C_SRCS = \
misc.c
+
+RC_SRCS = \
+ odbccp32.rc
diff --git a/dlls/odbccp32/tests/odbccp32.manifest b/dlls/odbccp32/tests/odbccp32.manifest
new file mode 100644
index 0000000..cd879cc
--- /dev/null
+++ b/dlls/odbccp32/tests/odbccp32.manifest
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <assemblyIdentity
+ type="win32"
+ name="Wine.odbccp32.Test"
+ version="1.0.0.0"
+ processorArchitecture="*"
+ />
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel
+ level="asInvoker"
+ />
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+</assembly>
diff --git a/dlls/odbccp32/tests/odbccp32.rc b/dlls/odbccp32/tests/odbccp32.rc
new file mode 100644
index 0000000..1e953d2
--- /dev/null
+++ b/dlls/odbccp32/tests/odbccp32.rc
@@ -0,0 +1,4 @@
+#include "winuser.h"
+
+/* @makedep: odbccp32.manifest */
+1 RT_MANIFEST odbccp32.manifest
--
2.7.4
June 28, 2018
[PATCH 1/2] odbccp32/tests: Skip SQLGetInstalledDrivers() test if limited.
by Zebediah Figura
Fixes https://bugs.winehq.org/show_bug.cgi?id=45389
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/odbccp32/tests/misc.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/dlls/odbccp32/tests/misc.c b/dlls/odbccp32/tests/misc.c
index c12ff49..8a16a9e 100644
--- a/dlls/odbccp32/tests/misc.c
+++ b/dlls/odbccp32/tests/misc.c
@@ -618,11 +618,19 @@ static void test_SQLGetInstalledDrivers(void)
{
char buffer[1000], *p;
WORD written, len;
+ BOOL ret, sql_ret;
+ DWORD error_code;
int found = 0;
- BOOL ret;
- SQLInstallDriverEx("Wine test\0Driver=test.dll\0\0", NULL, buffer,
- sizeof(buffer), &written, ODBC_INSTALL_COMPLETE, NULL);
+ ret = SQLInstallDriverEx("Wine test\0Driver=test.dll\0\0", NULL, buffer,
+ sizeof(buffer), &written, ODBC_INSTALL_COMPLETE, NULL);
+ ok(ret, "SQLInstallDriverEx failed: %d\n", ret);
+ sql_ret = SQLInstallerErrorW(1, &error_code, NULL, 0, NULL);
+ if (sql_ret && error_code == ODBC_ERROR_WRITING_SYSINFO_FAILED)
+ {
+ skip("not enough privileges\n");
+ return;
+ }
ret = SQLGetInstalledDrivers(NULL, sizeof(buffer), &written);
ok(!ret, "got %d\n", ret);
--
2.7.4
June 28, 2018
[PATCH 2/2] msdmo: DMORegister() returns E_FAIL if unable to access the registry.
by Zebediah Figura
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/msdmo/dmoreg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/msdmo/dmoreg.c b/dlls/msdmo/dmoreg.c
index 2161d40..e4766d7 100644
--- a/dlls/msdmo/dmoreg.c
+++ b/dlls/msdmo/dmoreg.c
@@ -208,7 +208,7 @@ HRESULT WINAPI DMORegister(
ret = RegCreateKeyExW(HKEY_CLASSES_ROOT, szDMORootKey, 0, NULL,
REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hrkey, NULL);
if (ret)
- return HRESULT_FROM_WIN32(ret);
+ return E_FAIL;
/* Create clsidDMO key under MediaObjects */
ret = RegCreateKeyExW(hrkey, GUIDToString(szguid, clsidDMO), 0, NULL,
--
2.7.4
June 28, 2018
[PATCH 1/2] devenum/tests: DMORegister() returns E_FAIL if unable to access the registry.
by Zebediah Figura
Fixes https://bugs.winehq.org/show_bug.cgi?id=45390
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/devenum/tests/devenum.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/devenum/tests/devenum.c b/dlls/devenum/tests/devenum.c
index 6d4ce2d..bc3d105 100644
--- a/dlls/devenum/tests/devenum.c
+++ b/dlls/devenum/tests/devenum.c
@@ -521,7 +521,7 @@ static void test_dmo(void)
ok(hr == E_ACCESSDENIED, "Write failed: %#x\n", hr);
hr = DMORegister(name, &CLSID_TestFilter, &CLSID_AudioRendererCategory, 0, 0, NULL, 0, NULL);
- if (hr != E_ACCESSDENIED)
+ if (hr != E_FAIL)
{
ok(hr == S_OK, "got %#x\n", hr);
--
2.7.4
June 28, 2018
[PATCH vkd3d] tests: Get rid of create_texture().
by Józef Kucia
From: Józef Kucia <jkucia(a)codeweavers.com>
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
tests/d3d12.c | 80 ++++++++++++++++++++++++------------------------
tests/vkd3d_d3d12_test.h | 1 -
2 files changed, 40 insertions(+), 41 deletions(-)
diff --git a/tests/d3d12.c b/tests/d3d12.c
index 217b4368a6b2..6128a402d3a6 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -8552,8 +8552,8 @@ static void test_texture(void)
for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
- texture = create_texture(context.device,
- tests[i].width, tests[i].height, tests[i].format, D3D12_RESOURCE_STATE_COPY_DEST);
+ texture = create_default_texture(context.device,
+ tests[i].width, tests[i].height, tests[i].format, 0, D3D12_RESOURCE_STATE_COPY_DEST);
upload_texture_data(texture, &tests[i].data, 1, queue, command_list);
reset_command_list(command_list, context.allocator);
@@ -8773,8 +8773,8 @@ static void test_gather(void)
cpu_handle = ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(heap);
gpu_handle = ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(heap);
- texture = create_texture(context.device, 4, 4, DXGI_FORMAT_R32G32B32A32_FLOAT,
- D3D12_RESOURCE_STATE_COPY_DEST);
+ texture = create_default_texture(context.device, 4, 4, DXGI_FORMAT_R32G32B32A32_FLOAT,
+ 0, D3D12_RESOURCE_STATE_COPY_DEST);
ID3D12Device_CreateShaderResourceView(context.device, texture, NULL, cpu_handle);
upload_texture_data(texture, &resource_data, 1, queue, command_list);
reset_command_list(command_list, context.allocator);
@@ -9412,8 +9412,8 @@ static void test_descriptor_tables(void)
for (i = 0; i < ARRAY_SIZE(textures); ++i)
{
- textures[i] = create_texture(context.device,
- 1, 1, DXGI_FORMAT_R8G8B8A8_UNORM, D3D12_RESOURCE_STATE_COPY_DEST);
+ textures[i] = create_default_texture(context.device,
+ 1, 1, DXGI_FORMAT_R8G8B8A8_UNORM, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = &texture_data[i];
data.RowPitch = sizeof(texture_data[i]);
data.SlicePitch = data.RowPitch;
@@ -9887,8 +9887,8 @@ static void test_update_descriptor_tables(void)
for (i = 0; i < ARRAY_SIZE(textures); ++i)
{
- textures[i] = create_texture(context.device, 1, 1, DXGI_FORMAT_R32_FLOAT,
- D3D12_RESOURCE_STATE_COPY_DEST);
+ textures[i] = create_default_texture(context.device, 1, 1, DXGI_FORMAT_R32_FLOAT,
+ 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = &texture_data[i];
data.RowPitch = sizeof(texture_data[i]);
data.SlicePitch = data.RowPitch;
@@ -10020,8 +10020,8 @@ static void test_update_descriptor_heap_after_closing_command_list(void)
cpu_heap = create_cpu_descriptor_heap(context.device, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV, 1);
- red_texture = create_texture(context.device, 1, 1, DXGI_FORMAT_R8G8B8A8_UNORM,
- D3D12_RESOURCE_STATE_COPY_DEST);
+ red_texture = create_default_texture(context.device, 1, 1, DXGI_FORMAT_R8G8B8A8_UNORM,
+ 0, D3D12_RESOURCE_STATE_COPY_DEST);
texture_data.pData = red_data;
texture_data.RowPitch = sizeof(*red_data);
texture_data.SlicePitch = texture_data.RowPitch;
@@ -10030,8 +10030,8 @@ static void test_update_descriptor_heap_after_closing_command_list(void)
transition_resource_state(command_list, red_texture,
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE);
- green_texture = create_texture(context.device, 1, 1, DXGI_FORMAT_R8G8B8A8_UNORM,
- D3D12_RESOURCE_STATE_COPY_DEST);
+ green_texture = create_default_texture(context.device, 1, 1, DXGI_FORMAT_R8G8B8A8_UNORM,
+ 0, D3D12_RESOURCE_STATE_COPY_DEST);
texture_data.pData = green_data;
upload_texture_data(green_texture, &texture_data, 1, queue, command_list);
reset_command_list(command_list, context.allocator);
@@ -10425,8 +10425,8 @@ static void test_update_compute_descriptor_tables(void)
transition_resource_state(command_list, input_buffers[4],
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE);
- textures[0] = create_texture(context.device,
- 4, 4, DXGI_FORMAT_R32_UINT, D3D12_RESOURCE_STATE_COPY_DEST);
+ textures[0] = create_default_texture(context.device,
+ 4, 4, DXGI_FORMAT_R32_UINT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
subresource_data.pData = texture0_data;
subresource_data.RowPitch = sizeof(*texture0_data);
subresource_data.SlicePitch = subresource_data.RowPitch;
@@ -10435,8 +10435,8 @@ static void test_update_compute_descriptor_tables(void)
transition_resource_state(command_list, textures[0],
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE);
- textures[1] = create_texture(context.device,
- 4, 4, DXGI_FORMAT_R32_UINT, D3D12_RESOURCE_STATE_COPY_DEST);
+ textures[1] = create_default_texture(context.device,
+ 4, 4, DXGI_FORMAT_R32_UINT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
subresource_data.pData = texture1_data;
subresource_data.RowPitch = sizeof(*texture1_data);
subresource_data.SlicePitch = subresource_data.RowPitch;
@@ -10843,8 +10843,8 @@ static void test_copy_descriptors(void)
/* create SRVs */
cpu_handle = get_cpu_descriptor_handle(&context, cpu_heap, 10);
- t[0] = create_texture(context.device,
- 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, D3D12_RESOURCE_STATE_COPY_DEST);
+ t[0] = create_default_texture(context.device,
+ 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = &t0_data;
data.RowPitch = sizeof(t0_data);
data.SlicePitch = data.RowPitch;
@@ -10853,8 +10853,8 @@ static void test_copy_descriptors(void)
transition_resource_state(command_list, t[0],
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE);
- t[1] = create_texture(context.device,
- 1, 1, DXGI_FORMAT_R32_UINT, D3D12_RESOURCE_STATE_COPY_DEST);
+ t[1] = create_default_texture(context.device,
+ 1, 1, DXGI_FORMAT_R32_UINT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = &t1_data;
data.RowPitch = sizeof(t1_data);
data.SlicePitch = data.RowPitch;
@@ -10863,8 +10863,8 @@ static void test_copy_descriptors(void)
transition_resource_state(command_list, t[1],
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE);
- t[2] = create_texture(context.device,
- 1, 1, DXGI_FORMAT_R32_UINT, D3D12_RESOURCE_STATE_COPY_DEST);
+ t[2] = create_default_texture(context.device,
+ 1, 1, DXGI_FORMAT_R32_UINT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = &t2_data;
data.RowPitch = sizeof(t2_data);
data.SlicePitch = data.RowPitch;
@@ -11231,8 +11231,8 @@ static void test_copy_descriptors_range_sizes(void)
green_handle = get_cpu_descriptor_handle(&context, cpu_heap, 0);
blue_handle = get_cpu_descriptor_handle(&context, cpu_heap, 1);
- green_texture = create_texture(context.device,
- 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, D3D12_RESOURCE_STATE_COPY_DEST);
+ green_texture = create_default_texture(context.device,
+ 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = &green;
data.RowPitch = sizeof(green);
data.SlicePitch = data.RowPitch;
@@ -11242,8 +11242,8 @@ static void test_copy_descriptors_range_sizes(void)
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE);
ID3D12Device_CreateShaderResourceView(device, green_texture, NULL, green_handle);
- blue_texture = create_texture(context.device,
- 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, D3D12_RESOURCE_STATE_COPY_DEST);
+ blue_texture = create_default_texture(context.device,
+ 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = &blue;
data.RowPitch = sizeof(blue);
data.SlicePitch = data.RowPitch;
@@ -11544,8 +11544,8 @@ static void test_descriptors_visibility(void)
vs_raw_buffer = create_upload_buffer(device, sizeof(vs_buffer_data), vs_buffer_data);
ps_raw_buffer = create_upload_buffer(device, sizeof(ps_buffer_data), ps_buffer_data);
- vs_texture = create_texture(device,
- 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, D3D12_RESOURCE_STATE_COPY_DEST);
+ vs_texture = create_default_texture(device,
+ 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = vs_texture_data;
data.RowPitch = sizeof(vs_texture_data);
data.SlicePitch = data.RowPitch;
@@ -11554,8 +11554,8 @@ static void test_descriptors_visibility(void)
transition_resource_state(command_list, vs_texture,
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE);
- ps_texture = create_texture(device,
- 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, D3D12_RESOURCE_STATE_COPY_DEST);
+ ps_texture = create_default_texture(device,
+ 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = ps_texture_data;
data.RowPitch = sizeof(ps_texture_data);
data.SlicePitch = data.RowPitch;
@@ -16308,16 +16308,16 @@ static void test_copy_texture_region(void)
for (i = 0; i < ARRAY_SIZE(resource_states); ++i)
{
- src_texture = create_texture(device, 4, 4, DXGI_FORMAT_R8G8B8A8_UNORM,
- D3D12_RESOURCE_STATE_COPY_DEST);
+ src_texture = create_default_texture(device, 4, 4, DXGI_FORMAT_R8G8B8A8_UNORM,
+ 0, D3D12_RESOURCE_STATE_COPY_DEST);
texture_data.pData = bitmap_data;
texture_data.RowPitch = 4 * sizeof(*bitmap_data);
texture_data.SlicePitch = texture_data.RowPitch * 4;
upload_texture_data(src_texture, &texture_data, 1, queue, command_list);
reset_command_list(command_list, context.allocator);
- dst_texture = create_texture(device, 4, 4, DXGI_FORMAT_R8G8B8A8_UNORM,
- D3D12_RESOURCE_STATE_COPY_DEST);
+ dst_texture = create_default_texture(device, 4, 4, DXGI_FORMAT_R8G8B8A8_UNORM,
+ 0, D3D12_RESOURCE_STATE_COPY_DEST);
texture_data.pData = clear_data;
texture_data.RowPitch = 4 * sizeof(*bitmap_data);
texture_data.SlicePitch = texture_data.RowPitch * 4;
@@ -16374,8 +16374,8 @@ static void test_copy_texture_region(void)
transition_sub_resource_state(command_list, ds.texture, 0,
D3D12_RESOURCE_STATE_DEPTH_WRITE, resource_states[i % ARRAY_SIZE(resource_states)]);
- dst_texture = create_texture(device, 32, 32, DXGI_FORMAT_R32_FLOAT,
- D3D12_RESOURCE_STATE_COPY_DEST);
+ dst_texture = create_default_texture(device, 32, 32, DXGI_FORMAT_R32_FLOAT,
+ 0, D3D12_RESOURCE_STATE_COPY_DEST);
ID3D12Device_CreateShaderResourceView(device, dst_texture, NULL,
ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(heap));
@@ -16631,8 +16631,8 @@ static void test_separate_bindings(void)
transition_resource_state(command_list, ps_raw_uav_buffer,
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_UNORDERED_ACCESS);
- cs_textures[0] = create_texture(device,
- 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, D3D12_RESOURCE_STATE_COPY_DEST);
+ cs_textures[0] = create_default_texture(device,
+ 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = &cs_data;
data.RowPitch = sizeof(cs_data);
data.SlicePitch = data.RowPitch;
@@ -16650,8 +16650,8 @@ static void test_separate_bindings(void)
transition_resource_state(command_list, cs_textures[1],
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_UNORDERED_ACCESS);
- ps_textures[0] = create_texture(device,
- 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, D3D12_RESOURCE_STATE_COPY_DEST);
+ ps_textures[0] = create_default_texture(device,
+ 1, 1, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D12_RESOURCE_STATE_COPY_DEST);
data.pData = &ps_data;
data.RowPitch = sizeof(ps_data);
data.SlicePitch = data.RowPitch;
diff --git a/tests/vkd3d_d3d12_test.h b/tests/vkd3d_d3d12_test.h
index 2ebb58f997b3..67e4ddb3aae2 100644
--- a/tests/vkd3d_d3d12_test.h
+++ b/tests/vkd3d_d3d12_test.h
@@ -319,7 +319,6 @@ static void check_sub_resource_uint_(unsigned int line, ID3D12Resource *texture,
}
#define create_default_texture(a, b, c, d, e, f) create_default_texture2d_(__LINE__, a, b, c, 1, 1, d, e, f)
-#define create_texture(a, b, c, d, e) create_default_texture(a, b, c, d, 0, e)
#define create_default_texture2d(a, b, c, d, e, f, g, h) create_default_texture2d_(__LINE__, a, b, c, d, e, f, g, h)
static ID3D12Resource *create_default_texture2d_(unsigned int line, ID3D12Device *device,
unsigned int width, unsigned int height, unsigned int array_size, unsigned int miplevel_count,
--
2.16.4
June 28, 2018
Re: Bug #45385 related to keyboard and probably wineserver - where to start the search
by Kai Krakow
Hello again!
2018-06-28 8:56 GMT+02:00 Kai Krakow <kai(a)kaishome.de>:
> Hello!
>
> 2018-06-27 21:14 GMT+02:00 Alex Henrie <alexhenrie24(a)gmail.com>:
>> On Wed, Jun 27, 2018 at 11:24 AM John Found <johnfound(a)asm32.info> wrote:
>>>
>>> While reading the code in wineX11.drv/keyboard.c I noticed the following fragment from the function X11DRV_KeymapNotify:
>>>
>>> for (vkey = VK_LSHIFT; vkey <= VK_RMENU; vkey++)
>>> {
>>> int m = vkey - VK_LSHIFT;
>>> >>> if (modifiers[m].vkey && !(keystate[vkey] & 0x80) != !modifiers[m].pressed)
>>> {
>>> TRACE( "Adjusting state for vkey %#.2x. State before %#.2x\n",
>>> modifiers[m].vkey, keystate[vkey]);
>>>
>>> update_key_state( keystate, vkey, modifiers[m].pressed );
>>> changed = TRUE;
>>> }
>>> }
>>>
>>> Can someone explain what the condition pointed by >>> is doing? (Unfortunately, my C skills are pretty low...)
>>>
>>> Why not simply "(modifiers[m].vkey && (keystate[vkey] & 0x80) != modifiers[m].pressed)"?
>>
>> I don't immediately know what this if statement is for, but I can tell
>> you that the ! operator converts a value of zero to 1 and a nonzero
>> value to 0. So, if keystate[vkey] & 0x80 is 0 then
>> modifiers[m].pressed must be nonzero and vice versa.
>
> I always was under the impression that the bang operator does a binary
> inversion of the value. Thus, it would convert 0x7F to 0x80. This also
> means it would convert 0x00 (signed) to 0xFF (signed) which turns 0
> into -1, not 1.
>
> But however it works, this code is not working in any obvious way and
> should maybe be rewritten.
>
> Just my two cents.
I just looked it up, the bang operator seems to be a logical (not
binary) operator in C99:
https://stackoverflow.com/questions/3661751/what-is-0-in-c
According to this, I question how the code above is supposed to work
in the first place because "!modifiers[m].pressed" would always be 0
or 1, and it is compared to 0 or 0x80. This is exploiting implicit
behavior which is almost always a bad thing to do if you need to
understand code later.
Regards,
Kai
June 28, 2018
Re: Bug #45385 related to keyboard and probably wineserver - where to start the search
by Kai Krakow
Hello!
2018-06-27 21:14 GMT+02:00 Alex Henrie <alexhenrie24(a)gmail.com>:
> On Wed, Jun 27, 2018 at 11:24 AM John Found <johnfound(a)asm32.info> wrote:
>>
>> While reading the code in wineX11.drv/keyboard.c I noticed the following fragment from the function X11DRV_KeymapNotify:
>>
>> for (vkey = VK_LSHIFT; vkey <= VK_RMENU; vkey++)
>> {
>> int m = vkey - VK_LSHIFT;
>> >>> if (modifiers[m].vkey && !(keystate[vkey] & 0x80) != !modifiers[m].pressed)
>> {
>> TRACE( "Adjusting state for vkey %#.2x. State before %#.2x\n",
>> modifiers[m].vkey, keystate[vkey]);
>>
>> update_key_state( keystate, vkey, modifiers[m].pressed );
>> changed = TRUE;
>> }
>> }
>>
>> Can someone explain what the condition pointed by >>> is doing? (Unfortunately, my C skills are pretty low...)
>>
>> Why not simply "(modifiers[m].vkey && (keystate[vkey] & 0x80) != modifiers[m].pressed)"?
>
> I don't immediately know what this if statement is for, but I can tell
> you that the ! operator converts a value of zero to 1 and a nonzero
> value to 0. So, if keystate[vkey] & 0x80 is 0 then
> modifiers[m].pressed must be nonzero and vice versa.
I always was under the impression that the bang operator does a binary
inversion of the value. Thus, it would convert 0x7F to 0x80. This also
means it would convert 0x00 (signed) to 0xFF (signed) which turns 0
into -1, not 1.
But however it works, this code is not working in any obvious way and
should maybe be rewritten.
Just my two cents.
Regards,
Kai
June 28, 2018
[PATCH v2 2/2] dwrite: Test GetMetrics with custom fontcollection
by Lucian Poston
Signed-off-by: Lucian Poston <lucianposton(a)pm.me>
---
dlls/dwrite/tests/layout.c | 278 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 278 insertions(+)
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index 4198b8a1b1..7542cad8d7 100644
--- a/dlls/dwrite/tests/layout.c
+++ b/dlls/dwrite/tests/layout.c
@@ -4489,6 +4489,7 @@ static void test_SetWordWrapping(void)
/* Collection dedicated to fallback testing */
static const WCHAR g_blahfontW[] = {'B','l','a','h',0};
+static const WCHAR g_fontNotInCollectionW[] = {'n','o','t','B','l','a','h',0};
static HRESULT WINAPI fontcollection_QI(IDWriteFontCollection *iface, REFIID riid, void **obj)
{
if (IsEqualIID(riid, &IID_IDWriteFontCollection) || IsEqualIID(riid, &IID_IUnknown)) {
@@ -4548,6 +4549,9 @@ static HRESULT WINAPI fontcollection_FindFamilyName(IDWriteFontCollection *iface
*index = 123456;
*exists = TRUE;
return S_OK;
+ } else if (!lstrcmpW(name, g_fontNotInCollectionW)) {
+ *exists = FALSE;
+ return S_OK;
}
ok(0, "unexpected call, name %s\n", wine_dbgstr_w(name));
return E_NOTIMPL;
@@ -5568,6 +5572,279 @@ static void test_GetOverhangMetrics(void)
IDWriteFactory_Release(factory);
}
+static void test_GetMetrics_with_custom_fontcollection(void)
+{
+ static const WCHAR emptystringW[] = {0};
+ static const WCHAR mappedW[] = {'a','b','c','d',0};
+ static const WCHAR notmappedW[] = {'a',0xffff,'b',0}; // u+ffff = not a unicode character
+ DWRITE_CLUSTER_METRICS clusters[4];
+ DWRITE_TEXT_METRICS metrics;
+ IDWriteTextFormat *format;
+ IDWriteTextLayout *layout;
+ IDWriteFactory *factory;
+ UINT32 count, i;
+ FLOAT width;
+ HRESULT hr;
+
+ factory = create_factory();
+
+ /* font is in font collection */
+ hr = IDWriteFactory_CreateTextFormat(factory, g_blahfontW, &fallbackcollection,
+ DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL,
+ DWRITE_FONT_STRETCH_NORMAL, 10.0, enusW, &format);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ /* text is mapped by fontfallback */
+ hr = IDWriteFactory_CreateTextLayout(factory, mappedW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* text is not mapped by fontfallback */
+ hr = IDWriteFactory_CreateTextLayout(factory, notmappedW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* empty string */
+ hr = IDWriteFactory_CreateTextLayout(factory, emptystringW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* zero-length empty string */
+ hr = IDWriteFactory_CreateTextLayout(factory, emptystringW, 0, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 0, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ IDWriteTextFormat_Release(format);
+
+ /* font not in font collection */
+ hr = IDWriteFactory_CreateTextFormat(factory, g_fontNotInCollectionW, &fallbackcollection,
+ DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL,
+ DWRITE_FONT_STRETCH_NORMAL, 10.0, enusW, &format);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ /* text is mapped by fontfallback */
+ hr = IDWriteFactory_CreateTextLayout(factory, mappedW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ todo_wine
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ todo_wine
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ todo_wine
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ todo_wine
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ todo_wine
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ todo_wine
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ todo_wine
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ todo_wine
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* text is not mapped by fontfallback */
+ hr = IDWriteFactory_CreateTextLayout(factory, notmappedW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ todo_wine
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ todo_wine
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ todo_wine
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ todo_wine
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ todo_wine
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ todo_wine
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ todo_wine
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ todo_wine
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* empty string */
+ hr = IDWriteFactory_CreateTextLayout(factory, emptystringW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ todo_wine
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ todo_wine
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ todo_wine
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ todo_wine
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ todo_wine
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ todo_wine
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ todo_wine
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ todo_wine
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* zero-length empty string */
+ hr = IDWriteFactory_CreateTextLayout(factory, emptystringW, 0, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 0, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ todo_wine
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ todo_wine
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ todo_wine
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ todo_wine
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ todo_wine
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ todo_wine
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ todo_wine
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ todo_wine
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ IDWriteTextFormat_Release(format);
+
+ IDWriteFactory_Release(factory);
+}
+
START_TEST(layout)
{
IDWriteFactory *factory;
@@ -5601,6 +5878,7 @@ START_TEST(layout)
test_SetFontStretch();
test_SetStrikethrough();
test_GetMetrics();
+ test_GetMetrics_with_custom_fontcollection();
test_SetFlowDirection();
test_SetDrawingEffect();
test_GetLineMetrics();
--
2.16.4
June 28, 2018
[PATCH v2 1/2] dwrite: Test IDWriteTextFormat with nonexistent font
by Lucian Poston
Signed-off-by: Lucian Poston <lucianposton(a)pm.me>
---
dlls/dwrite/tests/layout.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index 652f6b78ac..4198b8a1b1 100644
--- a/dlls/dwrite/tests/layout.c
+++ b/dlls/dwrite/tests/layout.c
@@ -30,6 +30,7 @@
#include "wine/test.h"
static const WCHAR tahomaW[] = {'T','a','h','o','m','a',0};
+static const WCHAR nonExistentFontW[] = {'B','l','a','h','!',0};
static const WCHAR enusW[] = {'e','n','-','u','s',0};
struct testanalysissink
@@ -3292,6 +3293,51 @@ todo_wine
ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
IDWriteTextLayout_Release(layout);
+ IDWriteTextFormat_Release(format);
+
+ /* nonexistent font */
+ hr = IDWriteFactory_CreateTextFormat(factory, nonExistentFontW, NULL, DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL,
+ DWRITE_FONT_STRETCH_NORMAL, 10.0, enusW, &format);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ hr = IDWriteFactory_CreateTextLayout(factory, strW, 4, format, 500.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ count = 0;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+todo_wine
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+todo_wine
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+todo_wine
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+todo_wine
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+todo_wine
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+todo_wine
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+todo_wine
+ ok(metrics.layoutWidth == 500.0, "got %.2f\n", metrics.layoutWidth);
+todo_wine
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+todo_wine
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+todo_wine
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+
+ IDWriteTextLayout_Release(layout);
+
IDWriteTextFormat_Release(format);
IDWriteFactory_Release(factory);
}
--
2.16.4
June 28, 2018
Re: [PATCH 1/2] dwrite: Test IDWriteTextFormat with nonexistent font
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39429
Your paranoid android.
=== build (build) ===
error: patch failed: dlls/dwrite/tests/layout.c:32
Build: Patch failed to apply
=== debian9 (win32) ===
error: patch failed: dlls/dwrite/tests/layout.c:32
Task: Patch failed to apply
June 28, 2018
Re: [PATCH 2/2] dwrite: Test GetMetrics with custom fontcollection
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39428
Your paranoid android.
=== build (build) ===
error: patch failed: dlls/dwrite/tests/layout.c:32
Build: Patch failed to apply
=== debian9 (win32) ===
error: patch failed: dlls/dwrite/tests/layout.c:32
Task: Patch failed to apply
June 28, 2018
[PATCH 2/2] dwrite: Test GetMetrics with custom fontcollection
by Lucian Poston
Signed-off-by: Lucian Poston <lucianposton(a)pm.me>
---
dlls/dwrite/tests/layout.c | 278 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 278 insertions(+)
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index ac36aff5b5..2b665fd74e 100644
--- a/dlls/dwrite/tests/layout.c
+++ b/dlls/dwrite/tests/layout.c
@@ -4491,6 +4491,7 @@ static void test_SetWordWrapping(void)
/* Collection dedicated to fallback testing */
static const WCHAR g_blahfontW[] = {'B','l','a','h',0};
+static const WCHAR g_fontNotInCollectionW[] = {'n','o','t','B','l','a','h',0};
static HRESULT WINAPI fontcollection_QI(IDWriteFontCollection *iface, REFIID riid, void **obj)
{
if (IsEqualIID(riid, &IID_IDWriteFontCollection) || IsEqualIID(riid, &IID_IUnknown)) {
@@ -4550,6 +4551,9 @@ static HRESULT WINAPI fontcollection_FindFamilyName(IDWriteFontCollection *iface
*index = 123456;
*exists = TRUE;
return S_OK;
+ } else if (!lstrcmpW(name, g_fontNotInCollectionW)) {
+ *exists = FALSE;
+ return S_OK;
}
ok(0, "unexpected call, name %s\n", wine_dbgstr_w(name));
return E_NOTIMPL;
@@ -5570,6 +5574,279 @@ static void test_GetOverhangMetrics(void)
IDWriteFactory_Release(factory);
}
+static void test_GetMetrics_with_custom_fontcollection(void)
+{
+ static const WCHAR emptystringW[] = {0};
+ static const WCHAR mappedW[] = {'a','b','c','d',0};
+ static const WCHAR notmappedW[] = {'a',0xffff,'b',0}; // u+ffff = not a unicode character
+ DWRITE_CLUSTER_METRICS clusters[4];
+ DWRITE_TEXT_METRICS metrics;
+ IDWriteTextFormat *format;
+ IDWriteTextLayout *layout;
+ IDWriteFactory *factory;
+ UINT32 count, i;
+ FLOAT width;
+ HRESULT hr;
+
+ factory = create_factory();
+
+ /* font is in font collection */
+ hr = IDWriteFactory_CreateTextFormat(factory, g_blahfontW, &fallbackcollection,
+ DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL,
+ DWRITE_FONT_STRETCH_NORMAL, 10.0, enusW, &format);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ /* text is mapped by fontfallback */
+ hr = IDWriteFactory_CreateTextLayout(factory, mappedW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* text is not mapped by fontfallback */
+ hr = IDWriteFactory_CreateTextLayout(factory, notmappedW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* empty string */
+ hr = IDWriteFactory_CreateTextLayout(factory, emptystringW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* zero-length empty string */
+ hr = IDWriteFactory_CreateTextLayout(factory, emptystringW, 0, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 0, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ IDWriteTextFormat_Release(format);
+
+ /* font not in font collection */
+ hr = IDWriteFactory_CreateTextFormat(factory, g_fontNotInCollectionW, &fallbackcollection,
+ DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL,
+ DWRITE_FONT_STRETCH_NORMAL, 10.0, enusW, &format);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ /* text is mapped by fontfallback */
+ hr = IDWriteFactory_CreateTextLayout(factory, mappedW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ todo_wine
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ todo_wine
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ todo_wine
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ todo_wine
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ todo_wine
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ todo_wine
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ todo_wine
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ todo_wine
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* text is not mapped by fontfallback */
+ hr = IDWriteFactory_CreateTextLayout(factory, notmappedW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ todo_wine
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ todo_wine
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ todo_wine
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ todo_wine
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ todo_wine
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ todo_wine
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ todo_wine
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ todo_wine
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* empty string */
+ hr = IDWriteFactory_CreateTextLayout(factory, emptystringW, 4, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(count == 4, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ todo_wine
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ todo_wine
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ todo_wine
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ todo_wine
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ todo_wine
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ todo_wine
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ todo_wine
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ todo_wine
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ /* zero-length empty string */
+ hr = IDWriteFactory_CreateTextLayout(factory, emptystringW, 0, format, 1000.0, 1000.0, &layout);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ count = 9999;
+ hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 0, "got %u\n", count);
+ for (i = 0, width = 0.0; i < count; i++)
+ width += clusters[i].width;
+ memset(&metrics, 0xcc, sizeof(metrics));
+ hr = IDWriteTextLayout_GetMetrics(layout, &metrics);
+ todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ todo_wine
+ ok(metrics.left == 0.0, "got %.2f\n", metrics.left);
+ todo_wine
+ ok(metrics.top == 0.0, "got %.2f\n", metrics.top);
+ todo_wine
+ ok(metrics.width == width, "got %.2f, expected %.2f\n", metrics.width, width);
+ todo_wine
+ ok(metrics.widthIncludingTrailingWhitespace == width, "got %.2f, expected %.2f\n",
+ metrics.widthIncludingTrailingWhitespace, width);
+ todo_wine
+ ok(metrics.height > 0.0, "got %.2f\n", metrics.height);
+ todo_wine
+ ok(metrics.layoutWidth == 1000.0, "got %.2f\n", metrics.layoutWidth);
+ todo_wine
+ ok(metrics.layoutHeight == 1000.0, "got %.2f\n", metrics.layoutHeight);
+ todo_wine
+ ok(metrics.maxBidiReorderingDepth == 1, "got %u\n", metrics.maxBidiReorderingDepth);
+ todo_wine
+ ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount);
+ IDWriteTextLayout_Release(layout);
+
+ IDWriteTextFormat_Release(format);
+
+ IDWriteFactory_Release(factory);
+}
+
START_TEST(layout)
{
IDWriteFactory *factory;
@@ -5603,6 +5880,7 @@ START_TEST(layout)
test_SetFontStretch();
test_SetStrikethrough();
test_GetMetrics();
+ test_GetMetrics_with_custom_fontcollection();
test_SetFlowDirection();
test_SetDrawingEffect();
test_GetLineMetrics();
--
2.16.4
June 28, 2018
Re: [PATCH 1/2] dwrite: Test IDWriteTextFormat with nonexistent font
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=39427
Your paranoid android.
=== build (build) ===
error: patch failed: dlls/dwrite/tests/layout.c:32
Build: Patch failed to apply
=== debian9 (win32) ===
error: patch failed: dlls/dwrite/tests/layout.c:32
Task: Patch failed to apply
June 28, 2018