Gulzar is a libre (free of charge, and freely redistributable) font, licensed under the SIL Open Font License, Version 1.1.
زہرا نگاہ کے کلام میں روزمرہ کی زندگی کے جذباتی معاملات ہیں، جنہیں زہرا صنف نازک کی شاعری کہتی ہیں۔ جیسے ملائم گرم سمجھوتے کی چادر، قصیدہ بہار، نیا گھر، علی اور نعمان کے نام، سیاسی واقعات کے تاثرات بھی، وہ وعدہ بھی جو انسانوں کی تقدیروں میں لکھا ہے اور محض تغزل بھی۔ ان منظومات میں نہ جدیدیت کے غیر شاعرانہ جذبات کا کوئی پرتو ہے اور نہ رومانویت کی شاعرانہ آرائش پسندی کا کوئی دخل ہے۔ روایتی نقش و نگار اور آرائشی رنگ و روغن کا سہارا لیے بغیر شعر کہنا زہرا نگاہ کے شعری اسلوب کا خاصا ہے۔ تشبیہ و استعارے سے عاری ایک آدھ بلیغ مصرع جس سے پوری نظم کا سراپا جھلملانے لگے، اس کی سب سے اچھی مثال زہرا کی نظم شام کا پہلا تارا ہے۔ ان کی تخلیقات میں شام کا پہلا تارا ، ورق اور فراق شامل ہیں۔
نستعلیق (نسخ اور تعلیق کا مرکب) یا خط فارسی فن خطاطی کا ایک اہم، مشہور اور خوب صورت ترین خط ہے جس میں عموماً فارسی-عربی حروف تہجی استعمال کرنے والی زبانیں لکھی جاتی ہیں۔
This project began at the end of 2019 when I was commissioned by Google to design an original Urdu Nasta’liq typeface. Since it was beyond my capabilities to embark on this task independently, Fiona Ross and Simon Cozens were invited to join the project as consultant and font engineer respectively. The Latin typeface was designed by Alice Savoie as a harmonious counterpart to the Nasta'liq. The background and design process is described below.
Fig 1. Various Urdu Nasta’liq calligraphy and lettering specimens
The first phase of this project involved conducting research into the history of Urdu digital typefaces from the early 1980s. This built on research already conducted for an MA dissertation at the University of Reading, The typographic development of the Nasta’liq style, by Borna Izadpanah (2015). This work included the analysis of some of the early and noteworthy Urdu Nastaliq digital typeface projects, including Monotype’s Noori Nastaliq (1981), by Ahmed Mirza Jamil and Monotype Corporation; Linotype’s Sheeraz (1986-7) and Qalmi (1994), by Mike Fellows, Tim Holloway and Fiona Ross; DecoType Nastaliq (2010) and Nastaleeq Press (2013), by Thomas Milo and Mirjam Somers. Each of these pioneering typefaces offered solutions for typesetting with Urdu Nasta’liq; however, since none of these typefaces were originally developed as an OpenType font, their application required the use of specifically designed software, and largely remained limited to particular technological environments.
More recently a number of OpenType Nasta’liq typefaces have been designed in Iran, Pakistan and Europe which have made valuable advances in Nasta’liq typography. Some of the notable examples include Iran Nastaliq designed by Hossein Zahedi following the calligraphy of Amir Ahmad Falsafi (2007–08); Noto Nastaliq Urdu by Patrick Giasson and Kamal Mansour (2014); Mehr Nastaliq Web by Muhammad Zeeshan Nasar following the calligraphy of Nasrullah Mehr (2017).
The design of Gulzar was inspired by carefully collected specimens of Urdu calligraphy and lettering which were closely studied to achieve an accurate representation of the Urdu flavour of the Nasta’liq style (Fig 2).
Fig 2. Note the structural differences between the Persian (top) and Urdu (bottom) flavours of the Nasta’liq style.
The models however were not merely traced and digitised, but they were used as an inspiration to design a typeface with a contemporary feel. Thus Gulzar was designed typographically rather than calligraphically. This is particularly evident in the treatment of terminals which were designed to look clear and consistent on different platforms and in different sizes (Fig 3).
Fig 3. Note the sharply cut terminals.
After collecting the most suitable models for the letterforms, Amir Mahdi Moslehi, an Iranian designer and calligrapher, was asked to produce initial calligraphic patterns which would ensure the consistency of the stroke modulation that is crucial to Nasta’liq. In this style, calligraphers use different sections of the nib of the reed pen and frequently rotate the pen to shape the Nasta’liq letterforms (Fig 4). This is carefully controlled to produce the balance of the letterforms and the distribution of the thick and thin strokes.
Fig 4. This illustration shows the angle of the reed pen in writing different parts of each letterform.
The first sketches that Amir provided were not satisfactory since they clearly showed the Persian calligraphic sensibilities which were not in accordance with the collected Urdu models. The important and distinctive characteristics of the Urdu models were indicated to Amir, and based on this brief, he produced patterns that were much more consistent with the provided models. However, it became apparent that there were still important characteristics of Urdu Nasta’liq which were not correctly implemented, and thus only a few of these new patterns, with some alteration, were adopted. The design process therefore necessitated several rounds of drawing of almost every glyph in Gulzar, until it reached the desired quality in digital form. In this process, each version was extensively tested and reviewed to ensure the quality of the design.
Fig 5. Calligraphic form of the letter ain (left) and several stages of its development to achieve the most appropriate form (from left to right).
One of the most challenging aspects in the design process of Gulzar was to devise the character set (glyphset) required to produce a fully functioning Nastaliq typeface. Initially this was inspired by the approach that was conceived by Mike Fellows, Tim Holloway and Fiona Ross in designing the Linotype Sheeraz and Qalmi typefaces. These were the first Nasta’liq fonts that provided a method in which the letters were stored in their individual forms and composed calligraphically with dots and diacritics in their correct positions. In this system, the letters were broken down into a relatively modest number of forms or characters which were administered by the rules of calligraphy programmed into the software. Therefore, unlike Monotype’s Noori Nastaliq, which was limited to the groups of letters existing in Urdu language, almost any letter combination could be achieved by this approach. Moreover, by designating their “zones of influence”, dots and diacritics could alter their positions to avoid clashes through specific software techniques. This was especially important for the baṛī ye character which occurs frequently in Urdu text. This ability was essential to newspaper typesetting, which often uses foreign words and names that the font should be able to render.
Fig 6. The method of connecting characters and dot positioning in Sheeraz and Qalmi typefaces.
In Sheeraz and Qalmi, each undotted letter (called rasm in Arabic) consisted of a group of initial, medial, final and unconnected variants and alternatives. Most of the connecting forms, such as those displayed in Fig 6, were designed with entry and exit strokes which would overlap to make the cursive connection. This was further modified in Gulzar; instead of adding both entry and exit strokes, each character has only an exit stroke, specifically designed to match the character following it (Fig 7). Thanks to this approach, the initial forms of letter groups could also be re-used as components in the medial position. This not only reduced the number of glyphs which needed to be designed, but also ensured smooth and seamless connections.
Fig 7. The method of connecting characters in Sheeraz and Qalmi typefaces (left) and in Gulzar (right).
In Nasta’liq style, depending on the size and application, calligraphers make various modifications in the proportions and stroke thicknesses to achieve the best optical rendition of the letterforms. In a digital typeface, which is supposed to function at different sizes and on different printed or digital platforms, this quality is much more difficult to implement. Ideally a font would include a number of optical axes designed to ensure the delivery of the best effect in different sizes. In Gulzar, the aim has been to produce a typeface which is legible at text sizes and suitable for sustained reading. Therefore, loops and apertures are designed more open to ensure clarity in small sizes.
The Latin counterpart was conceived in coherence with Gulzar’s underlying principles, i.e. a typeface that is rooted in a traditional calligraphic structure but expresses a contemporary feel with a sharp treatment of details; and a typeface that can perform at text sizes for sustained reading. Once the Nasta’liq design was firmly established, a proposal was made for a Latin counterpart that took inspiration from two eminent humanistic references: the versatile and sturdy proportions of Robert Granjon’s types, coupled with the sharp and distinctive feel of Hendrik van den Keere’s work. The Latin letterforms thus feature some subtle references to their calligraphic roots and echo the contrast present in the Nasta’liq, while remaining embedded in their classical typographic proportions.
Particular attention has been given to the proportions, weight and contrast of the Latin so that it sets harmoniously with the Nasta’liq. Defining the most appropriate vertical proportions, in particular, was a crucial aspect of pairing both scripts and making sure that they belonged together.
Gulzar is not the first OpenType Nasta’liq typeface, but it is the first Nasta’liq type for which an original Latin counterpart was designed. It covers all the required transliterations characters to transcribe Arabic, Persian and Urdu languages.
Fig 8. Transliteration of an Urdu phrase.
Some contextual alternates are already implemented in the font and can be manually implemented by the users. Examples are kaf, gaf, be, te, fe and sin, and some elongated forms are also provided. However, at this stage elongation (kashida or tatweel) is not supported, but it can be incorporated in future releases. (See kashida issue.)
Fig 9. Various contextual alternates and elongated forms in Gulzar.
Other potential expansions of the project will include an optical size axis and a bold style to provide a better text hierarchy where required. Currently, Gulzar fully supports Arabic, Persian and Urdu languages and, hopefully, future updates will include wider support for other languages which use the Arabic script.
This project's aim is to contribute to a better representation of Arabic-script writing styles across different platforms. It is not only a new typeface but offers a novel approach in designing typefaces that are designed to accurately represent the script rules and push the boundaries of current text rendering technologies. Since this is an open source project, we encourage other designers and font-makers to adopt this method to create more typefaces based on their preferred stylistic expressions. We hope that this will be a turning point in designing Arabic-script typefaces which are not limited by Latin-script-oriented typesetting technologies, but which promote a more inclusive and diverse approach in typeface design.
Engineering a Nastal’iq font with OpenType technology was a huge challenge. The first stages involved understanding the scope of the problem and examining existing approaches, notably that of Noto Nastaliq Urdu, as well as the patent documenting the technology behind Linotype Qalmi. But while we adopted some elements from both of these projects - Qalmi’s system of contextual substitution, and Noto’s decomposition of characters into rasm and nukte - ultimately we needed to develop many of our own techniques.
Indeed, the Gulzar project birthed a number of new technologies, without which it would not have been possible to achieve the result we wanted: first, the FEZ language was created as a more flexible and programmable alternative to Adobe’s feature language; the Crowbar OpenType debugger was invaluable in tracing the complex interactions between layout rules; a new collision detection library, Collidoscope, was written to help inform the dot positioning algorithm; and a new font QA approach based on test-driven design was developed to ensure that development did not cause regressions to desired behaviour.
With contextual glyph substitution and decomposition in place, the major engineering requirements of a Nastal’iq design are the correct placement of dots; achieving tight but even fitting; and the special handling of certain characters which impact upon text to their right (particular baṛī ye, but also final jim, ain, and choti ye).
In Gulzar, dot placement and fitting are intertwined; dots are first placed using mark positioning as normal, but special consideration is given to the interaction between the final character in one sequence and the initial character of the next sequence at a particular height, with a set of contextual rules determining the correct placement of dots at these interactions. (See red arrows in figure 10.) Finally, an exhaustive search is used to determine situations where dots in their natural placement would collide, and in these situations the dots are moved to second or third alternate anchor positions. (See green arrow.)
Fig 10. Height-dependent contextual dot repositioning, as well as collision avoidance.
Tight fitting is achieved through an automated approach which determines the correct spacing between the final character of a sequence and the initial character of the next, with reference to the “height” of the following sequence.
Fig 11. Applying a “kerning circle” to automatically determine correct distances at different heights.
Special handling of baṛī ye and other sequences was achieved through a combination of techniques: substituting mark glyphs affected by the baṛī ye swash by unanchored variants allows them to be removed from the normal positioning system, and then a similar collision avoidance algorithm to that described above is applied to identify sequences which need to be repositioned (fig 12); for other glyphs which have smaller rightward strokes that only affect a single previous glyph, contextual positioning rules achieved the same objective.
Fig 12. Handling the baṛī ye sequence
Overall, the combination of these techniques provides a tighter fitting and more natural layout than other Nastal’iq OpenType fonts, at the cost of considerable technological complexity - at many points during the development of the font, the font refused to compile due to the large number of contextual rules! However, we found ways to compact the layout in order to provide both a performant and aesthetically pleasing result.
As an open source project which we hope will be a basis for others to develop their own fonts, we have made it a priority to document and explain Gulzar’s engineering processes; you can read more of the technical details behind how the engineering works in this document and the annotated source files containing the layout rules.
Gulzar is funded by Google and released under the SIL Open Font Licence.
Our team would like to thank Dave Crossland and Chris Simpkins for making this project possible. We are also grateful to those who generously helped us by testing various versions of Gulzar and gave us extremely useful feedback. In particular Awais Athar, Bahman Eslami, Abeera Kamran, Pasha M. Khan, Damoon Khanjanzadeh, Saadat Mateen and Adil Soomro. We extend our gratitude to those who are still reviewing the design and look forward to receiving their feedback.
Although a substantial amount of work has gone into producing the best possible result when typesetting with Gulzar and avoiding clashes, at this point in time it is extremely difficult to produce an OpenType Nasta’liq typeface that can automatically anticipate every possible letter combination and render them correctly. Therefore, there might be instances where certain sequences are not correctly displayed. In this case, we invite users to report such issues or any other problem that they may encounter on GitHub, and we will do our best to address them. We are aware of the lack of proper support for typefaces like Gulzar on platforms such as Adobe InDesign and Illustrator. However, the latest version of Photoshop (thanks to the implementation of HarfBuzz) correctly displays Gulzar, and we believe that other Adobe applications will soon follow suit. (See tracking issue.)
To report an issue or to make a request for enhancements, please visit the issue tracker on GitHub. To file a new issue, you will need to create a GitHub account and log in. You will then be able to use the green button on the right ("New issue") to file an issue.