Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
88c6b7ef
Commit
88c6b7ef
authored
Dec 17, 2011
by
Aric Stewart
Committed by
Alexandre Julliard
Dec 19, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
usp10: Add Osmanya script.
parent
09527607
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
26 additions
and
1 deletion
+26
-1
shape.c
dlls/usp10/shape.c
+2
-0
usp10.c
dlls/usp10/tests/usp10.c
+10
-0
usp10.c
dlls/usp10/usp10.c
+12
-1
usp10_internal.h
dlls/usp10/usp10_internal.h
+2
-0
No files found.
dlls/usp10/shape.c
View file @
88c6b7ef
...
@@ -712,6 +712,8 @@ static const ScriptShapeData ShapingData[] =
...
@@ -712,6 +712,8 @@ static const ScriptShapeData ShapingData[] =
{{
no_features
,
0
},
NULL
,
""
,
""
,
NULL
,
NULL
},
{{
no_features
,
0
},
NULL
,
""
,
""
,
NULL
,
NULL
},
{{
no_features
,
0
},
NULL
,
""
,
""
,
NULL
,
NULL
},
{{
no_features
,
0
},
NULL
,
""
,
""
,
NULL
,
NULL
},
{{
no_features
,
0
},
NULL
,
"dsrt"
,
""
,
NULL
,
NULL
},
{{
no_features
,
0
},
NULL
,
"dsrt"
,
""
,
NULL
,
NULL
},
{{
no_features
,
0
},
NULL
,
"osma"
,
""
,
NULL
,
NULL
},
{{
no_features
,
0
},
NULL
,
"osma"
,
""
,
NULL
,
NULL
},
};
};
static
INT
GSUB_is_glyph_covered
(
LPCVOID
table
,
UINT
glyph
)
static
INT
GSUB_is_glyph_covered
(
LPCVOID
table
,
UINT
glyph
)
...
...
dlls/usp10/tests/usp10.c
View file @
88c6b7ef
...
@@ -169,6 +169,7 @@ static inline void _test_items_ok(LPCWSTR string, DWORD cchString,
...
@@ -169,6 +169,7 @@ static inline void _test_items_ok(LPCWSTR string, DWORD cchString,
#define runr_tag MS_MAKE_TAG('r','u','n','r')
#define runr_tag MS_MAKE_TAG('r','u','n','r')
#define brai_tag MS_MAKE_TAG('b','r','a','i')
#define brai_tag MS_MAKE_TAG('b','r','a','i')
#define dsrt_tag MS_MAKE_TAG('d','s','r','t')
#define dsrt_tag MS_MAKE_TAG('d','s','r','t')
#define osma_tag MS_MAKE_TAG('o','s','m','a')
static
void
test_ScriptItemize
(
void
)
static
void
test_ScriptItemize
(
void
)
{
{
...
@@ -440,6 +441,11 @@ static void test_ScriptItemize( void )
...
@@ -440,6 +441,11 @@ static void test_ScriptItemize( void )
static
const
itemTest
t451
[
2
]
=
{{{
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
0
,
dsrt_tag
,
TRUE
,{
-
1
,
-
1
,
-
1
,
-
1
,
0x0
}},{{
0
,
0
,
0
,
0
,
0
},
24
,
0
,
0
,
0
,
-
1
,
FALSE
}};
static
const
itemTest
t451
[
2
]
=
{{{
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
0
,
dsrt_tag
,
TRUE
,{
-
1
,
-
1
,
-
1
,
-
1
,
0x0
}},{{
0
,
0
,
0
,
0
,
0
},
24
,
0
,
0
,
0
,
-
1
,
FALSE
}};
static
const
itemTest
t452
[
2
]
=
{{{
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
2
,
dsrt_tag
,
TRUE
,{
-
1
,
1
,
1
,
1
,
0x0
}},{{
0
,
0
,
0
,
0
,
0
},
24
,
0
,
0
,
0
,
-
1
,
FALSE
}};
static
const
itemTest
t452
[
2
]
=
{{{
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
2
,
dsrt_tag
,
TRUE
,{
-
1
,
1
,
1
,
1
,
0x0
}},{{
0
,
0
,
0
,
0
,
0
},
24
,
0
,
0
,
0
,
-
1
,
FALSE
}};
/* Osmanya */
static
const
WCHAR
test46
[]
=
{
0xd801
,
0xdc8b
,
0xd801
,
0xdc98
,
0xd801
,
0xdc88
,
0xd801
,
0xdc91
,
0xd801
,
0xdc9b
,
0xd801
,
0xdc92
,
0xd801
,
0xdc95
,
0xd801
,
0xdc80
};
static
const
itemTest
t461
[
2
]
=
{{{
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
0
,
osma_tag
,
TRUE
,{
-
1
,
-
1
,
-
1
,
-
1
,
0x0
}},{{
0
,
0
,
0
,
0
,
0
},
16
,
0
,
0
,
0
,
-
1
,
FALSE
}};
static
const
itemTest
t462
[
2
]
=
{{{
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
2
,
osma_tag
,
TRUE
,{
-
1
,
1
,
1
,
1
,
0x0
}},{{
0
,
0
,
0
,
0
,
0
},
16
,
0
,
0
,
0
,
-
1
,
FALSE
}};
SCRIPT_ITEM
items
[
15
];
SCRIPT_ITEM
items
[
15
];
SCRIPT_CONTROL
Control
;
SCRIPT_CONTROL
Control
;
SCRIPT_STATE
State
;
SCRIPT_STATE
State
;
...
@@ -518,6 +524,7 @@ static void test_ScriptItemize( void )
...
@@ -518,6 +524,7 @@ static void test_ScriptItemize( void )
test_items_ok
(
test43
,
7
,
NULL
,
NULL
,
1
,
t431
,
FALSE
,
0
);
test_items_ok
(
test43
,
7
,
NULL
,
NULL
,
1
,
t431
,
FALSE
,
0
);
test_items_ok
(
test44
,
4
,
NULL
,
NULL
,
2
,
t441
,
FALSE
,
0
);
test_items_ok
(
test44
,
4
,
NULL
,
NULL
,
2
,
t441
,
FALSE
,
0
);
test_items_ok
(
test45
,
24
,
NULL
,
NULL
,
1
,
t451
,
FALSE
,
0
);
test_items_ok
(
test45
,
24
,
NULL
,
NULL
,
1
,
t451
,
FALSE
,
0
);
test_items_ok
(
test46
,
16
,
NULL
,
NULL
,
1
,
t461
,
FALSE
,
0
);
State
.
uBidiLevel
=
0
;
State
.
uBidiLevel
=
0
;
test_items_ok
(
test1
,
4
,
&
Control
,
&
State
,
1
,
t11
,
FALSE
,
0
);
test_items_ok
(
test1
,
4
,
&
Control
,
&
State
,
1
,
t11
,
FALSE
,
0
);
...
@@ -570,6 +577,7 @@ static void test_ScriptItemize( void )
...
@@ -570,6 +577,7 @@ static void test_ScriptItemize( void )
test_items_ok
(
test43
,
7
,
&
Control
,
&
State
,
1
,
t431
,
FALSE
,
0
);
test_items_ok
(
test43
,
7
,
&
Control
,
&
State
,
1
,
t431
,
FALSE
,
0
);
test_items_ok
(
test44
,
4
,
&
Control
,
&
State
,
2
,
t441
,
FALSE
,
0
);
test_items_ok
(
test44
,
4
,
&
Control
,
&
State
,
2
,
t441
,
FALSE
,
0
);
test_items_ok
(
test45
,
24
,
&
Control
,
&
State
,
1
,
t451
,
FALSE
,
0
);
test_items_ok
(
test45
,
24
,
&
Control
,
&
State
,
1
,
t451
,
FALSE
,
0
);
test_items_ok
(
test46
,
16
,
&
Control
,
&
State
,
1
,
t461
,
FALSE
,
0
);
State
.
uBidiLevel
=
1
;
State
.
uBidiLevel
=
1
;
test_items_ok
(
test1
,
4
,
&
Control
,
&
State
,
1
,
t12
,
FALSE
,
0
);
test_items_ok
(
test1
,
4
,
&
Control
,
&
State
,
1
,
t12
,
FALSE
,
0
);
...
@@ -622,6 +630,7 @@ static void test_ScriptItemize( void )
...
@@ -622,6 +630,7 @@ static void test_ScriptItemize( void )
test_items_ok
(
test43
,
7
,
&
Control
,
&
State
,
1
,
t432
,
FALSE
,
0
);
test_items_ok
(
test43
,
7
,
&
Control
,
&
State
,
1
,
t432
,
FALSE
,
0
);
test_items_ok
(
test44
,
4
,
&
Control
,
&
State
,
2
,
t442
,
FALSE
,
0
);
test_items_ok
(
test44
,
4
,
&
Control
,
&
State
,
2
,
t442
,
FALSE
,
0
);
test_items_ok
(
test45
,
24
,
&
Control
,
&
State
,
1
,
t452
,
FALSE
,
0
);
test_items_ok
(
test45
,
24
,
&
Control
,
&
State
,
1
,
t452
,
FALSE
,
0
);
test_items_ok
(
test46
,
16
,
&
Control
,
&
State
,
1
,
t462
,
FALSE
,
0
);
State
.
uBidiLevel
=
1
;
State
.
uBidiLevel
=
1
;
Control
.
fMergeNeutralItems
=
TRUE
;
Control
.
fMergeNeutralItems
=
TRUE
;
...
@@ -675,6 +684,7 @@ static void test_ScriptItemize( void )
...
@@ -675,6 +684,7 @@ static void test_ScriptItemize( void )
test_items_ok
(
test43
,
7
,
&
Control
,
&
State
,
1
,
t432
,
FALSE
,
0
);
test_items_ok
(
test43
,
7
,
&
Control
,
&
State
,
1
,
t432
,
FALSE
,
0
);
test_items_ok
(
test44
,
4
,
&
Control
,
&
State
,
2
,
t442
,
FALSE
,
0
);
test_items_ok
(
test44
,
4
,
&
Control
,
&
State
,
2
,
t442
,
FALSE
,
0
);
test_items_ok
(
test45
,
24
,
&
Control
,
&
State
,
1
,
t452
,
FALSE
,
0
);
test_items_ok
(
test45
,
24
,
&
Control
,
&
State
,
1
,
t452
,
FALSE
,
0
);
test_items_ok
(
test46
,
16
,
&
Control
,
&
State
,
1
,
t462
,
FALSE
,
0
);
}
}
static
inline
void
_test_shape_ok
(
int
valid
,
HDC
hdc
,
LPCWSTR
string
,
static
inline
void
_test_shape_ok
(
int
valid
,
HDC
hdc
,
LPCWSTR
string
,
...
...
dlls/usp10/usp10.c
View file @
88c6b7ef
...
@@ -290,6 +290,8 @@ static const scriptRange scriptRanges[] = {
...
@@ -290,6 +290,8 @@ static const scriptRange scriptRanges[] = {
/* Plane - 1 */
/* Plane - 1 */
/* Deseret: U+10400–U+1044F */
/* Deseret: U+10400–U+1044F */
{
Script_Deseret
,
0x10400
,
0x1044F
,
0
,
0
},
{
Script_Deseret
,
0x10400
,
0x1044F
,
0
,
0
},
/* Osmanya: U+10480–U+104AF */
{
Script_Osmanya
,
0x10480
,
0x104AF
,
Script_Osmanya_Numeric
,
0
},
/* END */
/* END */
{
SCRIPT_UNDEFINED
,
0
,
0
,
0
}
{
SCRIPT_UNDEFINED
,
0
,
0
,
0
}
};
};
...
@@ -608,6 +610,14 @@ static const scriptData scriptInformation[] = {
...
@@ -608,6 +610,14 @@ static const scriptData scriptInformation[] = {
{
0
,
0
,
1
,
0
,
0
,
DEFAULT_CHARSET
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
0
,
1
,
0
,
0
,
DEFAULT_CHARSET
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},
MS_MAKE_TAG
(
'd'
,
's'
,
'r'
,
't'
),
MS_MAKE_TAG
(
'd'
,
's'
,
'r'
,
't'
),
{
'S'
,
'e'
,
'g'
,
'o'
,
'e'
,
' '
,
'U'
,
'I'
,
' '
,
'S'
,
'y'
,
'm'
,
'b'
,
'o'
,
'l'
}},
{
'S'
,
'e'
,
'g'
,
'o'
,
'e'
,
' '
,
'U'
,
'I'
,
' '
,
'S'
,
'y'
,
'm'
,
'b'
,
'o'
,
'l'
}},
{{
Script_Osmanya
,
0
,
0
,
0
,
0
,
0
,
0
,
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}},
{
0
,
0
,
1
,
0
,
0
,
DEFAULT_CHARSET
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},
MS_MAKE_TAG
(
'o'
,
's'
,
'm'
,
'a'
),
{
'E'
,
'b'
,
'r'
,
'i'
,
'm'
,
'a'
}},
{{
Script_Osmanya_Numeric
,
0
,
0
,
0
,
0
,
0
,
0
,
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}},
{
0
,
1
,
1
,
0
,
0
,
DEFAULT_CHARSET
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},
MS_MAKE_TAG
(
'o'
,
's'
,
'm'
,
'a'
),
{
'E'
,
'b'
,
'r'
,
'i'
,
'm'
,
'a'
}},
};
};
static
const
SCRIPT_PROPERTIES
*
script_props
[]
=
static
const
SCRIPT_PROPERTIES
*
script_props
[]
=
...
@@ -649,7 +659,8 @@ static const SCRIPT_PROPERTIES *script_props[] =
...
@@ -649,7 +659,8 @@ static const SCRIPT_PROPERTIES *script_props[] =
&
scriptInformation
[
68
].
props
,
&
scriptInformation
[
69
].
props
,
&
scriptInformation
[
68
].
props
,
&
scriptInformation
[
69
].
props
,
&
scriptInformation
[
70
].
props
,
&
scriptInformation
[
71
].
props
,
&
scriptInformation
[
70
].
props
,
&
scriptInformation
[
71
].
props
,
&
scriptInformation
[
72
].
props
,
&
scriptInformation
[
73
].
props
,
&
scriptInformation
[
72
].
props
,
&
scriptInformation
[
73
].
props
,
&
scriptInformation
[
74
].
props
,
&
scriptInformation
[
75
].
props
&
scriptInformation
[
74
].
props
,
&
scriptInformation
[
75
].
props
,
&
scriptInformation
[
76
].
props
,
&
scriptInformation
[
77
].
props
};
};
typedef
struct
{
typedef
struct
{
...
...
dlls/usp10/usp10_internal.h
View file @
88c6b7ef
...
@@ -111,6 +111,8 @@
...
@@ -111,6 +111,8 @@
#define Script_Private 74
#define Script_Private 74
/* Unicode Chapter 13 : Plane 1 */
/* Unicode Chapter 13 : Plane 1 */
#define Script_Deseret 75
#define Script_Deseret 75
#define Script_Osmanya 76
#define Script_Osmanya_Numeric 77
#define GLYPH_BLOCK_SHIFT 8
#define GLYPH_BLOCK_SHIFT 8
#define GLYPH_BLOCK_SIZE (1UL << GLYPH_BLOCK_SHIFT)
#define GLYPH_BLOCK_SIZE (1UL << GLYPH_BLOCK_SHIFT)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment