2006-03-07 (화), 14:34 +0000, Huw D M Davies 쓰시길:
On Tue, Mar 07, 2006 at 09:29:14PM +0900, Byeong-Sik Jeon wrote:
ChangeLog: Improved create_child_font_list(), get_nearest_charset(), more using font-linking mechanism.
If lfCharSet == DEFAULT_CHARSET, then ALL font(LOGFONT) can see current locale letter, (have to exist least one font corresponding current locale ).
- If lfCharSet == DEFAULT_CHARSET then use the current locale codepage.
and If selected font is not support current ansi codepage, then it fixup the problem in "create_child_font_list()" function.
I'm slightly confused about what you're trying to do here. Could you try to explain it again please?
Sorry, my poor english...
assume "Arial.ttf" is exist in the system. ------------------------------------------ string = "Hello. 안녕하세요. 安寕"; /* include non-western character */
logfont.lfCharSet = DEFAULT_CHARSET; logfont.lfFaceName = "Arial"; hfont = CreateFontIndirect(&logfont); SelectObject(hdc, hfont);
TextOut(hdc, 10, 10, string, strlen(string)); -------------------------------------------- at this case, now Wine print out broken shape, because glyph missing on Arial.ttf.
font-linking mechanism help this situation. but need to ------------------------------- [HKLM\...\SystemLink] "Arial"="......" -------------------------------- New get_nearest_charset(), create_child_font_list() solve this situation without any additional config file change.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext... ---------------------------------- Windows NT/2000/XP: DEFAULT_CHARSET is set to a value based on the current system locale. For example, when the system locale is English (United States), it is set as ANSI_CHARSET. ---------------------------------- Korean locale => HANGEUL_CHARSET, Japanese locale => SHIFTJIS_CHARSET. .... but, Arial.ttf is missing these charset, therefore incorrect operation in the get_nearest_charset().
Sorry again. Please see the code....
Moving this TRACE is clearly not correct.
Yes. I mistake...