Module: wine Branch: master Commit: 6fe14a015335eb50a5e03ae59fcc882b019479ff URL: http://source.winehq.org/git/wine.git/?a=commit;h=6fe14a015335eb50a5e03ae59f...
Author: Aric Stewart aric@codeweavers.com Date: Thu Dec 15 09:51:21 2011 -0600
usp10: Do not try to fallback if no fallback font is specified.
---
dlls/usp10/usp10.c | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index 3b99052..6cdf740 100644 --- a/dlls/usp10/usp10.c +++ b/dlls/usp10/usp10.c @@ -1719,12 +1719,16 @@ HRESULT WINAPI ScriptStringAnalyse(HDC hdc, const void *pString, int cString, LOGFONTW lf; GetObjectW(GetCurrentObject(hdc, OBJ_FONT), sizeof(lf), & lf); lf.lfCharSet = scriptInformation[analysis->pItem[i].a.eScript].props.bCharSet; + lf.lfFaceName[0] = 0; find_fallback_font(analysis->pItem[i].a.eScript, lf.lfFaceName); - analysis->glyphs[i].fallbackFont = CreateFontIndirectW(&lf); - if (analysis->glyphs[i].fallbackFont) + if (lf.lfFaceName[0]) { - ScriptFreeCache(sc); - originalFont = SelectObject(hdc, analysis->glyphs[i].fallbackFont); + analysis->glyphs[i].fallbackFont = CreateFontIndirectW(&lf); + if (analysis->glyphs[i].fallbackFont) + { + ScriptFreeCache(sc); + originalFont = SelectObject(hdc, analysis->glyphs[i].fallbackFont); + } } }