On 11/30/2015 2:19 PM, Ulrike Fischer wrote:
Am Mon, 30 Nov 2015 12:50:22 +0100 schrieb Ulrike Fischer:

The curious thing is that not all kern values are affected. I played
a bit around also with latex examples (and luaotfload) and got a
different value only for va but not for VA or Va:

I think I found the reason why only va is affected. The relevant
part of the ligtable looks like this:


   (STOP)
    (LABEL C k)
    (LABEL C v)
    (KRN C a R -0.054398) %<--
    (LABEL C w)
    (KRN C e R -0.027199)
    (KRN C a R -0.027199) %<--
    (KRN C o R -0.027199)
    (KRN C c R -0.027199)
  (STOP)

As one can see it this section there are two settings for char a -
the one for va and the other for wa. And luatex picks up the second
value. If one inserts a (STOP) or remove the second (KRN C a R
-0.027199) the problem is gone.

The question is if this is a luatex bug or if luatex does reveal a
bug in the ligtable of cmr12 ;-).

It looks like the first has to win which indeed happens in kern lookups. So, now we do the same in the tolua interface. A patched version now gives

v={
 ["depth"]=0,
 ["height"]=338603,
 ["italic"]=10695,
 ["kerns"]={
  [97]=-42780,
  [99]=-21390,
  [101]=-21390,
  [111]=-21390,
 },
 ["width"]=406410,
}

w={
 ["depth"]=0,
 ["height"]=338603,
 ["italic"]=10695,
 ["kerns"]={
  [97]=-21390,
  [99]=-21390,
  [101]=-21390,
  [111]=-21390,
 },
 ["width"]=556140,
}

of course one can wonder if va and wa need a different kern and

Taco & Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------

Reply via email to