Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
9a6cf4a3
Commit
9a6cf4a3
authored
May 19, 2011
by
Aric Stewart
Committed by
Alexandre Julliard
May 20, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
usp10: If a feature changes a glyph reapply the feature to the new glyph.
parent
ecd43b4b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
0 deletions
+12
-0
shape.c
dlls/usp10/shape.c
+12
-0
No files found.
dlls/usp10/shape.c
View file @
9a6cf4a3
...
...
@@ -516,6 +516,9 @@ static INT GSUB_apply_SingleSubst(const GSUB_LookupTable *look, WORD *glyphs, IN
TRACE
(
" Coverage index %i
\n
"
,
index
);
if
(
index
!=
-
1
)
{
if
(
glyphs
[
glyph_index
]
==
GET_BE_WORD
(
ssf2
->
Substitute
[
index
]))
return
GSUB_E_NOGLYPH
;
TRACE
(
" Glyph is 0x%x ->"
,
glyphs
[
glyph_index
]);
glyphs
[
glyph_index
]
=
GET_BE_WORD
(
ssf2
->
Substitute
[
index
]);
TRACE
(
"0x%x
\n
"
,
glyphs
[
glyph_index
]);
...
...
@@ -548,6 +551,8 @@ static INT GSUB_apply_AlternateSubst(const GSUB_LookupTable *look, WORD *glyphs,
offset
=
GET_BE_WORD
(
asf1
->
AlternateSet
[
index
]);
as
=
(
const
GSUB_AlternateSet
*
)((
const
BYTE
*
)
asf1
+
offset
);
FIXME
(
"%i alternates, picking index 0
\n
"
,
GET_BE_WORD
(
as
->
GlyphCount
));
if
(
glyphs
[
glyph_index
]
==
GET_BE_WORD
(
as
->
Alternate
[
0
]))
return
GSUB_E_NOGLYPH
;
TRACE
(
" Glyph 0x%x ->"
,
glyphs
[
glyph_index
]);
glyphs
[
glyph_index
]
=
GET_BE_WORD
(
as
->
Alternate
[
0
]);
...
...
@@ -759,6 +764,13 @@ static INT GSUB_apply_feature(const GSUB_Header * header, const GSUB_Feature* fe
}
if
(
out_index
==
GSUB_E_NOGLYPH
)
TRACE
(
"lookups found no glyphs
\n
"
);
else
{
int
out2
;
out2
=
GSUB_apply_feature
(
header
,
feature
,
glyphs
,
glyph_index
,
write_dir
,
glyph_count
);
if
(
out2
!=
GSUB_E_NOGLYPH
)
out_index
=
out2
;
}
return
out_index
;
}
...
...
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