mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-04 08:47:11 +00:00
* composite.h (COMPOSITION_DECODE_REFS): New macro,
breaking out part of COMPOSITION_DECODE_RULE. (COMPOSITION_DECODE_RULE): Use it. * composite.c (get_composition_id): Remove unused local vars, by using the new macro.
This commit is contained in:
parent
1e792e4d80
commit
b13a45c6f9
@ -1,5 +1,11 @@
|
||||
2011-04-04 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* composite.h (COMPOSITION_DECODE_REFS): New macro,
|
||||
breaking out part of COMPOSITION_DECODE_RULE.
|
||||
(COMPOSITION_DECODE_RULE): Use it.
|
||||
* composite.c (get_composition_id): Remove unused local vars,
|
||||
by using the new macro.
|
||||
|
||||
* textprop.c (set_text_properties_1): Change while to do-while,
|
||||
since the condition is always true at first.
|
||||
|
||||
|
@ -354,7 +354,7 @@ get_composition_id (EMACS_INT charpos, EMACS_INT bytepos, EMACS_INT nchars,
|
||||
|
||||
for (i = 1; i < glyph_len; i += 2)
|
||||
{
|
||||
int rule, gref, nref, xoff, yoff;
|
||||
int rule, gref, nref;
|
||||
int this_width;
|
||||
float this_left;
|
||||
|
||||
@ -376,7 +376,7 @@ get_composition_id (EMACS_INT charpos, EMACS_INT bytepos, EMACS_INT nchars,
|
||||
| |
|
||||
6---7---8 -- descent
|
||||
*/
|
||||
COMPOSITION_DECODE_RULE (rule, gref, nref, xoff, yoff);
|
||||
COMPOSITION_DECODE_REFS (rule, gref, nref);
|
||||
this_left = (leftmost
|
||||
+ (gref % 3) * (rightmost - leftmost) / 2.0
|
||||
- (nref % 3) * this_width / 2.0);
|
||||
|
@ -126,19 +126,26 @@ extern Lisp_Object composition_temp;
|
||||
->contents[(n) * 2 - 1])
|
||||
|
||||
/* Decode encoded composition rule RULE_CODE into GREF (global
|
||||
reference point code), NREF (new reference point code), XOFF
|
||||
(horizontal offset) YOFF (vertical offset). Don't check RULE_CODE,
|
||||
reference point code), NREF (new ref. point code). Don't check RULE_CODE;
|
||||
always set GREF and NREF to valid values. By side effect,
|
||||
RULE_CODE is modified. */
|
||||
|
||||
#define COMPOSITION_DECODE_REFS(rule_code, gref, nref) \
|
||||
do { \
|
||||
rule_code &= 0xFF; \
|
||||
gref = (rule_code) / 12; \
|
||||
if (gref > 12) gref = 11; \
|
||||
nref = (rule_code) % 12; \
|
||||
} while (0)
|
||||
|
||||
/* Like COMPOSITION_DECODE_REFS (RULE_CODE, GREF, NREF), but also
|
||||
decode RULE_CODE into XOFF and YOFF (vertical offset). */
|
||||
|
||||
#define COMPOSITION_DECODE_RULE(rule_code, gref, nref, xoff, yoff) \
|
||||
do { \
|
||||
xoff = (rule_code) >> 16; \
|
||||
yoff = ((rule_code) >> 8) & 0xFF; \
|
||||
rule_code &= 0xFF; \
|
||||
gref = (rule_code) / 12; \
|
||||
if (gref > 12) gref = 11; \
|
||||
nref = (rule_code) % 12; \
|
||||
COMPOSITION_DECODE_REFS (rule_code, gref, nref); \
|
||||
} while (0)
|
||||
|
||||
/* Return encoded composition rule for the pair of global reference
|
||||
@ -281,7 +288,7 @@ enum lglyph_indices
|
||||
else \
|
||||
ASET ((g), LGLYPH_IX_CODE, make_number (val)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define LGLYPH_SET_WIDTH(g, val) ASET ((g), LGLYPH_IX_WIDTH, make_number (val))
|
||||
#define LGLYPH_SET_LBEARING(g, val) ASET ((g), LGLYPH_IX_LBEARING, make_number (val))
|
||||
#define LGLYPH_SET_RBEARING(g, val) ASET ((g), LGLYPH_IX_RBEARING, make_number (val))
|
||||
@ -321,4 +328,3 @@ extern EMACS_INT composition_adjust_point (EMACS_INT, EMACS_INT);
|
||||
EXFUN (Fcomposition_get_gstring, 4);
|
||||
|
||||
#endif /* not EMACS_COMPOSITE_H */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user