|
|
readttf_kern(Font *fnt) | readttf_kern(Font *fnt) |
{ | { |
register kern *nk; | register kern *nk; |
register ttfinfo *ti; |
register ttfinfo *ti, *tiright; |
TT_Kern_0_Pair* pairs0; | TT_Kern_0_Pair* pairs0; |
TT_Error error; | TT_Error error; |
unsigned int i, j; | unsigned int i, j; |
|
|
for (j = 0; j < directory.tables[i].t.kern0.nPairs; j++, pairs0++) | for (j = 0; j < directory.tables[i].t.kern0.nPairs; j++, pairs0++) |
{ | { |
ti = findglyph(pairs0->left, fnt->charlist); | ti = findglyph(pairs0->left, fnt->charlist); |
if (ti == NULL) |
tiright = findglyph(pairs0->right, fnt->charlist); |
|
if (ti == NULL || tiright == NULL) |
warning("kern char not found"); | warning("kern char not found"); |
else | else |
{ | { |
nk = newkern(); | nk = newkern(); |
nk->succ = findglyph(pairs0->right, fnt->charlist)->adobename; |
nk->succ = tiright->adobename; |
nk->delta = transform(pairs0->value * 1000 / fnt->units_per_em, 0, | nk->delta = transform(pairs0->value * 1000 / fnt->units_per_em, 0, |
fnt->efactor, fnt->slant); | fnt->efactor, fnt->slant); |
nk->next = ti->kerns; | nk->next = ti->kerns; |