emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/composite.el,v


From: Kenichi Handa
Subject: [Emacs-diffs] Changes to emacs/lisp/composite.el,v
Date: Wed, 10 Sep 2008 05:48:38 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Kenichi Handa <handa>   08/09/10 05:48:37

Index: composite.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/composite.el,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- composite.el        7 Sep 2008 01:14:58 -0000       1.38
+++ composite.el        10 Sep 2008 05:48:37 -0000      1.39
@@ -579,8 +579,8 @@
                       (de (lglyph-descent glyph))
                       (ce (/ (+ lb rb) 2))
                       xoff yoff)
-                 (if (and
-                      class (>= class 200) (<= class 240)
+                 (when (and class (>= class 200) (<= class 240))
+                   (setq xoff 0 yoff 0)
                       (cond
                        ((= class 200)
                         (setq xoff (- lbearing ce)
@@ -599,13 +599,13 @@
                         (setq xoff (- rbearing lb)))
                        ((= class 212)
                         (setq xoff (- lbearing ce)
-                              yoff (if (>= de 0) 0 (- ascent (- de)))))
+                           yoff (if (>= de 0) 0 (- (- ascent) de))))
                        ((= class 214)
                         (setq xoff (- center ce)
-                              yoff (if (>= de 0) 0 (- ascent (- de)))))
+                           yoff (if (>= de 0) 0 (- (- ascent) de))))
                        ((= class 216)
                         (setq xoff (- rbearing ce)
-                              yoff (if (>= de 0) 0 (- ascent (- de)))))
+                           yoff (if (>= de 0) 0 (- (- ascent) de))))
                        ((= class 218)
                         (setq xoff (- lbearing ce)
                               yoff (if (> as 0) 0 (+ descent as gap))))
@@ -621,14 +621,22 @@
                         (setq xoff (- rbearing lb)))
                        ((= class 228)
                         (setq xoff (- lbearing ce)
-                              yoff (if (>= de 0) 0 (- ascent (- de) gap))))
+                           yoff (if (>= de 0) 0 (- (- ascent) de gap))))
                        ((= class 230)
                         (setq xoff (- center ce)
-                              yoff (if (>= de 0) 0 (- ascent (- de) gap))))
+                           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))))))
+                           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))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]