# HG changeset patch # User Kenichi Handa # Date 1203904149 0 # Node ID 579a729e2f9f973372662389f2d04eb450cda11f # Parent b7277e09e9432225738a9812b5d742c70aca415e (struct glyph_string): New member padding_p. diff -r b7277e09e943 -r 579a729e2f9f src/dispextern.h --- a/src/dispextern.h Mon Feb 25 01:46:30 2008 +0000 +++ b/src/dispextern.h Mon Feb 25 01:49:09 2008 +0000 @@ -351,13 +351,16 @@ glyphs above or below it. */ unsigned overlaps_vertically_p : 1; - /* 1 means glyph is a padding glyph. Padding glyphs are used for - characters whose visual shape consists of more than one glyph - (e.g. Asian characters). All but the first glyph of such a glyph - sequence have the padding_p flag set. Only used for terminal - frames, and there only to minimize code changes. A better way - would probably be to use the width field of glyphs to express - padding. */ + /* For terminal frames, 1 means glyph is a padding glyph. Padding + glyphs are used for characters whose visual shape consists of + more than one glyph (e.g. Asian characters). All but the first + glyph of such a glyph sequence have the padding_p flag set. This + flag is used only to minimize code changes. A better way would + probably be to use the width field of glyphs to express padding. + + For graphic frames, 1 means the pixel width of the glyph in a + font is 0, but 1-pixel is padded on displaying for correct cursor + displaying. The member `pixel_width' above is set to 1. */ unsigned padding_p : 1; /* 1 means the actual glyph is not available, draw a box instead. @@ -1197,6 +1200,11 @@ respectively. */ unsigned for_overlaps : 3; + /* 1 means that all glyphs in this glyph string has the flag + padding_p set, and thus must be drawn one by one to have 1-pixel + width even though the logical width in the font is zero. */ + unsigned padding_p : 1; + /* The GC to use for drawing this glyph string. */ #if defined(HAVE_X_WINDOWS) || defined(MAC_OS) GC gc;