diff options
| author | Kenichi Handa | 1999-12-15 00:09:03 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1999-12-15 00:09:03 +0000 |
| commit | a90fbbf691a03c1ddd34aa4b16d988d6e9fd502f (patch) | |
| tree | 9ec3aa97331269a00e09852d14fda3dcca9d0893 /src | |
| parent | e19c1eb40e018a2b587a85d29ce67fdc36f5dfe9 (diff) | |
| download | emacs-a90fbbf691a03c1ddd34aa4b16d988d6e9fd502f.tar.gz emacs-a90fbbf691a03c1ddd34aa4b16d988d6e9fd502f.zip | |
(enum glyph_type): New member COMPOSITE_GLYPH.
(struct glyph): Add new sub-structure cmp to the union `u'.
(enum display_element_type): New member IT_COMPOSITION.
(enum prop_idx): New member COMPOSITION_PROP_IDX.
(struct it): New members cmp_id, cmp_len.
Diffstat (limited to 'src')
| -rw-r--r-- | src/dispextern.h | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/src/dispextern.h b/src/dispextern.h index 80679b83459..edd9a7c97be 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -207,6 +207,9 @@ enum glyph_type | |||
| 207 | /* Glyph describes a character. */ | 207 | /* Glyph describes a character. */ |
| 208 | CHAR_GLYPH, | 208 | CHAR_GLYPH, |
| 209 | 209 | ||
| 210 | /* Glyph describes a composition sequence. */ | ||
| 211 | COMPOSITE_GLYPH, | ||
| 212 | |||
| 210 | /* Glyph describes an image. */ | 213 | /* Glyph describes an image. */ |
| 211 | IMAGE_GLYPH, | 214 | IMAGE_GLYPH, |
| 212 | 215 | ||
| @@ -280,6 +283,16 @@ struct glyph | |||
| 280 | } | 283 | } |
| 281 | ch; | 284 | ch; |
| 282 | 285 | ||
| 286 | /* Sub-struct for composition (type == COMPOSITION_GLYPH) */ | ||
| 287 | struct | ||
| 288 | { | ||
| 289 | /* Composition identification number. */ | ||
| 290 | unsigned id : 21; | ||
| 291 | |||
| 292 | /* This composition's face. */ | ||
| 293 | unsigned face_id : 11; | ||
| 294 | } | ||
| 295 | cmp; | ||
| 283 | /* Sub-structure for image glyphs (type == IMAGE_GLYPH). */ | 296 | /* Sub-structure for image glyphs (type == IMAGE_GLYPH). */ |
| 284 | struct | 297 | struct |
| 285 | { | 298 | { |
| @@ -1175,8 +1188,8 @@ struct face | |||
| 1175 | int font_info_id; | 1188 | int font_info_id; |
| 1176 | 1189 | ||
| 1177 | /* Fontset ID if this face uses a fontset, or -1. This is only >= 0 | 1190 | /* Fontset ID if this face uses a fontset, or -1. This is only >= 0 |
| 1178 | if the face was realized for CHARSET_COMPOSITION. For all other | 1191 | if the face was realized for a composition sequence. |
| 1179 | charsets, a specific font is loaded from the set of fonts | 1192 | Otherwise, a specific font is loaded from the set of fonts |
| 1180 | specified by the fontset given by the family attribute of the face. */ | 1193 | specified by the fontset given by the family attribute of the face. */ |
| 1181 | int fontset; | 1194 | int fontset; |
| 1182 | 1195 | ||
| @@ -1206,10 +1219,10 @@ struct face | |||
| 1206 | unsigned hash; | 1219 | unsigned hash; |
| 1207 | 1220 | ||
| 1208 | /* The charset for which this face was realized if it was realized | 1221 | /* The charset for which this face was realized if it was realized |
| 1209 | for use in multibyte text. If fontset >= 0, this is | 1222 | for use in multibyte text. If fontset >= 0, this is the charset |
| 1210 | CHARSET_COMPOSITION. A value of charset < 0 means the face was | 1223 | of the first character of the composition sequence. A value of |
| 1211 | realized for use in unibyte text where the idea of Emacs | 1224 | charset < 0 means the face was realized for use in unibyte text |
| 1212 | charsets isn't applicable. */ | 1225 | where the idea of Emacs charsets isn't applicable. */ |
| 1213 | int charset; | 1226 | int charset; |
| 1214 | 1227 | ||
| 1215 | /* Non-zero if text in this face should be underlined, overlined, | 1228 | /* Non-zero if text in this face should be underlined, overlined, |
| @@ -1403,6 +1416,9 @@ enum display_element_type | |||
| 1403 | /* A normal character. */ | 1416 | /* A normal character. */ |
| 1404 | IT_CHARACTER, | 1417 | IT_CHARACTER, |
| 1405 | 1418 | ||
| 1419 | /* A composition sequence. */ | ||
| 1420 | IT_COMPOSITION, | ||
| 1421 | |||
| 1406 | /* An image. */ | 1422 | /* An image. */ |
| 1407 | IT_IMAGE, | 1423 | IT_IMAGE, |
| 1408 | 1424 | ||
| @@ -1431,6 +1447,7 @@ enum prop_idx | |||
| 1431 | FACE_PROP_IDX, | 1447 | FACE_PROP_IDX, |
| 1432 | INVISIBLE_PROP_IDX, | 1448 | INVISIBLE_PROP_IDX, |
| 1433 | DISPLAY_PROP_IDX, | 1449 | DISPLAY_PROP_IDX, |
| 1450 | COMPOSITION_PROP_IDX, | ||
| 1434 | 1451 | ||
| 1435 | /* Not a property. Used to indicate changes in overlays. */ | 1452 | /* Not a property. Used to indicate changes in overlays. */ |
| 1436 | OVERLAY_PROP_IDX, | 1453 | OVERLAY_PROP_IDX, |
| @@ -1596,9 +1613,16 @@ struct it | |||
| 1596 | /* If what == IT_CHARACTER, character and length in bytes. This is | 1613 | /* If what == IT_CHARACTER, character and length in bytes. This is |
| 1597 | a character from a buffer or string. It may be different from | 1614 | a character from a buffer or string. It may be different from |
| 1598 | the character displayed in case that | 1615 | the character displayed in case that |
| 1599 | unibyte_display_via_language_environment is set. */ | 1616 | unibyte_display_via_language_environment is set. |
| 1617 | |||
| 1618 | If what == IT_COMPOSITION, the first component of a composition | ||
| 1619 | and length in bytes of the composition. */ | ||
| 1600 | int c, len; | 1620 | int c, len; |
| 1601 | 1621 | ||
| 1622 | /* If what == IT_COMPOSITION, identification number and length in | ||
| 1623 | chars of a composition. */ | ||
| 1624 | int cmp_id, cmp_len; | ||
| 1625 | |||
| 1602 | /* The character to display, possibly translated to multibyte | 1626 | /* The character to display, possibly translated to multibyte |
| 1603 | if unibyte_display_via_language_environment is set. This | 1627 | if unibyte_display_via_language_environment is set. This |
| 1604 | is set after x_produce_glyphs has been called. */ | 1628 | is set after x_produce_glyphs has been called. */ |