* Sync with Wine 1.7.1.
CORE-7469

svn path=/trunk/; revision=60418
This commit is contained in:
Amine Khaldi 2013-09-28 15:11:02 +00:00
parent acc5008965
commit 60903c1fbd
9 changed files with 408 additions and 301 deletions

View file

@ -1,7 +1,6 @@
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
add_definitions(-D__WINESRC__)
spec2def(usp10.dll usp10.spec ADD_IMPORTLIB)
list(APPEND SOURCE
@ -10,21 +9,16 @@ list(APPEND SOURCE
indic.c
indicsyllable.c
linebreak.c
usp10.c
mirror.c
opentype.c
shape.c
shaping.c
usp10.c
${CMAKE_CURRENT_BINARY_DIR}/usp10_stubs.c
${CMAKE_CURRENT_BINARY_DIR}/usp10.def)
add_library(usp10 SHARED ${SOURCE})
set_module_type(usp10 win32dll)
target_link_libraries(usp10 wine)
add_importlibs(usp10 advapi32 user32 gdi32 msvcrt kernel32 ntdll)
add_cd_file(TARGET usp10 DESTINATION reactos/system32 FOR all)

View file

@ -38,7 +38,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(uniscribe);
extern const unsigned short wine_linebreak_table[];
enum breaking_types { b_BK=1, b_CR, b_LF, b_CM, b_SG, b_GL, b_CB, b_SP, b_ZW, b_NL, b_WJ, b_JL, b_JV, b_JT, b_H2, b_H3, b_XX, b_OP, b_CL, b_CP, b_QU, b_NS, b_EX, b_SY, b_IS, b_PR, b_PO, b_NU, b_AL, b_ID, b_IN, b_HY, b_BB, b_BA, b_SA, b_AI, b_B2};
enum breaking_types { b_BK=1, b_CR, b_LF, b_CM, b_SG, b_GL, b_CB, b_SP, b_ZW, b_NL, b_WJ, b_JL, b_JV, b_JT, b_H2, b_H3, b_XX, b_OP, b_CL, b_CP, b_QU, b_NS, b_EX, b_SY, b_IS, b_PR, b_PO, b_NU, b_AL, b_ID, b_IN, b_HY, b_BB, b_BA, b_SA, b_AI, b_B2, b_HL, b_CJ, b_RI};
enum breaking_class {b_r=1, b_s, b_x};
@ -97,6 +97,7 @@ void BREAK_line(const WCHAR *chars, int count, const SCRIPT_ANALYSIS *sa, SCRIPT
break;
case b_CM:
la[i].fCharStop = FALSE;
break;
}
}
@ -111,6 +112,10 @@ void BREAK_line(const WCHAR *chars, int count, const SCRIPT_ANALYSIS *sa, SCRIPT
case b_SG:
case b_XX:
break_class[i] = b_AL;
break;
case b_CJ:
break_class[i] = b_NS;
break;
}
}
@ -283,6 +288,16 @@ void BREAK_line(const WCHAR *chars, int count, const SCRIPT_ANALYSIS *sa, SCRIPT
if (i < count-1)
else_break(&break_before[i+1],b_x);
break;
/* LB21a */
case b_HL:
if (i < count-2)
switch (break_class[i+1])
{
case b_HY:
case b_BA:
else_break(&break_before[i+2], b_x);
}
break;
/* LB22 */
case b_IN:
if (i > 0)
@ -290,6 +305,7 @@ void BREAK_line(const WCHAR *chars, int count, const SCRIPT_ANALYSIS *sa, SCRIPT
switch (break_class[i-1])
{
case b_AL:
case b_HL:
case b_ID:
case b_IN:
case b_NU:
@ -304,12 +320,16 @@ void BREAK_line(const WCHAR *chars, int count, const SCRIPT_ANALYSIS *sa, SCRIPT
/* LB23 */
if ((break_class[i] == b_ID && break_class[i+1] == b_PO) ||
(break_class[i] == b_AL && break_class[i+1] == b_NU) ||
(break_class[i] == b_NU && break_class[i+1] == b_AL))
(break_class[i] == b_HL && break_class[i+1] == b_NU) ||
(break_class[i] == b_NU && break_class[i+1] == b_AL) ||
(break_class[i] == b_NU && break_class[i+1] == b_HL))
else_break(&break_before[i+1],b_x);
/* LB24 */
if ((break_class[i] == b_PR && break_class[i+1] == b_ID) ||
(break_class[i] == b_PR && break_class[i+1] == b_AL) ||
(break_class[i] == b_PO && break_class[i+1] == b_AL))
(break_class[i] == b_PR && break_class[i+1] == b_HL) ||
(break_class[i] == b_PO && break_class[i+1] == b_AL) ||
(break_class[i] == b_PO && break_class[i+1] == b_HL))
else_break(&break_before[i+1],b_x);
/* LB25 */
@ -373,19 +393,27 @@ void BREAK_line(const WCHAR *chars, int count, const SCRIPT_ANALYSIS *sa, SCRIPT
}
/* LB28 */
if (break_class[i] == b_AL && break_class[i+1] == b_AL)
if ((break_class[i] == b_AL && break_class[i+1] == b_AL) ||
(break_class[i] == b_AL && break_class[i+1] == b_HL) ||
(break_class[i] == b_HL && break_class[i+1] == b_AL) ||
(break_class[i] == b_HL && break_class[i+1] == b_HL))
else_break(&break_before[i+1],b_x);
/* LB29 */
if (break_class[i] == b_IS && break_class[i+1] == b_AL)
if ((break_class[i] == b_IS && break_class[i+1] == b_AL) ||
(break_class[i] == b_IS && break_class[i+1] == b_HL))
else_break(&break_before[i+1],b_x);
/* LB30 */
if ((break_class[i] == b_AL || break_class[i] == b_NU) &&
if ((break_class[i] == b_AL || break_class[i] == b_HL || break_class[i] == b_NU) &&
break_class[i+1] == b_OP)
else_break(&break_before[i+1],b_x);
if (break_class[i] == b_CP &&
(break_class[i+1] == b_AL || break_class[i] == b_NU))
(break_class[i+1] == b_AL || break_class[i] == b_HL || break_class[i] == b_NU))
else_break(&break_before[i+1],b_x);
/* LB30a */
if (break_class[i] == b_RI && break_class[i+1] == b_RI)
else_break(&break_before[i+1],b_x);
}
}

View file

