comparison lisp/composite.el @ 98122:e3d5c2e9ec89

(compose-gstring-for-graphic): Fix previous change.
author Kenichi Handa <handa@m17n.org>
date Wed, 10 Sep 2008 05:48:37 +0000
parents 43a801a18b24
children 79c848cc0c06
comparison
equal deleted inserted replaced
98121:4ef95817eae2 98122:e3d5c2e9ec89
577 (rb (lglyph-rbearing glyph)) 577 (rb (lglyph-rbearing glyph))
578 (as (lglyph-ascent glyph)) 578 (as (lglyph-ascent glyph))
579 (de (lglyph-descent glyph)) 579 (de (lglyph-descent glyph))
580 (ce (/ (+ lb rb) 2)) 580 (ce (/ (+ lb rb) 2))
581 xoff yoff) 581 xoff yoff)
582 (if (and 582 (when (and class (>= class 200) (<= class 240))
583 class (>= class 200) (<= class 240) 583 (setq xoff 0 yoff 0)
584 (cond 584 (cond
585 ((= class 200) 585 ((= class 200)
586 (setq xoff (- lbearing ce) 586 (setq xoff (- lbearing ce)
587 yoff (if (> as 0) 0 (+ descent as)))) 587 yoff (if (> as 0) 0 (+ descent as))))
588 ((= class 202) 588 ((= class 202)
589 (if (> as 0) (setq as 0)) 589 (if (> as 0) (setq as 0))
590 (setq xoff (- center ce) 590 (setq xoff (- center ce)
591 yoff (if (> as 0) 0 (+ descent as)))) 591 yoff (if (> as 0) 0 (+ descent as))))
592 ((= class 204) 592 ((= class 204)
593 (if (> as 0) (setq as 0)) 593 (if (> as 0) (setq as 0))
594 (setq xoff (- rbearing ce) 594 (setq xoff (- rbearing ce)
595 yoff (if (> as 0) 0 (+ descent as)))) 595 yoff (if (> as 0) 0 (+ descent as))))
596 ((= class 208) 596 ((= class 208)
597 (setq xoff (- lbearing rb))) 597 (setq xoff (- lbearing rb)))
598 ((= class 210) 598 ((= class 210)
599 (setq xoff (- rbearing lb))) 599 (setq xoff (- rbearing lb)))
600 ((= class 212) 600 ((= class 212)
601 (setq xoff (- lbearing ce) 601 (setq xoff (- lbearing ce)
602 yoff (if (>= de 0) 0 (- ascent (- de))))) 602 yoff (if (>= de 0) 0 (- (- ascent) de))))
603 ((= class 214) 603 ((= class 214)
604 (setq xoff (- center ce) 604 (setq xoff (- center ce)
605 yoff (if (>= de 0) 0 (- ascent (- de))))) 605 yoff (if (>= de 0) 0 (- (- ascent) de))))
606 ((= class 216) 606 ((= class 216)
607 (setq xoff (- rbearing ce) 607 (setq xoff (- rbearing ce)
608 yoff (if (>= de 0) 0 (- ascent (- de))))) 608 yoff (if (>= de 0) 0 (- (- ascent) de))))
609 ((= class 218) 609 ((= class 218)
610 (setq xoff (- lbearing ce) 610 (setq xoff (- lbearing ce)
611 yoff (if (> as 0) 0 (+ descent as gap)))) 611 yoff (if (> as 0) 0 (+ descent as gap))))
612 ((= class 220) 612 ((= class 220)
613 (setq xoff (- center ce) 613 (setq xoff (- center ce)
614 yoff (if (> as 0) 0 (+ descent as gap)))) 614 yoff (if (> as 0) 0 (+ descent as gap))))
615 ((= class 222) 615 ((= class 222)
616 (setq xoff (- rbearing ce) 616 (setq xoff (- rbearing ce)
617 yoff (if (> as 0) 0 (+ descent as gap)))) 617 yoff (if (> as 0) 0 (+ descent as gap))))
618 ((= class 224) 618 ((= class 224)
619 (setq xoff (- lbearing rb))) 619 (setq xoff (- lbearing rb)))
620 ((= class 226) 620 ((= class 226)
621 (setq xoff (- rbearing lb))) 621 (setq xoff (- rbearing lb)))
622 ((= class 228) 622 ((= class 228)
623 (setq xoff (- lbearing ce) 623 (setq xoff (- lbearing ce)
624 yoff (if (>= de 0) 0 (- ascent (- de) gap)))) 624 yoff (if (>= de 0) 0 (- (- ascent) de gap))))
625 ((= class 230) 625 ((= class 230)
626 (setq xoff (- center ce) 626 (setq xoff (- center ce)
627 yoff (if (>= de 0) 0 (- ascent (- de) gap)))) 627 yoff (if (>= de 0) 0 (- (- ascent) de gap))))
628 ((= class 232) 628 ((= class 232)
629 (setq xoff (- rbearing ce) 629 (setq xoff (- rbearing ce)
630 yoff (if (>= de 0) 0 (- ascent (- de) gap)))))) 630 yoff (if (>= de 0) 0 (- (+ ascent de) gap)))))
631 (lglyph-set-adjustment glyph (- xoff width) yoff)))))) 631 (lglyph-set-adjustment glyph (- xoff width) yoff)
632 (setq lb (+ lb xoff)
633 rb (+ lb xoff)
634 as (- as yoff)
635 de (+ de yoff)))
636 (if (< ascent as)
637 (setq ascent as))
638 (if (< descent de)
639 (setq descent de))))))
632 (let ((i 0)) 640 (let ((i 0))
633 (while (and (< i nglyphs) (setq glyph (lgstring-glyph gstring i))) 641 (while (and (< i nglyphs) (setq glyph (lgstring-glyph gstring i)))
634 (lglyph-set-from-to glyph 0 (1- nchars)) 642 (lglyph-set-from-to glyph 0 (1- nchars))
635 (setq i (1+ i)))) 643 (setq i (1+ i))))
636 gstring)))))) 644 gstring))))))