emacs-devel
[Top][All Lists]
Advanced

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

Re: Automatic composition case is missing in x_compute_glyph_string_over


From: YAMAMOTO Mitsuharu
Subject: Re: Automatic composition case is missing in x_compute_glyph_string_overhangs
Date: Thu, 11 Jun 2009 10:57:52 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Thu, 11 Jun 2009 10:26:46 +0900, Kenichi Handa <address@hidden> said:

> In article <address@hidden>, YAMAMOTO
> Mitsuharu <address@hidden> writes:
>> I think the automatic composition case is missing in the current
>> x_compute_glyph_string_overhangs.  With some changes like below, I
>> can observe a difference as attached.  (The screenshots are those
>> of my own Mac Core Text font backend driver containing the `shape'
>> function, not the ns one.)

> You are right.  I've just committed your patch.  Thank you.

Thanks.  Could you also check if the following change is correct?

                                     YAMAMOTO Mitsuharu
                                address@hidden

Index: src/xdisp.c
===================================================================
RCS file: /sources/emacs/emacs/src/xdisp.c,v
retrieving revision 1.1283
diff -c -p -r1.1283 xdisp.c
*** src/xdisp.c 10 Jun 2009 14:15:50 -0000      1.1283
--- src/xdisp.c 11 Jun 2009 01:51:24 -0000
*************** x_get_glyph_overhangs (glyph, f, left, r
*** 19926,19932 ****
          composition_gstring_width (gstring, glyph->u.cmp.from,
                                     glyph->u.cmp.to + 1, &metrics);
          if (metrics.rbearing > metrics.width)
!           *right = metrics.rbearing;
          if (metrics.lbearing < 0)
            *left = - metrics.lbearing;
        }
--- 19926,19932 ----
          composition_gstring_width (gstring, glyph->u.cmp.from,
                                     glyph->u.cmp.to + 1, &metrics);
          if (metrics.rbearing > metrics.width)
!           *right = metrics.rbearing - metrics.width;
          if (metrics.lbearing < 0)
            *left = - metrics.lbearing;
        }




reply via email to

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