fi = snew(font_info);
fi->name = NULL;
fi->widths = newtree234(width_cmp);
- fi->fp = NULL;
+ fi->fontfile = NULL;
fi->kerns = newtree234(kern_cmp);
fi->ligs = newtree234(lig_cmp);
fi->fontbbox[0] = fi->fontbbox[1] = fi->fontbbox[2] = fi->fontbbox[3] = 0;
goto giveup;
}
g = glyph_intern(val);
+ } else if (strcmp(key, "L") == 0) {
+ glyph succ, lig;
+ if (!(val = strtok(NULL, " \t")) ||
+ !strcmp(val, ";")) {
+ error(err_afmval, &in->pos, key, 1);
+ goto giveup;
+ }
+ succ = glyph_intern(val);
+ if (!(val = strtok(NULL, " \t")) ||
+ !strcmp(val, ";")) {
+ error(err_afmval, &in->pos, key, 1);
+ goto giveup;
+ }
+ lig = glyph_intern(val);
+ if (g != NOGLYPH && succ != NOGLYPH &&
+ lig != NOGLYPH) {
+ ligature *l = snew(ligature);
+ l->left = g;
+ l->right = succ;
+ l->lig = lig;
+ add234(fi->ligs, l);
+ }
}
do {
key = strtok(NULL, " \t");
w->glyph = g;
w->width = width;
add234(fi->widths, w);
- ucs = ps_glyph_to_unicode(glyph_extern(g));
+ ucs = ps_glyph_to_unicode(g);
if (ucs < 0xFFFF)
fi->bmp[ucs] = g;
}