[PATCH 2/2] gdi32: Avoid best fit chars when mapping unicode character to a glyph index.

Dmitry Timoshkov dmitry at baikal.ru
Tue Jan 19 08:28:35 CST 2021


This part fixes drawing text.

This is a resend, the patch was deferred due to code freeze.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/gdi32/font.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c
index 6a18d568cf..afd41aeec3 100644
--- a/dlls/gdi32/font.c
+++ b/dlls/gdi32/font.c
@@ -2906,11 +2906,11 @@ static UINT get_glyph_index( struct gdi_font *font, UINT glyph )
         glyph = get_glyph_index_symbol( font, wc );
         if (!glyph)
         {
-            if (WideCharToMultiByte( CP_ACP, 0, &wc, 1, &ch, 1, NULL, NULL ))
+            if (WideCharToMultiByte( CP_ACP, WC_NO_BEST_FIT_CHARS, &wc, 1, &ch, 1, NULL, NULL ))
                 glyph = get_glyph_index_symbol( font, (unsigned char)ch );
         }
     }
-    else if (WideCharToMultiByte( font->codepage, 0, &wc, 1, &ch, 1, NULL, &used ) && !used)
+    else if (WideCharToMultiByte( font->codepage, WC_NO_BEST_FIT_CHARS, &wc, 1, &ch, 1, NULL, &used ) && !used)
     {
         glyph = (unsigned char)ch;
         font_funcs->get_glyph_index( font, &glyph, FALSE );
-- 
2.29.2




More information about the wine-devel mailing list