Re: [PATCH] gdi32: Adjust a fixed-pitch full-width character has double advance of a half-width character. (try 5)
Akihiro Sagawa <sagawa.aki(a)gmail.com> writes:
Hi,
This patch enhances full-width character glyph advance when we choose fixed-pitch font.
Windows 2000 (or XP for Japanese) and later adjust fixed-pitch full-width character glyph advances so that two half-width characters' advance equals to one full-width character's advance. Because CJK fixed-pitch font, such as MS Gothic, is designed as full-width character (e.g. Kanji) has a double advance of half-width character (e.g. ASCII) and many developpers expect that.
Please refer Microsoft document KB 417434 [1] and white paper [2] for details.
[1] ... http://support.microsoft.com/kb/417434/ja (written in Japanese) [2] ... http://msdn.microsoft.com/ja-jp/library/cc979401.aspx (written in Japanese)
try 5: - Add patch description above. - Fix avgAdvance's rounding method. (as in get_outline_text_metrics) - Refine a commit message, "Ensure" to "Adjust" and "double width" to "double advance".
try 4: - Fix full-width character detection that causes test failure.
try 3: - Improve full-width character detection. - Support fake italic transformation. - Choose non-linked fonts in the test case. - Add more trace messages.
try 2: - Add rotated transformation tests.
Regards, Akihiro Sagawa
--- dlls/gdi32/freetype.c | 37 ++++++++++++++++++-- dlls/gdi32/tests/font.c | 87 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 3 deletions(-)
This is still failing here: ../../../tools/runtest -q -P wine -M gdi32.dll -T ../../.. -p gdi32_test.exe.so font.c && touch font.ok font.c:2549: Tests skipped: Font Droid Arabic Naskh doesn't contain 'x', skipping the test font.c:2549: Tests skipped: Font Droid Sans Armenian doesn't contain 'x', skipping the test font.c:2549: Tests skipped: Font Droid Sans Ethiopic doesn't contain 'x', skipping the test font.c:2549: Tests skipped: Font Droid Sans Georgian doesn't contain 'x', skipping the test font.c:2549: Tests skipped: Font Droid Sans Hebrew doesn't contain 'x', skipping the test font.c:2549: Tests skipped: Font Droid Sans Hebrew doesn't contain 'x', skipping the test font.c:3008: Tests skipped: Unable to retrieve first and last glyphs from cmap font.c:2549: Tests skipped: Font Droid Sans Japanese doesn't contain 'x', skipping the test font.c:2549: Tests skipped: Font Droid Sans Thai doesn't contain 'x', skipping the test font.c:2549: Tests skipped: Font OpenSymbol doesn't contain 'x', skipping the test font.c:2549: Tests skipped: Font rsfs10 doesn't contain 'x', skipping the test font.c:3756: Test failed: expected 19, got 0 (@IPAGothic:128) make[1]: *** [font.ok] Error 1 -- Alexandre Julliard julliard(a)winehq.org
On Fri, 25 Jan 2013 12:07:14 +0100, Alexandre Julliard wrote:
This is still failing here: ... font.c:3756: Test failed: expected 19, got 0 (@IPAGothic:128) make[1]: *** [font.ok] Error 1
Could you let me know IPAGothic font file's version or MD5 value? I guess this caused by font file (*.ttf) or FreeType bug. Because I had no test failures with IPAGothic on my environment (Ubuntu 12.04 with fonts-ipafont-gothic 00303-5). Regards, Akihiro Sagawa
participants (2)
-
Akihiro Sagawa -
Alexandre Julliard