@ -1,11 +1,11 @@
/* Unicode Indic Syllabic Category */
/* generated from http://www.unicode.org/Public/6.0.0/ucd/IndicSyllabicCategory.txt */
/* and from http://www.unicode.org/Public/6.0.0/ucd/IndicMatraCategory.txt */
/* generated from http://www.unicode.org/Public/6.2.0/ucd/IndicSyllabicCategory.txt */
/* and from http://www.unicode.org/Public/6.2.0/ucd/IndicMatraCategory.txt */
/* DO NOT EDIT!! */
//#include "wine/unicode.h"
const unsigned short indic_syllabic_table[2624] =
const unsigned short indic_syllabic_table[2704] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110,
@ -68,19 +68,19 @@ const unsigned short indic_syllabic_table[2624] =
0x0250, 0x0830, 0x0250, 0x0250, 0x0250, 0x0840, 0x0850, 0x0860,
0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
0x0870, 0x0250, 0x0250, 0x0880, 0x0890, 0x0250, 0x0250, 0x0250,
0x08a0, 0x0250, 0x08b0, 0x0250, 0x0250, 0x0250, 0x08c0, 0x08d0,
0x0250, 0x0250, 0x08e0, 0x08f0, 0x0250, 0x0250, 0x0250, 0x0250,
0x08a0, 0x0250, 0x08b0, 0x08c0, 0x0250, 0x0250, 0x08d0, 0x08e0,
0x0250, 0x0250, 0x08f0, 0x0900, 0x0250, 0x0250, 0x0250, 0x0250,
0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0910,
0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
0x0250, 0x0250, 0x0250, 0x0250, 0x0920, 0x0250, 0x0250, 0x0250,
0x0930, 0x0250, 0x0940, 0x0250, 0x0250, 0x0250, 0x0950, 0x0960,
0x0970, 0x0250, 0x0250, 0x0980, 0x0990, 0x0250, 0x0250, 0x0250,
0x0250, 0x0250, 0x0250, 0x0250, 0x09a0, 0x09b0, 0x0250, 0x0250,
0x09c0, 0x0250, 0x0250, 0x09d0, 0x09e0, 0x0250, 0x0250, 0x0250,
0x0250, 0x0250, 0x09f0, 0x0a00, 0x0a10, 0x0250, 0x0250, 0x0a20,
0x0250, 0x0250, 0x0250, 0x0a30, 0x0a40, 0x0250, 0x0a50, 0x0a60,
0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
0x0250, 0x0250, 0x0250, 0x0250, 0x0900, 0x0250, 0x0250, 0x0250,
0x0910, 0x0250, 0x0920, 0x0250, 0x0250, 0x0250, 0x0930, 0x0940,
0x0950, 0x0250, 0x0250, 0x0960, 0x0970, 0x0250, 0x0250, 0x0250,
0x0250, 0x0250, 0x0250, 0x0250, 0x0980, 0x0990, 0x0250, 0x0250,
0x09a0, 0x0250, 0x0250, 0x09b0, 0x09c0, 0x0250, 0x0250, 0x0250,
0x0250, 0x0250, 0x09d0, 0x09e0, 0x09f0, 0x0250, 0x0250, 0x0a00,
0x0250, 0x0250, 0x0250, 0x0a10, 0x0a20, 0x0250, 0x0250, 0x0250,
0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0a30, 0x0250,
0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0a70, 0x0a80, 0x0250,
/* values */
0x4d00, 0x8700, 0x8000, 0x8000, 0x7100, 0x7100, 0x7100, 0x7100,
0x6900, 0x5900, 0x4800, 0x3f00, 0x3000, 0x1f00, 0x1300, 0x0a00,
@ -289,7 +289,9 @@ const unsigned short indic_syllabic_table[2624] =
0x0001, 0x000c, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x000d, 0x0000, 0x0000, 0x0500, 0x0600, 0x0200, 0x0100,
0x0500, 0x0500, 0x0105, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0500, 0x0500, 0x0105, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0007,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0007, 0x0007, 0x0007,
0x0000, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
@ -298,6 +300,8 @@ const unsigned short indic_syllabic_table[2624] =
0x0200, 0x0000, 0x0100, 0x0100, 0x0607, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0505, 0x0000,
@ -336,6 +340,12 @@ const unsigned short indic_syllabic_table[2624] =
0x0500, 0x0000, 0x0100, 0x0300, 0x0300, 0x0100, 0x0507, 0x0013,
0x0012, 0x0013, 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0200, 0x0600, 0x0500, 0x0200, 0x0100,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0e05, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x000a, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0100, 0x0100, 0x0507, 0x0100, 0x0100,
0x0607, 0x0100, 0x0100, 0x0000, 0x0013, 0x0605, 0x0000, 0x0000
};

View file

