comparison src/dispextern.h @ 108759:0bb727f1d547

Fix bidi-composition interaction in backward scanning..
author Kenichi Handa <handa@etlken>
date Tue, 25 May 2010 09:32:24 +0900
parents a476fd5a6f42
children f528b6459bdd
comparison
equal deleted inserted replaced
108688:452cd1d4f5ad 108759:0bb727f1d547
1966 EMACS_INT stop_pos; 1966 EMACS_INT stop_pos;
1967 /* ID number of the composition or glyph-string. If negative, we 1967 /* ID number of the composition or glyph-string. If negative, we
1968 are not iterating over a composition now. */ 1968 are not iterating over a composition now. */
1969 int id; 1969 int id;
1970 /* If non-negative, character that triggers the automatic 1970 /* If non-negative, character that triggers the automatic
1971 composition at `stop_pos', and this is an automatic compositoin. 1971 composition at `stop_pos', and this is an automatic composition.
1972 If negative, this is a static composition. This is set to -2 1972 If negative, this is a static composition. This is set to -2
1973 temporarily if searching of composition reach a limit or a 1973 temporarily if searching of composition reach a limit or a
1974 newline. */ 1974 newline. */
1975 int ch; 1975 int ch;
1976 /* If this an automatic composition, how many characters to look back 1976 /* If this is an automatic composition, index of a rule for making
1977 from the position where a character triggering the composition 1977 the automatic composition. Provided that ELT is an element of
1978 exists. */ 1978 Vcomposition_function_table for CH, (nth ELT RULE_IDX) is the
1979 rule for the composition. */
1980 int rule_idx;
1981 /* If this is an automatic composition, how many characters to look
1982 back from the position where a character triggering the
1983 composition exists. */
1979 int lookback; 1984 int lookback;
1980 /* If non-negative, number of glyphs of the glyph-string. */ 1985 /* If non-negative, number of glyphs of the glyph-string. */
1981 int nglyphs; 1986 int nglyphs;
1987 /* Nonzero iff the composition is created while buffer is scanned in
1988 reverse order, and thus the grapheme clusters must be rendered
1989 from the last to the first. */
1990 int reversed_p;
1991
1992 /** The following members contain information about the current
1993 grapheme cluster. */
1994 /* Position of the first character of the current grapheme cluster. */
1995 EMACS_INT charpos;
1982 /* Number of characters and bytes of the current grapheme cluster. */ 1996 /* Number of characters and bytes of the current grapheme cluster. */
1983 int nchars, nbytes; 1997 int nchars, nbytes;
1984 /* Indices of the glyphs for the current grapheme cluster. */ 1998 /* Indices of the glyphs for the current grapheme cluster. */
1985 int from, to; 1999 int from, to;
1986 /* Width of the current grapheme cluster in units of pixels on a 2000 /* Width of the current grapheme cluster in units of pixels on a
1987 graphic display and in units of canonical characters on a 2001 graphic display and in units of canonical characters on a
1988 terminal display. */ 2002 terminal display. */
1989 int width; 2003 int width;
1990 /* Nonzero iff the composition is created while buffer is scanned in
1991 reverse order, and thus the grapheme clusters must be rendered
1992 from the last to the first. */
1993 int reversed_p;
1994 }; 2004 };
1995 2005
1996 struct it 2006 struct it
1997 { 2007 {
1998 /* The window in which we iterate over current_buffer (or a string). */ 2008 /* The window in which we iterate over current_buffer (or a string). */