Nikolay Sivov : dwrite: Support nine more script ranges up to code point 0x0bff.
Alexandre Julliard
julliard at winehq.org
Thu Nov 1 14:42:58 CDT 2012
Module: wine
Branch: master
Commit: 4d2164c936d5d0a0c162761a5f25a24ffc48ec01
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4d2164c936d5d0a0c162761a5f25a24ffc48ec01
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Thu Nov 1 09:16:43 2012 -0400
dwrite: Support nine more script ranges up to code point 0x0bff.
---
dlls/dwrite/analyzer.c | 29 +++++++++++++++++++
dlls/dwrite/tests/analyzer.c | 64 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c
index 0a0642a..6794c10 100644
--- a/dlls/dwrite/analyzer.c
+++ b/dlls/dwrite/analyzer.c
@@ -30,12 +30,21 @@ WINE_DEFAULT_DEBUG_CHANNEL(dwrite);
enum scriptcode {
Script_Arabic = 0,
Script_Armenian = 1,
+ Script_Bengali = 3,
Script_C1Controls = 12,
Script_Coptic = 13,
Script_Cyrillic = 16,
+ Script_Devanagari = 18,
Script_Greek = 23,
+ Script_Gujarati = 24,
+ Script_Gurmukhi = 25,
Script_Hebrew = 29,
Script_Latin = 38,
+ Script_NKo = 48,
+ Script_Oriya = 53,
+ Script_Syriac = 64,
+ Script_Tamil = 68,
+ Script_Thaana = 70,
Script_Symbol = 77,
Script_Unknown = (UINT16)-1
};
@@ -87,6 +96,26 @@ static const struct script_range script_ranges[] = {
{ Script_Hebrew, 0x590, 0x5ff },
/* Arabic: U+0600–U+06FF */
{ Script_Arabic, 0x600, 0x6ff },
+ /* Syriac: U+0600–U+06FF */
+ { Script_Syriac, 0x700, 0x74f },
+ /* Arabic Supplement: U+0750–U+077F */
+ { Script_Arabic, 0x750, 0x77f },
+ /* Thaana: U+0780–U+07BF */
+ { Script_Thaana, 0x780, 0x7bf },
+ /* N'Ko: U+07C0–U+07FF */
+ { Script_NKo, 0x7c0, 0x7ff },
+ /* Devanagari: U+0900–U+097F */
+ { Script_Devanagari, 0x900, 0x97f },
+ /* Bengali: U+0980–U+09FF */
+ { Script_Bengali, 0x980, 0x9ff },
+ /* Gurmukhi: U+0A00–U+0A7F */
+ { Script_Gurmukhi, 0xa00, 0xa7f },
+ /* Gujarati: U+0A80–U+0AFF */
+ { Script_Gujarati, 0xa80, 0xaff },
+ /* Oriya: U+0B00–U+0B7F */
+ { Script_Oriya, 0xb00, 0xb7f },
+ /* Tamil: U+0B80–U+0BFF */
+ { Script_Tamil, 0xb80, 0xbff },
/* unsupported range */
{ Script_Unknown }
};
diff --git a/dlls/dwrite/tests/analyzer.c b/dlls/dwrite/tests/analyzer.c
index 648759f..dbd0307 100644
--- a/dlls/dwrite/tests/analyzer.c
+++ b/dlls/dwrite/tests/analyzer.c
@@ -399,12 +399,21 @@ struct sa_test {
enum scriptcode {
Script_Arabic = 0,
Script_Armenian = 1,
+ Script_Bengali = 3,
Script_C1Controls = 12,
Script_Coptic = 13,
Script_Cyrillic = 16,
+ Script_Devanagari = 18,
Script_Greek = 23,
+ Script_Gujarati = 24,
+ Script_Gurmukhi = 25,
Script_Hebrew = 29,
Script_Latin = 38,
+ Script_NKo = 48,
+ Script_Oriya = 53,
+ Script_Syriac = 64,
+ Script_Tamil = 68,
+ Script_Thaana = 70,
Script_Symbol = 77
};
@@ -532,6 +541,61 @@ static struct sa_test sa_tests[] = {
{ 9, 10, { Script_Hebrew, DWRITE_SCRIPT_SHAPES_DEFAULT } },
{ 19, 10, { Script_Latin, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
},
+ {
+ /* Syriac */
+ {0x710,0x712,0x712,0x714,'.',0}, 1,
+ { { 0, 5, { Script_Syriac, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* Arabic Supplement */
+ {0x750,0x760,0x76d,'.',0}, 1,
+ { { 0, 4, { Script_Arabic, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* Thaana */
+ {0x780,0x78e,0x798,0x7a6,0x7b0,'.',0}, 1,
+ { { 0, 6, { Script_Thaana, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* N'Ko */
+ {0x7c0,0x7ca,0x7e8,0x7eb,0x7f6,'.',0}, 1,
+ { { 0, 6, { Script_NKo, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* Thaana */
+ {0x780,0x798,0x7a5,0x7a6,0x7b0,'.',0}, 1,
+ { { 0, 6, { Script_Thaana, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* Devanagari */
+ {0x926,0x947,0x935,0x928,0x93e,0x917,0x930,0x940,'.',0}, 1,
+ { { 0, 9, { Script_Devanagari, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* Bengali */
+ {0x9ac,0x9be,0x982,0x9b2,0x9be,'.',0}, 1,
+ { { 0, 6, { Script_Bengali, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* Gurmukhi */
+ {0xa17,0xa41,0xa30,0xa2e,0xa41,0xa16,0xa40,'.',0}, 1,
+ { { 0, 8, { Script_Gurmukhi, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* Gujarati */
+ {0xa97,0xac1,0xa9c,0xab0,0xabe,0xaa4,0xac0,'.',0}, 1,
+ { { 0, 8, { Script_Gujarati, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* Oriya */
+ {0xb13,0xb21,0xb3c,0xb3f,0xb06,'.',0}, 1,
+ { { 0, 6, { Script_Oriya, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
+ {
+ /* Tamil */
+ {0xba4,0xbae,0xbbf,0xbb4,0xbcd,'.',0}, 1,
+ { { 0, 6, { Script_Tamil, DWRITE_SCRIPT_SHAPES_DEFAULT } }}
+ },
/* keep this as end marker */
{ {0} }
};
More information about the wine-cvs
mailing list