* Changes in libotf 0.9.13 ** This is a bug fix release.
It turns out there were a lot of these.
* Changes in libotf 0.9.11 ** New functions OTF_drive_gsub_with_log and OTF_drive_gpos_with_log works like OTF_drive_gsub and OTF_drive_gpos but also records which features are applied to which glyphs. ** New function OTF_put_data and OTF_get_data can be used to store and retrieve arbitrary cliend data to/from the structure OTF.
* Changes in libotf 0.9.9 ** New function OTF_get_variation_glyphs returns glyphs selected by variation selectors. ** The funciton OTF_drive_cmap handles a variation selector. ** The example program `otfview' can handle variation selectors. ** The function OTF_drive_gpos is obsolte now, and the new function OTF_drive_gpos2 should be used instead. See the comment of the member "glyph_id" of type "OTF_Glyph" for the detail. ** If a font doesn't have GDEF table, automatically synthesized GDEF table is used.
This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
The library "libotf" provides the following facilites. o Read Open Type Layout Tables from OTF file. Currently these tables are supported; head, name, cmap, GDEF, GSUB, and GPOS. o Convert a Unicode character sequence to a glyph code sequence by using the above tables. The combination of libotf and the FreeType library (Ver.2) realizes CTL (complex text layout) by OpenType fonts.