|
|
Log in / Subscribe / Register

A font-development roundup from LGM

By Nathan Willis
April 27, 2016

LGM

A number of the sessions at Libre Graphics Meeting 2016 dealt with open-source software and font technology—although the news was not all good. While there is an important new tool available for finding errors and rasterization problems in fonts, there has also been a slowdown on a development effort initiated at last year's LGM.

Where are the font features?

User-experience (UX) architect Peter Sikking provided an update on his work to develop a "best practices" guide for how applications provide access to advanced font features in the user interface. The features in question can, in theory, allow users to switch on alternate [Peter Sikking] versions of characters and numbers in their documents; these might include simple variations in shape or additional ligatures, or complex positioning rules that adjust spacing or punctuation according to context. In practice, however, few applications provide controls to inspect or utilize the features present in a font, making the features undiscoverable and, therefore, unused.

At LGM 2015, there was a packed workshop session addressing the problem, with a crowd Sikking described as "about half of LGM." But his subsequent efforts to garner input from project developers have largely stalled. In retrospect, he said, this inertia is inherent in "infrastructure projects," where the normal user-experience design loop does not work.

Normally, he said, a UX designer like himself can iterate between drafting a specification, having developers build it, and having users test it. But that implies that the end user can be directly involved, which is not true when, as in this font-feature effort, what he designs is only a blueprint that would have to be separately adopted by several application projects. The user is thus several steps removed, and the feedback loop is broken. Complicating matters further is the fact that the set of formally defined font features is enormous—135, by Sikking's count. There are almost too many use cases included in that set to impose order.

The experience, he said, reminded him of his work on the OpenPrinting common dialog project. The goal there was to redesign "print" dialog boxes for open-source software; it, too stalled out in "a giant game of chicken" where everyone involved waited for someone else to implement the group's ideas. It is easy to get developers interested in UX work with an immediate impact, he said, but pushing forward on infrastructure work can slip into a "grim death march" as it did with the OpenPrinting project, which ground to a halt without ever seeing its proposals adopted. Nevertheless, Sikking said, he was continuing to work on font-feature support. He has scheduled user-interview sessions with designers in May, and he encouraged interested developers to get involved.

In the font birds-of-a-feather (BoF) session after Sikking's talk, the subject came up, with Tavmjong Bah reporting some of the difficulties that Inkscape developers encountered when they tried to implement font-feature access in the application's UI. Andreas Vox also reported that the Scribus team may find it easier to work with font features in the new Complex Text Layout branch, so perhaps momentum can be regained.

Open source from Microsoft

Hin-Tak Leung presented his recent work on Font Validator (FV), a newly released tool from Microsoft that performs batteries of low-level tests on binary font files. Leung is a Ghostscript and FreeType developer; his connection to the FV project is all but accidental. FV was first developed in 2003 and updated in 2009, he said. In 2014, the company publicly expressed interest in porting it to Python in order to release it as open-source and drop formal support for it as a product. Leung commented that it could probably run almost as-is on the Mono framework, and Microsoft asked him to oversee the process.

FV is a QA tool that can run a variety of tests on font tables, he explained. The most important are those that find low-level problems like self-intersecting contours and invalid TrueType hints. Such issues can cause serious rendering problems or even crashes.

Leung spent about 18 months cleaning up the FV code, making the first release in 2015. As it was initially Windows-only, he had to replace several non-portable components. Microsoft also chose not to include some proprietary [Hin-Tak Leung] libraries in the release, so he disabled the affected tests. Some of them are largely irrelevant, like the test for Microsoft's own digital-signature table, which no one else employs. But others are potentially useful, including some rasterization tests, so Leung has subsequently begun replacing them with FreeType equivalents.

As of right now, the open-source version of FV can perform 212 tests on 38 font tables. That is an increase (over 177 tests on 32 tables) from the initial Microsoft release, and Leung is not done yet. He has also added support for the Compact Font Format (CFF) version of OpenType; this is the most common form of OpenType font, but Microsoft never supported it because CFF was developed at Adobe. The tool can be run in GUI form or from the command line, and Leung hopes to add support for extensions as well as new additions to the OpenType specification and color SVG fonts.

