Wine-Devel
By message
wine-devel@list.winehq.org
By month
Threads 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
- 580 discussions
Re: widl: Set name return value (passed by reference) in the alias case alias case in get_user_type.
by Alexandre Julliard Nov. 23, 2020
by Alexandre Julliard Nov. 23, 2020
Nov. 23, 2020
Gerald Pfeifer <gerald(a)pfeifer.com> writes:
> So, I admit I don't really know this code, but looking at it (triggered
> by a warning issued by GCC development versions), I noticed that this
> variable passed by reference is not initialized here.
It's initialized when we return a type, and it doesn't need to be
initialized on NULL return. The code is correct, but you could probably
set the variable to NULL in the caller to silence the warning.
--
Alexandre Julliard
julliard(a)winehq.org
2
1
Nov. 22, 2020
Looking at
RPC_STATUS WINAPI RpcBindingVectorFree( RPC_BINDING_VECTOR** BindingVector )
{
RPC_STATUS status;
ULONG c;
TRACE("(%p)\n", BindingVector);
for (c=0; c<(*BindingVector)->Count; c++) {
status = RpcBindingFree(&(*BindingVector)->BindingH[c]);
}
HeapFree(GetProcessHeap(), 0, *BindingVector);
*BindingVector = NULL;
return RPC_S_OK;
}
we currently always ignore the outcome of RpcBindingFree and return
RPC_S_OK.
However, there is one case where RpcBindingFree returns something
different (which is if *Binding is null when RPC_S_INVALID_BINDING
is returned).
What is the proper way of handling this? Just keeping the code as
is and removing the unused status variable? Breaking the loop once
RpcBindingFree returns something different from RPC_S_OK? Continuing
and returning the first / the last status different from RPC_S_OK?
Gerald
1
1
Sept. 28, 2018
Dear all,
While test another online bank with wine ActiveX,
I got an unimplemented fuction of ntoskrnl: IoGetDeviceInterfaces,
I found it listed inĀ http://source.winehq.org/WineAPI/ntoskrnl.htmlĀ as a stup,
so I can't understand this log:
wine: Unimplemented function ntoskrnl.exe.IoGetDeviceInterfaces called
at address 0x7b839552 (thread 0022), starting debugger...
Grateful for any explain!
env:
wine1.3.12 on Ubuntu 10.04
Here are the steps:
1. install an ActiveX from
https://e.bank.ecitic.com/perbank5/plugs/CNCBSecPkg_EN.exe
$ rm -rf ~/.wine
$ winetricks -q mfc42
$ wineĀ CNCBSecPkg_EN.exe
fixme:ole:DllRegisterServer stub
fixme:win:DisableProcessWindowsGhosting : stub
fixme:msg:ChangeWindowMessageFilter c057 00000001
fixme:msg:ChangeWindowMessageFilter c057 00000001
fixme:msg:ChangeWindowMessageFilter c057 00000001
fixme:ole:CoCreateInstance no instance created for interface
{ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf} of class
{56fdf344-fd6d-11d0-958a-006097c9a090}, hres is 0x80004002
fixme:sfc:SfcIsFileProtected ((nil), L"C:\\Program
Files\\\4e2d\4fe1\94f6\884c\7f51\94f6\5b89\5168\63a7\4ef6\\unins000.exe")
stub
fixme:win:WINNLSEnableIME hUnknown1 0x1011a bUnknown2 0: stub!
fixme:win:WINNLSEnableIME hUnknown1 0x1011a bUnknown2 -1: stub!
fixme:win:WINNLSEnableIME hUnknown1 0x1011a bUnknown2 0: stub!
wine: Call from 0x7b839552 to unimplemented function
ntoskrnl.exe.IoGetDeviceInterfaces, aborting
wine: Unimplemented function ntoskrnl.exe.IoGetDeviceInterfaces called
at address 0x7b839552 (thread 002b), starting debugger...
wine: Call from 0x7b839552 to unimplemented function
ntoskrnl.exe.IoGetDeviceInterfaces, aborting
wine: Call from 0x7b839552 to unimplemented function
ntoskrnl.exe.IoGetDeviceInterfaces, aborting
2. open the online bank entry with wine builtin IE, then IE will crash:
$ wine iexplore https://e.bank.ecitic.com/perbank5/signIn.do
Please checkout the full log here:
http://pastebin.com/rbAg7gwj
Should I file a singel bug inĀ ntoskrnl component , or separate bugs,
one for ntoskrnl and one for the IE crashing?
Generalliy what component should I switch while file a bug about IE crashing?
Many thanks!
--
Regards,
Qian Hong
-
Sent from Ubuntu
http://www.ubuntu.com/
5
6
Hi guys,
Rather a peripheral question; apologies for that - but I'd imagine
there are experts here that may be able to help.
I have a black-box problem - a Windows app dealing with confidential
data that I can't easily touch (and thus can't get to run under Wine) -
which does some small but critical automation of MS Office - using VBS /
COM scripting.
I'd -really- love some input on how best to trace that series of COM
method calls on Windows itself ie. the (remote) service activation, and
the RPC beyond that - particularly the method names, parameters etc. of
the COM/OLE Office API. I've tried (so far):
http://www.rohitab.com/apimonitor
which, while closed, looks interesting; but traces a lot
in a hard-to-search way and doesn't appear to do the
trick.
https://support.microsoft.com/en-us/help/926098/how-to-enable-com-and-com-dā¦
Sounds useful: using Event Tracing for Windows (ETW) but
has this rather unhelpful property:
"The binary file must be formatted by Microsoft
so that it can be analyzed. Please forward the
.etl files to your support contact. ..." ;-)
Component models used to be all the rage in my youth ;-) surely someone
solved the "strace for COM calls" problem elegantly some-when !
Crazily - might it be possible to instrument, interpose and use Wine's
COM impl. on Windows [ which sounds a bit 'exciting' ;-], or ?
Anyhow - help much appreciated & sorry for the noise !
Regards,
Michael.
--
michael.meeks(a)collabora.com <><, Pseudo Engineer, itinerant idiot
2
4
[PATCH v2] ddraw/tests: Recognize mipmap brokenness on Windows 8 and 10
by Alex Henrie July 16, 2018
by Alex Henrie July 16, 2018
July 16, 2018
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
v2: Reset diff_count3 to 0 after use
dlls/ddraw/tests/d3d.c | 77 ++++++++++++++++++++++++++++++++++++--------------
1 file changed, 56 insertions(+), 21 deletions(-)
diff --git a/dlls/ddraw/tests/d3d.c b/dlls/ddraw/tests/d3d.c
index 77836fd627..3cc40e24c4 100644
--- a/dlls/ddraw/tests/d3d.c
+++ b/dlls/ddraw/tests/d3d.c
@@ -24,6 +24,7 @@
#include "wine/test.h"
#include <limits.h>
+#include <math.h>
#include "initguid.h"
#include "ddraw.h"
#include "d3d.h"
@@ -1418,7 +1419,7 @@ static void DeviceLoadTest(void)
RECT loadrect;
POINT loadpoint;
int i, i1, i2;
- unsigned diff_count = 0, diff_count2 = 0;
+ unsigned diff_count = 0, diff_count2 = 0, diff_count3 = 0;
unsigned x, y;
BOOL load_mip_subset_broken = FALSE;
IDirectDrawPalette *palettes[5];
@@ -1939,6 +1940,7 @@ static void DeviceLoadTest(void)
{
diff_count = 0;
diff_count2 = 0;
+ diff_count3 = 0;
memset(&ddsd, 0, sizeof(DDSURFACEDESC2));
ddsd.dwSize = sizeof(ddsd);
@@ -1953,6 +1955,9 @@ static void DeviceLoadTest(void)
for (x = 0; x < ddsd.dwWidth; x++)
{
DWORD color = *textureRow++;
+ DWORD r = (color & 0xff0000) >> 16;
+ DWORD g = (color & 0xff00) >> 8;
+ DWORD b = (color & 0xff);
if (x < loadpoint.x || x >= loadpoint.x + loadrect.right - loadrect.left ||
y < loadpoint.y || y >= loadpoint.y + loadrect.bottom - loadrect.top)
@@ -1961,10 +1966,6 @@ static void DeviceLoadTest(void)
}
else
{
- DWORD r = (color & 0xff0000) >> 16;
- DWORD g = (color & 0xff00) >> 8;
- DWORD b = (color & 0xff);
-
if (r != (0xf0 | i1) || g != x + loadrect.left - loadpoint.x ||
b != y + loadrect.top - loadpoint.y) diff_count++;
}
@@ -1978,21 +1979,29 @@ static void DeviceLoadTest(void)
}
else
{
- DWORD r = (color & 0xff0000) >> 16;
- DWORD g = (color & 0xff00) >> 8;
- DWORD b = (color & 0xff);
-
if (r != (0xf0 | i1) || !IS_VALUE_NEAR(g, x + loadrect.left - loadpoint.x) ||
!IS_VALUE_NEAR(b, y + loadrect.top - loadpoint.y)) diff_count2++;
}
+
+ /* some windows 8 and 10 machines copy the wrong mip */
+ if (x < loadpoint.x / 16 || x >= ceil((loadpoint.x + loadrect.right - loadrect.left) / 16.0) ||
+ y < loadpoint.y / 16 || y >= ceil((loadpoint.y + loadrect.bottom - loadrect.top) / 16.0))
+ {
+ if (color & 0xffffff) diff_count3++;
+ }
+ else
+ {
+ if (r != (0xf0 | (i1 + 4)) || g != x || b != y) diff_count3++;
+ }
}
}
hr = IDirectDrawSurface7_Unlock(texture_levels[1][i1], NULL);
ok(hr==DD_OK, "IDirectDrawSurface7_Unlock returned: %x\n",hr);
- ok(diff_count == 0 || diff_count2 == 0, "Unexpected destination texture level pixels; %u differences at %d level\n",
- MIN(diff_count, diff_count2), i1);
+ ok(diff_count == 0 || diff_count2 == 0 || broken(diff_count3 == 0),
+ "Unexpected destination texture level pixels; %u differences, %d level\n",
+ MIN(MIN(diff_count, diff_count2), diff_count3), i1);
loadpoint.x /= 2;
loadpoint.y /= 2;
@@ -2145,6 +2154,7 @@ static void DeviceLoadTest(void)
skip("IDirect3DDevice7_Load is broken (happens on some modern Windows installations like XP). Skipping affected tests.\n");
} else {
diff_count = 0;
+ diff_count3 = 0;
for (y = 0 ; y < ddsd.dwHeight; y++)
{
@@ -2153,6 +2163,9 @@ static void DeviceLoadTest(void)
for (x = 0; x < ddsd.dwWidth; x++)
{
DWORD color = *textureRow++;
+ DWORD r = (color & 0xff0000) >> 16;
+ DWORD g = (color & 0xff00) >> 8;
+ DWORD b = (color & 0xff);
if (x < loadpoint.x || x >= loadpoint.x + loadrect.right - loadrect.left ||
y < loadpoint.y || y >= loadpoint.y + loadrect.bottom - loadrect.top)
@@ -2161,13 +2174,20 @@ static void DeviceLoadTest(void)
}
else
{
- DWORD r = (color & 0xff0000) >> 16;
- DWORD g = (color & 0xff00) >> 8;
- DWORD b = (color & 0xff);
-
if (r != (0xf0 | 2) || g != x + loadrect.left - loadpoint.x ||
b != y + loadrect.top - loadpoint.y) diff_count++;
}
+
+ /* some windows 8 and 10 machines copy the wrong mip */
+ if (x < loadpoint.x / 16 || x >= (loadpoint.x + loadrect.right - loadrect.left) / 16 ||
+ y < loadpoint.y / 16 || y >= (loadpoint.y + loadrect.bottom - loadrect.top) / 16)
+ {
+ if (color & 0xffffff) diff_count3++;
+ }
+ else
+ {
+ if (r != 0xf7 || g != x || b != y) diff_count3++;
+ }
}
}
}
@@ -2175,7 +2195,9 @@ static void DeviceLoadTest(void)
hr = IDirectDrawSurface7_Unlock(texture_levels[1][0], NULL);
ok(hr==DD_OK, "IDirectDrawSurface7_Unlock returned: %x\n",hr);
- ok(diff_count == 0, "Unexpected destination texture level pixels; %u differences\n", diff_count);
+ ok(diff_count == 0 || broken(diff_count3 == 0),
+ "Unexpected destination texture level pixels; %u differences\n",
+ MIN(diff_count, diff_count3));
for (i = 0; i < 2; i++)
{
@@ -2287,6 +2309,7 @@ static void DeviceLoadTest(void)
if (ddsd.dwWidth == ddsd2.dwWidth && ddsd.dwHeight == ddsd2.dwHeight)
{
diff_count = 0;
+ diff_count3 = 0;
memset(&ddsd, 0, sizeof(DDSURFACEDESC2));
ddsd.dwSize = sizeof(ddsd);
@@ -2301,6 +2324,9 @@ static void DeviceLoadTest(void)
for (x = 0; x < ddsd.dwWidth; x++)
{
DWORD color = *textureRow++;
+ DWORD r = (color & 0xff0000) >> 16;
+ DWORD g = (color & 0xff00) >> 8;
+ DWORD b = (color & 0xff);
if (x < loadpoint.x || x >= loadpoint.x + loadrect.right - loadrect.left ||
y < loadpoint.y || y >= loadpoint.y + loadrect.bottom - loadrect.top)
@@ -2309,20 +2335,29 @@ static void DeviceLoadTest(void)
}
else
{
- DWORD r = (color & 0xff0000) >> 16;
- DWORD g = (color & 0xff00) >> 8;
- DWORD b = (color & 0xff);
-
if (r != (0xf0 | i1) || g != x + loadrect.left - loadpoint.x ||
b != y + loadrect.top - loadpoint.y) diff_count++;
}
+
+ /* some windows 8 and 10 machines copy the wrong mip */
+ if (x < loadpoint.x / 16 || x >= ceil((loadpoint.x + loadrect.right - loadrect.left) / 16.0) ||
+ y < loadpoint.y / 16 || y >= ceil((loadpoint.y + loadrect.bottom - loadrect.top) / 16.0))
+ {
+ if (color & 0xffffff) diff_count3++;
+ }
+ else
+ {
+ if (r != (0xf0 | (i + 4)) || g != x || b != y) diff_count3++;
+ }
}
}
hr = IDirectDrawSurface7_Unlock(texture_levels[1][i], NULL);
ok(hr==DD_OK, "IDirectDrawSurface7_Unlock returned: %x\n",hr);
- ok(diff_count == 0, "Unexpected destination texture level pixels; %u differences at %d level\n", diff_count, i1);
+ ok(diff_count == 0 || broken(diff_count3 == 0),
+ "Unexpected destination texture level pixels; %u differences at %d level\n",
+ MIN(diff_count, diff_count3), i1);
i++;
}
--
2.16.2
2
3
[PATCH] kernel32: Implement K32EnumDeviceDrivers and K32GetDeviceDriverBaseNameA (pt. 2)
by Anthony Lauzon July 13, 2018
by Anthony Lauzon July 13, 2018
July 13, 2018
I noticed my submission yesterday was a little undercooked and since I have
spent some more time on it, I thought I'd try to submit a (hopefully)
proper patch to the list. This is a rough implementation of
K32EnumDeviceDrivers and K32GetDeviceDriverBaseNameA.
2
2
[PATCH v8 1/9] ntdll/tests: Skip map protection tests when access is denied
by Alex Henrie July 11, 2018
by Alex Henrie July 11, 2018
July 11, 2018
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
dlls/ntdll/tests/info.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dlls/ntdll/tests/info.c b/dlls/ntdll/tests/info.c
index 6c93c3cd58..b18f0d39d9 100644
--- a/dlls/ntdll/tests/info.c
+++ b/dlls/ntdll/tests/info.c
@@ -1789,6 +1789,10 @@ static void test_mapprotection(void)
}
ok( (status == STATUS_SUCCESS) || (status == STATUS_INVALID_INFO_CLASS), "Expected STATUS_SUCCESS, got %08x\n", status);
status = pNtSetInformationProcess( GetCurrentProcess(), ProcessExecuteFlags, &flags, sizeof(flags) );
+ if (status == STATUS_ACCESS_DENIED) {
+ skip("Access to set ProcessExecuteFlags denied\n");
+ return;
+ }
ok( (status == STATUS_SUCCESS) || (status == STATUS_INVALID_INFO_CLASS), "Expected STATUS_SUCCESS, got %08x\n", status);
size.u.LowPart = 0x2000;
--
2.17.1
3
17
Fix for versions x600 and x620 and pointer calculation for mixing image and mask bits.
Tested on *.reg files extracted from:
- XP/2003 key HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify;
- Vista/7 key HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify
Signed-off-by: Denis Malikov <mdn40000(a)mail.ru>
---
dlls/comctl32/imagelist.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c
index a08d60752e..be901462a0 100644
--- a/dlls/comctl32/imagelist.c
+++ b/dlls/comctl32/imagelist.c
@@ -2267,7 +2267,9 @@ HIMAGELIST WINAPI ImageList_Read(IStream *pstm)
return NULL;
if (ilHead.usMagic != (('L' << 8) | 'I'))
return NULL;
- if (ilHead.usVersion != 0x101) /* probably version? */
+ if (ilHead.usVersion != 0x101 &&
+ ilHead.usVersion != 0x600 && /* XP/2003 version */
+ ilHead.usVersion != 0x620) /* Vista/7 version */
return NULL;
TRACE("cx %u, cy %u, flags 0x%04x, cCurImage %u, cMaxImage %u\n",
@@ -2296,23 +2298,25 @@ HIMAGELIST WINAPI ImageList_Read(IStream *pstm)
{
DWORD *ptr = image_bits;
BYTE *mask_ptr = mask_bits;
- int stride = himl->cy * image_info->bmiHeader.biWidth;
+ int stride = himl->cy * (ilHead.usVersion != 0x101 ? himl->cx : image_info->bmiHeader.biWidth);
+ int image_step = ilHead.usVersion != 0x101 ? 1 : TILE_COUNT;
+ int mask_step = ilHead.usVersion != 0x101 ? 4 : 8;
if (image_info->bmiHeader.biHeight > 0) /* bottom-up */
{
ptr += image_info->bmiHeader.biHeight * image_info->bmiHeader.biWidth - stride;
- mask_ptr += (image_info->bmiHeader.biHeight * image_info->bmiHeader.biWidth - stride) / 8;
+ mask_ptr += (image_info->bmiHeader.biHeight * image_info->bmiHeader.biWidth - stride) / mask_step;
stride = -stride;
image_info->bmiHeader.biHeight = himl->cy;
}
else image_info->bmiHeader.biHeight = -himl->cy;
- for (i = 0; i < ilHead.cCurImage; i += TILE_COUNT)
+ for (i = 0; i < ilHead.cCurImage; i += image_step)
{
- add_dib_bits( himl, i, min( ilHead.cCurImage - i, TILE_COUNT ),
+ add_dib_bits( himl, i, min( ilHead.cCurImage - i, image_step ),
himl->cx, himl->cy, image_info, mask_info, ptr, mask_ptr );
ptr += stride;
- mask_ptr += stride / 8;
+ mask_ptr += stride / mask_step;
}
}
else
--
2.16.2.windows.1
2
4
July 9, 2018
Signed-off-by: Akihiro Sagawa <sagawa.aki(a)gmail.com>
---
dlls/winmm/tests/midi.c | 4 ++--
dlls/winmm/winmm.c | 19 ++++++++++++++++---
2 files changed, 18 insertions(+), 5 deletions(-)
2
1
[PATCH 2/5] winmm: Preserve fractions in microseconds to compensate rounding errors.
by Akihiro Sagawa July 9, 2018
by Akihiro Sagawa July 9, 2018
July 9, 2018
Otherwise, a song is played faster than expected in some cases.
For instance, we assume that 40 pan control change (CC#10) messages are
expressed in 12.5ms each,
* Prior art omits fractions, i.e. 12ms + 12ms + ... = 480ms.
* Proposal technique saves fractions, i.e. 12ms + 13ms + ... = 500ms.
Ideal duration is 500ms. So, the proposed method is better than prior one.
Signed-off-by: Akihiro Sagawa <sagawa.aki(a)gmail.com>
---
dlls/winmm/winmm.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
2
2
[PATCH 1/5] winmm: Don't allow to set time division property while playing.
by Akihiro Sagawa July 9, 2018
by Akihiro Sagawa July 9, 2018
July 9, 2018
Signed-off-by: Akihiro Sagawa <sagawa.aki(a)gmail.com>
---
dlls/winmm/tests/midi.c | 6 ++++++
dlls/winmm/winmm.c | 8 ++++++--
2 files changed, 12 insertions(+), 2 deletions(-)
2
1
July 9, 2018
Signed-off-by: Owen Rudge <orudge(a)codeweavers.com>
---
dlls/wsdapi/soap.c | 169
+++++++++++++++++++++++++++++++++++++++++-
dlls/wsdapi/tests/discovery.c | 2 +-
2 files changed, 169 insertions(+), 2 deletions(-)
2
1
July 5, 2018
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
---
dlls/comctl32/taskdialog.c | 62 +++++++++++++++++++++++++++++---
dlls/comctl32/tests/taskdialog.c | 61 +++++++++++++++++--------------
2 files changed, 93 insertions(+), 30 deletions(-)
diff --git a/dlls/comctl32/taskdialog.c b/dlls/comctl32/taskdialog.c
index 207f77b012..42d50a93cb 100644
--- a/dlls/comctl32/taskdialog.c
+++ b/dlls/comctl32/taskdialog.c
@@ -60,6 +60,8 @@ struct taskdialog_info
HWND progress_bar;
HWND *radio_buttons;
INT radio_button_count;
+ HWND *command_links;
+ INT command_link_count;
HWND *buttons;
INT button_count;
HWND default_button;
@@ -184,7 +186,8 @@ static HWND taskdialog_find_button(HWND *buttons, INT count, INT id)
static void taskdialog_enable_button(const struct taskdialog_info *dialog_info, INT id, BOOL enable)
{
- HWND hwnd = taskdialog_find_button(dialog_info->buttons, dialog_info->button_count, id);
+ HWND hwnd = taskdialog_find_button(dialog_info->command_links, dialog_info->command_link_count, id);
+ if (!hwnd) hwnd = taskdialog_find_button(dialog_info->buttons, dialog_info->button_count, id);
if (hwnd) EnableWindow(hwnd, enable);
}
@@ -253,6 +256,11 @@ static BOOL taskdialog_hyperlink_enabled(struct taskdialog_info *dialog_info)
return dialog_info->taskconfig->dwFlags & TDF_ENABLE_HYPERLINKS;
}
+static BOOL taskdialog_use_command_link(struct taskdialog_info *dialog_info)
+{
+ return dialog_info->taskconfig->dwFlags & (TDF_USE_COMMAND_LINKS | TDF_USE_COMMAND_LINKS_NO_ICON);
+}
+
static void taskdialog_get_label_size(struct taskdialog_info *dialog_info, HWND hwnd, LONG max_width, SIZE *size,
BOOL syslink)
{
@@ -486,6 +494,34 @@ static void taskdialog_add_radio_buttons(struct taskdialog_info *dialog_info)
}
}
+static void taskdialog_add_command_links(struct taskdialog_info *dialog_info)
+{
+ const TASKDIALOGCONFIG *taskconfig = dialog_info->taskconfig;
+ DWORD default_style = BS_MULTILINE | BS_LEFT | BS_TOP | WS_CHILD | WS_VISIBLE | WS_TABSTOP, style;
+ BOOL is_default;
+ WCHAR *textW;
+ INT i;
+
+ if (!taskconfig->cButtons || !taskconfig->pButtons || !taskdialog_use_command_link(dialog_info)) return;
+
+ dialog_info->command_links = Alloc(taskconfig->cButtons * sizeof(*dialog_info->command_links));
+ if (!dialog_info->command_links) return;
+
+ dialog_info->command_link_count = taskconfig->cButtons;
+ for (i = 0; i < dialog_info->command_link_count; i++)
+ {
+ is_default = taskconfig->pButtons[i].nButtonID == taskconfig->nDefaultButton;
+ style = is_default ? default_style | BS_DEFCOMMANDLINK : default_style | BS_COMMANDLINK;
+ textW = taskdialog_gettext(dialog_info, TRUE, taskconfig->pButtons[i].pszButtonText);
+ dialog_info->command_links[i] = CreateWindowW(WC_BUTTONW, textW, style, 0, 0, 0, 0, dialog_info->hwnd,
+ (HMENU)taskconfig->pButtons[i].nButtonID, 0, NULL);
+ SendMessageW(dialog_info->command_links[i], WM_SETFONT, (WPARAM)dialog_info->font, 0);
+ Free(textW);
+
+ if (is_default && !dialog_info->default_button) dialog_info->default_button = dialog_info->command_links[i];
+ }
+}
+
static void taskdialog_add_button(struct taskdialog_info *dialog_info, HWND *button, INT_PTR id, const WCHAR *text,
BOOL custom_button)
{
@@ -504,17 +540,18 @@ static void taskdialog_add_button(struct taskdialog_info *dialog_info, HWND *but
static void taskdialog_add_buttons(struct taskdialog_info *dialog_info)
{
const TASKDIALOGCONFIG *taskconfig = dialog_info->taskconfig;
+ BOOL use_command_links = taskdialog_use_command_link(dialog_info);
DWORD flags = taskconfig->dwCommonButtons;
INT count, max_count;
/* Allocate enough memory for the custom and the default buttons. Maximum 6 default buttons possible. */
max_count = 6;
- if (taskconfig->cButtons && taskconfig->pButtons) max_count += taskconfig->cButtons;
+ if (!use_command_links && taskconfig->cButtons && taskconfig->pButtons) max_count += taskconfig->cButtons;
dialog_info->buttons = Alloc(max_count * sizeof(*dialog_info->buttons));
if (!dialog_info->buttons) return;
- for (count = 0; count < taskconfig->cButtons; count++)
+ for (count = 0; !use_command_links && count < taskconfig->cButtons; count++)
taskdialog_add_button(dialog_info, &dialog_info->buttons[count], taskconfig->pButtons[count].nButtonID,
taskconfig->pButtons[count].pszButtonText, TRUE);
@@ -532,7 +569,7 @@ static void taskdialog_add_buttons(struct taskdialog_info *dialog_info)
if (flags & TDCBF_CANCEL_BUTTON) TASKDIALOG_INIT_COMMON_BUTTON(CANCEL);
if (flags & TDCBF_CLOSE_BUTTON) TASKDIALOG_INIT_COMMON_BUTTON(CLOSE);
- if (!count) TASKDIALOG_INIT_COMMON_BUTTON(OK);
+ if (!count && !dialog_info->command_link_count) TASKDIALOG_INIT_COMMON_BUTTON(OK);
#undef TASKDIALOG_INIT_COMMON_BUTTON
dialog_info->button_count = count;
@@ -621,6 +658,19 @@ static void taskdialog_layout(struct taskdialog_info *dialog_info)
dialog_height = y + size.cy;
}
+ /* Command links */
+ for (i = 0; i < dialog_info->command_link_count; i++)
+ {
+ x = main_icon_right + h_spacing;
+ y = dialog_height + v_spacing;
+ taskdialog_get_label_size(dialog_info, dialog_info->command_links[i], dialog_width - x - h_spacing, &size, FALSE);
+ size.cx = dialog_width - x - h_spacing;
+ /* Add spacing */
+ size.cy += 4;
+ SetWindowPos(dialog_info->command_links[i], 0, x, y, size.cx, size.cy, SWP_NOZORDER);
+ dialog_height = y + size.cy;
+ }
+
dialog_height = max(dialog_height, main_icon_bottom);
/* Common and custom buttons */
@@ -756,9 +806,12 @@ static void taskdialog_init(struct taskdialog_info *dialog_info, HWND hwnd)
taskdialog_add_content(dialog_info);
taskdialog_add_progress_bar(dialog_info);
taskdialog_add_radio_buttons(dialog_info);
+ taskdialog_add_command_links(dialog_info);
taskdialog_add_buttons(dialog_info);
/* Set default button */
+ if (!dialog_info->default_button && dialog_info->command_links)
+ dialog_info->default_button = dialog_info->command_links[0];
if (!dialog_info->default_button) dialog_info->default_button = dialog_info->buttons[0];
SendMessageW(dialog_info->hwnd, WM_NEXTDLGCTL, (WPARAM)dialog_info->default_button, TRUE);
id = GetWindowLongW(dialog_info->default_button, GWLP_ID);
@@ -774,6 +827,7 @@ static void taskdialog_destroy(struct taskdialog_info *dialog_info)
if (dialog_info->main_instruction_font) DeleteObject(dialog_info->main_instruction_font);
if (dialog_info->buttons) Free(dialog_info->buttons);
if (dialog_info->radio_buttons) Free(dialog_info->radio_buttons);
+ if (dialog_info->command_links) Free(dialog_info->command_links);
}
static INT_PTR CALLBACK taskdialog_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
diff --git a/dlls/comctl32/tests/taskdialog.c b/dlls/comctl32/tests/taskdialog.c
index 2cda04081f..33d3757308 100644
--- a/dlls/comctl32/tests/taskdialog.c
+++ b/dlls/comctl32/tests/taskdialog.c
@@ -323,7 +323,7 @@ static void test_callback(void)
static void test_buttons(void)
{
TASKDIALOGCONFIG info = {0};
-
+ static const DWORD command_link_flags[] = {0, TDF_USE_COMMAND_LINKS, TDF_USE_COMMAND_LINKS_NO_ICON};
TASKDIALOG_BUTTON custom_buttons[TEST_NUM_BUTTONS], radio_buttons[TEST_NUM_RADIO_BUTTONS];
const WCHAR button_format[] = {'%','0','2','d',0};
/* Each button has two digits as title, plus null-terminator */
@@ -373,31 +373,40 @@ static void test_buttons(void)
info.dwCommonButtons = TDCBF_CANCEL_BUTTON | TDCBF_CLOSE_BUTTON;
run_test(&info, IDCANCEL, 0, msg_return_press_cancel, "default button: unset default");
- /* Test with all common and custom buttons and invalid default ID */
- info.nDefaultButton = 0xff; /* Random ID, should also default to first created button */
- info.cButtons = TEST_NUM_BUTTONS;
- info.pButtons = custom_buttons;
- run_test(&info, ID_START_BUTTON, 0, msg_return_press_custom1, "default button: invalid default, with common buttons - 1");
-
- info.nDefaultButton = -1; /* Should work despite button ID -1 */
- run_test(&info, -1, 0, msg_return_press_custom10, "default button: invalid default, with common buttons - 2");
-
- info.nDefaultButton = -2; /* Should also default to first created button */
- run_test(&info, ID_START_BUTTON, 0, msg_return_press_custom1, "default button: invalid default, with common buttons - 3");
-
- /* Test with only custom buttons and invalid default ID */
- info.dwCommonButtons = 0;
- run_test(&info, ID_START_BUTTON, 0, msg_return_press_custom1, "default button: invalid default, no common buttons");
-
- /* Test with common and custom buttons and valid default ID */
- info.dwCommonButtons = TDCBF_OK_BUTTON | TDCBF_YES_BUTTON | TDCBF_NO_BUTTON
- | TDCBF_CANCEL_BUTTON | TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
- info.nDefaultButton = IDRETRY;
- run_test(&info, IDRETRY, 0, msg_return_press_retry, "default button: valid default - 1");
-
- /* Test with common and custom buttons and valid default ID */
- info.nDefaultButton = ID_START_BUTTON + 3;
- run_test(&info, ID_START_BUTTON + 3, 0, msg_return_press_custom4, "default button: valid default - 2");
+ /* Custom buttons could be command links */
+ for (i = 0; i < ARRAY_SIZE(command_link_flags); i++)
+ {
+ info.dwFlags = command_link_flags[i];
+
+ /* Test with all common and custom buttons and invalid default ID */
+ info.nDefaultButton = 0xff; /* Random ID, should also default to first created button */
+ info.cButtons = TEST_NUM_BUTTONS;
+ info.pButtons = custom_buttons;
+ run_test(&info, ID_START_BUTTON, 0, msg_return_press_custom1,
+ "default button: invalid default, with common buttons - 1");
+
+ info.nDefaultButton = -1; /* Should work despite button ID -1 */
+ run_test(&info, -1, 0, msg_return_press_custom10, "default button: invalid default, with common buttons - 2");
+
+ info.nDefaultButton = -2; /* Should also default to first created button */
+ run_test(&info, ID_START_BUTTON, 0, msg_return_press_custom1,
+ "default button: invalid default, with common buttons - 3");
+
+ /* Test with only custom buttons and invalid default ID */
+ info.dwCommonButtons = 0;
+ run_test(&info, ID_START_BUTTON, 0, msg_return_press_custom1,
+ "default button: invalid default, no common buttons");
+
+ /* Test with common and custom buttons and valid default ID */
+ info.dwCommonButtons = TDCBF_OK_BUTTON | TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON
+ | TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
+ info.nDefaultButton = IDRETRY;
+ run_test(&info, IDRETRY, 0, msg_return_press_retry, "default button: valid default - 1");
+
+ /* Test with common and custom buttons and valid default ID */
+ info.nDefaultButton = ID_START_BUTTON + 3;
+ run_test(&info, ID_START_BUTTON + 3, 0, msg_return_press_custom4, "default button: valid default - 2");
+ }
/* Test radio buttons */
info.nDefaultButton = 0;
--
2.17.1
2
1
July 5, 2018
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
---
dlls/comctl32/taskdialog.c | 139 ++++++++++++++++++++++++-
dlls/comctl32/tests/taskdialog.c | 172 +++++++++++++++++++++++++++----
2 files changed, 290 insertions(+), 21 deletions(-)
diff --git a/dlls/comctl32/taskdialog.c b/dlls/comctl32/taskdialog.c
index 5625f2bc24..207f77b012 100644
--- a/dlls/comctl32/taskdialog.c
+++ b/dlls/comctl32/taskdialog.c
@@ -58,6 +58,8 @@ struct taskdialog_info
HWND main_instruction;
HWND content;
HWND progress_bar;
+ HWND *radio_buttons;
+ INT radio_button_count;
HWND *buttons;
INT button_count;
HWND default_button;
@@ -69,6 +71,7 @@ struct taskdialog_info
LONG h_spacing;
LONG v_spacing;
} m;
+ INT selected_radio_id;
};
struct button_layout_info
@@ -185,6 +188,18 @@ static void taskdialog_enable_button(const struct taskdialog_info *dialog_info,
if (hwnd) EnableWindow(hwnd, enable);
}
+static void taskdialog_enable_radio_button(const struct taskdialog_info *dialog_info, INT id, BOOL enable)
+{
+ HWND hwnd = taskdialog_find_button(dialog_info->radio_buttons, dialog_info->radio_button_count, id);
+ if (hwnd) EnableWindow(hwnd, enable);
+}
+
+static void taskdialog_click_radio_button(const struct taskdialog_info *dialog_info, INT id)
+{
+ HWND hwnd = taskdialog_find_button(dialog_info->radio_buttons, dialog_info->radio_button_count, id);
+ if (hwnd) SendMessageW(hwnd, BM_CLICK, 0, 0);
+}
+
static HRESULT taskdialog_notify(struct taskdialog_info *dialog_info, UINT notification, WPARAM wparam, LPARAM lparam)
{
const TASKDIALOGCONFIG *taskconfig = dialog_info->taskconfig;
@@ -193,8 +208,18 @@ static HRESULT taskdialog_notify(struct taskdialog_info *dialog_info, UINT notif
: S_OK;
}
-static void taskdialog_on_button_click(struct taskdialog_info *dialog_info, WORD command_id)
+static void taskdialog_on_button_click(struct taskdialog_info *dialog_info, INT command_id)
{
+ HWND radio_button;
+
+ radio_button = taskdialog_find_button(dialog_info->radio_buttons, dialog_info->radio_button_count, command_id);
+ if (radio_button)
+ {
+ dialog_info->selected_radio_id = command_id;
+ taskdialog_notify(dialog_info, TDN_RADIO_BUTTON_CLICKED, command_id, 0);
+ return;
+ }
+
if (taskdialog_notify(dialog_info, TDN_BUTTON_CLICKED, command_id, 0) == S_OK)
EndDialog(dialog_info->hwnd, command_id);
}
@@ -269,6 +294,49 @@ static void taskdialog_get_label_size(struct taskdialog_info *dialog_info, HWND
Free(text);
}
+static void taskdialog_get_radio_button_size(struct taskdialog_info *dialog_info, HWND hwnd, LONG max_width, SIZE *size)
+{
+ DWORD style = DT_EXPANDTABS | DT_CALCRECT | DT_WORDBREAK;
+ HFONT hfont, old_hfont;
+ HDC hdc;
+ RECT rect = {0};
+ INT text_length;
+ WCHAR *text;
+ INT text_offset, radio_box_width, radio_box_height;
+
+ hdc = GetDC(hwnd);
+ hfont = (HFONT)SendMessageW(hwnd, WM_GETFONT, 0, 0);
+ old_hfont = SelectObject(hdc, hfont);
+
+ radio_box_width = 12 * GetDeviceCaps(hdc, LOGPIXELSX) / 96 + 1;
+ radio_box_height = 12 * GetDeviceCaps(hdc, LOGPIXELSY) / 96 + 1;
+ GetCharWidthW(hdc, '0', '0', &text_offset);
+ text_offset /= 2;
+
+ if (dialog_info->taskconfig->dwFlags & TDF_RTL_LAYOUT)
+ style |= DT_RIGHT | DT_RTLREADING;
+ else
+ style |= DT_LEFT;
+
+ rect.right = max_width - radio_box_width - text_offset;
+ text_length = GetWindowTextLengthW(hwnd);
+ text = Alloc((text_length + 1) * sizeof(WCHAR));
+ if (!text)
+ {
+ size->cx = 0;
+ size->cy = 0;
+ return;
+ }
+ GetWindowTextW(hwnd, text, text_length + 1);
+ size->cy = DrawTextW(hdc, text, text_length, &rect, style);
+ size->cx = min(max_width - radio_box_width - text_offset, rect.right - rect.left);
+ size->cx += radio_box_width + text_offset;
+ size->cy = max(size->cy, radio_box_height);
+ if (old_hfont) SelectObject(hdc, old_hfont);
+ Free(text);
+ ReleaseDC(hwnd, hdc);
+}
+
static ULONG_PTR taskdialog_get_standard_icon(LPCWSTR icon)
{
if (icon == TD_WARNING_ICON)
@@ -309,6 +377,28 @@ static void taskdialog_set_icon(struct taskdialog_info *dialog_info, INT element
}
}
+static void taskdialog_check_default_radio_buttons(struct taskdialog_info *dialog_info)
+{
+ const TASKDIALOGCONFIG *taskconfig = dialog_info->taskconfig;
+ HWND default_button;
+ INT id;
+
+ if (!dialog_info->radio_button_count) return;
+
+ default_button = taskdialog_find_button(dialog_info->radio_buttons, dialog_info->radio_button_count,
+ taskconfig->nDefaultRadioButton);
+
+ if (!default_button && !(taskconfig->dwFlags & TDF_NO_DEFAULT_RADIO_BUTTON))
+ default_button = dialog_info->radio_buttons[0];
+
+ if (default_button)
+ {
+ SendMessageW(default_button, BM_SETCHECK, BST_CHECKED, 0);
+ id = GetWindowLongW(default_button, GWLP_ID);
+ taskdialog_on_button_click(dialog_info, id);
+ }
+}
+
static void taskdialog_add_main_icon(struct taskdialog_info *dialog_info)
{
if (!dialog_info->taskconfig->u.hMainIcon) return;
@@ -372,6 +462,30 @@ static void taskdialog_add_progress_bar(struct taskdialog_info *dialog_info)
CreateWindowW(PROGRESS_CLASSW, NULL, style, 0, 0, 0, 0, dialog_info->hwnd, NULL, 0, NULL);
}
+static void taskdialog_add_radio_buttons(struct taskdialog_info *dialog_info)
+{
+ const TASKDIALOGCONFIG *taskconfig = dialog_info->taskconfig;
+ static const DWORD style = BS_AUTORADIOBUTTON | BS_MULTILINE | BS_TOP | WS_CHILD | WS_VISIBLE | WS_TABSTOP;
+ WCHAR *textW;
+ INT i;
+
+ if (!taskconfig->cRadioButtons || !taskconfig->pRadioButtons) return;
+
+ dialog_info->radio_buttons = Alloc(taskconfig->cRadioButtons * sizeof(*dialog_info->radio_buttons));
+ if (!dialog_info->radio_buttons) return;
+
+ dialog_info->radio_button_count = taskconfig->cRadioButtons;
+ for (i = 0; i < dialog_info->radio_button_count; i++)
+ {
+ textW = taskdialog_gettext(dialog_info, TRUE, taskconfig->pRadioButtons[i].pszButtonText);
+ dialog_info->radio_buttons[i] =
+ CreateWindowW(WC_BUTTONW, textW, i == 0 ? style | WS_GROUP : style, 0, 0, 0, 0, dialog_info->hwnd,
+ (HMENU)taskconfig->pRadioButtons[i].nButtonID, 0, NULL);
+ SendMessageW(dialog_info->radio_buttons[i], WM_SETFONT, (WPARAM)dialog_info->font, 0);
+ Free(textW);
+ }
+}
+
static void taskdialog_add_button(struct taskdialog_info *dialog_info, HWND *button, INT_PTR id, const WCHAR *text,
BOOL custom_button)
{
@@ -496,6 +610,17 @@ static void taskdialog_layout(struct taskdialog_info *dialog_info)
dialog_height = y + size.cy;
}
+ /* Radio buttons */
+ for (i = 0; i < dialog_info->radio_button_count; i++)
+ {
+ x = main_icon_right + h_spacing;
+ y = dialog_height;
+ taskdialog_get_radio_button_size(dialog_info, dialog_info->radio_buttons[i], dialog_width - x - h_spacing, &size);
+ size.cx = dialog_width - x - h_spacing;
+ SetWindowPos(dialog_info->radio_buttons[i], 0, x, y, size.cx, size.cy, SWP_NOZORDER);
+ dialog_height = y + size.cy;
+ }
+
dialog_height = max(dialog_height, main_icon_bottom);
/* Common and custom buttons */
@@ -630,6 +755,7 @@ static void taskdialog_init(struct taskdialog_info *dialog_info, HWND hwnd)
taskdialog_add_main_instruction(dialog_info);
taskdialog_add_content(dialog_info);
taskdialog_add_progress_bar(dialog_info);
+ taskdialog_add_radio_buttons(dialog_info);
taskdialog_add_buttons(dialog_info);
/* Set default button */
@@ -647,6 +773,7 @@ static void taskdialog_destroy(struct taskdialog_info *dialog_info)
if (dialog_info->font) DeleteObject(dialog_info->font);
if (dialog_info->main_instruction_font) DeleteObject(dialog_info->main_instruction_font);
if (dialog_info->buttons) Free(dialog_info->buttons);
+ if (dialog_info->radio_buttons) Free(dialog_info->radio_buttons);
}
static INT_PTR CALLBACK taskdialog_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
@@ -698,6 +825,12 @@ static INT_PTR CALLBACK taskdialog_proc(HWND hwnd, UINT msg, WPARAM wParam, LPAR
case TDM_SET_PROGRESS_BAR_MARQUEE:
SendMessageW(dialog_info->progress_bar, PBM_SETMARQUEE, wParam, lParam);
break;
+ case TDM_CLICK_RADIO_BUTTON:
+ taskdialog_click_radio_button(dialog_info, wParam);
+ break;
+ case TDM_ENABLE_RADIO_BUTTON:
+ taskdialog_enable_radio_button(dialog_info, wParam, lParam);
+ break;
case WM_INITDIALOG:
dialog_info = (struct taskdialog_info *)lParam;
@@ -706,6 +839,8 @@ static INT_PTR CALLBACK taskdialog_proc(HWND hwnd, UINT msg, WPARAM wParam, LPAR
SetPropW(hwnd, taskdialog_info_propnameW, dialog_info);
taskdialog_notify(dialog_info, TDN_DIALOG_CONSTRUCTED, 0, 0);
taskdialog_notify(dialog_info, TDN_CREATED, 0, 0);
+ /* Default radio button click notification sent after TDN_CREATED */
+ taskdialog_check_default_radio_buttons(dialog_info);
return FALSE;
case WM_COMMAND:
if (HIWORD(wParam) == BN_CLICKED)
@@ -771,7 +906,7 @@ HRESULT WINAPI TaskDialogIndirect(const TASKDIALOGCONFIG *taskconfig, int *butto
Free(template);
if (button) *button = ret;
- if (radio_button) *radio_button = taskconfig->nDefaultButton;
+ if (radio_button) *radio_button = dialog_info.selected_radio_id;
if (verification_flag_checked) *verification_flag_checked = TRUE;
return S_OK;
diff --git a/dlls/comctl32/tests/taskdialog.c b/dlls/comctl32/tests/taskdialog.c
index e91a878876..2cda04081f 100644
--- a/dlls/comctl32/tests/taskdialog.c
+++ b/dlls/comctl32/tests/taskdialog.c
@@ -35,9 +35,11 @@
#define TASKDIALOG_SEQ_INDEX 0
#define TEST_NUM_BUTTONS 10 /* Number of custom buttons to test with */
+#define TEST_NUM_RADIO_BUTTONS 3
#define ID_START 20 /* Lower IDs might be used by the system */
#define ID_START_BUTTON (ID_START + 0)
+#define ID_START_RADIO_BUTTON (ID_START + 20)
static HRESULT (WINAPI *pTaskDialogIndirect)(const TASKDIALOGCONFIG *, int *, int *, BOOL *);
static HRESULT (WINAPI *pTaskDialog)(HWND, HINSTANCE, const WCHAR *, const WCHAR *, const WCHAR *,
@@ -141,6 +143,78 @@ static const struct message_info msg_got_tdn_help[] =
{ 0 }
};
+/* Three radio buttons */
+static const struct message_info msg_return_default_radio_button_1[] =
+{
+ { TDN_CREATED, 0, 0, S_OK, NULL },
+ { TDN_RADIO_BUTTON_CLICKED, ID_START_RADIO_BUTTON, 0, S_OK, msg_send_click_ok },
+ { TDN_BUTTON_CLICKED, IDOK, 0, S_OK, NULL },
+ { 0 }
+};
+
+static const struct message_info msg_return_default_radio_button_2[] =
+{
+ { TDN_CREATED, 0, 0, S_OK, NULL },
+ { TDN_RADIO_BUTTON_CLICKED, ID_START_RADIO_BUTTON + 1, 0, S_OK, msg_send_click_ok },
+ { TDN_BUTTON_CLICKED, IDOK, 0, S_OK, NULL },
+ { 0 }
+};
+
+static const struct message_info msg_return_default_radio_button_3[] =
+{
+ { TDN_CREATED, 0, 0, S_OK, NULL },
+ { TDN_RADIO_BUTTON_CLICKED, -2, 0, S_OK, msg_send_click_ok },
+ { TDN_BUTTON_CLICKED, IDOK, 0, S_OK, NULL },
+ { 0 }
+};
+
+static const struct message_info msg_select_first_radio_button[] =
+{
+ { TDM_CLICK_RADIO_BUTTON, ID_START_RADIO_BUTTON, 0 },
+ { 0 }
+};
+
+static const struct message_info msg_return_first_radio_button[] =
+{
+ { TDN_CREATED, 0, 0, S_OK, NULL },
+ { TDN_RADIO_BUTTON_CLICKED, ID_START_RADIO_BUTTON + 1, 0, S_OK, msg_select_first_radio_button },
+ { TDN_RADIO_BUTTON_CLICKED, ID_START_RADIO_BUTTON, 0, S_OK, msg_send_click_ok },
+ { TDN_BUTTON_CLICKED, IDOK, 0, S_OK, NULL },
+ { 0 }
+};
+
+static const struct message_info msg_select_first_disabled_radio_button_and_press_ok[] =
+{
+ { TDM_ENABLE_RADIO_BUTTON, ID_START_RADIO_BUTTON, 0 },
+ { TDM_CLICK_RADIO_BUTTON, ID_START_RADIO_BUTTON, 0 },
+ { TDM_CLICK_BUTTON, IDOK, 0 },
+ { 0 }
+};
+
+static const struct message_info msg_return_default_radio_button_clicking_disabled[] =
+{
+ { TDN_CREATED, 0, 0, S_OK, NULL },
+ { TDN_RADIO_BUTTON_CLICKED, ID_START_RADIO_BUTTON + 1, 0, S_OK, msg_select_first_disabled_radio_button_and_press_ok },
+ { TDN_RADIO_BUTTON_CLICKED, ID_START_RADIO_BUTTON, 0, S_OK, NULL },
+ { TDN_BUTTON_CLICKED, IDOK, 0, S_OK, NULL },
+ { 0 }
+};
+
+static const struct message_info msg_return_no_default_radio_button_flag[] =
+{
+ { TDN_CREATED, 0, 0, S_OK, msg_send_click_ok },
+ { TDN_RADIO_BUTTON_CLICKED, ID_START_RADIO_BUTTON, 0, S_OK, NULL },
+ { TDN_BUTTON_CLICKED, IDOK, 0, S_OK, NULL },
+ { 0 }
+};
+
+static const struct message_info msg_return_no_default_radio_button_id_and_flag[] =
+{
+ { TDN_CREATED, 0, 0, S_OK, msg_send_click_ok },
+ { TDN_BUTTON_CLICKED, IDOK, 0, S_OK, NULL },
+ { 0 }
+};
+
static void init_test_message(UINT message, WPARAM wParam, LPARAM lParam, struct message *msg)
{
msg->message = WM_TD_CALLBACK;
@@ -151,11 +225,13 @@ static void init_test_message(UINT message, WPARAM wParam, LPARAM lParam, struct
msg->stage = 0;
}
-#define run_test(info, expect_button, seq, context) \
- run_test_(info, expect_button, seq, context, ARRAY_SIZE(seq) - 1, __FILE__, __LINE__)
+#define run_test(info, expect_button, expect_radio_button, seq, context) \
+ run_test_(info, expect_button, expect_radio_button, seq, context, \
+ ARRAY_SIZE(seq) - 1, __FILE__, __LINE__)
-static void run_test_(TASKDIALOGCONFIG *info, int expect_button, const struct message_info *test_messages,
- const char *context, int test_messages_len, const char *file, int line)
+static void run_test_(TASKDIALOGCONFIG *info, int expect_button, int expect_radio_button,
+ const struct message_info *test_messages, const char *context, int test_messages_len,
+ const char *file, int line)
{
struct message *msg, *msg_start;
int ret_button = 0;
@@ -182,6 +258,8 @@ static void run_test_(TASKDIALOGCONFIG *info, int expect_button, const struct me
ok_sequence_(sequences, TASKDIALOG_SEQ_INDEX, msg_start, context, FALSE, file, line);
ok_(file, line)(ret_button == expect_button,
"Wrong button. Expected %d, got %d\n", expect_button, ret_button);
+ ok_(file, line)(ret_radio == expect_radio_button,
+ "Wrong radio button. Expected %d, got %d\n", expect_radio_button, ret_radio);
heap_free(msg_start);
}
@@ -239,16 +317,17 @@ static void test_callback(void)
info.pfCallback = taskdialog_callback_proc;
info.lpCallbackData = test_ref_data;
- run_test(&info, IDOK, msg_return_press_ok, "Press VK_RETURN.");
+ run_test(&info, IDOK, 0, msg_return_press_ok, "Press VK_RETURN.");
}
static void test_buttons(void)
{
TASKDIALOGCONFIG info = {0};
- TASKDIALOG_BUTTON custom_buttons[TEST_NUM_BUTTONS];
+ TASKDIALOG_BUTTON custom_buttons[TEST_NUM_BUTTONS], radio_buttons[TEST_NUM_RADIO_BUTTONS];
const WCHAR button_format[] = {'%','0','2','d',0};
- WCHAR button_titles[TEST_NUM_BUTTONS * 3]; /* Each button has two digits as title, plus null-terminator */
+ /* Each button has two digits as title, plus null-terminator */
+ WCHAR button_titles[TEST_NUM_BUTTONS * 3], radio_button_titles[TEST_NUM_BUTTONS * 3];
int i;
info.cbSize = sizeof(TASKDIALOGCONFIG);
@@ -266,48 +345,103 @@ static void test_buttons(void)
}
custom_buttons[TEST_NUM_BUTTONS - 1].nButtonID = -1;
+ /* Init radio buttons */
+ for (i = 0; i < TEST_NUM_RADIO_BUTTONS; i++)
+ {
+ WCHAR *text = &radio_button_titles[i * 3];
+ wsprintfW(text, button_format, i);
+
+ radio_buttons[i].pszButtonText = text;
+ radio_buttons[i].nButtonID = ID_START_RADIO_BUTTON + i;
+ }
+ radio_buttons[TEST_NUM_RADIO_BUTTONS - 1].nButtonID = -2;
+
/* Test nDefaultButton */
/* Test common buttons with invalid default ID */
info.nDefaultButton = 0; /* Should default to first created button */
info.dwCommonButtons = TDCBF_OK_BUTTON | TDCBF_YES_BUTTON | TDCBF_NO_BUTTON
| TDCBF_CANCEL_BUTTON | TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
- run_test(&info, IDOK, msg_return_press_ok, "default button: unset default");
+ run_test(&info, IDOK, 0, msg_return_press_ok, "default button: unset default");
info.dwCommonButtons = TDCBF_YES_BUTTON | TDCBF_NO_BUTTON
| TDCBF_CANCEL_BUTTON | TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
- run_test(&info, IDYES, msg_return_press_yes, "default button: unset default");
+ run_test(&info, IDYES, 0, msg_return_press_yes, "default button: unset default");
info.dwCommonButtons = TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON | TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
- run_test(&info, IDNO, msg_return_press_no, "default button: unset default");
+ run_test(&info, IDNO, 0, msg_return_press_no, "default button: unset default");
info.dwCommonButtons = TDCBF_CANCEL_BUTTON | TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
- run_test(&info, IDRETRY, msg_return_press_retry, "default button: unset default");
+ run_test(&info, IDRETRY, 0, msg_return_press_retry, "default button: unset default");
info.dwCommonButtons = TDCBF_CANCEL_BUTTON | TDCBF_CLOSE_BUTTON;
- run_test(&info, IDCANCEL, msg_return_press_cancel, "default button: unset default");
+ run_test(&info, IDCANCEL, 0, msg_return_press_cancel, "default button: unset default");
/* Test with all common and custom buttons and invalid default ID */
info.nDefaultButton = 0xff; /* Random ID, should also default to first created button */
info.cButtons = TEST_NUM_BUTTONS;
info.pButtons = custom_buttons;
- run_test(&info, ID_START_BUTTON, msg_return_press_custom1, "default button: invalid default, with common buttons - 1");
+ run_test(&info, ID_START_BUTTON, 0, msg_return_press_custom1, "default button: invalid default, with common buttons - 1");
info.nDefaultButton = -1; /* Should work despite button ID -1 */
- run_test(&info, -1, msg_return_press_custom10, "default button: invalid default, with common buttons - 2");
+ run_test(&info, -1, 0, msg_return_press_custom10, "default button: invalid default, with common buttons - 2");
info.nDefaultButton = -2; /* Should also default to first created button */
- run_test(&info, ID_START_BUTTON, msg_return_press_custom1, "default button: invalid default, with common buttons - 3");
+ run_test(&info, ID_START_BUTTON, 0, msg_return_press_custom1, "default button: invalid default, with common buttons - 3");
/* Test with only custom buttons and invalid default ID */
info.dwCommonButtons = 0;
- run_test(&info, ID_START_BUTTON, msg_return_press_custom1, "default button: invalid default, no common buttons");
+ run_test(&info, ID_START_BUTTON, 0, msg_return_press_custom1, "default button: invalid default, no common buttons");
/* Test with common and custom buttons and valid default ID */
info.dwCommonButtons = TDCBF_OK_BUTTON | TDCBF_YES_BUTTON | TDCBF_NO_BUTTON
| TDCBF_CANCEL_BUTTON | TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
info.nDefaultButton = IDRETRY;
- run_test(&info, IDRETRY, msg_return_press_retry, "default button: valid default - 1");
+ run_test(&info, IDRETRY, 0, msg_return_press_retry, "default button: valid default - 1");
/* Test with common and custom buttons and valid default ID */
info.nDefaultButton = ID_START_BUTTON + 3;
- run_test(&info, ID_START_BUTTON + 3, msg_return_press_custom4, "default button: valid default - 2");
+ run_test(&info, ID_START_BUTTON + 3, 0, msg_return_press_custom4, "default button: valid default - 2");
+
+ /* Test radio buttons */
+ info.nDefaultButton = 0;
+ info.cButtons = 0;
+ info.pButtons = 0;
+ info.dwCommonButtons = TDCBF_OK_BUTTON;
+ info.cRadioButtons = TEST_NUM_RADIO_BUTTONS;
+ info.pRadioButtons = radio_buttons;
+
+ /* Test default first radio button */
+ run_test(&info, IDOK, ID_START_RADIO_BUTTON, msg_return_default_radio_button_1, "default radio button: default first radio button");
+
+ /* Test default radio button */
+ info.nDefaultRadioButton = ID_START_RADIO_BUTTON + 1;
+ run_test(&info, IDOK, info.nDefaultRadioButton, msg_return_default_radio_button_2, "default radio button: default radio button");
+
+ /* Test default radio button with -2 */
+ info.nDefaultRadioButton = -2;
+ run_test(&info, IDOK, info.nDefaultRadioButton, msg_return_default_radio_button_3, "default radio button: default radio button with id -2");
+
+ /* Test default radio button after clicking the first, messages still work even radio button is disabled */
+ info.nDefaultRadioButton = ID_START_RADIO_BUTTON + 1;
+ run_test(&info, IDOK, ID_START_RADIO_BUTTON, msg_return_first_radio_button, "default radio button: radio button after clicking");
+
+ /* Test radio button after disabling and clicking the first */
+ info.nDefaultRadioButton = ID_START_RADIO_BUTTON + 1;
+ run_test(&info, IDOK, ID_START_RADIO_BUTTON, msg_return_default_radio_button_clicking_disabled, "default radio button: disable radio button before clicking");
+
+ /* Test no default radio button, TDF_NO_DEFAULT_RADIO_BUTTON is set, TDN_RADIO_BUTTON_CLICKED will still be received, just radio button not selected */
+ info.nDefaultRadioButton = ID_START_RADIO_BUTTON;
+ info.dwFlags = TDF_NO_DEFAULT_RADIO_BUTTON;
+ run_test(&info, IDOK, info.nDefaultRadioButton, msg_return_no_default_radio_button_flag, "default radio button: no default radio flag");
+
+ /* Test no default radio button, TDF_NO_DEFAULT_RADIO_BUTTON is set and nDefaultRadioButton is 0.
+ * TDN_RADIO_BUTTON_CLICKED will not be sent, and just radio button not selected */
+ info.nDefaultRadioButton = 0;
+ info.dwFlags = TDF_NO_DEFAULT_RADIO_BUTTON;
+ run_test(&info, IDOK, 0, msg_return_no_default_radio_button_id_and_flag, "default radio button: no default radio id and flag");
+
+ /* Test no default radio button, TDF_NO_DEFAULT_RADIO_BUTTON is set and nDefaultRadioButton is invalid.
+ * TDN_RADIO_BUTTON_CLICKED will not be sent, and just radio button not selected */
+ info.nDefaultRadioButton = 0xff;
+ info.dwFlags = TDF_NO_DEFAULT_RADIO_BUTTON;
+ run_test(&info, IDOK, 0, msg_return_no_default_radio_button_id_and_flag, "default radio button: no default flag, invalid id");
}
static void test_help(void)
@@ -319,7 +453,7 @@ static void test_help(void)
info.lpCallbackData = test_ref_data;
info.dwCommonButtons = TDCBF_OK_BUTTON;
- run_test(&info, IDOK, msg_got_tdn_help, "send f1");
+ run_test(&info, IDOK, 0, msg_got_tdn_help, "send f1");
}
struct timer_notification_data
--
2.17.1
2
1
[PATCH v2 1/3] comctl32/taskdialog: Use dynamic buffer for taskdialog_get_label_size().
by Zhiyi Zhang July 5, 2018
by Zhiyi Zhang July 5, 2018
July 5, 2018
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
---
dlls/comctl32/taskdialog.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/comctl32/taskdialog.c b/dlls/comctl32/taskdialog.c
index 33fb578910..5625f2bc24 100644
--- a/dlls/comctl32/taskdialog.c
+++ b/dlls/comctl32/taskdialog.c
@@ -235,7 +235,7 @@ static void taskdialog_get_label_size(struct taskdialog_info *dialog_info, HWND
HFONT hfont, old_hfont;
HDC hdc;
RECT rect = {0};
- WCHAR text[1024];
+ WCHAR *text;
INT text_length;
if (syslink)
@@ -250,7 +250,15 @@ static void taskdialog_get_label_size(struct taskdialog_info *dialog_info, HWND
style |= DT_LEFT;
hfont = (HFONT)SendMessageW(hwnd, WM_GETFONT, 0, 0);
- text_length = GetWindowTextW(hwnd, text, ARRAY_SIZE(text));
+ text_length = GetWindowTextLengthW(hwnd);
+ text = Alloc((text_length + 1) * sizeof(WCHAR));
+ if (!text)
+ {
+ size->cx = 0;
+ size->cy = 0;
+ return;
+ }
+ GetWindowTextW(hwnd, text, text_length + 1);
hdc = GetDC(hwnd);
old_hfont = SelectObject(hdc, hfont);
rect.right = max_width;
@@ -258,6 +266,7 @@ static void taskdialog_get_label_size(struct taskdialog_info *dialog_info, HWND
size->cx = min(max_width, rect.right - rect.left);
if (old_hfont) SelectObject(hdc, old_hfont);
ReleaseDC(hwnd, hdc);
+ Free(text);
}
static ULONG_PTR taskdialog_get_standard_icon(LPCWSTR icon)
--
2.17.1
2
1
The message text is the same as on windows,
since the exit code doesn't seem reliable.
Currently only supports single line searching,
and not unicode aware. I'll add tests and if needed an implementation
for that sometime later.
Signed-off-by: Fabian Maurer <dark.shadow4(a)web.de>
---
configure | 25 ++----
configure.ac | 1 +
programs/find/Makefile.in | 5 +-
programs/find/find.c | 112 +++++++++++++++++++++--
programs/find/resources.h | 27 ++++++
programs/find/rsrc.rc | 25 ++++++
programs/find/tests/Makefile.in | 4 +
programs/find/tests/find.c | 151 ++++++++++++++++++++++++++++++++
8 files changed, 326 insertions(+), 24 deletions(-)
create mode 100644 programs/find/resources.h
create mode 100644 programs/find/rsrc.rc
create mode 100644 programs/find/tests/Makefile.in
create mode 100644 programs/find/tests/find.c
diff --git a/configure b/configure
index 299fb407d8..56e7dde04c 100755
--- a/configure
+++ b/configure
@@ -800,7 +800,6 @@ infodir
docdir
oldincludedir
includedir
-runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -1862,7 +1861,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -2115,15 +2113,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
- -runstatedir | --runstatedir | --runstatedi | --runstated \
- | --runstate | --runstat | --runsta | --runst | --runs \
- | --run | --ru | --r)
- ac_prev=runstatedir ;;
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- | --run=* | --ru=* | --r=*)
- runstatedir=$ac_optarg ;;
-
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -2261,7 +2250,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir runstatedir
+ libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -2414,7 +2403,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -6626,7 +6614,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6672,7 +6660,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6696,7 +6684,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6741,7 +6729,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6765,7 +6753,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -19379,6 +19367,7 @@ wine_fn_config_makefile programs/explorer enable_explorer
wine_fn_config_makefile programs/extrac32 enable_extrac32
wine_fn_config_makefile programs/fc enable_fc
wine_fn_config_makefile programs/find enable_find
+wine_fn_config_makefile programs/find/tests enable_tests
wine_fn_config_makefile programs/findstr enable_findstr
wine_fn_config_makefile programs/fsutil enable_fsutil
wine_fn_config_makefile programs/hh enable_hh
diff --git a/configure.ac b/configure.ac
index 469fa8d729..1d6a4cf1c6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3878,6 +3878,7 @@ WINE_CONFIG_MAKEFILE(programs/explorer)
WINE_CONFIG_MAKEFILE(programs/extrac32)
WINE_CONFIG_MAKEFILE(programs/fc)
WINE_CONFIG_MAKEFILE(programs/find)
+WINE_CONFIG_MAKEFILE(programs/find/tests)
WINE_CONFIG_MAKEFILE(programs/findstr)
WINE_CONFIG_MAKEFILE(programs/fsutil)
WINE_CONFIG_MAKEFILE(programs/hh)
diff --git a/programs/find/Makefile.in b/programs/find/Makefile.in
index ef8d61b7ce..4a90905986 100644
--- a/programs/find/Makefile.in
+++ b/programs/find/Makefile.in
@@ -1,4 +1,7 @@
MODULE = find.exe
-APPMODE = -mconsole -municode
+APPMODE = -mconsole
+IMPORTS = user32 shlwapi
C_SRCS = find.c
+
+RC_SRCS = rsrc.rc
diff --git a/programs/find/find.c b/programs/find/find.c
index 9d7aecd402..937f773243 100644
--- a/programs/find/find.c
+++ b/programs/find/find.c
@@ -16,18 +16,120 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include <windows.h>
+#include <stdlib.h>
+#include <shlwapi.h>
+
+#include "wine/heap.h"
#include "wine/debug.h"
+#include "resources.h"
WINE_DEFAULT_DEBUG_CHANNEL(find);
-int wmain(int argc, WCHAR *argv[])
+char* read_from_pipe(HANDLE handle)
+{
+ char buffer[4096];
+ DWORD bytes_read;
+ DWORD length = 0;
+ BOOL success;
+ char *ret = heap_alloc_zero(1);
+
+ for (;;)
+ {
+ success = ReadFile(handle, buffer, sizeof(buffer), &bytes_read, NULL);
+ if (!success || !bytes_read)
+ break;
+ ret = heap_realloc(ret, length + bytes_read);
+ memcpy((char *)ret + length, buffer, bytes_read);
+ length += bytes_read;
+ }
+
+ ret[length] = 0;
+ return ret;
+}
+
+void write_to_pipe(HANDLE handle, const char *str)
+{
+ DWORD bytes_written_sum = 0;
+ DWORD length = lstrlenA(str);
+ do
+ {
+ DWORD bytes_written;
+ WriteFile(handle, str, length * sizeof(char), &bytes_written, NULL);
+ bytes_written_sum += bytes_written;
+ } while (bytes_written_sum < length);
+}
+
+void find_printf(const char *str)
+{
+ write_to_pipe(GetStdHandle(STD_OUTPUT_HANDLE), str);
+}
+
+int do_find(const char *text, const char* tofind)
{
+ void *found;
+
+ if (lstrlenA(text) == 0)
+ return 1;
+
+ found = StrStrA(text, tofind);
+
+ if (found)
+ {
+ find_printf(text);
+ find_printf("\r\n");
+ return 0;
+ }
+
+ return 1;
+}
+
+int main(int argc, char *argv[])
+{
+ char *text_stdin;
+ char *tofind = NULL;
+ char message_parameter_invalid[64];
+ char message_switch_invalid[64];
int i;
+ int exitcode;
- WINE_FIXME("stub:");
+ TRACE("running find:");
for (i = 0; i < argc; i++)
- WINE_FIXME(" %s", wine_dbgstr_w(argv[i]));
- WINE_FIXME("\n");
+ {
+ TRACE(" %s", argv[i]);
+ }
+ TRACE("\n");
+
+ LoadStringA(GetModuleHandleW(NULL), IDS_INVALID_PARAMETER, message_parameter_invalid, sizeof(message_parameter_invalid));
+ LoadStringA(GetModuleHandleW(NULL), IDS_INVALID_SWITCH, message_switch_invalid, sizeof(message_switch_invalid));
+
+ /* We read the complete input at once, for simplicity */
+ text_stdin = read_from_pipe(GetStdHandle(STD_INPUT_HANDLE));
+
+ for (i = 1; i < argc; i++)
+ {
+ if (argv[i][0] == '/')
+ {
+ find_printf(message_switch_invalid);
+ exitcode = 2;
+ goto cleanup;
+ }
+ else if(tofind == NULL)
+ {
+ tofind = argv[i];
+ }
+ }
+
+ if (tofind == NULL)
+ {
+ find_printf(message_parameter_invalid);
+ exitcode = 2;
+ goto cleanup;
+ }
+
+ exitcode = do_find(text_stdin, tofind);
- return 0;
+cleanup:
+ heap_free(text_stdin);
+ return exitcode;
}
diff --git a/programs/find/resources.h b/programs/find/resources.h
new file mode 100644
index 0000000000..8712d91e36
--- /dev/null
+++ b/programs/find/resources.h
@@ -0,0 +1,27 @@
+/*
+ * Resource IDs
+ *
+ * Copyright 2018 Fabian Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __WINE_FIND_RESOURCES_H
+#define __WINE_FIND_RESOURCES_H
+
+#define IDS_INVALID_PARAMETER 1000
+#define IDS_INVALID_SWITCH 1001
+
+#endif /* __WINE_FIND_RESOURCES_H */
diff --git a/programs/find/rsrc.rc b/programs/find/rsrc.rc
new file mode 100644
index 0000000000..f10fb6285f
--- /dev/null
+++ b/programs/find/rsrc.rc
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2018 Fabian Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "resources.h"
+
+STRINGTABLE
+{
+ IDS_INVALID_PARAMETER "FIND: Parameter format not correct\r\n"
+ IDS_INVALID_SWITCH "FIND: Invalid switch\r\n"
+}
diff --git a/programs/find/tests/Makefile.in b/programs/find/tests/Makefile.in
new file mode 100644
index 0000000000..ad88243ede
--- /dev/null
+++ b/programs/find/tests/Makefile.in
@@ -0,0 +1,4 @@
+TESTDLL = find.exe
+
+C_SRCS = \
+ find.c
diff --git a/programs/find/tests/find.c b/programs/find/tests/find.c
new file mode 100644
index 0000000000..2dce343965
--- /dev/null
+++ b/programs/find/tests/find.c
@@ -0,0 +1,151 @@
+/*
+ * Copyright 2018 Fabian Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <windows.h>
+#include <stdio.h>
+
+#include "wine/heap.h"
+#include "wine/test.h"
+
+/* Copied from find.exe implementation */
+char* read_from_pipe(HANDLE handle)
+{
+ char buffer[4096];
+ DWORD bytes_read;
+ DWORD length = 0;
+ BOOL success;
+ char *ret = heap_alloc_zero(1);
+
+ for (;;)
+ {
+ success = ReadFile(handle, buffer, sizeof(buffer), &bytes_read, NULL);
+ if (!success || !bytes_read)
+ break;
+ ret = heap_realloc(ret, length + bytes_read);
+ memcpy((char *)ret + length, buffer, bytes_read);
+ length += bytes_read;
+ }
+
+ ret[length] = 0;
+ return ret;
+}
+
+/* Copied from find.exe implementation */
+void write_to_pipe(HANDLE handle, const char *str)
+{
+ DWORD bytes_written_sum = 0;
+ DWORD length = lstrlenA(str);
+ do
+ {
+ DWORD bytes_written;
+ WriteFile(handle, str, length * sizeof(char), &bytes_written, NULL);
+ bytes_written_sum += bytes_written;
+ } while (bytes_written_sum < length);
+}
+
+#define run_find(commandline, input, out_expected, exitcode_expected) \
+ run_find_(commandline, input, out_expected, exitcode_expected, __FILE__, __LINE__)
+
+static void run_find_(const char *commandline, const char *input, const char *out_expected, int exitcode_expected, const char *file, int line)
+{
+ HANDLE child_stdin_read;
+ HANDLE child_stdout_write;
+ HANDLE parent_stdin_write;
+ HANDLE parent_stdout_read;
+ STARTUPINFOA startup_info = {0};
+ SECURITY_ATTRIBUTES security_attributes;
+ PROCESS_INFORMATION process_info = {0};
+ char *child_output = NULL;
+ char cmd[4096];
+ int comparison;
+ DWORD exitcode;
+
+ security_attributes.nLength = sizeof(SECURITY_ATTRIBUTES);
+ security_attributes.bInheritHandle = TRUE;
+ security_attributes.lpSecurityDescriptor = NULL;
+
+ CreatePipe(&parent_stdout_read, &child_stdout_write, &security_attributes, 0);
+ CreatePipe(&child_stdin_read, &parent_stdin_write, &security_attributes, 0);
+
+ SetHandleInformation(parent_stdout_read, HANDLE_FLAG_INHERIT, 0);
+ SetHandleInformation(parent_stdin_write, HANDLE_FLAG_INHERIT, 0);
+
+ startup_info.cb = sizeof(STARTUPINFOW);
+ startup_info.hStdInput = child_stdin_read;
+ startup_info.hStdOutput = child_stdout_write;
+ startup_info.hStdError = NULL;
+ startup_info.dwFlags |= STARTF_USESTDHANDLES;
+
+ sprintf(cmd, "find.exe %s", commandline);
+ CreateProcessA(NULL, cmd, NULL, NULL, TRUE, 0, NULL, NULL, &startup_info, &process_info);
+ CloseHandle(child_stdin_read);
+ CloseHandle(child_stdout_write);
+
+ write_to_pipe(parent_stdin_write, input);
+ CloseHandle(parent_stdin_write);
+
+ child_output = read_from_pipe(parent_stdout_read);
+ CloseHandle(parent_stdout_read);
+
+ GetExitCodeProcess(process_info.hProcess, &exitcode);
+ CloseHandle(process_info.hProcess);
+ CloseHandle(process_info.hThread);
+
+ comparison = lstrcmpA(child_output, out_expected);
+
+ ok_(file, line)(comparison == 0, "\n#################### Expected:\n"
+ "%s\n"
+ "#################### But got:\n"
+ "%s\n"
+ "####################\n",
+ out_expected, child_output);
+ ok_(file, line)(exitcode == exitcode_expected, "Expected exitcode %d, got %d\n", exitcode_expected, exitcode);
+
+ heap_free(child_output);
+}
+
+static void test_errors(void)
+{
+ run_find("", "", "FIND: Parameter format not correct\r\n", 2);
+ todo_wine
+ run_find("test", "", "FIND: Parameter format not correct\r\n", 2);
+ todo_wine
+ run_find("\"test", "", "FIND: Parameter format not correct\r\n", 2);
+ run_find("\"test\" /XYZ", "", "FIND: Invalid switch\r\n", 2);
+}
+
+static void test_singleline_without_switches(void)
+{
+ run_find("\"\"", "test", "", 1);
+ run_find("\"test\"", "", "", 1);
+ run_find("\"test\"", "test", "test\r\n", 0);
+ run_find("\"test\"", "test2", "test2\r\n", 0);
+ run_find("\"test2\"", "test", "", 1);
+}
+
+START_TEST(find)
+{
+ if (PRIMARYLANGID(GetUserDefaultUILanguage()) != LANG_ENGLISH)
+ {
+ skip("Tests only work with english locale.\n");
+ return;
+ }
+
+ test_errors();
+ test_singleline_without_switches();
+}
--
2.17.1
2
3
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
5
6
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
2
1
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
2
2
Hello all,
It would be really nice to be able to link to Wine's strmbase in tests.
There is already one test that implements large parts of the filter and
pin functionality that is used there, and it seems to me that it would
be in our interest to be able to add more tests that would involve
putting our own filters in graphs, e.g. to be able to test filter and
pin methods directly, or to stream large amounts of data without having
to put it in resource files.
This almost "just works". The only thing preventing simply adding
"#include <wine/strmbase.h>" and linking to strmbase is that the latter
uses debug functions which live in libwine, and so cross-compiling
results in undefined references to wine_dbg_log() and wine_dbg_sprintf().
I've attached a patch as a proof-of-concept, which provides stubs for
these functions (actually they are semi-stubs, as they proved useful
when debugging the patch itself). As can be seen, it reduces the code
necessary to set up test_render_filter_priority() to 1/3 of its original
length (and it might be possible to reduce it further by using
BaseRenderer and TransformFilter).
Is this something that would be workable?
į¼ĻĻĻĻθε,
Zeb
3
5
June 30, 2018
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
1
0
June 30, 2018
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
1
0
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
2
1
June 29, 2018
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
1
0
June 28, 2018
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
2
1