Ah well, this time not even an advertorial, but just a plain
advertisement (so, you're warned!):
We often hear people state that DTL OTMaster is a great tool, but that it’s considered a bit expensive. From the 1st of July till 21 September the latest edition (3.7) of OTM will be offered with a 50% discount on the standard licensing price of €255.
Version 3.7 contains a lot of new functionality. From the import/export of
Ideographic Variation Sequences (IVS) to the editing of
feature parameters, and from an
autohinter for edited or newly added glyphs to support for COLR+CPAL tables. One can read about all details in Karsten Lücke’s wonderful
manual.
Some use OTM for font-spelunking, other use it for Open(Type)-heart surgery. Some use it for compiling OpenType Layout features (directly in the font, or exported for proprietary workflows) by applying the elegant automatic subsetting, while others use it for instance for mark (to mark) positioning. OTM is the ultimate Swiss (or actually German/Dutch) knife for CFF- and TTF-based OpenType, TrueType, and TTC (TrueType Collection) fonts.
A complete listing of the functionality in OTM 3.7 can be found
here. DTL OTMaster can be ordered directly with forenamed discount at
DTL’s FontTools shop or at FontLab Ltd.
Comments
‘DTL OTMaster unveils the mysteries of your OpenType and TrueType fonts without your having to slog through text dumps or binary code. It makes the editing of tables easy and smooth by using a visual interface so you can actually see what the numbers in the tables mean. Furthermore, it comes with a built-in Glyph Editor for proofing and editing contours, a kern Table Viewer with a kerning class editor, a GSUB/GPOS Table Viewer for visually testing OpenType Layout tables, and even the option to import and export OpenType Layout features files.’
I fully agree ;-)
On Google’s font list currently there is a lively discussion on the development of Devanagari fonts and I was surprised to find out that it was unknown to many that OTM generates a nice log file when compiling OT Layout features. This way errors and mistakes in the features can easily be traced. This is a excerpt from the discussion with an example that I generated with OTM 3.7:
--------------------------------------------------------------
Just had a short look at the features. The lookup 'PreBaseSubstitutionslookup2' contains duplicate substitutions:
sub \isigndeva.tha \radeva_viramadeva by \isign_ra_virama.tha;
sub \isigndeva.tha \radeva_viramadeva by \isign_ra_virama.ja;
sub \isigndeva.tha \radeva_viramadeva \anusvaradeva by \isign_ra_virama_anusvara.tha;
sub \isigndeva.tha \radeva_viramadeva \anusvaradeva by \isign_ra_virama_anusvara.ja;
If one of each is removed then there seem to be some more errors:
HOT [ERROR] MarkToBase or MarkToMark error: A previous statment has already assigned the current mark class to another anchor point on the same glyph 'rvocalicdeva'. Skipping rule. [/Users/blokland/Desktop/Devnagari/Lohit.fea 814]
HOT [ERROR] MarkToBase or MarkToMark error: A previous statment has already assigned the current mark class to another anchor point on the same glyph 'kadeva'. Skipping rule. [/Users/blokland/Desktop/Devnagari/Lohit.fea 816]
HOT [ERROR] MarkToBase or MarkToMark error: A previous statment has already assigned the current mark class to another anchor point on the same glyph 'khadeva'. Skipping rule. [/Users/blokland/Desktop/Devnagari/Lohit.fea 818]
HOT [ERROR] MarkToBase or MarkToMark error: A previous statment has already assigned the current mark class to another anchor point on the same glyph 'ngadeva'. Skipping rule. [/Users/blokland/Desktop/Devnagari/Lohit.fea 820]
HOT [ERROR] MarkToBase or MarkToMark error: A previous statment has already assigned the current mark class to another anchor point on the same glyph 'chadeva'. Skipping rule. [/Users/blokland/Desktop/Devnagari/Lohit.fea 822]
HOT [ERROR] MarkToBase or MarkToMark error: A previous statment has already assigned the current mark class to another anchor point on the same glyph 'ttadeva'. Skipping rule. [/Users/blokland/Desktop/Devnagari/Lohit.fea 824]
HOT [ERROR] MarkToBase or MarkToMark error: A previous statment has already assigned the current mark class to another anchor point on the same glyph 'tthadeva'. Skipping rule. [/Users/blokland/Desktop/Devnagari/Lohit.fea 826]
HOT [ERROR] MarkToBase or MarkToMark error: A previous statment has already assigned the current mark class to another anchor point on the same glyph 'ddadeva'. Skipping rule.
[…]
Et cetera, et cetera.
[…]
HOT [ERROR] lookup name "abvmAboveBaseMarklookup1" not defined [/Users/blokland/Desktop/Devnagari/Lohit.fea 1215]
HOT [ERROR] lookup name "abvmAboveBaseMarklookup2" not defined [/Users/blokland/Desktop/Devnagari/Lohit.fea 1216]
HOT [ERROR] lookup name "abvmAboveBaseMarklookup3" not defined [/Users/blokland/Desktop/Devnagari/Lohit.fea 1217]
HOT [ERROR] lookup name "abvmAboveBaseMarklookup1" not defined [/Users/blokland/Desktop/Devnagari/Lohit.fea 1224]
HOT [ERROR] lookup name "abvmAboveBaseMarklookup2" not defined [/Users/blokland/Desktop/Devnagari/Lohit.fea 1225]
HOT [ERROR] lookup name "abvmAboveBaseMarklookup3" not defined [/Users/blokland/Desktop/Devnagari/Lohit.fea 1226]
HOT [ERROR] lookup name "abvmAboveBaseMarklookup1" not defined [/Users/blokland/Desktop/Devnagari/Lohit.fea 1233]
HOT [ERROR] lookup name "abvmAboveBaseMarklookup2" not defined [/Users/blokland/Desktop/Devnagari/Lohit.fea 1234]
[…]
Et cetera, et cetera.
[…]
HOT [FATAL] aborting because of errors
[ERROR] Hatch Features, feature file "/Users/blokland/Desktop/Devnagari/Lohit.fea" failed with error code 1.
--------------------------------------------------------------
Another thing that came up in the discussion is the editing of the naming table. Also this can be exported in OTM and the text file can subsequently be easily edited (in batch, if applicable) and imported.
I reckon that Nicolas is especially referring to the detailed log file (File -> Messages) that OTM generates when OT Layout features are compiled. At the Google Font Directory list it turned out that FontForge is more tolerant with this stuff than the AFDKO, and hence OTM.
Even the just-released Noto Sans Devanagari version 1.05 fonts contain features that if re-compiled in OTM return errors.
Also at the GFD-list it turned out that much of the functionality that OTM offers, seems to be unknown still. For instance the fact that the FreeType rasterizer is built-in, which is convenient for inspecting hinting generated with TTFA.
When it comes to the positioning of mark stuff, I'm quite curious how this is done with the different available font tools. In OTM there is a GUI for this, besides the option to position marks numerically. So, one can use the structure of for instance a Noto font as template and subsequently import the features file. From what I have seen, one can basically work the same way in FontForge, although the editor of OTM seems a bit more convenient and elegant (but I’m biased, of course ;-).
[ERROR] Hatch Features, feature file "/Users/blokland/Desktop/Devnagari/Lohit.fea" failed with error code 1.
Thank you!