Barry SCHWARTZ (Barijo ŜVARC) (chemoelectric) wrote,

Fixing ant

I was going to graft my OpenType features ocaml code into ant (‘Ant is Not TeX’), but now I think I am going to use Harfbuzz and write some ocaml bindings. That way I’ll get more complete support without doing much work myself. This matters to me more than having my own code written in ocaml and contributed, like the rest of the ocaml code in ant, to the public domain. (But ant already won't run without linking to copyrighted libraries such as freetype [which BTW happens to be harfbuzz’s granddaddy].)

The current support in ant not only is missing contextual features support—which my own font Juvelo uses—but also is doing incorrectly what it does do. My first try at OpenType support showed this same symptom: if you have both "liga" and "smcp" features turned on, you get a mixture of lowercase ligatures with small caps. This happens because "liga" is being applied before "smcp"; but the font designer will have specified the other order.

Once I have the harfbuzz stuff working in ant, I’ll worry about how to replace ant’s ‘galley’ model for paragraph breaking, which, for example, could not have handled the printing in my ‘Adam and Eve’ e-book. (The mechanism I used for ‘Adam and Eve’ was a sort of generalization of the galley model, but was extremely clunky and not a good solution.)

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded