{"id":4371,"date":"2021-02-11T11:16:07","date_gmt":"2021-02-11T08:16:07","guid":{"rendered":"https:\/\/typetype.org\/fr\/?p=4371"},"modified":"2026-05-15T10:19:51","modified_gmt":"2026-05-15T07:19:51","slug":"font-hinting-from-first-developments-to-use-in-practice","status":"publish","type":"post","link":"https:\/\/typetype.org\/fr\/blog\/font-hinting-from-first-developments-to-use-in-practice\/","title":{"rendered":"Font hinting: From first developments to use in practice"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">TrueType format history<\/h2>\n\n\n\n<p>The personal computer industry was going through a period of rapid development in the second half of 1980s, and it was necessary to have a specific font format for these computers. By then, Adobe already had one called PostScript Type 1. The standard was implemented in the company\u2019s graphic software and thus spread quickly.<\/p>\n\n\n\n<p>Apple and Microsoft were the TrueType format visionaries. The development pursued economic advantages: huge royalties were due for the use of PostScript fonts.Thus, TrueType was the response of the two giants to the de-facto Adobe\u2019s PostScript Type 1 monopoly. The idea was that TrueType fonts would become the base for a common standard and would be easily scaled and used on PCs. Apple began the development and was later joined by Microsoft who started to actively promote the standard. Apple implemented the format support in May 1991 (OS System 7.0), while Microsoft adopted system fonts for PC almost a year later, in April 1992 (OS Windows 3.1).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"600\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_1.1.png\" alt=\"\" class=\"wp-image-4372\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1.png 1680w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1-1024x366.png 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1-420x150.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1-768x274.png 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1-1200x429.png 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1-1536x549.png 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1-600x214.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1-944x337.png 944w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1-80x29.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_1.1-300x107.png 300w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><figcaption class=\"wp-element-caption\"><strong>Black &amp; White font rendering, appeared in the first TrueType format version<\/strong><\/figcaption><\/figure>\n\n\n\n<p>Apple released its variant (TrueType GX) earlier, which could have caused Microsoft, whose format was still in development, some problems related to licensing. Thus, Microsoft\u2019s product got the name TrueType Open.<\/p>\n\n\n\n<p>The TrueType Open release was timed to the Windows 95 release. The main update there was Antialiasing \u2013 on-screen anti-aliasing (i.e., smoothing of lines) in grayscale.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"600\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_2.1.png\" alt=\"\" class=\"wp-image-4374\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1.png 1680w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1-1024x366.png 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1-420x150.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1-768x274.png 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1-1200x429.png 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1-1536x549.png 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1-600x214.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1-944x337.png 944w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1-80x29.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_2.1-300x107.png 300w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><figcaption class=\"wp-element-caption\"><strong>GrayScale Rendering, appeared in the following TrueType version<\/strong><\/figcaption><\/figure>\n\n\n\n<p>In 1996, Microsoft and Adobe, previously competitors, released together a joint open font format \u2013 OpenType supporting TrueType and PostScript contour, Unicode, and typographic functions (small capitals, ligatures, etc.).<\/p>\n\n\n\n<p>Thus, the family of modern fonts got its name reflecting the whole history of their creation, OpenType:<\/p>\n\n\n\n<p>\u2022 TrueType (.ttf) \u2013 OpenType fonts with TrueType contours<\/p>\n\n\n\n<p>\u2022 OpenType (.otf) \u2013 OpenType fonts with PostScript contours<\/p>\n\n\n\n<p>Thanks to TrueType\u2019s initially broad functionality, <a href=\"https:\/\/typetype.org\/fr\/fonts\/variable\/\">variable<\/a> fonts based on it appeared in 2016.<\/p>\n\n\n\n<p>Right from the start, the TrueType format had gotten a bad reputation: the reason for this was a large number of low-quality fonts appearing due to TrueType being an open format, unlike PostScript Type 1. Consequently, TrueType fonts had not spread widely at the beginning, and PostScript Type 1 format fonts had become popular with the broad audience. After a while, TrueType format found its niche: large companies used it when they needed to develop important system fonts or create <a href=\"https:\/\/typetype.org\/fr\/custom-fonts\/\" data-type=\"URL\" data-id=\"https:\/\/typetype.org\/fr\/custom-fonts\/\" target=\"_blank\" rel=\"noreferrer noopener\">custom fonts<\/a>.<\/p>\n\n\n\n<p>The TrueType technology appeared in the beginning of 90s when extremely low DPI monitors were used. This technology was the easiest black and white graphics. The fonts displayed on screen only had single color representation with no midtone gradation (BI-level Rendering). With advances in hardware and software, PC graphics became more sophisticated, and so Grayscale Rendering appeared. Over time, LCD displays appeared and software developers implemented the features of LCD displays in which each pixel is composed of three colors. This was named SubPixel Rendering and it is the basis for Microsoft\u2019s ClearType and DirectWrite rasterizers.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"600\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_3.1.png\" alt=\"\" class=\"wp-image-4375\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1.png 1680w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1-1024x366.png 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1-420x150.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1-768x274.png 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1-1200x429.png 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1-1536x549.png 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1-600x214.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1-944x337.png 944w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1-80x29.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_3.1-300x107.png 300w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><figcaption class=\"wp-element-caption\"><strong><br>DirectWrite rendering<\/strong><\/figcaption><\/figure>\n\n\n\n<p>Both TrueType and OpenType formats contain B\u00e9zier curve contoured glyphs, but hinting approaches are radically different in each.<\/p>\n\n\n\n<p>Put briefly, in PostScript fonts, specific elements (horizontal and vertical stems, serifs etc.) are defined in each glyph and then specifically prescribed or calculated parameters, such as thickness, width, and height, are applied. Following this algorithm, hinting is very fast but there are very few opportunities to manually influence the final contour because the rasterizer \u201cdecides\u201d on its own how and which of these hints will be used to display the font.<\/p>\n\n\n\n<p>In TrueType fonts, a different approach is used. Instead of delegating the work to the rasterizer, the font contains specific dot-at-a-time instructions which should either be executed in their entirety or not carried out at all.<\/p>\n\n\n\n<p>The high precision and quality of TrueType fonts display is possible due to the great complexity in development. The curves of TrueType contours are very difficult for a designer to edit, since such fonts have a great number of dots because of the use of quadratic B\u00e9zier curves. <a href=\"https:\/\/typetype.org\/fr\/hinting\/\" data-type=\"URL\" data-id=\"https:\/\/typetype.org\/fr\/hinting\/\">Hinting<\/a> is also a complicated complex process that only high-level professional font designers can master. With that, OpenType (PostScript) font contours are easy to edit, contain cubic curves, and hinting is simplified and almost automated. On-screen font display quality is much worse but is unified for all fonts.<\/p>\n\n\n\n<p>In 1999, Apple integrated its own Quartz 2D screen rasterizer into its operating system. It unifies the display of both TrueType and OpenType fonts from all developers on all Apple computer screens ignoring TrueType hinting. Thus, TrueType format is relevant for Windows and Linux devices.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What TrueType hinting is and why it is needed<\/h2>\n\n\n\n<p>In digital typography, each symbol is defined by a set of contours, which usually consist of B\u00e9zier curve splines. When a symbol is rendered on a pixel grid, the contours are scaled to the necessary size and then the pixels inside the contour are filled with black. This algorithm works great at high DPIs. However, when DPI is below 150, rendering is problematic.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"600\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_4.1.png\" alt=\"\" class=\"wp-image-4376\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1.png 1680w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1-1024x366.png 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1-420x150.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1-768x274.png 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1-1200x429.png 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1-1536x549.png 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1-600x214.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1-944x337.png 944w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1-80x29.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_4.1-300x107.png 300w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><figcaption class=\"wp-element-caption\"><strong>From left to right: vector glyph representation, glyph rasterization on a 18pt 144 DPI pixel grid, glyph rasterization on a 18pt 96 DPI pixel grid<\/strong><\/figcaption><\/figure>\n\n\n\n<p>TrueType hinting (or instructing) means hints that are embedded into the font file with help of special software. One could say that these are limitations imposed onto font characters during scaling that best reflect the shapes programmed by the designer initially in any body size, on any device, resolution, and software. Hinting improves the look and readability of the text in low screen resolution and small font size.<\/p>\n\n\n\n<p>TrueType hinting can be manual and automatic. For light and medium weight fonts with simple shapes, such as Thin, ExtraLight, Light, Regular, Medium, automatic hinting is sufficient in most cases. For heavier weights \u2013 from DemiBold to Black and more complex font forms (for example, fonts with serifs or <a href=\"https:\/\/typetype.org\/fr\/fonts\/display\/\">display<\/a> fonts) \u2013 some problems may arise. Manual TrueType hinting is done either in a graphic editor or in specialized software. Manual font hinting is a true art on the one hand and a craft on the other. A hinting specialist marks up the completed font file manually, character after character, and then tests it in different body sizes. Often hinting allows for maintaining the characteristic font design up to 14&nbsp;px&nbsp;size and readability up to 9&nbsp;px&nbsp;size.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"1326\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_7.2.png\" alt=\"\" class=\"wp-image-4377\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2.png 1680w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2-1024x808.png 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2-420x332.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2-768x606.png 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2-1200x947.png 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2-1536x1212.png 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2-600x474.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2-599x473.png 599w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2-80x63.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_7.2-300x237.png 300w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><figcaption class=\"wp-element-caption\"><strong>TT-hinting window in FontLab7<\/strong><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Four key tasks that hinting solves<\/h2>\n\n\n\n<p>1. Maintaining contrast \u2013 hinting allows to bring back into the font the contrast envisioned by the designer.<\/p>\n\n\n\n<p>2. Readability increase \u2013 in small text sizes, hinting is responsible for character readability.<\/p>\n\n\n\n<p>3. Creates spacing \u2013 hinting does not let letters to merge and controls the letter spacing as it was envisioned by the author.<\/p>\n\n\n\n<p>4. Maintains a plain text line \u2013 hinting makes the letters in all text sizes stay within the line and not to jump out of it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"710\" height=\"550\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_8.1.png\" alt=\"\" class=\"wp-image-4378\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_8.1.png 710w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_8.1-420x325.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_8.1-611x473.png 611w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_8.1-600x465.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_8.1-80x62.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_8.1-300x232.png 300w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><figcaption class=\"wp-element-caption\"><strong><a href=\"https:\/\/typetype.org\/fr\/fonts\/tt-marxiana\/\">TT Marxiana Elzevir<\/a> before and after hinting<\/strong><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Real-life practical applications<\/h2>\n\n\n\n<p>By the beginning of 2021, 40% of PC users have two main screen resolutions \u2013 1920&#215;1080 and 1368&#215;768. A monitor with a 1920&#215;1080 resolution and a 22 inch diagonal will only have approximately 100 DPI. Taking 300 DPI as a printing ideal, this is three times less than is necessary for flawless font display.<\/p>\n\n\n\n<p>Even so, many font foundries invest very little time into hinting: they either refer to OpenType fonts with simple PostScript hining without even having TTF fonts, or use automatic hinting instruments. As a result, users of different sites and services, including small and large corporate ones with millions of views, see distorted font designs.<\/p>\n\n\n\n<p>In addition, large international companies and corporations may have outdated or industrial equipment with low DPI resolutions, so font display issues are still relevant to them. Specialized application areas, such as banking (ATMs), navigation equipment, game and applications development, television broadcasts requiring careful attention to font display, are also concerned.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"597\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_9.1.png\" alt=\"\" class=\"wp-image-4379\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1.png 1680w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1-1024x364.png 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1-420x149.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1-768x273.png 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1-1200x426.png 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1-1536x546.png 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1-600x213.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1-944x335.png 944w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1-80x28.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_9.1-300x107.png 300w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><figcaption class=\"wp-element-caption\"><strong>An example of low-quality hinting: contours merge<\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"600\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_11.3.png\" alt=\"\" class=\"wp-image-4380\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3.png 1680w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3-1024x366.png 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3-420x150.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3-768x274.png 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3-1200x429.png 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3-1536x549.png 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3-600x214.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3-944x337.png 944w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3-80x29.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_11.3-300x107.png 300w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><figcaption class=\"wp-element-caption\"><strong>An example of low-quality hinting: r rises above lowercase letters<\/strong><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Hinting at TypeType<\/h2>\n\n\n\n<p>In early 90s, hinting was a technologically complicated process as instructions in TrueType were low-level assembler commands:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"600\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_15.2.png\" alt=\"\" class=\"wp-image-4381\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2.png 1680w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2-1024x366.png 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2-420x150.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2-768x274.png 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2-1200x429.png 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2-1536x549.png 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2-600x214.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2-944x337.png 944w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2-80x29.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_15.2-300x107.png 300w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><figcaption class=\"wp-element-caption\"><strong>Example of low-level assembler commands<\/strong><\/figcaption><\/figure>\n\n\n\n<p>Software that supports high level visual commands and converts them to native code is used for hinting today. The following software need to be mentioned:<\/p>\n\n\n\n<p>\u2022 ttfautohint \u2013 automatic hinting with optional parameters based on Free Type render&nbsp;<\/p>\n\n\n\n<p>\u2022 Fontlab\/Glyphs \u2013 font editors with hinting possibilities<\/p>\n\n\n\n<p>\u2022 Microsoft Visual TrueType \u2013 standalone hinting application&nbsp;<\/p>\n\n\n\n<p>With that, unlike in PostScript, font decompilation in order to edit TrueType hinting is impossible as each application carries out its own commands. One has to go to the source or start from scratch.<\/p>\n\n\n\n<p>We carry out TrueType hinting both for individual static faces and for variable fonts and use Visual TrueType and several proprietary technical subprograms to optimize hinting work.<\/p>\n\n\n\n<p><strong>An interesting fact:<\/strong><\/p>\n\n\n\n<p>VTT\u2019s history goes back to the creation of TrueType format. One of its authors and the creator of the TrueType instruction language is Sampo Kaasila, who also created a for-profit hinting application Typeman for Macintosh. After a while, the Typeman license was acquired by Microsoft and VTT, which currently only runs on Windows, was developed based on it. Although VTT was originally free in the beginning of 2000s, to work with it you had to fill out a license agreement and fax it to Microsoft to obtain access to a forum and download the application there.<\/p>\n\n\n\n<p>Why VTT? In our opinion, this is the most complex editor allowing all possible alterations to the font image. Another advantage is that VTT is developed by Microsoft, which guarantees that the image in the preview in the editor and the final render are identical. There\u2019s also customer support: you can email the developers and get a link to an unbugged build in a few days. A disadvantage is that the code is proprietary, so we had to write additional Python scripts to enable needed functionalities. Here are some examples:<\/p>\n\n\n\n<p>\u2022 Correct positioning of diacritics over and under characters.<\/p>\n\n\n\n<p>\u2022 Constrained alignment of components to the pixel grid.<\/p>\n\n\n\n<p>\u2022 Correct character automatic grouping.<\/p>\n\n\n\n<p>\u2022 Inter-font hinting transfer.<\/p>\n\n\n\n<p>\u2022 Stem correction in thin faces.<\/p>\n\n\n\n<p>A typical font hinting process:<\/p>\n\n\n\n<p>1. Height dots are marked up such that the character is consistent in relation to other characters and sticks to the defined text line without exceeding it (that is, for example, such that a capital character is as tall as other capital characters and lowercase characters are as tall as other lowercase characters).<\/p>\n\n\n\n<p>2. The width of all horizontal sets is fixed such that they are identical to other analogous sets in the font.<\/p>\n\n\n\n<p>3. Similarly, the width of all vertical sets is fixed.<\/p>\n\n\n\n<p>4. Other unconcerned dots are automatically smoothed relative to the ones that were subject to a command.<\/p>\n\n\n\n<p>Font hinting process:<\/p>\n\n\n\n<p>1. First we run an autohinter, whose task is to smoothen the glyphs and identify the spots where manual editing will be needed. This saves up significant amounts of time.&nbsp;<\/p>\n\n\n\n<p>2. Before manual hinting, we apply an array of our scripts to the font. This helps identify problematic spots and spares us extra work again.&nbsp;<\/p>\n\n\n\n<p>3. Manual work: we check control values of the font (heights and widths) and add edits to instructions created by autohinting.&nbsp;<\/p>\n\n\n\n<p>4. Testing and corrections.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"840\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_13_5.gif\" alt=\"\" class=\"wp-image-4382\"\/><figcaption class=\"wp-element-caption\"><strong>Hinting of a single character<\/strong><\/figcaption><\/figure>\n\n\n\n<p>Variable font hinting is a more complicated process as some of the functional items, like deltas, are missing, while we still want to hint the font as well as we would a static one. This process is very similar to hinting a single font but with a single difference: in the variable fonts, there are several so called master fonts, in between which variability takes place. But hinting lets us hint only the basic anchor face.&nbsp; So, other masters receive hinting instructions from the main face and the hinting testing\/debugging process becomes more complicated.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1680\" height=\"1182\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/hint_14.2.png\" alt=\"\" class=\"wp-image-4383\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2.png 1680w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2-1024x720.png 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2-420x296.png 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2-768x540.png 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2-1200x844.png 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2-1536x1081.png 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2-600x422.png 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2-672x473.png 672w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2-80x56.png 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/hint_14.2-300x211.png 300w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><figcaption class=\"wp-element-caption\"><strong>Working on VTT on a variable font<\/strong><\/figcaption><\/figure>\n\n\n\n<p>Hinting is subject to a number of peculiarities depending on the operating system or the browser in which the font is displayed. We constantly update our scripts\/programs which enhance and optimize our hinting. For our clients, we work on detailed hinting whenever requested such that the fonts are displayed as precisely as possible. In addition, we also do font auditing and suggest appropriate recommendations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">In place of a conclusion<\/h2>\n\n\n\n<p>It might seem that hinting is a complicated and effort-consuming process. But that\u2019s not quite the case. We were able to significantly optimize hinting of both separate faces as well as of large families. We transposed hinting (instructing) from different font weights as well as between upright and inclined font versions, and learned how to hint <a href=\"https:\/\/typetype.org\/fr\/fonts\/variable\/\">variable<\/a> fonts.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"600\" src=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/2021\/05\/tt_preview-1200x600.gif\" alt=\"\" class=\"wp-image-4384\" srcset=\"https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/tt_preview-1200x600.gif 1200w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/tt_preview-1024x512.gif 1024w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/tt_preview-420x210.gif 420w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/tt_preview-768x384.gif 768w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/tt_preview-1536x768.gif 1536w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/tt_preview-600x300.gif 600w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/tt_preview-944x472.gif 944w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/tt_preview-80x40.gif 80w, https:\/\/typetype.org\/fr\/wp-content\/uploads\/sites\/15\/tt_preview-300x150.gif 300w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption class=\"wp-element-caption\"><strong>TypeType logo hinting<\/strong><\/figcaption><\/figure>\n\n\n\n<p>We created our own instruments (scripts) and methodologies which optimize the font hinting process. Together, these have made <a href=\"https:\/\/typetype.org\/fr\/hinting\/\">hinting affordable<\/a>. And, as our experience shows that without high-quality hinting a font misses out on many use opportunities, we hint all fonts we currently release.&nbsp;<\/p>\n\n\n\n<p>We also <a href=\"https:\/\/typetype.org\/fr\/blog\/ot-l22-mastering-a-font-for-the-legendary-typewriters-70th-anniversary\/\" data-type=\"URL\" data-id=\"https:\/\/typetype.org\/fr\/blog\/ot-l22-mastering-a-font-for-the-legendary-typewriters-70th-anniversary\/\" target=\"_blank\" rel=\"noreferrer noopener\">help<\/a> other font foundries with hinting. TypeType team is open to communication with colleagues.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we will tell you the history of font hinting development. We will share our own experience of working with fonts and explain what tasks hinting solves.<\/p>\n","protected":false},"author":1,"featured_media":32003,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[186,188],"class_list":["post-4371","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-font-mastering","tag-work-with-fonts"],"acf":{"show_sidebar":true},"_links":{"self":[{"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/posts\/4371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/comments?post=4371"}],"version-history":[{"count":5,"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/posts\/4371\/revisions"}],"predecessor-version":[{"id":52144,"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/posts\/4371\/revisions\/52144"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/media\/32003"}],"wp:attachment":[{"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/media?parent=4371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/categories?post=4371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/typetype.org\/fr\/wp-json\/wp\/v2\/tags?post=4371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}