diff options
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2006-10-16 08:59:31 +0000 |
---|---|---|
committer | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2006-10-16 08:59:31 +0000 |
commit | 7c682cf19411778cf0649a397eac435b80ed966a (patch) | |
tree | 348a1c96b172e2bd3e44394e0cd59ec4b2b75c79 /src/macterm.c | |
parent | 2e6266ac5774e0edc9b8b24456dc81e3f8805465 (diff) | |
download | emacs-7c682cf19411778cf0649a397eac435b80ed966a.tar.gz |
(mac_query_char_extents): Don't return glyph ID if layout
adjustment is needed.
(mac_load_query_font): Check if width and height are positive.
Diffstat (limited to 'src/macterm.c')
-rw-r--r-- | src/macterm.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/macterm.c b/src/macterm.c index 86f4c46c4c6..864852129e2 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -1198,7 +1198,12 @@ mac_query_char_extents (style, c, err1 = ATSUGetGlyphInfo (text_layout, kATSUFromTextBeginning, kATSUToTextEnd, &count, &glyph_info_array); - if (err1 == noErr) + if (err1 == noErr + /* Make sure that we don't have to make layout + adjustments. */ + && glyph_info_array.glyphs[0].deltaY == 0.0f + && glyph_info_array.glyphs[0].idealX == 0.0f + && glyph_info_array.glyphs[0].screenX == 0) { xassert (glyph_info_array.glyphs[0].glyphID); *cg_glyph = glyph_info_array.glyphs[0].glyphID; @@ -7963,7 +7968,8 @@ mac_load_query_font (f, fontname) NULL #endif ); - if (err != noErr) + if (err != noErr + || space_bounds->width <= 0 || FONT_HEIGHT (font) <= 0) { mac_unload_font (&one_mac_display_info, font); return NULL; |