Introducing Hibizcus Tools

Hibizcus is a suite of free and open source font proofing and debugging tools for South Asian and South East Asian languages.

Most of the languages in these regions are written in a script that belongs to the Brahmic family, in which consonant-vowel sequences are written as a unit. This is different from a complete alphabetic script like Latin, where the vowels and consonants are treated equally. In Brahmic scripts, when consonants and vowels combine to form a unit, the consonants may change shape or have other marks attached to them to indicate a combination. These marks can appear before, after, above or below the consonants. This combining behaviour can generate hundreds or even thousands of possible, unique, and beautiful, letter forms in a script.

The challenge font developers have is to have their fonts render all the required forms in the correct order and position.

Balinese Sample
Sample text in Balinese script, kaembasin mahardika, rendered in Noto Serif Balinese typeface from Google.

Fonts designed for Brahmic scripts, include shaping rules that a) place the forms in the correct sequence, b) substitute two or more forms with a ligature, or c) attach marks to the forms at the correct positions.

These shaping rules are included as features in an font that conforms to the OpenType standard, or as tables in font that conforms to the Apple Advance Typography (AAT) standards. The OpenType standard is more universal and is also supported in Apple platforms. Other formats for shaping rules, like Graphite, are not commonly in use. Hibizcus tools help with proofing and debugging fonts with OpenType features or AAT tables.

The shaping rules are interpreted by shaping engines, which can vary by platform. Apple and Microsoft use their own engines, called CoreText and DirectWrite respectively. Google and other applications use the open source Harfbuzz engine. Adobe, which had its own engine in older versions of their software is enbracing Harfbuzz in their newer versions. Hibizcus can test fonts against Apple’s CoreText and Harfbuzz engines, compare the outputs and report differences.

How will Hibizcus help?

To ensure that the features are correctly set in the font, it is important to test the font with all the possible sequences of consonants, vowels and signs.

While there are font tools that show all the features that are included in the font, there aren’t many that can point out the ones that are not handled in the font but required by the script. This is usually handled externally by applying the font to a set of pre-created text.

Hibizcus Proofing Tools
Hibizcus proofing tools showing cluster data for Devanagari. Changing Language to Marati will change the forms of some consonants.

Hibizcus makes it easier by providing plenty of script and language data that help developers test the fonts for all the possible sequences, or the commonly used ones collected from hundreds of thousands of words in each language. Font makers working on a Devanagari font, for example, can test their font with readily available data for all possible two part conjuncts, commonly used two-part conjuncts, common three part-conjuncts and multi-part conjuncts. They can then add nukta, vowel signs and suaras to the base letters and conjunct forms to ensure that they are attached to the correct possition.

They can also look at hundreds of thousands of words from Hindi and Marathi to ensure that the correct forms are applied for the sha and la consonants and their derived forms across the two languages. The forms for Devanagari numbers can be tested across Hindi and Nepali to ensure the correct forms are applied for each language. All of these can now be done with a single tool.

When problems occur, there are additional tools to dig deeper. The StringViewer dives deeper into problemetic strings to visually present shaping errors. Colors are used to clearly identify unique glyphs that are arranged to form the string. Anchor positions can be made visible to see where the marks are attaching to.

String Viewer
Hibizcus StringViewer showing Balinese text, each glyph in a different color.

The shaping problems can be further investigated with the TraceViewer tool that visually presents each step of the shaping process to see if it’s producing the expected behaviour.

The tools in Hibizcus tremendously reduces the time spent on traditional font proofing and simpifies tedious debugging process to quickly identify shaping problems.

Hibizcus TraceViewer showing the shaping of a Tamil word.

Hibizcus is written by Muthu Nedumaran. It is available for download from Apple’s Mac App Store from today and requires macOS Big Sur 11.0 or later. The source, released under MIT open source license, is available on GitHub.

18 June 2021