VarLa-VarFo — Variable Layouts for Variable Fonts

2021 Roundup Report

by Lasse Fister, @gaphicore

The year 2021 was characterized by starting the project from scratch. Hence initial exploration to gather an understanding of some open questions and techniques and to create a starting point, to work iteratively into was necessary. Afterward, concepts have been implemented to point in the right direction—subsequently to be refined and updated throughout the year. In the second half of the year work on the Emsquare publication has started, the appearance of this report is taken from there.

Technical Highlights from a Web Developer Perspective

CSS: The implementation leans heavily on newer CSS features, like extensive usage of custom properties, calc(), and @keyframes for interpolation of e.g. grade (GRAD) values using font-size as an input. The result is a CSS framework that provides high-level custom properties to drive lower-level typographic expressions. Some CSS is backed up or driven by JavaScript, but all that can be in CSS is in CSS. That way the role of JavaScript is more focused on controlling and less on the details of using the actual fonts. Though, using @keyframes requires an in-JavaScript fallback mechanism for all browsers that are not Blink-engine (i.e. Chrome, etc.).

Justification: To implement the justification scheme it’s necessary to identify the lines as created by the native browser text-setting engine. Then those lines are marked up so that they can be controlled using CSS. It is ensured that the semantics of the original markup isn’t changing. For example, this would happen by—at the break of a line—splitting existing inline tags, like links (<a>), into two elements. AFAIK, both, the line-finding and line-markup have never been done before like this. Unfortunately, the justification implementation is not as fast as it should be for production use in websites, but it makes a strong proof of concept.

Git History Summary

This is just a small and likely too sparse summary of the git commit history of the year.

Jan/Feb

Feb/Mar

Mar/Apr

Apr/May

May/Jun

Jun/Jul

Jul/Aug

Aug/Sep

Sep/Oct

Oct/Nov

Nov/Dec

Jan 2022

Software Flow Chart

Varla-Varfo flow chart, end of 2021.
                 See [the PDF at GitHub](https://github.com/graphicore/varla-varfo/blob/4cd9dcca192a277a651ca900671eb55b8494fa7a/docs/flowcharts/varla-varfo-flow.pdf).

Varla-Varfo flow chart, end of 2021. See the PDF at GitHub.

Outlook and Tasks for 2022