mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-12 09:28:24 +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>
|
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,
|
* textprop.c (set_text_properties_1): Change while to do-while,
|
||||||
since the condition is always true at first.
|
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)
|
for (i = 1; i < glyph_len; i += 2)
|
||||||
{
|
{
|
||||||
int rule, gref, nref, xoff, yoff;
|
int rule, gref, nref;
|
||||||
int this_width;
|
int this_width;
|
||||||
float this_left;
|
float this_left;
|
||||||
|
|
||||||
@ -376,7 +376,7 @@ get_composition_id (EMACS_INT charpos, EMACS_INT bytepos, EMACS_INT nchars,
|
|||||||
| |
|
| |
|
||||||
6---7---8 -- descent
|
6---7---8 -- descent
|
||||||
*/
|
*/
|
||||||
COMPOSITION_DECODE_RULE (rule, gref, nref, xoff, yoff);
|
COMPOSITION_DECODE_REFS (rule, gref, nref);
|
||||||
this_left = (leftmost
|
this_left = (leftmost
|
||||||
+ (gref % 3) * (rightmost - leftmost) / 2.0
|
+ (gref % 3) * (rightmost - leftmost) / 2.0
|
||||||
- (nref % 3) * this_width / 2.0);
|
- (nref % 3) * this_width / 2.0);
|
||||||
|
@ -126,19 +126,26 @@ extern Lisp_Object composition_temp;
|
|||||||
->contents[(n) * 2 - 1])
|
->contents[(n) * 2 - 1])
|
||||||
|
|
||||||
/* Decode encoded composition rule RULE_CODE into GREF (global
|
/* Decode encoded composition rule RULE_CODE into GREF (global
|
||||||
reference point code), NREF (new reference point code), XOFF
|
reference point code), NREF (new ref. point code). Don't check RULE_CODE;
|
||||||
(horizontal offset) YOFF (vertical offset). Don't check RULE_CODE,
|
|
||||||
always set GREF and NREF to valid values. By side effect,
|
always set GREF and NREF to valid values. By side effect,
|
||||||
RULE_CODE is modified. */
|
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) \
|
#define COMPOSITION_DECODE_RULE(rule_code, gref, nref, xoff, yoff) \
|
||||||
do { \
|
do { \
|
||||||
xoff = (rule_code) >> 16; \
|
xoff = (rule_code) >> 16; \
|
||||||
yoff = ((rule_code) >> 8) & 0xFF; \
|
yoff = ((rule_code) >> 8) & 0xFF; \
|
||||||
rule_code &= 0xFF; \
|
COMPOSITION_DECODE_REFS (rule_code, gref, nref); \
|
||||||
gref = (rule_code) / 12; \
|
|
||||||
if (gref > 12) gref = 11; \
|
|
||||||
nref = (rule_code) % 12; \
|
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* Return encoded composition rule for the pair of global reference
|
/* Return encoded composition rule for the pair of global reference
|
||||||
@ -281,7 +288,7 @@ enum lglyph_indices
|
|||||||
else \
|
else \
|
||||||
ASET ((g), LGLYPH_IX_CODE, make_number (val)); \
|
ASET ((g), LGLYPH_IX_CODE, make_number (val)); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define LGLYPH_SET_WIDTH(g, val) ASET ((g), LGLYPH_IX_WIDTH, make_number (val))
|
#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_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))
|
#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);
|
EXFUN (Fcomposition_get_gstring, 4);
|
||||||
|
|
||||||
#endif /* not EMACS_COMPOSITE_H */
|
#endif /* not EMACS_COMPOSITE_H */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user