Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
psb1558 committed Sep 20, 2020
1 parent 9ea168f commit 07a9e6b
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ A TrueType hinting language

Xgridfit is an XML-based language for hinting TrueType fonts. It has been around since circa 2006 but has never been popular; and in recent years it has been broken by its dependence on LibXML2's obsolete Python bindings. In fact, that old version suffered from a welter of dependencies: FontForge and various XML parsers and validators. It was verbose, too, and its verbosity wasn't entirely relieved by the use of auto-completing XML editors like Emacs/Nxml and oXygen. Finally, the arrangement whereby the compiler generated a Python script instead of interacting directly with the font was sort of braindead.

What I can say for Xgridfit, though, is that it was the tool I wanted back when I first wrote it, and I still find it useful. It produces very compact instructions, adding relatively little to the size of a font, and it allows fine control over the programming without resorting to low-level assembly code. It plays nice with autohinters (ttfautohint and VTT), allowing you to take over where those tools produce unsatisfying results. In fonts for modern devices, for which only vertical hinting is necessary, development can be fast (comparing well with, say, VTT, in which the graphical interface is very fast but one spends a good bit of time fine-tuning the code). And it provides several conveniences that collectively make it easy to refer to points, functions, and other objects, re-use blocks of code (including whole glyph programs), and revise the code when a glyph changes.
What I can say for Xgridfit, though, is that it was the tool I wanted back when I first wrote it, and I still find it useful. It produces very compact instructions, adding relatively little to the size of a font, and it allows fine control over the programming without resorting to low-level assembly code. It plays nice with autohinters (ttfautohint and VTT), allowing you to take over where those tools produce unsatisfying results. In fonts for modern devices, for which only vertical hinting is necessary, development can be fast (comparing well with, say, VTT, in which the graphical interface is very fast but one spends a good bit of time on repetitive tasks). And it provides several conveniences that collectively make it easy to refer to points, functions, and other objects, re-use blocks of code (including whole glyph programs), and revise the code when a glyph changes.

Version 3 doesn't have nearly as many dependencies as version 2: it requires only Python3, setuptools, fontTools, and lxml. It introduces new shorter tags for the most commonly used commands, making Xgridfit code quicker to write. It also has a new, compact syntax for points and calls to functions and macros. So, for example, to move point `b` relative to point `a` and then shift points `c`, `d` and `e` relative to `b`, you wrote this in Xgridfit 2:

Expand Down

0 comments on commit 07a9e6b

Please sign in to comment.