mapnik/mapnik — pull request #2416 by talaj (2014-09-12 20:35:33+00:00)
Title: add font-features

Introduces font-features attribute in text rendering.

Initial intention was to render text with `character-spacing` correctly. Typographic ligatures are on by default which is not expected behavior when `character-spacing > 0`:
![liga1](https://cloud.githubusercontent.com/assets/1950911/4256245/b632c684-3ab5-11e4-8217-8bbaa86c13a7.png)

There was no way of setting ligatures off. It can be done by `font-features="liga 0"` now:

![liga0](https://cloud.githubusercontent.com/assets/1950911/4256246/b632f2c6-3ab5-11e4-89f7-4e448ef70f1b.png)

The whole font-features thing is handled by Harfbuzz. Harfbuzz implements it as part of OpenType specification:
http://www.microsoft.com/typography/otspec/featuretags.htm
It also supports syntax of font-feature-settings from CSS:
http://dev.w3.org/csswg/css-fonts/#propdef-font-feature-settings

Unfortunately almost none of these nice features were working in Mapnik:
http://typequest.org/features/
Any hint why?

What about setting ligatures off by default when `character-spacing > 0`?