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
5c122998
Commit
5c122998
authored
Mar 11, 2008
by
Aric Stewart
Committed by
Alexandre Julliard
Mar 11, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi32: Skip leading @ from FontFace when looking for font to load.
parent
248ae8f1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
5 deletions
+14
-5
freetype.c
dlls/gdi32/freetype.c
+14
-5
No files found.
dlls/gdi32/freetype.c
View file @
5c122998
...
...
@@ -3068,13 +3068,22 @@ GdiFont *WineEngCreateFontInstance(DC *dc, HFONT hfont)
FontSubst
*
psub
;
SYSTEM_LINKS
*
font_link
;
CHILD_FONT
*
font_link_entry
;
LPWSTR
FaceName
=
lf
.
lfFaceName
;
psub
=
get_font_subst
(
&
font_subst_list
,
lf
.
lfFaceName
,
lf
.
lfCharSet
);
/*
* Check for a leading '@' this signals that the font is being
* requested in tategaki mode (vertical writing subtitution) but
* does not affect the fontface that is to be selected.
*/
if
(
lf
.
lfFaceName
[
0
]
==
'@'
)
FaceName
=
&
lf
.
lfFaceName
[
1
];
psub
=
get_font_subst
(
&
font_subst_list
,
FaceName
,
lf
.
lfCharSet
);
if
(
psub
)
{
TRACE
(
"substituting %s -> %s
\n
"
,
debugstr_w
(
lf
.
lf
FaceName
),
TRACE
(
"substituting %s -> %s
\n
"
,
debugstr_w
(
FaceName
),
debugstr_w
(
psub
->
to
.
name
));
strcpyW
(
lf
.
lf
FaceName
,
psub
->
to
.
name
);
strcpyW
(
FaceName
,
psub
->
to
.
name
);
}
/* We want a match on name and charset or just name if
...
...
@@ -3085,7 +3094,7 @@ GdiFont *WineEngCreateFontInstance(DC *dc, HFONT hfont)
*/
LIST_FOR_EACH
(
family_elem_ptr
,
&
font_list
)
{
family
=
LIST_ENTRY
(
family_elem_ptr
,
Family
,
entry
);
if
(
!
strcmpiW
(
family
->
FamilyName
,
lf
.
lf
FaceName
))
{
if
(
!
strcmpiW
(
family
->
FamilyName
,
FaceName
))
{
LIST_FOR_EACH
(
face_elem_ptr
,
&
family
->
faces
)
{
face
=
LIST_ENTRY
(
face_elem_ptr
,
Face
,
entry
);
if
((
csi
.
fs
.
fsCsb
[
0
]
&
(
face
->
fs
.
fsCsb
[
0
]
|
face
->
fs_links
.
fsCsb
[
0
]))
||
!
csi
.
fs
.
fsCsb
[
0
])
...
...
@@ -3101,7 +3110,7 @@ GdiFont *WineEngCreateFontInstance(DC *dc, HFONT hfont)
*/
LIST_FOR_EACH_ENTRY
(
font_link
,
&
system_links
,
SYSTEM_LINKS
,
entry
)
{
if
(
!
strcmpiW
(
font_link
->
font_name
,
lf
.
lf
FaceName
))
if
(
!
strcmpiW
(
font_link
->
font_name
,
FaceName
))
{
TRACE
(
"found entry in system list
\n
"
);
LIST_FOR_EACH_ENTRY
(
font_link_entry
,
&
font_link
->
links
,
CHILD_FONT
,
entry
)
...
...
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