Font Features
Lateef is an OpenType-enabled font family that supports the Arabic script. It includes a number of optional features that provide alternative rendering that might be preferable for use in some contexts. The sections below enumerate the details of these features. Whether these features are available to users will depend on both the application and the rendering technology being used. Some applications let the user control certain features such as Character Variants to turn on the rendering of variant characters. However, at this point, most applications do not make use of those features so another solution is needed to show the variant characters. For applications that do not make use of the OpenType Character Variants, you can now download fonts customized with the variant glyphs you choose. Read this document, visit TypeTuner Web, then choose the variants and download your font.
See Using Font Features. Although that page is not targeted at Arabic script support, it does provide a comprehensive list of applications that make full use of the OpenType font technology.
See also Arabic Fonts — Application Support. It provides a fairly comprehensive list of applications that make full use of the OpenType font technology.
This page uses web fonts (WOFF) to demonstrate font features and should display correctly in all modern browsers. For a more concise example of how to use Lateef as a web font see Lateef-webfont-example.html in the font package web folder.
If this document is not displaying correctly a PDF version is also provided in the documentation/pdf folder of the release package.
Complete feature list
Language system tags
Affects: U+062F, U+0630, U+0688..U+068F, U+0690, U+06EE, U+0759, U+075A, U+08AE, U+0645, U+0765, U+0766, U+08A7, U+06BE, U+0626, U+060C, U+061B, U+06F4, U+06F5, U+06F6, U+06F7, U+0650, U+064F, U+064C, U+0657
Unfortunately, the UI needed to access the language-specific behavior is not yet present in many applications. LibreOffice and Microsoft Word 2016 support language-specific behavior for Kashmiri, Kurdish, Sindhi and Urdu. Microsoft Word 2019, but not LibreOffice, supports language-specific behavior for Kyrgyz. Neither application provides support for the Rohingya or Wolof languages. Some Harfbuzz-based apps, e.g., XeTeX, can access language-specific behavior. In the past, it was not always possible to override language-specific behavior in cases where the language-specific variants were undesirable but, as of version 4.300, the font now supports this possibility.
Kashmiri, Kurdish (Northern), Rohingya, Sindhi, Urdu
Language | Meem | Heh Doachashmee (06BE) | 4 | 6 | 7 | 0650/064E | 064C | 0652 | Feature Setting |
---|---|---|---|---|---|---|---|---|---|
default | م ممم | ھ ھھھ | ۴ | ۶ | ۷ | بِّ | بٌ | بْ | |
Kashmiri | م ممم | ھ ھھھ | ۴ | ۶ | ۷ | بِّ | بٌ | بْ | lang='ur' |
Kurdish(Northern) | م ممم | ھ ھھھ | ۴ | ۶ | ۷ | بِّ | بٌ | بْ | lang='ku' |
Rohingya | م ممم | ھ ھھھ | ۴ | ۶ | ۷ | بِّ | بٌ | بْ | lang='rhg' |
Sindhi | م ممم | ھ ھھھ | ۴ | ۶ | ۷ | بِّ | بٌ | بْ | lang='sd' |
Urdu | م ممم | ھ ھھھ | ۴ | ۶ | ۷ | بِّ | بٌ | بْ | lang='ur' |
Kyrgyz and Wolof
Language | 0626 | 0650/064E | 064F | 0657 | Feature Setting |
---|---|---|---|---|---|
default | ئ ئئئ | بِّ | بُ | بٗ | |
Kyrgyz | ئ ئئئ | بِّ | بُ | بٗ | lang='ky' |
Wolof | ئ ئئئ | بِّ | بُ | بٗ | lang='wo' |
Character variants
There are some character shape differences in different languages which use the Arabic script. These can be accessed by using OpenType Character Variants, or through the language support mentioned above.
Meem
Affects: U+0645, U+0765, U+0766, U+08A7
Feature | Sample | Feature setting |
---|---|---|
Standard | م ممم ݥ ݥݥݥ ݦ ݦݦݦ ࢧ ࢧࢧࢧ | cv44=0 |
Sindhi-style | م ممم ݥ ݥݥݥ ݦ ݦݦݦ ࢧ ࢧࢧࢧ | cv44=1 |
Long-tail | م ممم ݥ ݥݥݥ ݦ ݦݦݦ ࢧ ࢧࢧࢧ | cv44=2 |
Heh
Affects: U+0647 (This feature is not recommended for use. The features available for Heh Doachashmee are preferred.)
Feature | Sample | Feature setting |
---|---|---|
Standard | ه ههه | cv48=0 |
Kurdish-style | ه ههه | cv48=3 |
Sindhi-style | ه ههه | cv48=1 |
Urdu-style | ه ههه | cv48=2 |
Heh Doachashmee
Affects: U+06BE
Feature | Sample | Feature setting |
---|---|---|
Standard | ھ ھھھ | cv49=0 |
Knotted | ھ ھھھ | cv49=1 |
Bowtie | ھ ھھھ | cv49=2 |
Kurdish-style | ھ ھھھ | cv49=3 |
Kyrgyz OE
Affects: U+06C5
Feature | Sample | Feature setting |
---|---|---|
Loop | ۅ | cv51=0 |
Bar | ۅ | cv51=1 |
Yeh Hamza
Affects: U+0626
Feature | Sample | Feature setting |
---|---|---|
Standard | ئ ئ | cv54=0 |
Right hamza | ئ ئ | cv54=1 |
Mid hamza | ئ ئ | cv54=2 |
Shadda+kasra placement
Affects: U+064D, U+0650 with U+0651
Feature | Sample | Feature setting |
---|---|---|
Default | بِّ ◌ِّ بٍّ ◌ٍّ | cv62=0 |
Lowered | بِّ ◌ِّ بٍّ ◌ٍّ | cv62=1 |
Raised | بِّ ◌ِّ بٍّ ◌ٍّ | cv62=2 |
Damma
Affects: U+064F
Feature | Sample | Feature setting |
---|---|---|
Default | بُ ◌ُ | cv70=0 |
Filled | بُ ◌ُ | cv70=1 |
Short | بُ ◌ُ | cv70=2 |
Crossed | بُ ◌ُ | cv70=3 |
Dammatan
Affects: U+064C
Feature | Sample | Feature setting |
---|---|---|
Standard | بٌ ◌ٌ | cv72=0 |
Six-nine | بٌ ◌ٌ | cv72=1 |
Two-nine | بٌ ◌ٌ | cv72=2 |
Inverted Damma
Affects: U+0657
Feature | Sample | Feature setting |
---|---|---|
Default | بٗ ◌ٗ | cv74=0 |
Hollow | بٗ ◌ٗ | cv74=1 |
Filled | بٗ ◌ٗ | cv74=2 |
Superscript Alef
Affects: U+0670 on all yeh, sad and seen-like characters
U+0620, U+0626, U+0633, U+0634, U+0635, U+0636, U+063D, U+063E, U+063F, U+0649, U+064A, U+0678, U+069A, U+069B, U+069C, U+069D, U+069E, U+06CC, U+06CD, U+06CE, U+06D0, U+06D1, U+06FA, U+06FB, U+075C, U+076D, U+0770, U+077D, U+077E, U+0775, U+0776, U+0777, U+08A8, U+08A9, U+08AF, U+08BA
Feature | Sample | Feature setting |
---|---|---|
Default | ؠٰ ؠٰؠٰ ئٰ ئٰئٰ سٰ سٰسٰ شٰ شٰشٰ صٰ صٰصٰ ضٰ ضٰضٰ ؽٰ ؽٰؽٰ ؾٰ ؾٰؾٰ ؿٰ ؿٰؿٰ ىٰ ىٰىٰ يٰ يٰيٰ ٸٰ ٸٰٸٰ ښٰ ښٰښٰ ڛٰ ڛٰڛٰ ڜٰ ڜٰڜٰ ڝٰ ڝٰڝٰ ڞٰ ڞٰڞٰ یٰ یٰیٰ ۍٰ بۍٰ ێٰ ێٰێٰ ېٰ ېٰېٰ ۑٰ ۑٰۑٰ ۺٰ ۺٰۺٰ ۻٰ ۻٰۻٰ ݜٰ ݜٰݜٰ ݭٰ ݭٰݭٰ ݰٰ ݰٰݰٰ ݽٰ ݽٰݽٰ ݾٰ ݾٰݾٰ ݵٰ ݵٰݵٰ ݶٰ ݶٰݶٰ ݷٰ ݷٰݷٰ ࢨٰ ࢨٰࢨٰ ࢩٰ ࢩٰࢩٰ ࢯٰ ࢯٰࢯٰ ࢺٰ ࢺٰࢺٰ | cv76=0 |
Large | ؠٰ ؠٰؠٰ ئٰ ئٰئٰ سٰ سٰسٰ شٰ شٰشٰ صٰ صٰصٰ ضٰ ضٰضٰ ؽٰ ؽٰؽٰ ؾٰ ؾٰؾٰ ؿٰ ؿٰؿٰ ىٰ ىٰىٰ يٰ يٰيٰ ٸٰ ٸٰٸٰ ښٰ ښٰښٰ ڛٰ ڛٰڛٰ ڜٰ ڜٰڜٰ ڝٰ ڝٰڝٰ ڞٰ ڞٰڞٰ یٰ یٰیٰ ۍٰ بۍٰ ێٰ ێٰێٰ ېٰ ېٰېٰ ۑٰ ۑٰۑٰ ۺٰ ۺٰۺٰ ۻٰ ۻٰۻٰ ݜٰ ݜٰݜٰ ݭٰ ݭٰݭٰ ݰٰ ݰٰݰٰ ݽٰ ݽٰݽٰ ݾٰ ݾٰݾٰ ݵٰ ݵٰݵٰ ݶٰ ݶٰݶٰ ݷٰ ݷٰݷٰ ࢨٰ ࢨٰࢨٰ ࢩٰ ࢩٰࢩٰ ࢯٰ ࢯٰࢯٰ ࢺٰ ࢺٰࢺٰ | cv76=1 |
Small | ؠٰ ؠٰؠٰ ئٰ ئٰئٰ سٰ سٰسٰ شٰ شٰشٰ صٰ صٰصٰ ضٰ ضٰضٰ ؽٰ ؽٰؽٰ ؾٰ ؾٰؾٰ ؿٰ ؿٰؿٰ ىٰ ىٰىٰ يٰ يٰيٰ ٸٰ ٸٰٸٰ ښٰ ښٰښٰ ڛٰ ڛٰڛٰ ڜٰ ڜٰڜٰ ڝٰ ڝٰڝٰ ڞٰ ڞٰڞٰ یٰ یٰیٰ ۍٰ بۍٰ ێٰ ێٰێٰ ېٰ ېٰېٰ ۑٰ ۑٰۑٰ ۺٰ ۺٰۺٰ ۻٰ ۻٰۻٰ ݜٰ ݜٰݜٰ ݭٰ ݭٰݭٰ ݰٰ ݰٰݰٰ ݽٰ ݽٰݽٰ ݾٰ ݾٰݾٰ ݵٰ ݵٰݵٰ ݶٰ ݶٰݶٰ ݷٰ ݷٰݷٰ ࢨٰ ࢨٰࢨٰ ࢩٰ ࢩٰࢩٰ ࢯٰ ࢯٰࢯٰ ࢺٰ ࢺٰࢺٰ | cv76=2 |
Sukun
Affects: U+0652
Feature | Sample | Feature setting |
---|---|---|
Closed | بْ ◌ْ | cv78=0 |
Open down | بْ ◌ْ | cv78=1 |
Open left | بْ ◌ْ | cv78=2 |
Closed | بْ ◌ْ | cv78=3 |
End of ayah
Affects: U+06DD
These alternates are also available using the Stylistic Alternates (salt) feature, but at this time we know of no OpenType-based applications that can access these.
Firefox allows you to use U+06DD followed by the digits and proper rendering occurs. Some applications require the following:
- precede the entire sequence (subtending mark plus following digits) with
202D LEFT-TO-RIGHT OVERRIDE - follow the entire sequence with U+202C POP DIRECTIONAL FORMATTING.
Surrounding the sequence with U+202D and U+202C seems to give the most reliable results in different browsers. However, we have not found a solution that works in Internet Explorer/Edge.
In the example below, the following codepoints are used: U+202D U+06DD U+0031 U+0032 U+0033 U+202C U+202D U+06DD U+0611 U+0622 U+0663 U+202C.
Feature | Sample | Feature setting |
---|---|---|
Standard | 123 ١٢٣ | cv80=0 |
Simplified A | 123 ١٢٣ | cv80=1 |
Simplified B | 123 ١٢٣ | cv80=2 |
The DISPUTED END OF AYAH (U+08E2) is also now available in the font. It works in the same way as End of ayah.
٣٤٥
Eastern digits
Affects: U+06F4, U+06F6, U+06F7
Feature | Sample | Feature setting |
---|---|---|
Standard | ۴۶۷ | cv82=0 |
Sindhi-style | ۴۶۷ | cv82=1 |
Urdu-style | ۴۶۷ | cv82=2 |
Kurdish-style | ۴۶۷ | cv82=3 |
Rohingya-style | ۴۶۷ | cv82=4 |
Default | ۴۶۷ | cv82=5 |
Comma
Affects: U+060C, U+061B (This feature is not recommended for use. The Unicode Standard recommends the use of ⹁ U+2E41 and ⁏ U+204F instead.)
Feature | Sample | Feature setting |
---|---|---|
Upward | ، ؛ | cv84=0 |
Downward | ، ؛ | cv84=1 |
Decimal separator
Affects: U+066B
Feature | Sample | Feature setting |
---|---|---|
Small reh | ٫ | cv85=0 |
Slash | ٫ | cv85=1 |
Other user font features
Proportional figures
Tabular digits are the default for Latin digits. Lateef supports the OpenType Proportional Figures (pnum) for Latin digits.
Affects: U+0030..U+0039
Feature | Sample | Feature setting |
---|---|---|
False | 0123456789 | pnum=0 |
True | 0123456789 | pnum=1 |
Tabular figures
Proportional digits are the default for Arabic digits. Lateef supports the OpenType Tabular Figures (tnum) for Arabic digits.
Affects: U+0660..U+0669, U+06F0.. U+06F9
Feature | Sample | Feature setting |
---|---|---|
False | ٠١٢٣٤٥٦٧٨٩ ۰۱۲۳۵۶۷۸۹ | tnum=0 |
True | ٠١٢٣٤٥٦٧٨٩ ۰۱۲۳۵۶۷۸۹ | tnum=1 |
Disable digit kerning (see FAQ)
This feature is only available in TypeTuner Web.
The Arabic digits are proportional by default and Lateef includes kerning to improve the spacing of certain pairs of digits such as ٧٨. However there are some applications, including Microsoft Word for Windows, that process the digit kerning information incorrectly, actually making some digits too far apart and some too close together. We have added a special Typetuner feature that can be used to create a version of the Lateef fonts in which the digit kerning is disabled. When using those fonts in Microsoft Word the resulting digit spacing will be much nicer than Tabular, but not quite as good as it would be if the application’s kerning worked correctly. This is discussed further in the FAQ.