@ -1,10 +1,10 @@
/* Unicode Line Break Properties */
/* generated from http://www.unicode.org/Public/6.0.0/ucd/LineBreak.txt */
/* generated from http://www.unicode.org/Public/6.2.0/ucd/LineBreak.txt */
/* DO NOT EDIT!! */
//#include "wine/unicode.h"
const unsigned short wine_linebreak_table[6800] =
const unsigned short wine_linebreak_table[7056] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
@ -51,137 +51,137 @@ const unsigned short wine_linebreak_table[6800] =
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x06a0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x06b0, 0x06c0, 0x05b0, 0x06d0, 0x06c0, 0x05b0,
0x06e0, 0x06f0, 0x0580, 0x0700, 0x0710, 0x05b0, 0x0720, 0x0730,
0x0740, 0x0750, 0x05b0, 0x05b0, 0x0760, 0x0580, 0x0770, 0x0780,
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, 0x0860,
0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
0x0870, 0x05b0, 0x05b0, 0x0880, 0x0580, 0x0890, 0x08a0, 0x08b0,
0x08c0, 0x08d0, 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930,
0x0940, 0x08d0, 0x08e0, 0x0950, 0x0960, 0x0970, 0x0980, 0x0990,
0x09a0, 0x0690, 0x08e0, 0x09b0, 0x09c0, 0x09d0, 0x0920, 0x09e0,
0x08c0, 0x08d0, 0x08e0, 0x09b0, 0x09f0, 0x0a00, 0x0920, 0x06b0,
0x0a10, 0x0a20, 0x0a30, 0x0a40, 0x0a50, 0x0a60, 0x0980, 0x0a70,
0x0a80, 0x0a90, 0x08e0, 0x0aa0, 0x0ab0, 0x0ac0, 0x0920, 0x0ad0,
0x0ae0, 0x0a90, 0x08e0, 0x0af0, 0x0ab0, 0x0b00, 0x0920, 0x0b10,
0x0ae0, 0x0a90, 0x05b0, 0x0b20, 0x0b30, 0x0b40, 0x0920, 0x0b50,
0x0b60, 0x0b70, 0x05b0, 0x0b80, 0x0b90, 0x0ba0, 0x0860, 0x0bb0,
0x0bc0, 0x0bd0, 0x0bd0, 0x0be0, 0x0bf0, 0x0c00, 0x0860, 0x0860,
0x0c10, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0c60, 0x0860, 0x0860,
0x0c70, 0x0c80, 0x07b0, 0x0c90, 0x08b0, 0x05b0, 0x0ca0, 0x0cb0,
0x0cc0, 0x0cd0, 0x0580, 0x0ce0, 0x0cf0, 0x0d00, 0x0860, 0x0860,
0x0bd0, 0x0bd0, 0x0bd0, 0x0bd0, 0x0d10, 0x0bd0, 0x0bd0, 0x0bd0,
0x0bd0, 0x0d20, 0x05b0, 0x05b0, 0x0d30, 0x05b0, 0x05b0, 0x0ca0,
0x0d40, 0x0d40, 0x0d40, 0x0d40, 0x0d40, 0x0d40, 0x0d50, 0x0d50,
0x0d50, 0x0d50, 0x0d60, 0x0d70, 0x0d70, 0x0d70, 0x0d70, 0x0d70,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0d80, 0x0d90, 0x05b0, 0x05b0,
0x0d80, 0x05b0, 0x05b0, 0x0da0, 0x0db0, 0x0dc0, 0x05b0, 0x05b0,
0x05b0, 0x0db0, 0x05b0, 0x05b0, 0x05b0, 0x0dd0, 0x0de0, 0x0ca0,
0x05b0, 0x0df0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0730,
0x0e00, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x06e0, 0x06f0, 0x0580, 0x0700, 0x0710, 0x0720, 0x0730, 0x0740,
0x0750, 0x0760, 0x05b0, 0x05b0, 0x0770, 0x0580, 0x0780, 0x0790,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x07a0, 0x07b0, 0x07c0,
0x07d0, 0x07e0, 0x05b0, 0x0580, 0x07f0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x0800, 0x0810, 0x07c0, 0x05b0, 0x0770, 0x0820,
0x05b0, 0x0830, 0x0840, 0x0850, 0x05b0, 0x0860, 0x0870, 0x0870,
0x0870, 0x0870, 0x0880, 0x0870, 0x0870, 0x0870, 0x0890, 0x08a0,
0x08b0, 0x05b0, 0x05b0, 0x08c0, 0x0580, 0x08d0, 0x08e0, 0x08f0,
0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950, 0x0960, 0x0970,
0x0980, 0x0910, 0x0920, 0x0990, 0x09a0, 0x09b0, 0x09c0, 0x09d0,
0x09e0, 0x0690, 0x0920, 0x09f0, 0x0a00, 0x0a10, 0x0960, 0x0a20,
0x0900, 0x0910, 0x0920, 0x09f0, 0x0a30, 0x0a40, 0x0960, 0x06b0,
0x0a50, 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x09c0, 0x0ab0,
0x0ac0, 0x0ad0, 0x0920, 0x0ae0, 0x0af0, 0x0b00, 0x0960, 0x0b10,
0x0b20, 0x0ad0, 0x0920, 0x0b30, 0x0af0, 0x0b40, 0x0960, 0x0b50,
0x0b20, 0x0ad0, 0x05b0, 0x0b60, 0x0b70, 0x0b80, 0x0960, 0x0b90,
0x0ba0, 0x0bb0, 0x05b0, 0x0bc0, 0x0bd0, 0x0be0, 0x0870, 0x0bf0,
0x0c00, 0x0c10, 0x0c10, 0x0c20, 0x0c30, 0x0c40, 0x0870, 0x0870,
0x0c50, 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0870, 0x0870,
0x0cb0, 0x0cc0, 0x07c0, 0x0cd0, 0x08f0, 0x05b0, 0x0ce0, 0x0cf0,
0x0d00, 0x0d10, 0x0580, 0x0d20, 0x0d30, 0x0d40, 0x0870, 0x0870,
0x0c10, 0x0c10, 0x0c10, 0x0c10, 0x0d50, 0x0c10, 0x0c10, 0x0c10,
0x0c10, 0x0d60, 0x05b0, 0x05b0, 0x0d70, 0x05b0, 0x05b0, 0x05b0,
0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d90, 0x0d90,
0x0d90, 0x0d90, 0x0da0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0dc0, 0x0dd0, 0x05b0, 0x05b0,
0x0dc0, 0x05b0, 0x05b0, 0x0de0, 0x0df0, 0x0e00, 0x05b0, 0x05b0,
0x05b0, 0x0df0, 0x05b0, 0x05b0, 0x05b0, 0x0e10, 0x0e20, 0x0ce0,
0x05b0, 0x0e30, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e40,
0x0e50, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x0e00, 0x0e10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e20, 0x09d0,
0x0e30, 0x0e40, 0x05b0, 0x0e50, 0x05b0, 0x0e60, 0x0e30, 0x0e70,
0x0bd0, 0x0bd0, 0x0bd0, 0x0bd0, 0x0bd0, 0x0e80, 0x0e90, 0x0df0,
0x0ea0, 0x0e90, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x06b0,
0x05b0, 0x05b0, 0x0eb0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0d30,
0x05b0, 0x0ca0, 0x0ec0, 0x0ec0, 0x0ed0, 0x0bd0, 0x0ee0, 0x0ef0,
0x0bd0, 0x0bd0, 0x0f00, 0x0bd0, 0x0f10, 0x0f20, 0x05b0, 0x05b0,
0x05b0, 0x0f30, 0x0bd0, 0x0bd0, 0x0bd0, 0x0f40, 0x0bd0, 0x0f50,
0x0e90, 0x0e90, 0x0ee0, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
0x0f60, 0x05b0, 0x05b0, 0x0f70, 0x0f80, 0x0f90, 0x0fa0, 0x0fb0,
0x0fc0, 0x05b0, 0x0fd0, 0x0e90, 0x05b0, 0x05b0, 0x07f0, 0x0fe0,
0x05b0, 0x05b0, 0x0f70, 0x0ff0, 0x1000, 0x07b0, 0x05b0, 0x1010,
0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x1020, 0x1030, 0x1040,
0x0e50, 0x0e60, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e70, 0x0a10,
0x0e80, 0x0e90, 0x05b0, 0x0ea0, 0x05b0, 0x0eb0, 0x0e80, 0x0ec0,
0x0c10, 0x0c10, 0x0c10, 0x0c10, 0x0c10, 0x0ed0, 0x0ee0, 0x0e30,
0x0ef0, 0x0ee0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x06b0,
0x05b0, 0x05b0, 0x0f00, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f10,
0x05b0, 0x0ce0, 0x0f20, 0x0f20, 0x0f30, 0x0c10, 0x0f40, 0x0f50,
0x0c10, 0x0c10, 0x0f60, 0x0c10, 0x0f70, 0x0f80, 0x05b0, 0x05b0,
0x05b0, 0x0f90, 0x0c10, 0x0c10, 0x0c10, 0x0fa0, 0x0c10, 0x0fb0,
0x0ee0, 0x0ee0, 0x0f40, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
0x0fc0, 0x05b0, 0x05b0, 0x0fd0, 0x0fe0, 0x0ff0, 0x1000, 0x1010,
0x1020, 0x05b0, 0x1030, 0x07c0, 0x05b0, 0x05b0, 0x0800, 0x1040,
0x05b0, 0x05b0, 0x0fd0, 0x1050, 0x1060, 0x07c0, 0x05b0, 0x1070,
0x0870, 0x0870, 0x0870, 0x0870, 0x06b0, 0x1080, 0x1090, 0x10a0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x1050, 0x1060,
0x05b0, 0x1070, 0x05b0, 0x05b0, 0x1070, 0x1080, 0x05b0, 0x1090,
0x05b0, 0x05b0, 0x05b0, 0x10a0, 0x10a0, 0x10b0, 0x05b0, 0x10c0,
0x10d0, 0x10e0, 0x10f0, 0x1100, 0x1110, 0x1120, 0x1130, 0x1140,
0x1150, 0x0ca0, 0x1160, 0x1170, 0x0860, 0x0580, 0x0580, 0x1180,
0x1190, 0x11a0, 0x11b0, 0x05b0, 0x05b0, 0x11c0, 0x11d0, 0x11e0,
0x11f0, 0x11e0, 0x05b0, 0x05b0, 0x05b0, 0x1200, 0x05b0, 0x05b0,
0x1210, 0x1220, 0x1230, 0x1240, 0x1250, 0x1260, 0x1270, 0x05b0,
0x1280, 0x1290, 0x12a0, 0x12b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x1260, 0x12c0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x12d0,
0x05b0, 0x05b0, 0x12e0, 0x0860, 0x0720, 0x0860, 0x12f0, 0x12f0,
0x12f0, 0x12f0, 0x12f0, 0x12f0, 0x12f0, 0x12f0, 0x12f0, 0x1300,
0x12f0, 0x12f0, 0x12f0, 0x12f0, 0x11d0, 0x12f0, 0x12f0, 0x1310,
0x12f0, 0x1320, 0x1330, 0x1340, 0x1350, 0x1360, 0x1370, 0x05b0,
0x1380, 0x1390, 0x05b0, 0x05b0, 0x13a0, 0x05b0, 0x13b0, 0x05b0,
0x05b0, 0x13c0, 0x05b0, 0x13c0, 0x13d0, 0x12f0, 0x13e0, 0x12f0,
0x06c0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x13f0, 0x1400, 0x1410,
0x12f0, 0x1420, 0x05b0, 0x05b0, 0x1430, 0x05b0, 0x1440, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x10b0, 0x10c0,
0x05b0, 0x10d0, 0x05b0, 0x05b0, 0x10d0, 0x10e0, 0x05b0, 0x10f0,
0x05b0, 0x05b0, 0x05b0, 0x1100, 0x1100, 0x1110, 0x05b0, 0x1120,
0x1130, 0x1140, 0x1150, 0x1160, 0x1170, 0x1180, 0x1190, 0x11a0,
0x11b0, 0x0ce0, 0x11c0, 0x11d0, 0x0870, 0x0580, 0x0580, 0x11e0,
0x11f0, 0x1200, 0x1210, 0x05b0, 0x05b0, 0x1220, 0x1230, 0x1240,
0x1250, 0x1240, 0x05b0, 0x05b0, 0x05b0, 0x1260, 0x05b0, 0x05b0,
0x1270, 0x1280, 0x1290, 0x12a0, 0x12b0, 0x12c0, 0x12d0, 0x05b0,
0x12e0, 0x12f0, 0x1300, 0x1310, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x1320, 0x1330, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1340,
0x05b0, 0x05b0, 0x1350, 0x0870, 0x1360, 0x0870, 0x1370, 0x1370,
0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1370, 0x1380,
0x1370, 0x1370, 0x1370, 0x1370, 0x1230, 0x1370, 0x1370, 0x1390,
0x1370, 0x13a0, 0x13b0, 0x13c0, 0x13d0, 0x13e0, 0x13f0, 0x05b0,
0x1400, 0x1410, 0x05b0, 0x1420, 0x1430, 0x05b0, 0x1440, 0x1450,
0x05b0, 0x1460, 0x05b0, 0x1470, 0x1480, 0x1490, 0x14a0, 0x14b0,
0x14c0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x14d0, 0x14e0, 0x14f0,
0x1370, 0x1500, 0x05b0, 0x05b0, 0x1510, 0x05b0, 0x1520, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x1450, 0x1460, 0x05b0, 0x05b0, 0x05b0, 0x1470, 0x05b0, 0x1480,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0ca0, 0x1490, 0x0860, 0x0860,
0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x14a0, 0x14b0,
0x05b0, 0x05b0, 0x0d30, 0x05b0, 0x05b0, 0x05b0, 0x14c0, 0x14d0,
0x05b0, 0x12e0, 0x14e0, 0x14e0, 0x14e0, 0x14e0, 0x0580, 0x0580,
0x14f0, 0x1500, 0x1510, 0x1520, 0x0860, 0x0860, 0x0860, 0x0860,
0x1530, 0x1540, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1550,
0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530,
0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1560, 0x0860, 0x1570,
0x1580, 0x1590, 0x15a0, 0x15b0, 0x15c0, 0x1530, 0x15d0, 0x1530,
0x15e0, 0x15f0, 0x1600, 0x1530, 0x15d0, 0x1530, 0x15e0, 0x1610,
0x1620, 0x1530, 0x1630, 0x1640, 0x1530, 0x1530, 0x1530, 0x1530,
0x1650, 0x1530, 0x1530, 0x1660, 0x1530, 0x1530, 0x1550, 0x1670,
0x1530, 0x1650, 0x1530, 0x1530, 0x1680, 0x1530, 0x1530, 0x1530,
0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1650,
0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530,
0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530,
0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530,
0x1530, 0x1530, 0x1530, 0x1530, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x1530, 0x1690, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530,
0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530,
0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530, 0x1530,
0x16a0, 0x1530, 0x1530, 0x1530, 0x16b0, 0x05b0, 0x05b0, 0x1010,
0x16c0, 0x05b0, 0x16d0, 0x0860, 0x05b0, 0x05b0, 0x14a0, 0x16e0,
0x05b0, 0x06b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x16f0,
0x1530, 0x1540, 0x05b0, 0x05b0, 0x05b0, 0x1550, 0x05b0, 0x1560,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0ce0, 0x1570, 0x0870, 0x0870,
0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
0x05b0, 0x05b0, 0x0850, 0x05b0, 0x05b0, 0x0850, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1580, 0x1590,
0x05b0, 0x05b0, 0x0d70, 0x05b0, 0x05b0, 0x05b0, 0x15a0, 0x15b0,
0x05b0, 0x1350, 0x15c0, 0x15c0, 0x15c0, 0x15c0, 0x0580, 0x0580,
0x15d0, 0x15e0, 0x15f0, 0x1600, 0x0870, 0x0870, 0x0870, 0x0870,
0x1610, 0x1620, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1340,
0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610,
0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1630, 0x0870, 0x1640,
0x1650, 0x1660, 0x1670, 0x1680, 0x1690, 0x1610, 0x16a0, 0x1610,
0x16b0, 0x16c0, 0x16d0, 0x1610, 0x16a0, 0x1610, 0x16b0, 0x16e0,
0x16f0, 0x1610, 0x1700, 0x1710, 0x1610, 0x1610, 0x1610, 0x1610,
0x1720, 0x1610, 0x1610, 0x1730, 0x1610, 0x1610, 0x1340, 0x1740,
0x1610, 0x1720, 0x1610, 0x1610, 0x1750, 0x1610, 0x1610, 0x1610,
0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1720,
0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610,
0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610,
0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610,
0x1610, 0x1610, 0x1610, 0x1610, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x1610, 0x1760, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610,
0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610,
0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610, 0x1610,
0x1770, 0x1610, 0x1610, 0x1610, 0x1780, 0x05b0, 0x05b0, 0x1070,
0x1790, 0x05b0, 0x17a0, 0x0870, 0x05b0, 0x05b0, 0x1580, 0x17b0,
0x05b0, 0x17c0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x17d0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0,
0x0840, 0x1700, 0x0df0, 0x0860, 0x0860, 0x0860, 0x0860, 0x1710,
0x1720, 0x05b0, 0x1730, 0x1740, 0x05b0, 0x05b0, 0x05b0, 0x1750,
0x1760, 0x05b0, 0x05b0, 0x0f70, 0x1770, 0x0e90, 0x0580, 0x1780,
0x07b0, 0x05b0, 0x1790, 0x05b0, 0x17a0, 0x17b0, 0x0d40, 0x17c0,
0x0870, 0x05b0, 0x05b0, 0x17d0, 0x17e0, 0x17f0, 0x0860, 0x0860,
0x05b0, 0x05b0, 0x1800, 0x1050, 0x1810, 0x1820, 0x0bd0, 0x0f00,
0x0bd0, 0x0bd0, 0x0bd0, 0x0bd0, 0x1830, 0x1840, 0x0860, 0x0860,
0x1850, 0x1860, 0x14e0, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
0x0860, 0x0860, 0x0860, 0x0860, 0x05b0, 0x05b0, 0x1870, 0x0e90,
0x1880, 0x1890, 0x18a0, 0x18b0, 0x18a0, 0x18c0, 0x18a0, 0x1880,
0x1890, 0x18a0, 0x18b0, 0x18a0, 0x18c0, 0x18a0, 0x1880, 0x1890,
0x18a0, 0x18b0, 0x18a0, 0x18c0, 0x18a0, 0x1880, 0x1890, 0x18a0,
0x18b0, 0x18a0, 0x18c0, 0x18a0, 0x1880, 0x1890, 0x18a0, 0x18b0,
0x18a0, 0x18c0, 0x18a0, 0x1880, 0x1890, 0x18a0, 0x18b0, 0x18a0,
0x18c0, 0x18a0, 0x1880, 0x1890, 0x18a0, 0x18b0, 0x18a0, 0x18c0,
0x18a0, 0x1880, 0x1890, 0x18a0, 0x18b0, 0x18a0, 0x18c0, 0x18a0,
0x1880, 0x1890, 0x18a0, 0x18b0, 0x18a0, 0x18c0, 0x18a0, 0x1880,
0x1890, 0x18a0, 0x18b0, 0x18a0, 0x18c0, 0x18a0, 0x1880, 0x1890,
0x18a0, 0x18b0, 0x18a0, 0x18c0, 0x18a0, 0x1880, 0x1890, 0x18a0,
0x18b0, 0x18a0, 0x18c0, 0x18a0, 0x1880, 0x1890, 0x18a0, 0x18b0,
0x18a0, 0x18c0, 0x18a0, 0x1880, 0x1890, 0x18a0, 0x18b0, 0x18a0,
0x18c0, 0x18a0, 0x1880, 0x1890, 0x18a0, 0x18b0, 0x18a0, 0x18c0,
0x18a0, 0x1880, 0x1890, 0x18a0, 0x18b0, 0x18a0, 0x18c0, 0x18a0,
0x18a0, 0x18b0, 0x18a0, 0x18c0, 0x18a0, 0x1880, 0x1890, 0x18a0,
0x18b0, 0x18a0, 0x18d0, 0x0d50, 0x18e0, 0x0d70, 0x0d70, 0x18f0,
0x1900, 0x1900, 0x1900, 0x1900, 0x1900, 0x1900, 0x1900, 0x1900,
0x1900, 0x1900, 0x1900, 0x1900, 0x1900, 0x1900, 0x1900, 0x1900,
0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860,
0x12e0, 0x1910, 0x05b0, 0x1920, 0x1930, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1700, 0x1940, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x1950, 0x0860, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x1960, 0x05b0, 0x05b0, 0x06b0, 0x0860, 0x0860, 0x1970,
0x0580, 0x1980, 0x1050, 0x1990, 0x19a0, 0x19b0, 0x19c0, 0x10a0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x19d0,
0x19e0, 0x19f0, 0x1530, 0x1a00, 0x1530, 0x1a10, 0x1a20, 0x1a30,
0x05b0, 0x1a40, 0x05b0, 0x0840, 0x1a50, 0x1a60, 0x1a70, 0x1a80,
0x0850, 0x17e0, 0x1360, 0x0870, 0x0870, 0x0870, 0x0870, 0x0b10,
0x17f0, 0x05b0, 0x1800, 0x1810, 0x05b0, 0x05b0, 0x05b0, 0x1820,
0x1830, 0x05b0, 0x05b0, 0x0fd0, 0x1840, 0x0ee0, 0x0580, 0x1850,
0x07c0, 0x05b0, 0x1860, 0x05b0, 0x1870, 0x1880, 0x0d80, 0x1890,
0x08b0, 0x05b0, 0x05b0, 0x18a0, 0x18b0, 0x18c0, 0x0870, 0x0870,
0x05b0, 0x05b0, 0x18d0, 0x10b0, 0x18e0, 0x18f0, 0x0c10, 0x0f60,
0x0c10, 0x0c10, 0x0c10, 0x0c10, 0x1900, 0x1910, 0x0770, 0x1920,
0x1930, 0x1940, 0x15c0, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
0x0870, 0x0870, 0x0870, 0x0870, 0x05b0, 0x05b0, 0x1950, 0x0ee0,
0x1960, 0x1970, 0x1980, 0x1990, 0x1980, 0x19a0, 0x1980, 0x1960,
0x1970, 0x1980, 0x1990, 0x1980, 0x19a0, 0x1980, 0x1960, 0x1970,
0x1980, 0x1990, 0x1980, 0x19a0, 0x1980, 0x1960, 0x1970, 0x1980,
0x1990, 0x1980, 0x19a0, 0x1980, 0x1960, 0x1970, 0x1980, 0x1990,
0x1980, 0x19a0, 0x1980, 0x1960, 0x1970, 0x1980, 0x1990, 0x1980,
0x19a0, 0x1980, 0x1960, 0x1970, 0x1980, 0x1990, 0x1980, 0x19a0,
0x1980, 0x1960, 0x1970, 0x1980, 0x1990, 0x1980, 0x19a0, 0x1980,
0x1960, 0x1970, 0x1980, 0x1990, 0x1980, 0x19a0, 0x1980, 0x1960,
0x1970, 0x1980, 0x1990, 0x1980, 0x19a0, 0x1980, 0x1960, 0x1970,
0x1980, 0x1990, 0x1980, 0x19a0, 0x1980, 0x1960, 0x1970, 0x1980,
0x1990, 0x1980, 0x19a0, 0x1980, 0x1960, 0x1970, 0x1980, 0x1990,
0x1980, 0x19a0, 0x1980, 0x1960, 0x1970, 0x1980, 0x1990, 0x1980,
0x19a0, 0x1980, 0x1960, 0x1970, 0x1980, 0x1990, 0x1980, 0x19a0,
0x1980, 0x1960, 0x1970, 0x1980, 0x1990, 0x1980, 0x19a0, 0x1980,
0x1980, 0x1990, 0x1980, 0x19a0, 0x1980, 0x1960, 0x1970, 0x1980,
0x1990, 0x1980, 0x19b0, 0x0d90, 0x19c0, 0x0db0, 0x0db0, 0x19d0,
0x19e0, 0x19e0, 0x19e0, 0x19e0, 0x19e0, 0x19e0, 0x19e0, 0x19e0,
0x19e0, 0x19e0, 0x19e0, 0x19e0, 0x19e0, 0x19e0, 0x19e0, 0x19e0,
0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870,
0x1350, 0x19f0, 0x1a00, 0x1a10, 0x1a20, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a30, 0x1a40, 0x05b0, 0x05b0,
0x05b0, 0x05b0, 0x05b0, 0x1a50, 0x0870, 0x05b0, 0x05b0, 0x05b0,
0x05b0, 0x1a60, 0x05b0, 0x05b0, 0x06b0, 0x0870, 0x0870, 0x1a70,
0x0580, 0x1a80, 0x10b0, 0x1a90, 0x1aa0, 0x1ab0, 0x1ac0, 0x1100,
0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1ad0,
0x1ae0, 0x1af0, 0x1610, 0x1b00, 0x1610, 0x1b10, 0x1b20, 0x1b30,
0x05b0, 0x1b40, 0x05b0, 0x0850, 0x1b50, 0x1b60, 0x1b70, 0x1b80,
/* values */
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0022, 0x0003, 0x0001, 0x0001, 0x0002, 0x0004, 0x0004,
@ -230,18 +230,20 @@ const unsigned short wine_linebreak_table[6800] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0011, 0x0019, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0019, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x001a,
0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0022, 0x0004,
0x001d, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0017, 0x0004,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011,
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
0x0026, 0x0026, 0x0026, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0026, 0x0026, 0x0026, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
0x001d, 0x001b, 0x001b, 0x001b, 0x0019, 0x0019, 0x001d, 0x001d,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0017, 0x0011, 0x0011, 0x0017, 0x0017,
@ -279,6 +281,12 @@ const unsigned short wine_linebreak_table[6800] =
0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x001d, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011,
0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
@ -325,7 +333,7 @@ const unsigned short wine_linebreak_table[6800] =
0x0004, 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011,
0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0004,
0x0004, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011,
@ -406,7 +414,7 @@ const unsigned short wine_linebreak_table[6800] =
0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, 0x0023, 0x0011,
0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, 0x0011,
0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
0x001c, 0x001c, 0x0011, 0x0011, 0x0023, 0x0023, 0x0011, 0x0011,
0x001c, 0x001c, 0x0011, 0x0011, 0x0023, 0x0023, 0x0023, 0x0023,
0x001d, 0x0021, 0x0021, 0x0021, 0x0021, 0x001d, 0x0021, 0x0021,
0x0006, 0x0021, 0x0021, 0x0022, 0x0006, 0x0017, 0x0017, 0x0017,
0x0017, 0x0017, 0x0006, 0x001d, 0x0017, 0x001d, 0x001d, 0x001d,
@ -431,8 +439,8 @@ const unsigned short wine_linebreak_table[6800] =
0x001c, 0x001c, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d, 0x001d,
0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
0x001c, 0x001c, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0011, 0x0011,
0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c,
0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c,
0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d,
@ -457,6 +465,8 @@ const unsigned short wine_linebreak_table[6800] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0022, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
@ -481,6 +491,8 @@ const unsigned short wine_linebreak_table[6800] =
0x0017, 0x0017, 0x001d, 0x0004, 0x0004, 0x0004, 0x0006, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0004, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x0011, 0x0011, 0x0011, 0x0017, 0x0017, 0x001c, 0x001c,
@ -516,7 +528,7 @@ const unsigned short wine_linebreak_table[6800] =
0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d,
0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
@ -529,7 +541,7 @@ const unsigned short wine_linebreak_table[6800] =
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, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
@ -568,7 +580,7 @@ const unsigned short wine_linebreak_table[6800] =
0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001b,
0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,
0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001b, 0x001a,
0x001a, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001a, 0x001a, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001b, 0x001d, 0x0024, 0x001d, 0x001d,
@ -609,12 +621,16 @@ const unsigned short wine_linebreak_table[6800] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024,
0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x0012, 0x0013, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011,
0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 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,
@ -633,20 +649,32 @@ const unsigned short wine_linebreak_table[6800] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x001d,
0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x0024, 0x0024, 0x001d,
0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024,
0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x0024, 0x0024,
0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x001d, 0x0024, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001e, 0x001e, 0x0024, 0x0024,
0x001e, 0x001d, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d,
0x0024, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0024, 0x0024, 0x001d, 0x0024, 0x0024, 0x0024, 0x001d, 0x0024,
0x0024, 0x0024, 0x0024, 0x001d, 0x0024, 0x0024, 0x001d, 0x0024,
0x001e, 0x0024, 0x0024, 0x001d, 0x0024, 0x0024, 0x001d, 0x0024,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001e,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024,
0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x0024,
0x0024, 0x0024, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x0024, 0x0024, 0x0024, 0x0024, 0x001e, 0x001d, 0x001e,
0x001e, 0x001e, 0x0024, 0x001e, 0x001e, 0x0024, 0x0024, 0x0024,
0x001e, 0x001e, 0x0024, 0x0024, 0x001e, 0x0024, 0x0024, 0x001e,
0x001e, 0x001e, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d,
0x0024, 0x0024, 0x001e, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x0024, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0024, 0x001e,
0x001e, 0x001e, 0x001e, 0x0024, 0x0024, 0x001e, 0x001e, 0x001e,
0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024,
0x001d, 0x001d, 0x001d, 0x0015, 0x0015, 0x0015, 0x0015, 0x001d,
0x001d, 0x001d, 0x0017, 0x0017, 0x001d, 0x001d, 0x001d, 0x001d,
@ -656,7 +684,7 @@ const unsigned short wine_linebreak_table[6800] =
0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x001d,
0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0012, 0x0013,
0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013,
0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012,
@ -671,9 +699,9 @@ const unsigned short wine_linebreak_table[6800] =
0x0024, 0x0024, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004,
0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0004, 0x0004, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0017, 0x0022, 0x0022, 0x0022, 0x001d, 0x0017, 0x0022,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d,
0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004,
@ -685,14 +713,12 @@ const unsigned short wine_linebreak_table[6800] =
0x0012, 0x0022, 0x001d, 0x001d, 0x0015, 0x0015, 0x001d, 0x001d,
0x0015, 0x0015, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013,
0x0012, 0x0013, 0x0022, 0x0022, 0x0022, 0x0022, 0x0017, 0x001d,
0x0022, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0025, 0x0025, 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, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
@ -705,18 +731,18 @@ const unsigned short wine_linebreak_table[6800] =
0x001e, 0x001e, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0016, 0x0016, 0x001e, 0x001e, 0x001e,
0x0011, 0x0016, 0x001e, 0x0016, 0x001e, 0x0016, 0x001e, 0x0016,
0x001e, 0x0016, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0016, 0x001e, 0x001e, 0x001e, 0x001e,
0x0011, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027,
0x001e, 0x0027, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0027, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0016, 0x001e, 0x0016, 0x001e, 0x0016,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0016, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0016, 0x0016, 0x0011,
0x001e, 0x001e, 0x001e, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0027, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0027, 0x0027, 0x0011,
0x0011, 0x0004, 0x0004, 0x0016, 0x0016, 0x0016, 0x0016, 0x001e,
0x0016, 0x0016, 0x001e, 0x0016, 0x001e, 0x0016, 0x001e, 0x0016,
0x001e, 0x0016, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0016, 0x0016, 0x001e,
0x001e, 0x001e, 0x001e, 0x0016, 0x0016, 0x0016, 0x0016, 0x001e,
0x0016, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027,
0x001e, 0x0027, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0027, 0x0027, 0x001e,
0x001e, 0x001e, 0x001e, 0x0016, 0x0027, 0x0016, 0x0016, 0x001e,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
@ -727,8 +753,8 @@ const unsigned short wine_linebreak_table[6800] =
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0016, 0x0016, 0x0016, 0x0016, 0x0016, 0x0016, 0x0016, 0x0016,
0x0016, 0x0016, 0x0016, 0x0016, 0x0016, 0x0016, 0x0016, 0x0016,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0016, 0x001e, 0x001e,
@ -741,14 +767,14 @@ const unsigned short wine_linebreak_table[6800] =
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0022, 0x0017, 0x0022,
0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c,
0x001c, 0x001c, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011,
0x0004, 0x0004, 0x0004, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x001d, 0x001d,
0x0004, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004,
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004,
0x0004, 0x0004, 0x001d, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
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, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x0004, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d,
0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
@ -787,6 +813,8 @@ const unsigned short wine_linebreak_table[6800] =
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x0011, 0x0011, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023,
0x0022, 0x0022, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0011,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011,
0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
@ -812,11 +840,15 @@ const unsigned short wine_linebreak_table[6800] =
0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0004, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x0011,
0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0026, 0x0004, 0x0026,
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
0x0026, 0x001d, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0011,
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,
@ -845,9 +877,9 @@ const unsigned short wine_linebreak_table[6800] =
0x001e, 0x001e, 0x001e, 0x0012, 0x001e, 0x0013, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e,
0x001e, 0x001e, 0x001e, 0x0012, 0x001e, 0x0013, 0x001e, 0x0012,
0x0013, 0x0013, 0x0012, 0x0013, 0x0013, 0x0016, 0x001d, 0x0016,
0x0016, 0x0016, 0x0016, 0x0016, 0x0016, 0x0016, 0x0016, 0x0016,
0x0016, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x0013, 0x0013, 0x0012, 0x0013, 0x0013, 0x0016, 0x001d, 0x0027,
0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
0x0027, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d,
0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0016, 0x0016,

