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
b864b4aa
Commit
b864b4aa
authored
Jan 14, 2013
by
Huw Davies
Committed by
Alexandre Julliard
Jan 14, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
usp10: Propagate the script analysis to the GPOS lookup functions.
parent
a66efc26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
27 deletions
+39
-27
opentype.c
dlls/usp10/opentype.c
+33
-17
shape.c
dlls/usp10/shape.c
+4
-9
usp10_internal.h
dlls/usp10/usp10_internal.h
+2
-1
No files found.
dlls/usp10/opentype.c
View file @
b864b4aa
This diff is collapsed.
Click to expand it.
dlls/usp10/shape.c
View file @
b864b4aa
...
...
@@ -860,7 +860,8 @@ static int apply_GSUB_feature(HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache* psc, W
return
GSUB_E_NOFEATURE
;
}
static
VOID
GPOS_apply_feature
(
LPOUTLINETEXTMETRICW
lpotm
,
LPLOGFONTW
lplogfont
,
INT
*
piAdvance
,
LPCVOID
header
,
LoadedFeature
*
feature
,
const
WORD
*
glyphs
,
INT
write_dir
,
INT
glyph_count
,
GOFFSET
*
pGoffset
)
static
VOID
GPOS_apply_feature
(
LPOUTLINETEXTMETRICW
lpotm
,
LPLOGFONTW
lplogfont
,
const
SCRIPT_ANALYSIS
*
analysis
,
INT
*
piAdvance
,
LPCVOID
header
,
LoadedFeature
*
feature
,
const
WORD
*
glyphs
,
INT
glyph_count
,
GOFFSET
*
pGoffset
)
{
int
i
;
...
...
@@ -869,7 +870,7 @@ static VOID GPOS_apply_feature(LPOUTLINETEXTMETRICW lpotm, LPLOGFONTW lplogfont,
{
int
j
;
for
(
j
=
0
;
j
<
glyph_count
;
)
j
=
OpenType_apply_GPOS_lookup
(
lpotm
,
lplogfont
,
piAdvance
,
header
,
feature
->
lookups
[
i
],
glyphs
,
j
,
write_dir
,
glyph_count
,
pGoffset
);
j
=
OpenType_apply_GPOS_lookup
(
lpotm
,
lplogfont
,
analysis
,
piAdvance
,
header
,
feature
->
lookups
[
i
],
glyphs
,
j
,
glyph_count
,
pGoffset
);
}
}
...
...
@@ -3285,7 +3286,6 @@ void SHAPE_ApplyOpenTypePositions(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *ps
{
const
TEXTRANGE_PROPERTIES
*
rpRangeProperties
;
int
i
;
INT
dirL
;
rpRangeProperties
=
&
ShapingData
[
psa
->
eScript
].
defaultGPOSTextRange
;
...
...
@@ -3297,11 +3297,6 @@ void SHAPE_ApplyOpenTypePositions(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *ps
if
(
!
psc
->
GPOS_Table
||
!
psc
->
otm
)
return
;
if
(
!
psa
->
fLogicalOrder
&&
psa
->
fRTL
)
dirL
=
-
1
;
else
dirL
=
1
;
for
(
i
=
0
;
i
<
rpRangeProperties
->
cotfRecords
;
i
++
)
{
if
(
rpRangeProperties
->
potfRecords
[
i
].
lParameter
>
0
)
...
...
@@ -3312,7 +3307,7 @@ void SHAPE_ApplyOpenTypePositions(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *ps
if
(
!
feature
)
continue
;
GPOS_apply_feature
(
psc
->
otm
,
&
psc
->
lf
,
p
iAdvance
,
psc
->
GPOS_Table
,
feature
,
pwGlyphs
,
dirL
,
cGlyphs
,
pGoffset
);
GPOS_apply_feature
(
psc
->
otm
,
&
psc
->
lf
,
p
sa
,
piAdvance
,
psc
->
GPOS_Table
,
feature
,
pwGlyphs
,
cGlyphs
,
pGoffset
);
}
}
}
...
...
dlls/usp10/usp10_internal.h
View file @
b864b4aa
...
...
@@ -244,7 +244,8 @@ void BREAK_line(const WCHAR *chars, int count, const SCRIPT_ANALYSIS *sa, SCRIPT
DWORD
OpenType_CMAP_GetGlyphIndex
(
HDC
hdc
,
ScriptCache
*
psc
,
DWORD
utf32c
,
LPWORD
pgi
,
DWORD
flags
)
DECLSPEC_HIDDEN
;
void
OpenType_GDEF_UpdateGlyphProps
(
HDC
hdc
,
ScriptCache
*
psc
,
const
WORD
*
pwGlyphs
,
const
WORD
cGlyphs
,
WORD
*
pwLogClust
,
const
WORD
cChars
,
SCRIPT_GLYPHPROP
*
pGlyphProp
)
DECLSPEC_HIDDEN
;
INT
OpenType_apply_GSUB_lookup
(
LPCVOID
table
,
INT
lookup_index
,
WORD
*
glyphs
,
INT
glyph_index
,
INT
write_dir
,
INT
*
glyph_count
)
DECLSPEC_HIDDEN
;
INT
OpenType_apply_GPOS_lookup
(
LPOUTLINETEXTMETRICW
lpotm
,
LPLOGFONTW
lplogfont
,
INT
*
piAdvance
,
LPCVOID
table
,
INT
lookup_index
,
const
WORD
*
glyphs
,
INT
glyph_index
,
INT
write_dir
,
INT
glyph_count
,
GOFFSET
*
pGoffset
)
DECLSPEC_HIDDEN
;
INT
OpenType_apply_GPOS_lookup
(
LPOUTLINETEXTMETRICW
lpotm
,
LPLOGFONTW
lplogfont
,
const
SCRIPT_ANALYSIS
*
analysis
,
INT
*
piAdvance
,
LPCVOID
table
,
INT
lookup_index
,
const
WORD
*
glyphs
,
INT
glyph_index
,
INT
glyph_count
,
GOFFSET
*
pGoffset
)
DECLSPEC_HIDDEN
;
HRESULT
OpenType_GetFontScriptTags
(
ScriptCache
*
psc
,
OPENTYPE_TAG
searchingFor
,
int
cMaxTags
,
OPENTYPE_TAG
*
pScriptTags
,
int
*
pcTags
)
DECLSPEC_HIDDEN
;
HRESULT
OpenType_GetFontLanguageTags
(
ScriptCache
*
psc
,
OPENTYPE_TAG
script_tag
,
OPENTYPE_TAG
searchingFor
,
int
cMaxTags
,
OPENTYPE_TAG
*
pLanguageTags
,
int
*
pcTags
)
DECLSPEC_HIDDEN
;
HRESULT
OpenType_GetFontFeatureTags
(
ScriptCache
*
psc
,
OPENTYPE_TAG
script_tag
,
OPENTYPE_TAG
language_tag
,
BOOL
filtered
,
OPENTYPE_TAG
searchingFor
,
char
tableType
,
int
cMaxTags
,
OPENTYPE_TAG
*
pFeatureTags
,
int
*
pcTags
,
LoadedFeature
**
feature
)
DECLSPEC_HIDDEN
;
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