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
9ccfebd6
Commit
9ccfebd6
authored
Nov 01, 2013
by
Aric Stewart
Committed by
Alexandre Julliard
Nov 04, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
usp10: Implement resolveResolved (L1) for Unicode 6.3.
parent
de5dc96f
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
0 deletions
+35
-0
bidi.c
dlls/usp10/bidi.c
+35
-0
No files found.
dlls/usp10/bidi.c
View file @
9ccfebd6
...
@@ -793,6 +793,37 @@ static void resolveImplicit(const WORD * pcls, WORD *plevel, int sos, int eos)
...
@@ -793,6 +793,37 @@ static void resolveImplicit(const WORD * pcls, WORD *plevel, int sos, int eos)
}
}
}
}
static
void
resolveResolved
(
unsigned
baselevel
,
const
WORD
*
pcls
,
WORD
*
plevel
,
int
sos
,
int
eos
)
{
int
i
;
/* L1 */
for
(
i
=
sos
;
i
<=
eos
;
i
++
)
{
if
(
pcls
[
i
]
==
B
||
pcls
[
i
]
==
S
)
{
int
j
=
i
-
1
;
while
(
i
>
sos
&&
j
>=
sos
&&
(
pcls
[
j
]
==
WS
||
pcls
[
j
]
==
FSI
||
pcls
[
j
]
==
LRI
||
pcls
[
j
]
==
RLI
||
pcls
[
j
]
==
PDI
||
pcls
[
j
]
==
LRE
||
pcls
[
j
]
==
RLE
||
pcls
[
j
]
==
LRO
||
pcls
[
j
]
==
RLO
||
pcls
[
j
]
==
PDF
||
pcls
[
j
]
==
BN
))
plevel
[
j
--
]
=
baselevel
;
plevel
[
i
]
=
baselevel
;
}
if
(
i
==
eos
&&
(
pcls
[
i
]
==
WS
||
pcls
[
i
]
==
FSI
||
pcls
[
i
]
==
LRI
||
pcls
[
i
]
==
RLI
||
pcls
[
i
]
==
PDI
||
pcls
[
i
]
==
LRE
||
pcls
[
i
]
==
RLE
||
pcls
[
i
]
==
LRO
||
pcls
[
i
]
==
RLO
||
pcls
[
i
]
==
PDF
||
pcls
[
i
]
==
BN
))
{
int
j
=
i
;
while
(
j
>=
sos
&&
(
pcls
[
j
]
==
WS
||
pcls
[
j
]
==
FSI
||
pcls
[
j
]
==
LRI
||
pcls
[
j
]
==
RLI
||
pcls
[
j
]
==
PDI
||
pcls
[
j
]
==
LRE
||
pcls
[
j
]
==
RLE
||
pcls
[
j
]
==
LRO
||
pcls
[
j
]
==
RLO
||
pcls
[
j
]
==
PDF
||
pcls
[
j
]
==
BN
))
plevel
[
j
--
]
=
baselevel
;
}
}
}
static
void
computeIsolatingRunsSet
(
unsigned
baselevel
,
WORD
*
pcls
,
WORD
*
pLevel
,
int
uCount
,
struct
list
*
set
)
static
void
computeIsolatingRunsSet
(
unsigned
baselevel
,
WORD
*
pcls
,
WORD
*
pLevel
,
int
uCount
,
struct
list
*
set
)
{
{
int
run_start
,
run_end
,
i
;
int
run_start
,
run_end
,
i
;
...
@@ -972,6 +1003,10 @@ BOOL BIDI_DetermineLevels(
...
@@ -972,6 +1003,10 @@ BOOL BIDI_DetermineLevels(
/* resolveImplicit */
/* resolveImplicit */
resolveImplicit
(
chartype
,
lpOutLevels
,
0
,
uCount
-
1
);
resolveImplicit
(
chartype
,
lpOutLevels
,
0
,
uCount
-
1
);
/* resolveResolvedLevels*/
classify
(
lpString
,
chartype
,
uCount
,
c
);
resolveResolved
(
baselevel
,
chartype
,
lpOutLevels
,
0
,
uCount
-
1
);
HeapFree
(
GetProcessHeap
(),
0
,
chartype
);
HeapFree
(
GetProcessHeap
(),
0
,
chartype
);
return
TRUE
;
return
TRUE
;
}
}
...
...
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