[HarfBuzz] Font introspection tool

Jonathan Kew jfkthame at googlemail.com
Tue Dec 18 15:16:17 PST 2012


On 18/12/12 22:23, Behdad Esfahbod wrote:
> Hi Khaled & Jonathan,
>
> Here's another idea.  Now that HarfBuzz shaper is fairly complete, we've been
> adding lots of what I call introspection APIs.  There's some more to add, but
> after we're done it would be possible to write a tool that takes a font and
> generates a PDF that exposes most of the font's complex features (ligatures,
> mark positioning, alternate glyphs, etc).  I think such a font would be really
> helpful in reviewing fonts.
>
> Since we don't have a good layout engine other than TeX, there are two ways to
> write such a tool:
>
>    * Write it in C++ and generate XeTeX input...
>
>    * Just write it in XeTeX directly.
>
> The second makes a lot of sense, except that:
>
>    1) We need to expose the HB introspection API in XeTeX first,
>
>    2) We all know how fun programming with (La)TeX is...
>

I'd favor some form of the first approach: write a tool in C++ (or 
Python or Perl or whatever) that uses the HB API to inspect a font and 
generate a "data dump" in some simple marked-up format that can then be 
pretty-printed by running it through xetex with an appropriate set of 
macros to handle layout, etc.

I wouldn't aim for such a tool to generate entirely "raw" xetex input 
that directly contains every detail of formatting control; more likely, 
generate data tables in some sort of LaTeX markup (sorry, ConTeXt 
people, but LaTeX is far more widely used and understood!), and then 
have a "template" LaTeX document and style that wrap the data tables 
with appropriate page layout control.

JK




More information about the HarfBuzz mailing list