John, one of the possible alternatives for a ligature of “f” with a subsequent “ij”, is missing from your examples. It is, in fact, just a “fi” ligature of the unconnected type. The first sample word below is without ligature; the second sample word has a “fi” ligature. (The font is Aspira. No complicated “eye salad” to look at.)
Hrant, what is more efficient: ignoring what one’s fingers want to do “automatically”, or just let the fingers move as they are used to? (According to your logic, it would be a good idea to add direct input for other common combinations, like “oe”, “eu”, “ee”, “sch”, etc.)
In my high school days, I tried to learn to type with ten fingers—but I failed. (Left hand: a-s-d-f; right hand: ij-l-k-j.) The images below are Dutch typewriters. The last one looks like my dad’s old typewriter.
Two questions about the “ß”.
(1) Should there be (within one font family) a relationship between the lowercase design and the uppercase design of the “ß”? Do the different designs of the lowercase “ß” which exist, require some difference in the design of the corresponding uppercase “ẞ”? This is not about the small details of the design, but about variations in the general shape of the design (Gill Sans, Consolas, Arial):
(2) What would be the best way to implement this in the OpenType features to create All Caps/Small Caps/All Small Caps? When using OpenType features to create uppercase from lowercase, should “SS” be the standard uppercase form of “ß”, and should a Stylistic Set be used to switch to the alternative form “ẞ” (except for Swiss German)?
When considering saving time, one might wonder: What is more work, designing two masters for an axis, or designing three? It may be obvious that the answer is “two”—but is it, really? Is it less work (1) to design two very different extreme masters, or (2) to design first a “middle” master and then to “derive-design” from it two extreme masters which are not that different from it?
The answer to this may depend on the availability and sophistication of tools which can create the first, “raw” version of a new master—based on just a single existing master. (Many current tools require two masters.) Such a tool may be more successful in creating the first, “raw” version of a new extreme master, when starting from the “middle”—compared to creating an extreme master from its opposite extreme master (because, when starting from the “middle”, it has to cover a smaller distance). Although such a tool only assists with the design of a new master, it may significantly speed up the design process.
Example of a not yet published tool that requires only one master: “https://youtu.be/uOsYMctPRNg”. (I don’t know to what extent this tool can be used, not only for single glyphs, but also for a category of glyphs or a complete font.)
Agreed, but it may not be as dire as suggested. If the “j” does not collide with the square bracket in the masters—then such a collision won’t happen in the fonts created by interpolation from those masters (if the interpolation has been done correctly). For my 112 style Aspira superfamily, I used a spreadsheet containing all the meta-information for all its styles. With this spreadsheet and a Python script that reads the spreadsheet, it takes a few minutes to create or renew the meta-information in all 112 vfb files. (It took a lot of time to create the spreadsheet and the script, but they can be reused with any new font family—after changing the family name and some other cell values in the spreadsheet.)
Variable fonts may kill the traditional superfamily (which is living in a big number of files), but will create the superfamily-on-steroids (which is living in just one file).
I can imagine creating a variable font, will go like this. Start with a set of masters, and feed them into the tool that will create the variable font. Then give permissions; and define, for specific styles, the name and position on the relevant axes. Giving permissions concerns whether the variable font will be continuous or discrete, and whether specific intervals of an axis will be “blocked” or not. (It may even be possible for one axis to be discrete, and another axis to be continuous—though this may be hard to explain to a font user.) For the named styles, a list has to be provided containing a style name, a style number (like usWeightClass), and a number which defines the exact position on the relevant axis.