FV catches low-level problems in fonts, such as Béziers that are oriented counter-clockwise when they should be clockwise (which can cause text to fail to render), or grid-fitting rules that mistakenly place points in between pixel boundaries. And this sort of test can be time-consuming; Leung noted that on a large Chinese font, one test took seven hours to complete. But there is now an open-source utility to check for such problems, with room for additional development still to come.

Snippets

It would hard to discuss font and typography sessions without mentioning Tom Lechner's update about his application Laidout. A perennial crowd favorite for its inventiveness, Laidout started off as a tool for Lechner to imposition pages for his self-published comic books, but it has grown in scope over the years. And the most recent additions include a set of on-canvas text tools.

As he demonstrated, the Laidout text widget includes handles of a variety of sizes and shapes that let the user perform different transformation functions: scaling the point size, anchoring text to other on-page objects, and more. The widget can flow text around other page objects of arbitrary size and fit text to path objects, again with a variety of on-canvas "doo-dads" for manipulating the layout options. Laidout's text support is also unique in that it supports color SVG fonts, with drag-and-drop support for changing the colors of various elements.

Laidout can be difficult for outsiders to learn, which is acceptable given that it is primarily Lechner's personal toolbox, but the outside-the-box approaches it often employs in its interface are frequently inspirational for developers. And the new text tool demonstrates that there is plenty of space for other applications to explore where feature implementations are concerned.

A variety of workshops and BoFs rounded out the typographic offerings. Highlights included the BoF run by Raphael Bastide, Ana Carvalho, and Ricardo Lafuente to discuss practical issues in open font packaging and Lasse Fister's workshop discussing Metapolator and his new offshoot project, Atem. The packaging BoF sought to find best practices for developers hosting open-source font projects in online repositories; there are competing concerns from those users who use the repository for software distribution (as Linux distributions do) and those end users who merely need to download and use the font. The development of a solution is ongoing, and currently centers around the foundry-in-a-box project.

Metapolator is a parametric font-family design tool inspired by Donald Knuth's METAFONT. Taking an outline font (e.g., a normal TrueType font), it can derive a "skeleton" from the center-lines in the strokes of each glyph, and from the skeleton a variety of variant fonts can be generated by tweaking parameters. Atem is a project Fister spun out of his Metapolator experiments. It provides a generalized framework for defining graphics parametrically. He demonstrated its use by creating a logo that maps text around concentric circles, on the fly, with arbitrary control over spacing, direction, and radial scaling.

As always, there were many other topics of note discussed in the presentations and break-out rooms. But, as this sample illustrates, development remains active on a variety of fronts in the open-source community. It may be a while before a solution arrives for the font-feature UI/UX problem, but there are plenty of other advancements to keep track of in the meantime.

[The author would like to thank Libre Graphics Meeting for travel assistance to London for LGM 2016.]

Index entries for this article
ConferenceLibre Graphics Meeting/2016


to post comments

A font-development roundup from LGM

Posted Apr 29, 2016 12:55 UTC (Fri) by jond (subscriber, #37669) [Link] (1 responses)

Just checking, are these all the LGM-related articles on LWN?:
  • Freeing architects from proprietary software
  • Introducing TruFont
  • A font-development roundup from LGM
(oh wow I just used the ternary operator in natural language)

A font-development roundup from LGM

Posted Apr 29, 2016 13:31 UTC (Fri) by jake (editor, #205) [Link]

> are these all the LGM-related articles on LWN?

the "LGM" link in the byline box will take you to our conference index, which will show all of the articles (5) from LGM so far (not sure if more are coming) ...

here is the link: https://lwn.net/Archives/ConferenceByYear/#2016-Libre_Gra...

enjoy!

jake


Copyright © 2016, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds