# HG changeset patch # User Kenichi Handa # Date 1221025717 0 # Node ID e3d5c2e9ec89937e68a5d760a482a9f75c6e3b96 # Parent 4ef95817eae29a3952fcfa4c5243a12ffb147830 (compose-gstring-for-graphic): Fix previous change. diff -r 4ef95817eae2 -r e3d5c2e9ec89 lisp/composite.el --- a/lisp/composite.el Wed Sep 10 04:03:15 2008 +0000 +++ b/lisp/composite.el Wed Sep 10 05:48:37 2008 +0000 @@ -579,56 +579,64 @@ (de (lglyph-descent glyph)) (ce (/ (+ lb rb) 2)) xoff yoff) - (if (and - class (>= class 200) (<= class 240) - (cond - ((= class 200) - (setq xoff (- lbearing ce) - yoff (if (> as 0) 0 (+ descent as)))) - ((= class 202) - (if (> as 0) (setq as 0)) - (setq xoff (- center ce) - yoff (if (> as 0) 0 (+ descent as)))) - ((= class 204) - (if (> as 0) (setq as 0)) - (setq xoff (- rbearing ce) - yoff (if (> as 0) 0 (+ descent as)))) - ((= class 208) - (setq xoff (- lbearing rb))) - ((= class 210) - (setq xoff (- rbearing lb))) - ((= class 212) - (setq xoff (- lbearing ce) - yoff (if (>= de 0) 0 (- ascent (- de))))) - ((= class 214) - (setq xoff (- center ce) - yoff (if (>= de 0) 0 (- ascent (- de))))) - ((= class 216) - (setq xoff (- rbearing ce) - yoff (if (>= de 0) 0 (- ascent (- de))))) - ((= class 218) - (setq xoff (- lbearing ce) - yoff (if (> as 0) 0 (+ descent as gap)))) - ((= class 220) - (setq xoff (- center ce) - yoff (if (> as 0) 0 (+ descent as gap)))) - ((= class 222) - (setq xoff (- rbearing ce) - yoff (if (> as 0) 0 (+ descent as gap)))) - ((= class 224) - (setq xoff (- lbearing rb))) - ((= class 226) - (setq xoff (- rbearing lb))) - ((= class 228) - (setq xoff (- lbearing ce) - yoff (if (>= de 0) 0 (- ascent (- de) gap)))) - ((= class 230) - (setq xoff (- center ce) - yoff (if (>= de 0) 0 (- ascent (- de) gap)))) - ((= class 232) - (setq xoff (- rbearing ce) - yoff (if (>= de 0) 0 (- ascent (- de) gap)))))) - (lglyph-set-adjustment glyph (- xoff width) yoff)))))) + (when (and class (>= class 200) (<= class 240)) + (setq xoff 0 yoff 0) + (cond + ((= class 200) + (setq xoff (- lbearing ce) + yoff (if (> as 0) 0 (+ descent as)))) + ((= class 202) + (if (> as 0) (setq as 0)) + (setq xoff (- center ce) + yoff (if (> as 0) 0 (+ descent as)))) + ((= class 204) + (if (> as 0) (setq as 0)) + (setq xoff (- rbearing ce) + yoff (if (> as 0) 0 (+ descent as)))) + ((= class 208) + (setq xoff (- lbearing rb))) + ((= class 210) + (setq xoff (- rbearing lb))) + ((= class 212) + (setq xoff (- lbearing ce) + yoff (if (>= de 0) 0 (- (- ascent) de)))) + ((= class 214) + (setq xoff (- center ce) + yoff (if (>= de 0) 0 (- (- ascent) de)))) + ((= class 216) + (setq xoff (- rbearing ce) + yoff (if (>= de 0) 0 (- (- ascent) de)))) + ((= class 218) + (setq xoff (- lbearing ce) + yoff (if (> as 0) 0 (+ descent as gap)))) + ((= class 220) + (setq xoff (- center ce) + yoff (if (> as 0) 0 (+ descent as gap)))) + ((= class 222) + (setq xoff (- rbearing ce) + yoff (if (> as 0) 0 (+ descent as gap)))) + ((= class 224) + (setq xoff (- lbearing rb))) + ((= class 226) + (setq xoff (- rbearing lb))) + ((= class 228) + (setq xoff (- lbearing ce) + yoff (if (>= de 0) 0 (- (- ascent) de gap)))) + ((= class 230) + (setq xoff (- center ce) + yoff (if (>= de 0) 0 (- (- ascent) de gap)))) + ((= class 232) + (setq xoff (- rbearing ce) + yoff (if (>= de 0) 0 (- (+ ascent de) gap))))) + (lglyph-set-adjustment glyph (- xoff width) yoff) + (setq lb (+ lb xoff) + rb (+ lb xoff) + as (- as yoff) + de (+ de yoff))) + (if (< ascent as) + (setq ascent as)) + (if (< descent de) + (setq descent de)))))) (let ((i 0)) (while (and (< i nglyphs) (setq glyph (lgstring-glyph gstring i))) (lglyph-set-from-to glyph 0 (1- nchars))