[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
kern pairs in CM fonts TFM
re: apparently conflicting kern pairs in CM TFM files.
Can anyone tell me where the apparently contradictory kern pairs come from in
CM TFM files? There are a few cases where there are two occurences of a
particular kern pair with different kern amounts. Now presumably TeX stops
looking after it finds the first one, so one of these values is always
shadowed. But I am curious whether this is an `optimization' that METAFONT
does, or whether it is something the font author has control over. Attached
find examples.
Regards, Berthold.
>From CMR10:
(LABEL C k)
(LABEL C v)
(KRN C a R -0.055555)
(LABEL C w)
(KRN C e R -0.027779)
(KRN C a R -0.027779)
(KRN C o R -0.027779)
(KRN C c R -0.027779)
(STOP)
Which means that the kern programs for k and v drop through to the kern
program for w. Hence there are two different kerns for the pairs `k a'
and `v a,' of different size (-0.055555 and -0.027779).
Presumably TeX will read the first one and ignore the second.
The same thing happens in all CMR* and CMBX* fonts (and some others).
But there are no other such duplicate kern pairs in CM TFM files AFAIK.
(There are a few other places where kern programs `drop through,'
but none where there are conflicting values for the kern amount).
>From CMMI10:
(LABEL C N)
(LABEL C X)
(KRN O 75 R -0.083334)
(LABEL C C)
(LABEL C T)
(KRN O 75 R -0.027779)
(KRN O 73 R -0.055555)
(KRN O 72 R -0.055555)
(LABEL O 2)
(LABEL O 4)
(LABEL O 6)
(LABEL O 10)
(LABEL O 12)
(LABEL O 14)
(LABEL O 20)
(LABEL O 22)
(LABEL O 32)
(LABEL O 36)
(LABEL O 42)
(LABEL O 43)
(LABEL O 45)
(LABEL O 46)
(LABEL O 47)
(LABEL O 100)
(LABEL C B)
(LABEL C E)
(LABEL C G)
(LABEL C O)
(LABEL C Q)
(LABEL C R)
(LABEL C l)
(LABEL C p)
(LABEL C q)
(LABEL C t)
(LABEL C w)
(LABEL O 174)
(KRN O 177 R 0.083336)
(STOP)
The tail end of this are just some bogus kern pairs used for accent
positioning in math. The interesting part is the start, where the
kern programs for N and X drop through to those for C and T.
As a result there are two kern pairs for each of `N slash' and
`X slash,' with different kern amounts.
The same thing happens in all CMMI* and CMMIB* fonts.