View file

@ -1,5 +1,5 @@
/* Unicode BiDi mirroring */
/* generated from http://www.unicode.org/Public/6.0.0/ucd/BidiMirroring.txt */
/* generated from http://www.unicode.org/Public/6.2.0/ucd/BidiMirroring.txt */
/* DO NOT EDIT!! */
#include <wine/unicode.h>
@ -244,7 +244,7 @@ const WCHAR wine_mirror_map[3292] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000,
0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0001, 0xffff, 0x0000, 0x0002, 0x0000, 0xfffe, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000,
0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff,

View file

@ -479,6 +479,12 @@ typedef struct {
GPOS_PosLookupRecord PosLookupRecord[1];
} GPOS_ChainContextPosFormat3_4;
typedef struct {
WORD PosFormat;
WORD ExtensionLookupType;
DWORD ExtensionOffset;
} GPOS_ExtensionPosFormat1;
/**********
* CMAP
**********/
@ -1166,6 +1172,25 @@ static VOID GPOS_get_value_record_offsets(const BYTE* head, GPOS_ValueRecord *Va
if (ValueFormat & 0xFF00) FIXME("Unhandled Value Format %x\n",ValueFormat&0xFF00);
}
static const BYTE *GPOS_get_subtable(const OT_LookupTable *look, int index)
{
int offset = GET_BE_WORD(look->SubTable[index]);
if (GET_BE_WORD(look->LookupType) == 9)
{
const GPOS_ExtensionPosFormat1 *ext = (const GPOS_ExtensionPosFormat1 *)((const BYTE *)look + offset);
if (GET_BE_WORD(ext->PosFormat) == 1)
{
offset += GET_BE_DWORD(ext->ExtensionOffset);
}
else
{
FIXME("Unhandled Extension Positioning Format %i\n",GET_BE_WORD(ext->PosFormat));
}
}
return (const BYTE *)look + offset;
}
static VOID GPOS_apply_SingleAdjustment(const OT_LookupTable *look, const SCRIPT_ANALYSIS *analysis, const WORD *glyphs, INT glyph_index,
INT glyph_count, INT ppem, LPPOINT ptAdjust, LPPOINT ptAdvance)
{
@ -1175,9 +1200,8 @@ static VOID GPOS_apply_SingleAdjustment(const OT_LookupTable *look, const SCRIPT
for (j = 0; j < GET_BE_WORD(look->SubTableCount); j++)
{
const GPOS_SinglePosFormat1 *spf1;
WORD offset = GET_BE_WORD(look->SubTable[j]);
spf1 = (const GPOS_SinglePosFormat1*)((const BYTE*)look+offset);
const GPOS_SinglePosFormat1 *spf1 = (const GPOS_SinglePosFormat1*)GPOS_get_subtable(look, j);
WORD offset;
if (GET_BE_WORD(spf1->PosFormat) == 1)
{
offset = GET_BE_WORD(spf1->Coverage);
@ -1253,9 +1277,8 @@ static INT GPOS_apply_PairAdjustment(const OT_LookupTable *look, const SCRIPT_AN
for (j = 0; j < GET_BE_WORD(look->SubTableCount); j++)
{
const GPOS_PairPosFormat1 *ppf1;
WORD offset = GET_BE_WORD(look->SubTable[j]);
ppf1 = (const GPOS_PairPosFormat1*)((const BYTE*)look+offset);
const GPOS_PairPosFormat1 *ppf1 = (const GPOS_PairPosFormat1*)GPOS_get_subtable(look, j);
WORD offset;
if (GET_BE_WORD(ppf1->PosFormat) == 1)
{
int index;
@ -1292,7 +1315,7 @@ static INT GPOS_apply_PairAdjustment(const OT_LookupTable *look, const SCRIPT_AN
}
else if (GET_BE_WORD(ppf1->PosFormat) == 2)
{
const GPOS_PairPosFormat2 *ppf2 = (const GPOS_PairPosFormat2*)((const BYTE*)look + offset);
const GPOS_PairPosFormat2 *ppf2 = (const GPOS_PairPosFormat2*)ppf1;
int index;
WORD ValueFormat1 = GET_BE_WORD( ppf2->ValueFormat1 );
WORD ValueFormat2 = GET_BE_WORD( ppf2->ValueFormat2 );
@ -1339,13 +1362,11 @@ static VOID GPOS_apply_CursiveAttachment(const OT_LookupTable *look, const SCRIP
for (j = 0; j < GET_BE_WORD(look->SubTableCount); j++)
{
const GPOS_CursivePosFormat1 *cpf1;
WORD offset = GET_BE_WORD(look->SubTable[j]);
cpf1 = (const GPOS_CursivePosFormat1*)((const BYTE*)look+offset);
const GPOS_CursivePosFormat1 *cpf1 = (const GPOS_CursivePosFormat1 *)GPOS_get_subtable(look, j);
if (GET_BE_WORD(cpf1->PosFormat) == 1)
{
int index_exit, index_entry;
offset = GET_BE_WORD( cpf1->Coverage );
WORD offset = GET_BE_WORD( cpf1->Coverage );
index_exit = GSUB_is_glyph_covered((const BYTE*)cpf1+offset, glyphs[glyph_index]);
if (index_exit != -1 && cpf1->EntryExitRecord[index_exit].ExitAnchor!= 0)
{
@ -1389,10 +1410,7 @@ static int GPOS_apply_MarkToBase(ScriptCache *psc, const OT_LookupTable *look, c
for (j = 0; j < GET_BE_WORD(look->SubTableCount); j++)
{
int offset;
const GPOS_MarkBasePosFormat1 *mbpf1;
offset = GET_BE_WORD(look->SubTable[j]);
mbpf1 = (const GPOS_MarkBasePosFormat1*)((const BYTE*)look+offset);
const GPOS_MarkBasePosFormat1 *mbpf1 = (const GPOS_MarkBasePosFormat1 *)GPOS_get_subtable(look, j);
if (GET_BE_WORD(mbpf1->PosFormat) == 1)
{
int offset = GET_BE_WORD(mbpf1->MarkCoverage);
@ -1466,10 +1484,7 @@ static VOID GPOS_apply_MarkToLigature(const OT_LookupTable *look, const SCRIPT_A
for (j = 0; j < GET_BE_WORD(look->SubTableCount); j++)
{
int offset;
const GPOS_MarkLigPosFormat1 *mlpf1;
offset = GET_BE_WORD(look->SubTable[j]);
mlpf1 = (const GPOS_MarkLigPosFormat1*)((const BYTE*)look+offset);
const GPOS_MarkLigPosFormat1 *mlpf1 = (const GPOS_MarkLigPosFormat1 *)GPOS_get_subtable(look, j);
if (GET_BE_WORD(mlpf1->PosFormat) == 1)
{
int offset = GET_BE_WORD(mlpf1->MarkCoverage);
@ -1560,10 +1575,7 @@ static BOOL GPOS_apply_MarkToMark(const OT_LookupTable *look, const SCRIPT_ANALY
for (j = 0; j < GET_BE_WORD(look->SubTableCount); j++)
{
int offset;
const GPOS_MarkMarkPosFormat1 *mmpf1;
offset = GET_BE_WORD(look->SubTable[j]);
mmpf1 = (const GPOS_MarkMarkPosFormat1*)((const BYTE*)look+offset);
const GPOS_MarkMarkPosFormat1 *mmpf1 = (const GPOS_MarkMarkPosFormat1 *)GPOS_get_subtable(look, j);
if (GET_BE_WORD(mmpf1->PosFormat) == 1)
{
int offset = GET_BE_WORD(mmpf1->Mark1Coverage);
@ -1590,7 +1602,7 @@ static BOOL GPOS_apply_MarkToMark(const OT_LookupTable *look, const SCRIPT_ANALY
ma = (const GPOS_MarkArray*)((const BYTE*)mmpf1 + offset);
if (mark_index > GET_BE_WORD(ma->MarkCount))
{
ERR("Mark index exeeded mark count\n");
ERR("Mark index exceeded mark count\n");
return FALSE;
}
mr = &ma->MarkRecord[mark_index];
@ -1631,13 +1643,10 @@ static INT GPOS_apply_ChainContextPos(ScriptCache *psc, LPOUTLINETEXTMETRICW lpo
for (j = 0; j < GET_BE_WORD(look->SubTableCount); j++)
{
int offset;
const GPOS_ChainContextPosFormat3_1 *ccpf3;
const GPOS_ChainContextPosFormat3_1 *ccpf3 = (GPOS_ChainContextPosFormat3_1 *)GPOS_get_subtable(look, j);
int dirLookahead = write_dir;
int dirBacktrack = -1 * write_dir;
offset = GET_BE_WORD(look->SubTable[j]);
ccpf3 = (const GPOS_ChainContextPosFormat3_1*)((const BYTE*)look+offset);
if (GET_BE_WORD(ccpf3->PosFormat) == 1)
{
FIXME(" TODO: subtype 1 (Simple Chaining Context Glyph Positioning)\n");
@ -1723,11 +1732,33 @@ static INT GPOS_apply_lookup(ScriptCache *psc, LPOUTLINETEXTMETRICW lpotm, LPLOG
int offset;
const OT_LookupTable *look;
int ppem = lpotm->otmTextMetrics.tmAscent + lpotm->otmTextMetrics.tmDescent - lpotm->otmTextMetrics.tmInternalLeading;
WORD type;
offset = GET_BE_WORD(lookup->Lookup[lookup_index]);
look = (const OT_LookupTable*)((const BYTE*)lookup + offset);
TRACE("type %i, flag %x, subtables %i\n",GET_BE_WORD(look->LookupType),GET_BE_WORD(look->LookupFlag),GET_BE_WORD(look->SubTableCount));
switch(GET_BE_WORD(look->LookupType))
type = GET_BE_WORD(look->LookupType);
TRACE("type %i, flag %x, subtables %i\n",type,GET_BE_WORD(look->LookupFlag),GET_BE_WORD(look->SubTableCount));
if (type == 9)
{
if (GET_BE_WORD(look->SubTableCount))
{
const GPOS_ExtensionPosFormat1 *ext = (const GPOS_ExtensionPosFormat1 *)((const BYTE *)look + GET_BE_WORD(look->SubTable[0]));
if (GET_BE_WORD(ext->PosFormat) == 1)
{
type = GET_BE_WORD(ext->ExtensionLookupType);
TRACE("extension type %i\n",type);
}
else
{
FIXME("Unhandled Extension Positioning Format %i\n",GET_BE_WORD(ext->PosFormat));
}
}
else
{
WARN("lookup type is Extension Positioning but no extension subtable exists\n");
}
}
switch (type)
{
case 1:
{
@ -1849,7 +1880,7 @@ static INT GPOS_apply_lookup(ScriptCache *psc, LPOUTLINETEXTMETRICW lpotm, LPLOG
return GPOS_apply_ChainContextPos(psc, lpotm, lplogfont, analysis, piAdvance, lookup, look, glyphs, glyph_index, glyph_count, ppem, pGoffset);
}
default:
FIXME("We do not handle SubType %i\n",GET_BE_WORD(look->LookupType));
FIXME("We do not handle SubType %i\n",type);
}
return glyph_index+1;
}

View file

@ -1,10 +1,10 @@
/* Unicode Arabic shaping */
/* generated from http://www.unicode.org/Public/6.0.0/ucd/ArabicShaping.txt */
/* generated from http://www.unicode.org/Public/6.2.0/ucd/ArabicShaping.txt */
/* DO NOT EDIT!! */
//#include "wine/unicode.h"
const unsigned short wine_shaping_table[2656] =
const unsigned short wine_shaping_table[2752] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160,
@ -54,64 +54,64 @@ const unsigned short wine_shaping_table[2656] =
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, 0x0340, 0x0580, 0x0340, 0x0340,
0x0340, 0x0560, 0x0570, 0x0340, 0x0580, 0x0590, 0x0340, 0x0340,
0x0340, 0x0340, 0x05a0, 0x0340, 0x0340, 0x0340, 0x05b0, 0x05c0,
0x05d0, 0x0340, 0x0340, 0x05e0, 0x05f0, 0x0600, 0x0610, 0x0340,
0x0620, 0x0340, 0x0340, 0x0630, 0x0640, 0x0340, 0x0610, 0x0340,
0x0650, 0x0340, 0x0340, 0x0630, 0x0660, 0x0620, 0x0340, 0x0670,
0x0650, 0x0340, 0x0340, 0x0630, 0x0680, 0x0340, 0x0610, 0x0340,
0x0620, 0x0340, 0x0340, 0x0690, 0x0640, 0x06a0, 0x0610, 0x0340,
0x06b0, 0x0340, 0x0340, 0x0340, 0x06c0, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x06d0, 0x06e0, 0x06f0, 0x0610, 0x0340,
0x0340, 0x0340, 0x0340, 0x0690, 0x0700, 0x0340, 0x0610, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0640, 0x0340, 0x0610, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0710, 0x0720, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0730, 0x0740, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0750, 0x0760, 0x0340, 0x0340, 0x0340,
0x0340, 0x0770, 0x0340, 0x0780, 0x0340, 0x0340, 0x0340, 0x0790,
0x07a0, 0x07b0, 0x0360, 0x07c0, 0x06a0, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x07d0, 0x07e0, 0x0340, 0x07f0, 0x0510, 0x0800,
0x0810, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x07d0, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0590, 0x0340, 0x0340, 0x05a0, 0x05b0, 0x05c0, 0x05d0, 0x0340,
0x05e0, 0x0340, 0x0340, 0x05f0, 0x0600, 0x0340, 0x05d0, 0x0340,
0x0610, 0x0340, 0x0340, 0x05f0, 0x0620, 0x05e0, 0x0340, 0x0630,
0x0610, 0x0340, 0x0340, 0x05f0, 0x0640, 0x0340, 0x05d0, 0x0340,
0x05e0, 0x0340, 0x0340, 0x0650, 0x0600, 0x0660, 0x05d0, 0x0340,
0x0670, 0x0340, 0x0340, 0x0340, 0x0680, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0690, 0x06a0, 0x06b0, 0x05d0, 0x0340,
0x0340, 0x0340, 0x0340, 0x0650, 0x06c0, 0x0340, 0x05d0, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0600, 0x0340, 0x05d0, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x06d0, 0x06e0, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x06f0, 0x0700, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0710, 0x0720, 0x0340, 0x0340, 0x0340,
0x0340, 0x0730, 0x0340, 0x0740, 0x0340, 0x0340, 0x0340, 0x0750,
0x0760, 0x0770, 0x0360, 0x0780, 0x0660, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0790, 0x07a0, 0x0340, 0x07b0, 0x0510, 0x07c0,
0x07d0, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0790, 0x0340, 0x0340,
0x0340, 0x0820, 0x0340, 0x0820, 0x0340, 0x0610, 0x0340, 0x0610,
0x0340, 0x0340, 0x0340, 0x0830, 0x0840, 0x0850, 0x0340, 0x0340,
0x0860, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0870, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0880, 0x0890, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x07e0, 0x0340, 0x07e0, 0x0340, 0x05d0, 0x0340, 0x05d0,
0x0340, 0x0340, 0x0340, 0x07f0, 0x0800, 0x0810, 0x0340, 0x0340,
0x0820, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0830, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0840, 0x0850, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x08a0, 0x0340, 0x0340, 0x0340, 0x08b0, 0x08c0, 0x08d0,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0860, 0x0340, 0x0340, 0x0340, 0x0870, 0x0880, 0x0890,
0x08e0, 0x0340, 0x0340, 0x08f0, 0x06b0, 0x0340, 0x0900, 0x08e0,
0x0910, 0x0340, 0x0920, 0x0340, 0x0340, 0x0340, 0x0930, 0x0910,
0x0340, 0x0340, 0x0940, 0x0950, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0960, 0x0970, 0x0980,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x08a0, 0x0340, 0x0340, 0x08b0, 0x0670, 0x0340, 0x08c0, 0x08a0,
0x08d0, 0x0340, 0x08e0, 0x0340, 0x0340, 0x0340, 0x08f0, 0x08d0,
0x0340, 0x0340, 0x0900, 0x0910, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0920, 0x0930, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0940, 0x0900,
0x0950, 0x0340, 0x0960, 0x0340, 0x0340, 0x0340, 0x0970, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0990, 0x0940,
0x09a0, 0x0340, 0x09b0, 0x0340, 0x0340, 0x0340, 0x09c0, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0510,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x08d0,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0910,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360,
0x0340, 0x0340, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0990, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x09a0,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x08d0,
0x09b0, 0x0340, 0x06b0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x09c0, 0x0340, 0x0360, 0x08d0,
0x0340, 0x0340, 0x09d0, 0x0340, 0x09e0, 0x08d0, 0x0340, 0x0340,
0x0590, 0x0340, 0x0340, 0x09f0, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0a00, 0x0a10, 0x0a20, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0a30, 0x05e0, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x09d0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x09e0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x09f0,
0x0340, 0x0490, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0910,
0x0a00, 0x0340, 0x06f0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0980, 0x0340, 0x0360, 0x0910,
0x0340, 0x0340, 0x0a10, 0x0340, 0x0a20, 0x0910, 0x0340, 0x0340,
0x05d0, 0x0340, 0x0340, 0x0a30, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0a40, 0x0a50, 0x0a60, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0a70, 0x0620, 0x0340, 0x0a80, 0x06a0,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0a40, 0x0340,
0x0340, 0x0a50, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0a90, 0x0340,
0x0340, 0x0aa0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0360, 0x0340, 0x0940, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
0x0360, 0x0340, 0x0990, 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, 0x0580,
0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0ab0,
/* values */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@ -185,8 +185,16 @@ const unsigned short wine_shaping_table[2656] =
0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001,
0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0002, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0002, 0x0004,
0x0004, 0x0002, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0002,
0x0004, 0x0004, 0x0004, 0x0004, 0x0002, 0x0004, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
0x0404, 0x0000, 0x0604, 0x0b04, 0x0f04, 0x1004, 0x1204, 0x1304,
0x0104, 0x0104, 0x0802, 0x0302, 0x3402, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000,
0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@ -294,7 +302,7 @@ const unsigned short wine_shaping_table[2656] =
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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0001, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@ -305,6 +313,8 @@ const unsigned short wine_shaping_table[2656] =
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 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, 0x0000,
@ -314,15 +324,13 @@ const unsigned short wine_shaping_table[2656] =
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000,
0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
@ -337,10 +345,14 @@ const unsigned short wine_shaping_table[2656] =
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001,
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000
};
const unsigned short wine_shaping_forms[256][4] =

View file

@ -1341,7 +1341,7 @@ static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars,
if (original == Script_Punctuation2)
break;
}
if (scriptInformation[scripts[j]].props.fComplex || asian)
if (j >= 0 && (scriptInformation[scripts[j]].props.fComplex || asian))
scripts[i] = scripts[j];
}
}

View file

@ -193,7 +193,7 @@ reactos/dll/win32/unicows # Synced to Wine-1.3.32 (Win9x only, why do we
reactos/dll/win32/updspapi # Synced to Wine-1.5.4
reactos/dll/win32/url # Synced to Wine-1.5.19
reactos/dll/win32/urlmon # Synced to Wine-1.7.1
reactos/dll/win32/usp10 # Synced to Wine-1.5.26
reactos/dll/win32/usp10 # Synced to Wine-1.7.1
reactos/dll/win32/uxtheme # Forked
reactos/dll/win32/vbscript # Synced to Wine-1.5.26
reactos/dll/win32/version # Autosync