summaryrefslogtreecommitdiffstats
path: root/dbus/file_descriptor.h
diff options
context:
space:
mode:
authoredisonn@google.com <edisonn@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-21 01:14:56 +0000
committeredisonn@google.com <edisonn@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-21 01:14:56 +0000
commitfeb3237e3c328f51525f90ea41737fe6eee28eef (patch)
tree9c45f0489ca6174ad0bb253c155ecfce742393be /dbus/file_descriptor.h
parente8a9892eefaf046b752e229d0af39ac2c855e0ae (diff)
downloadchromium_src-feb3237e3c328f51525f90ea41737fe6eee28eef.zip
chromium_src-feb3237e3c328f51525f90ea41737fe6eee28eef.tar.gz
chromium_src-feb3237e3c328f51525f90ea41737fe6eee28eef.tar.bz2
This is a fix for http://code.google.com/p/chromium/issues/detail?id=128506 - Random Chinese/Japanese characters are missing in documents printed via the system print dialog on Windows XP SP3
The cause of the bug is that ensureFontLoaded just does not work for the printing thread because GetTextMetrics(font) is not guaranteed to load the TrueType font for an HDC build from CreateEnhMetaFile. The only way I found to force font loading is to create a dummy HDC with CreateEnhMetaFile and then print the offending character(s). This change contains: - wirings for foo_CacheFontCharacters similar with foo_CacheFont, but with dispatch this message in RenderMessageFilter and defined in view_messages.h - SkFontHost::EnsureTypefaceCharactersAccessible similar with SkFontHost::EnsureTypefaceAccessible - Small refactoring of ExtTextOut call which would - Call ExtTextOut - If failed, calls SkFontHost::EnsureTypefaceCharactersAccessible - call ExtTextOutAgain and return success/failure - the calller will default to a skia paintPath (lower quality, but correct) if above fails Notice: No tests for now, lets's make sure the design is right, then I will add tests too. Contributed by edisonn@google.com Review URL: https://chromiumcodereview.appspot.com/11363008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168943 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'dbus/file_descriptor.h')
0 files changed, 0 insertions, 0 deletions