typedef struct document_Tag document;
typedef struct kern_pair_Tag kern_pair;
+typedef struct ligature_Tag ligature;
typedef struct font_info_Tag font_info;
typedef struct font_data_Tag font_data;
typedef struct font_encoding_Tag font_encoding;
};
/*
+ * ... and this one represents a ligature.
+ */
+struct ligature_Tag {
+ unsigned short left, right, lig;
+};
+
+/*
* This data structure holds static information about a font that doesn't
* depend on the particular document. It gets generated when the font's
* metrics are read in.
unsigned short *glyphsbyname;
/* A tree of kern_pairs */
tree234 *kerns;
+ /* ... and one of ligatures */
+ tree234 *ligs;
/*
* For reasonably speedy lookup, we set up a 65536-element
* table representing the Unicode BMP (I can conveniently
* Functions exported from bk_paper.c
*/
int kern_cmp(void *, void *); /* use when setting up kern_pairs */
+int lig_cmp(void *, void *); /* use when setting up ligatures */
void font_index_glyphs(font_info *fi);
-int find_glyph(font_info *fi, char const *name);
+int find_glyph(font_info const *fi, char const *name);
/*