aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2004-01-23 08:48:19 +0000
committerKenichi Handa2004-01-23 08:48:19 +0000
commit28d0edc75d24e83ceb395ffe7b028ff01f480e04 (patch)
tree0c27f28581ad45f154a0894ebf3ff538b6c5959d
parent993651d1a07fc61db10b29d47417c4d99dfc1ff1 (diff)
downloademacs-28d0edc75d24e83ceb395ffe7b028ff01f480e04.tar.gz
emacs-28d0edc75d24e83ceb395ffe7b028ff01f480e04.zip
(COMPOSITION_DECODE_RULE): New arg xoff and yoff.
(struct composition): New member lbearing and rbearing.
-rw-r--r--src/composite.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/composite.h b/src/composite.h
index 287a3e35c80..d8c1fed4332 100644
--- a/src/composite.h
+++ b/src/composite.h
@@ -127,13 +127,19 @@ extern Lisp_Object composition_temp;
127 ->contents[(n) * 2 - 1]) 127 ->contents[(n) * 2 - 1])
128 128
129/* Decode encoded composition rule RULE_CODE into GREF (global 129/* Decode encoded composition rule RULE_CODE into GREF (global
130 reference point code) and NREF (new reference point code). Don't 130 reference point code), NREF (new reference point code), XOFF
131 check RULE_CODE, always set GREF and NREF to valid values. */ 131 (horizontal offset) YOFF (vertical offset). Don't check RULE_CODE,
132#define COMPOSITION_DECODE_RULE(rule_code, gref, nref) \ 132 always set GREF and NREF to valid values. By side effect,
133 do { \ 133 RULE_CODE is modified. */
134 gref = (rule_code) / 12; \ 134
135 if (gref > 12) gref = 11; \ 135#define COMPOSITION_DECODE_RULE(rule_code, gref, nref, xoff, yoff) \
136 nref = (rule_code) % 12; \ 136 do { \
137 xoff = (rule_code) >> 16; \
138 yoff = ((rule_code) >> 8) & 0xFF; \
139 rule_code &= 0xFF; \
140 gref = (rule_code) / 12; \
141 if (gref > 12) gref = 11; \
142 nref = (rule_code) % 12; \
137 } while (0) 143 } while (0)
138 144
139/* Return encoded composition rule for the pair of global reference 145/* Return encoded composition rule for the pair of global reference
@@ -160,6 +166,8 @@ struct composition {
160 /* Width, ascent, and descent pixels of the composition. */ 166 /* Width, ascent, and descent pixels of the composition. */
161 short pixel_width, ascent, descent; 167 short pixel_width, ascent, descent;
162 168
169 short lbearing, rbearing;
170
163 /* How many columns the overall glyphs occupy on the screen. This 171 /* How many columns the overall glyphs occupy on the screen. This
164 gives an approximate value for column calculation in 172 gives an approximate value for column calculation in
165 Fcurrent_column, and etc. */ 173 Fcurrent_column, and etc. */