{"id":3367,"date":"2014-06-21T16:37:21","date_gmt":"2014-06-21T16:37:21","guid":{"rendered":"http:\/\/www.readytext.co.uk\/?p=3367"},"modified":"2014-06-21T16:57:27","modified_gmt":"2014-06-21T16:57:27","slug":"dtl-otmaster-a-superb-tool-to-help-understand-the-opentypefont-file-format","status":"publish","type":"post","link":"https:\/\/www.readytext.co.uk\/?p=3367","title":{"rendered":"DTL OTMaster: A superb tool to help understand the OpenType font file format"},"content":{"rendered":"<h1>Introduction<\/h1>\n<p><a href=\"http:\/\/www.microsoft.com\/typography\/otspec\/otff.htm\">Microsoft&#8217;s official specification for the OpenType font file format<\/a> is a somewhat dry and, of course, a very technical document. Reading through it is not a task for the faint-hearted! I&#8217;m interested to understand some parts of it so I recently purchased a copy of <a href=\"http:\/\/www.fontlab.com\/font-utility\/dtl-otmaster\/\">DTL OTMaster<\/a> which has proved to be absolutely invaluable. At the time of writing DTL OTMaster costs about 250 euros but the time it can save you makes it worth every penny. This post is not intended as an &#8220;advert&#8221; for the software, just a quick demo of a really great tool that you may not have heard of; so here are some screenshots of what it will show you. In the screenshots below, OTMaster is displaying the open source OpenType (TrueType) font <a href=\"http:\/\/scripts.sil.org\/cms\/scripts\/page.php?site_id=nrsi&#038;id=Scheherazade\">Scheherazade <\/a>.<\/p>\n<h2>Screenshots<\/h2>\n<p>Here are some screenshots showing the internals of Scheherazade. Programmers will note that you are provided with information on the data types of various entries &ndash; the same data types referenced in Microsoft&#8217;s specification. Very useful indeed! It&#8217;s worth noting that OTMaster has many other features in addition to displaying the technical data &ndash; including some features present in <a href=\"http:\/\/www.microsoft.com\/typography\/VOLT.mspx\">Microsoft&#8217;s VOLT<\/a> &ndash; and in some areas they are better implemented than in  VOLT, particularly the ability to preview multiple glyphs with mark-to-base positioning.<\/p>\n<h3>The &#8220;root&#8221;<\/h3>\n<p>On the left is the internal font structure: at the top is the &#8220;root&#8221; entry where you can see the glyphs in the font.<\/p>\n<p><img decoding=\"async\" src=\".\/files\/root.png\" width=\"100%\"\/><\/p>\n<h3>Summary information<\/h3>\n<p>Summary of key data contained at the start of the font.<\/p>\n<p><img decoding=\"async\" src=\".\/files\/otftop.png\" width=\"100%\"\/><\/p>\n<h3>cmap table<\/h3>\n<p>The following screenshot shows the font cmap table(s) &ndash; the font&#8217;s mechanism to map from character codes (e.g., Unicode) to the internal, and font-specific, glyph identifiers (indices).<\/p>\n<p><img decoding=\"async\" src=\".\/files\/cmap2.png\" width=\"100%\"\/><\/p>\n<h3>glyf table<\/h3>\n<p>Displaying a wealth of information on the low-level data for glyphs.<\/p>\n<p><img decoding=\"async\" src=\".\/files\/glyf.png\" width=\"100%\"\/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Microsoft&#8217;s official specification for the OpenType font file format is a somewhat dry and, of course, a very technical document. Reading through it is not a task for the faint-hearted! I&#8217;m interested to understand some parts of it so I recently purchased a copy of DTL OTMaster which has proved to be absolutely invaluable. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,29,10],"tags":[],"class_list":["post-3367","post","type-post","status-publish","format-standard","hentry","category-opentype","category-post-about-about-fonts-glyphs-and-characters","category-unicode"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/3367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3367"}],"version-history":[{"count":23,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/3367\/revisions"}],"predecessor-version":[{"id":3392,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/3367\/revisions\/3392"}],"wp:attachment":[{"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.readytext.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}