# HG changeset patch # User Steven Tamm # Date 1105081884 0 # Node ID b0b469611a56e686f9d9b53540ad8e78b0216e3d # Parent cf93431040c992f34d95ea24e8b33ce17e82c52c * macterm.c (XLoadQueryFont): Correctly handle 0 size font widths that are returned from some Japanese fonts. diff -r cf93431040c9 -r b0b469611a56 src/ChangeLog --- a/src/ChangeLog Fri Jan 07 06:16:20 2005 +0000 +++ b/src/ChangeLog Fri Jan 07 07:11:24 2005 +0000 @@ -1,3 +1,8 @@ +2005-01-06 YAMAMOTO Mitsuharu + + * macterm.c (XLoadQueryFont): Correctly handle 0 size + font widths that are returned from some Japanese fonts. + 2005-01-06 Kim F. Storm * fringe.c (fringe_faces): Change to Lisp_Object pointer. diff -r cf93431040c9 -r b0b469611a56 src/macterm.c --- a/src/macterm.c Fri Jan 07 06:16:20 2005 +0000 +++ b/src/macterm.c Fri Jan 07 07:11:24 2005 +0000 @@ -6715,14 +6715,19 @@ char_width = CharWidth (c); font->per_char[c - 0x20].width = char_width; font->per_char[c - 0x20].rbearing = char_width; - min_width = min (min_width, char_width); - max_width = max (max_width, char_width); - } + /* Some Japanese fonts (in SJIS encoding) return 0 as the + character width of 0x7f. */ + if (char_width > 0) + { + min_width = min (min_width, char_width); + max_width = max (max_width, char_width); + } + } font->min_bounds.width = min_width; font->max_bounds.width = max_width; } } - + TextFont (old_fontnum); /* restore previous font number, size and face */ TextSize (old_fontsize); TextFace (old_fontface);