TiroTypeworks / Indigo

32 stars 3 forks source link

A query on alternate forms supported in Kannada #24

Closed sridatta1 closed 2 years ago

sridatta1 commented 2 years ago

I wanted to know what are the stylistic sets and alternate forms supported in Tiro Kannada font. A general query not specific to this repository How to test and enable them in harfbuzz, Libre office and other applications.

tiroj commented 2 years ago

A good questiion. Stylistic set variations are one of the topics that will be covered in the Indigo documentation that I hope to complete writing this summer. It is a little bit complicated in that I tried to use consistent Stylistic Set features for related functions across the different fonts in the collection, which means that not all the fonts have sequential numbering of features and not all start with SS01. This is further complicated by backwards compatibility with the Murty fonts developed for Harvard University Press, which were not developed concurrently so common features were not grouped sequentially.

The Tiro Kannada font has two Stylistic Set features: SS02 and SS05.

SS02 replaces the modern form of some consonant plus –ii matra (which use a length mark) with the historical ligature forms:

image

SS05 is common to most of the fonts in the collection, and is a workaround for danda spacing. A persistent problem in Indian text processing and display is that some users type a space before danda punctuation and some do not. So how should fonts provide consistent, good spacing of danda relative to preceding text and also in the context of use of danda in traditional line counting of poetry. [Danda is, of course, less common in Kannada documents than it is in Devanagari script.]

My method to handle danda spacing without requiring users to change how they type it, is to space the danda glyph tightly on its sidebearings, but then to contextually add space to the left of it in the GPOS dist feature except when preceded by a space glyph (actually, a class of glyphs for Unicode spacing characters of various widths). This produces the kind of traditional spacing of danda punctuation that Fiona and I favour. However, I am aware that some users, for whatever reason, may prefer danda to be tightly spaced to preceding text, more like European punctuation. So the SS05 feature can be used to affect this. The SS05 lookup inserts a zero-width invisible glyph before the danda, which breaks the context for the dist feature lookup.

image

Various applications provide different levels of support and options for applying Stylistic Set features to text. You can test on web pages using CSS font-variant-alternates: stylistic. Some applications, like InDesign allow you to apply multiple Stylistic Set features to the same glyph runs, allowing additive and interactive use of the features, which is as intended in the OTL feature spec—so, for example, if one always wanted the historical Kannada –ii forms and also always wanted the tight danda, one could apply both SS02 and SS05 to the entire document—but some software, notably MS Word, only allows a single Stylistic Set feature to be applied at a time, so they must be applied selectively.

MayuraVerma commented 2 years ago

Both are much needed changes.

All Kannada fonts have left spacing, for some unknown reason!

tiroj commented 2 years ago

All Kannada fonts have left spacing, for some unknown reason!

There has been a longstanding variance in the conventions of typing and spacing danda punctuation, which dates back to the mechanical era of typesetting and to typewriters. This persisted in the phototype and into the digital font typesetting era, and there is no agreed standard. In professional typesetting systems, it was common for the danda punctuation to carry their own spacing on the left, i.e. to not require a space character to be typed before them; I believe on typewriters the opposite was the case, although I have not been able to confirm this or determine if this was true of all models.

In digital text layout, there is the issue of linebreaking at space characters, which unless software is intelligent enough not to break between a space and a danda can result in the punctuation being wrapped to the beginning of the next line. Obviously that is not desirable, and this encourages use of fonts with built-in spacing to the left of the danda, so that a word space does not need to be typed there. When we are making commissioned fonts, we always explain this issue to the client and ask them which convention they prefer to use. Most opt for the danda with built in space on the left.

The use of the dist feature described above—adding that space contextually during the glyph positioning phase—is the best solution I have been able to come up with to provide consistent spacing of the danda regardless of whether a user types a space before it or not, so supporting both conventions with the same typographic appearance.