Ben Bauermeister
December 12th, 2014
Web page available at https://googlefonts.github.io/panose-devanagari
Source files available at github.com/googlefonts/panose-devanagari
License: Creative Commons Attribution-ShareAlike 4.0 International License
This is the first publication version of the PANOSE classification scheme for Devanagari typeface designs. Many thanks to the contributors who helped make this first version better and more understandable. Your continued feedback is very welcome! Please file issues at github.com/googlefonts/panose-devanagari/issues
The original PANOSE Classification System was developed to organize Latin typeface designs based solely on their visual characteristics. It was implemented with sufficient granularity to provide distinct classification for very similar fonts - e.g. differentiating Palatino from Book Antiqua. In this way PANOSE could be used for identifying, mapping and substituting typefaces. Mapping software was developed to find ‘similar’ designs.
The Latin PANOSE scheme was later used as the backbone of an algorithmic synthetic font generation solution called Infinifont. The Infinifont engine was able to take the simplest 10 digit PANOSE number and create a fully formed and hinted TrueType or Type One PostScript font. It was this technology that allowed Hewlett-Packard to pack 110 fonts into their LaserJets in the early 1990s while reducing their onboard RAM memory costs.
Additionally, PANOSE was extended to classify Kanji typefaces and thus provide ‘Cross Script Mapping’ between Kanji and Latin typefaces to keep styles and color consistent between the two writing systems. At this time there is no mapping software that covers the new Devanagari classification scheme.
This document details a classification scheme that would be compatible with the PANOSE Classifications System for Latin Type in order to classify Devanagari typeface designs. The classification system is intended to encompass both the traditional calligraphic styled faces and the more commercial drawn faces. It will not attempt to classify decorative faces directly - but through a ‘Treatments’ classification category (11th Digit).
This document forms the framework and structure of the classification digits or ‘buckets’. As agreement is reached on these classification settings, additional refinement can help create the exact measurements and equations that define each of the classification categories.
From there, it is a simple thought, albeit lots of hard work, to use these quantified metrics to create or modify a face based on these values.
Here are some additional resources to learn more about PANOSE and its associated technologies.
In order to start thinking about the Devanagari PANOSE System we begin by referencing the existing Latin System. Below is an abbreviated chart of the current 16 characteristics that make up a Latin PANOSE classification number. Associated with each of these digits is the new attribute in Devanagari that will be measured, tracked, and classified.
The ‘draw’ column indicates a Contour or a Geometry for each attribute.
‘ord’ refers to the ordinal position of the digit, starting with 2. The first digit indicates the classification scheme, which in this case will be 7 for Devanagari.
You will notice digit couplings at the end of the list, 7a and 7b for example. This is an artifact from the fact that originally several classification attributes were concatenated into a single digit. The numbers are still referenced this way.
draw |
ordinal |
Latin… | …becomes in Devanagari |
---|---|---|---|
C | 2 | Serif | Vertical Stem Terminal |
C | 3 | Weight | Weight |
G | 4a | Width | Width |
G | 4b | Proportion | Glyph Shape |
G | 4c | Monospaced | Monospaced |
C | 5 | Contrast | Contrast |
G | 6a | Stroke Speed | Terminal Tapers |
G | 6b | Stroke Angle | Loop Closure |
C | 6c | - na - | Knots |
C | 7a | Arm Tapers | Stem Variation |
G | 7b | Arm Terminals | Stem Connection |
C | 8a | Letterform | Curvature |
G | 8b | Oblique | Oblique |
G | 8c | - na - | Turns Speed |
G | 9a | Midline | Meanline Proportions |
C | 9b | Apex Trim | - na - |
G | 10a | x-Height location | - na - |
G | 10b | Cap height conformance | Accent Space Allocation (Matra Placement) |
Below is the detailed description of each classification digit and its new Devanagari attribute. Where possible, similarities to the Latin settings are provided both for providing context and for indicating how Devanagari may map to Latin in the future.
The first digit in a PANOSE classification number acts as a trigger to indicate which classification system is being used. There are now 6 schemes for PANOSE that have been defined.
Devanagari and its ancestral scripts of Brahmi and Kutila have stone chiseled roots similar to Latin. While the serif may not have been part of the original script grammar, they now occur from time to time. Hence this digit principally tracks the aesthetic attributes of how the stroke is terminated, in addition to classifying the serifs where they occur.
Weight determines the overall color of the design by evaluating the main vertical stems of the font. This simple calculation carries over almost directly from the Latin system. It is likely that once the measurement system is defined for Devanagari that there will need to be some kind of an offset to Latin based on the increased glyph density in Devanagari.
In the Latin scheme, this digit classifies 3 different visual traits. In Devanagari the traits are separated into individual parameters to begin with. The first trait, Width, characterizes the overall advance width of the design.
Within the standard library of glyph shapes for Devanagari, there are several characters that alternate their design based on stylistic or historical references. This is similar to the way that Latin designs may alternate between a open loop and closed loop lowercase ‘g’ or a single story or double story lowercase ‘a’.
Work is still being done to better classify these shifts. Unlike Latin, where it is predominantly a style preference - the changes in Devanagari glyph designs seem to group together and represent a historical setting for the type. More information is needed to precicesly classify these traits.
This single attribute indicates a design for which all of the glyphs have an identical advance width, similar to characters on early typewriters.
Contrast depicts the ratio of the thin segments of a stem to the thick areas. Some designs have strong variation between thick and thin, normally as a stem bends around a curve. Other designs have little or no variation.
In the Latin classification system Stroke Speed indicates how quickly a stem moves from thick to thin. A face like Bodoni normally has a very fast or strong stroke speed in that it moves from very thick to very thin in a short distance on a round stroke. In Devanagari we will measure how trailing stems and open curved strokes are tapered to classify this attribute.
Several Devanagari glyphs have a folded over loop gesture at the end of lower curved components. These loops are also referred to as knots - but here a loop (ending a stroke) is differentiated from a knot (redirecting a stroke). Depending on the design and weight, these loops can be filled solid bulbs or clearly open counters.
Similar to the loops above, the knot is a strongly characteristic feature of Devanagari typographic design. Whereas the loop above is found at the end of a stroke and provides closure for the stroke’s energy, the knot is used to redirect the energy of a stroke through what is generally a 90° corner. Most often a knot will be closed with a soft triangular shape.
This attribute catches the rare, but often beautiful design aesthetic of complex stroke designs. In Devanagari designs this applies only to the vertical main stems that are present in many glyph geometries. Consistent = straight sides to vertical stems, and uniform width along the stem. Not bowed either. Non Straight = non-parallel, bowed stroke designs.
Counter closure, especially on the क (ka) character is a design decision in Devanagari. A range of fully closed, just touching, relaxed and open, to widely open is found in various font drawings. Similarly, at times serifs are added to the terminals of these counters when they are open. While many other characters have similar connection designs - the क (ka) glyph is evaluated here to set a general tone for the aesthetic of the design.
In the Latin classification system Curvature is known as Roundness, yet both characteristics are very similar. This trait classifies the angular nature of the elliptical forms from being truly circular in form to curves with very angular corners. A perfect ellipse is a rare thing in a font design. Most designs pull on the corners of their round shapes to open the counters, giving a modern looking shape.
This digit captures the slant used in italic letter forms.
Note: Italic forms serve a different purpose in Latin than in Devanagari. Latin’s italic is used for emphasis, often for a single word. The slanted form of Devanagari is more typically used as a visual affectation of a whole piece of text, such as an entire title.
The term Turns refers to the upper left shoulder curve in the glyphs of ह (ha) and इ (i). Traditionally, this curvature is abrupt after a long draw of the pen in the leftward direction. Other more modern designs simplify this curvature to a slow horseshoe shape.
This measurement captures the overall allocation of geometric space below the headline in the Devanagari writing system. The upper and lower mean lines define the vertical space in which the strokes can reside. These theoretical lines divide the space between the headline and the baseline into 3 horizontal bands for aligning the stoke components in these areas. Similar to x-height in Latin, these mean lines can be pushed (raising the upper mean and lowering the lower mean) to open up the middle horizontal band for increased legibility.
In some Latin designs the space normally reserved for placement of accent characters is so reduced that characters requiring an accent character are constrained in height to accommodate the vertical space of the accent. While this is very unlikely, in Devanagari display or advertising designs it is not uncommon to have the Matra space (the space above the headline) as well as the space below the baseline strongly compressed. There are different approaches in Devanagari to fit accent marks under the glyph. When space is restricted, the accent mark could be reduced or the glyph itself may be redesigned.
This new classification digit is intended to alleviate the need for a separate ‘decorative’ or ‘display’ typeface classification scheme. Often, a decorative face is just a treatment of an existing design. Faces that exhibit these characteristics can often be difficult to classify accurately across the other criteria. When classifying a design with additional treatments, one should strive to classify the traits of the implied font from which the final treatment was derived.
One of the benefits of having a classification system for Devanagari is the ability to order and search fonts based on their similarity. While font mapping algorithms exist for the Latin PANOSE System, none have been created yet for the Devanagari. Typically, these mapping systems are comprised of distance tables that hold numeric values that indicate the distance of each value in a given trait to its neighbors. In addition to the distance tables are weight tables that are used to emphasize a given trait set over another (for example, the trait of Serif is weighted more highly than the trait of Apex Trimming). All the values in the distance tables need to be checked for proper triangulation to ensure that they are self-consistent.
References are made throughout this classification description that draw connections to the Latin classification system. At this time no mapping scheme to connect these two classification systems exists (there have been cross-language mappers for Latin to Kanji). Similar to the font mapping described above - both specific distances and trait weighting capabilities are needed.
1 | Writing System | 2 | Stem Terminal | 3 | Weight | 4a | Width | 4b | Glyph Shape | 4c | Monospaced | 5 | Contrast | 6a | Terminal Tapers | 6b | Loop Closure | 6c | Knot Appearance | 7a | Stem Variation | 7b | Stem Connection | 8a | Curvature | 8b | Oblique | 8c | Turns Speed | 9 | Meanline Proportion | 10 | Accent Allocation |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit | 0 | No Fit |
1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any | 1 | Any |
2 | Latin Text | 2 | Serifed | 2 | Very Thin | 2 | Very Condensed | 2 | Traditional 1 | 2 | Variable width | 2 | None | 2 | Strong Taper | 2 | Widely Open | 2 | Widely Open | 2 | Straight | 2 | Both Connected | 2 | Round | 2 | Upright | 2 | Long curvature | 2 | Large | 2 | Normal |
3 | Latin Script | 3 | Hard Pen | 3 | Thin | 3 | Condensed | 3 | Traditional 2 | 3 | Monospaced | 3 | Very Low | 3 | Moderate Taper | 3 | Open | 3 | Open | 3 | Concave | 3 | One Disconnected | 3 | Weighted | 3 | Oblique | 3 | Moderate Shoulder | 3 | Normal | 3 | Suppressed |
4 | Latin Decorative | 4 | Soft Pen | 4 | Light | 4 | Normal | 4 | Script | 4 | Low | 4 | Low Taper | 4 | Closed | 4 | Closed | 4 | Convex | 4 | One Disconnected Wide | 4 | Boxed | 4 | Strong Shoulder | 4 | Small | ||||||
5 | Latin Iconographic | 5 | Chisled Pen | 5 | Book | 5 | Extended | 5 | Simplified 2 | 5 | Medium Low | 5 | No Taper | 5 | Simplified | 5 | Flat | 5 | Bowed | 5 | Both Disconnected | 5 | Rounded Off | 5 | Abrupt Shoulder | ||||||||
6 | Kanji | 6 | Gothic Square | 6 | Medium | 6 | Very Extended | 6 | Geometric | 6 | Medium | 6 | Reversed Flare | 6 | Removed | 6 | Chiseled | 6 | Distorted | 6 | Sharp Square | 6 | Sharp Corner | ||||||||||
7 | Devanagari | 7 | Gothic Round | 7 | Demi-bold | 7 | Westernized | 7 | Medium High | 7 | Serifed Taper | ||||||||||||||||||||||
8 | Flared | 8 | Bold | 8 | High | ||||||||||||||||||||||||||||
9 | Heavy | 9 | Very High | ||||||||||||||||||||||||||||||
10 | Black |