[Bug 18044] New: System Font Linking fails with MS Shell Dlg
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Apr 14 05:49:54 CDT 2009
http://bugs.winehq.org/show_bug.cgi?id=18044
Summary: System Font Linking fails with MS Shell Dlg
Product: Wine
Version: 1.1.19
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: trivial
Priority: P2
Component: gdi32
AssignedTo: wine-bugs at winehq.org
ReportedBy: Paul.Hampson at Pobox.com
If MS Shell Dlg (or presumably any other font named in
HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes is used to
render text, the system font linking support provided by
HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink fails.
What happens is that the substitution list in SystemLink is stored by real font
name, such that putting an entry for MS Shell Dlg in that list will actually
store an entry in the system_links list (in gdi32/freetype.c) for the font that
points to (Tahoma under en-US codepage). This means it is possible to have two
entrys for one real font in this list, as it happens.
However, when create_child_font_list (also in gdi32/freetype.c) goes searching
for entries in system_links, it searches by virtual name (ie MS Shell Dlg if
that is what the program asked for) and so fails to find any matches.
This causes get_glyph_index_linked to not have any children to search, and
hence return FALSE, causing the glyphs in question to be replaced with glyph 0.
This affects uTorrent 1.8. uTorrent 1.7 used Tahoma as its GUI font, so simply
enabling SystemLink for Tahoma (as per bug 10864 comment 4) would allow
non-local-codepage characters to display correctly. Under uTorrent 1.8 however,
this fails.
It looks to me like the problem is that create_child_font_list should be
searching the system_links list by real font name, not virtual font name, for
best consistency with Windows.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list