[Wine] Help! bad cyrillic font rendering

Гончаров Евгений goncharov at soccard.ru
Mon Oct 22 03:11:34 CDT 2007


Good Day!
I have a problem with rendering of cyrillic font in one window. Everything is fine in others windows of the same program.
I've tried to copy fonts from Windows, where this program works, but it doesn't help.
LANG=ru_RU.UTF-8
I runned wine with "WINEDEBUG=trace+font,trace+dialog":
...
trace:font:CreateFontIndirectW (-21 0 0 0 31 3 2 1 204) L"Courier New" Bold   => 0xb94
trace:font:CreateFontIndirectW (-16 0 0 0 31 3 2 1 204) L"Times New Roman" Bold   => 0xb98
...
trace:font:create_child_font_list font "/home/test/.wine/dosdevices/c:/windows/fonts/courer.fon" 0
trace:font:WineEngCreateFontInstance caching: gdiFont=0x1ee2f18  hfont=0xb98
...
trace:font:GdiGetCodePage charset 204 => cp 1251
trace:font:FONT_mbtowc mapped "\xd1\xeb\xf3\xe6\xe5\xe1\xed\xee\xe5 \xef\xee\xeb\xe5 " -> L"\0421\043b\0443\0436\0435\0431\043d\043e\0435 \043f\043e\043b\0435 "
trace:font:GetTextExtentExPointW (0x31c, L"\0421\043b\0443\0436\0435\0431\043d\043e\0435 \043f\043e\043b\0435 ", 0)
trace:font:GetTextMetricsW text metrics:
...
trace:font:WineEngCreateFontInstance L"Times New Roman", h=-16, it=0, weight=700, PandF=31, charset=204 orient 0 escapement 0
trace:font:WineEngCreateFontInstance returning cached gdiFont(0x1ee2f18) for hFont 0xb98
trace:font:X11DRV_SelectFont hdc=0x31c, hfont=0xb98
trace:font:X11DRV_SelectFont gdiFont = 0x1ee2f18
trace:font:GetTextMetricsW text metrics:
    Weight = 400         FirstChar = 32  AveCharWidth = 8
    Italic =   0         LastChar = 255          MaxCharWidth = 8
    UnderLined = 0       DefaultChar = 128       Overhang = 0
    StruckOut = 0        BreakChar = 32  CharSet = 204
    PitchAndFamily = 30
    --------------------
    InternalLeading = 0
    Ascent = 11
    Descent = 2
    Height = 13
trace:font:GetTextExtentExPointW (0x31c, L"\0421\043b\0443\0436\0435\0431\043d\043e\0435 \043f\043e\043b\0435 ", 263)
trace:font:GetTextMetricsW text metrics:
    Weight = 400         FirstChar = 32  AveCharWidth = 8
    Italic =   0         LastChar = 255          MaxCharWidth = 8
    UnderLined = 0       DefaultChar = 128       Overhang = 0
    StruckOut = 0        BreakChar = 32  CharSet = 204
    PitchAndFamily = 30
    --------------------
    InternalLeading = 0
    Ascent = 11
    Descent = 2
    Height = 13
trace:font:WineEngGetTextExtentExPoint 0x1ee2f18, L"\0421\043b\0443\0436\0435\0431\043d\043e\0435 \043f\043e\043b\0435 ", 15, 0, 0x33f9a4
trace:font:get_glyph_index 0421 (ffffffd1) -> ret 178 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00b2, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 043b (ffffffeb) -> ret 204 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00cc, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 0443 (fffffff3) -> ret 212 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00d4, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 0436 (ffffffe6) -> ret 199 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00c7, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 0435 (ffffffe5) -> ret 198 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00c6, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 0431 (ffffffe1) -> ret 194 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00c2, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 043d (ffffffed) -> ret 206 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00ce, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 043e (ffffffee) -> ret 207 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00cf, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 0435 (ffffffe5) -> ret 198 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00c6, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 0020 (20) -> ret 1 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 0001, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 043f (ffffffef) -> ret 208 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00d0, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 043e (ffffffee) -> ret 207 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00cf, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 043b (ffffffeb) -> ret 204 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00cc, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 0435 (ffffffe5) -> ret 198 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 00c6, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:get_glyph_index 0020 (20) -> ret 1 def_used 0
trace:font:WineEngGetGlyphOutline 0x1ee2f18, 0001, 00000080, 0x33ef8c, 00000000, (nil), (nil)
trace:font:WineEngGetTextExtentExPoint return 120, 13, 15
trace:font:GetTextExtentExPointW returning 15 120 x 13
trace:font:ExtTextOutW 0x31c, 143, 0, 00000004, 0x33fa58, L"\0421\043b\0443\0436\0435\0431\043d\043e\0435 \043f\043e\043b\0435 ", 15, (nil))
trace:font:ExtTextOutW rect: 0,0 - 263,30
...

I don't understand why "Times New Roman" Bold use "/home/test/.wine/dosdevices/c:/windows/fonts/courer.fon"? Courier have cyrillic but nothing except Regular.
I've tried to remove some fonts from "/home/test/.wine/dosdevices/c:/windows/fonts/" and "/usr/share/wine/fonts/" in different combinations but it doesn't help. 
Any suggestions and help are welcome :)



More information about the wine-users mailing list