Template:Script/Arabic
{{{1}}}
Lua error in Module:TNT at line 159: Missing JsonConfig extension; Cannot load https://commons.wikimedia.org/wiki/Data:I18n/Uses TemplateStyles.tab.
This template is to render properly Arabic-based scripts which don't use the main Arabic alphabet, also to ensure that Arabic diacritics appear properly.
It is also used for the template:Arabic alphabet shapes.
Usage
- {{Script/Arabic|موسوعة}} to give you موسوعة
- The 1st parameter is mandatory and contains the text written in the Arabic script.
- The optional
style
parameter can be used to override the generated style (for example another font size) or to specify additional CSS formattings (e.g. color). - The optional
attributes
parameter can be used for specifying additional HTML attributes (for example a descriptivetitle="..."
).
Use simple {{lang|ar|...}} for inline citation of Arabic language. Use {{rtl-para}} for entire paragraphs of Arabic text, however, they do not force choosing the fonts in that template.
Implementation
The template contains this phrase:
<templatestyles src="Script/styles_arabic.css" /><span class="script-arabic script-Arab" {{#ifeq: {{{no_rtl_mark|+}}} | {{{no_rtl_mark|-}}}||dir="rtl"}} style="font-size: {{{size|125%}}}; {{{style|}}}" {{{attributes|}}}>{{{1}}}</span>{{#ifeq: {{{no_rtl_mark|+}}} | {{{no_rtl_mark|-}}}||‎}}
- The font size was fixed at 125% for better readability.
- The style
font-weight: normal
is provided by Template:Script/styles_arabic.css and present to remove boldness, e.g. in section titles, because Arabic diacritics are best read only in normal weight, but also because some fonts do not exist in bold styles; without it, other fallback fonts would be used instead (possibly with lover coverage), or boldness may be synthetized from a non-bold font (making most diacritics unreadable). - Specifying the HTML attribute
dir="rtl"
in aspan
HTML element is sufficient to also activate on Wikipedia theunicode-bidi: embed
style which is part of the site-wide CSS stylesheet; this HTML attribute also activates the CSS style "direction: rtl" (which should be implemented by default in browsers, but is also set in the site-wide CSS stylesheet). This attribute can be disabled via|no_rtl_mark=
with value+
or-
if necessary.
Fonts information
- Free fonts
Template intended to force following fonts if installed:
- Noto Naskh Arabic
- Droid Arabic Naskh (better at smaller sizes; has an error in displaying ريال)
- Harmattan (lacks a bold weight; errors with combining shadda with kasra)
- Scheherazade New
- Lateef (lacks a bold weight)
- Amiri (appears feathery on Windows; errors with combining shadda with kasra and some Rohingya diacritics [1])
These fonts contain all Arabic character defined in Unicode (see Arabic script in Unicode) for text in the various languages that use the Arabic script, but not all the redundant glyphs used in stylizing.
- Non-free fonts
If the previous fonts are not installed, other fallback fonts would display:
- Arial, Times New Roman (essentially look the same; lack a few characters; errors with combining shadda with kasra)
- Caribri (only the newer versions render Arabic)
- Microsoft Sans Serif (lacks a few characters; lacks a bold weight; errors with combining shadda with kasra)
- Segoe UI (lacks a few characters; errors with combining shadda with kasra; in older versions, lacked a normal weight)
- Sakkal Majalla (errors with combining shadda with kasra)
- Microsoft Uighur (lacks a few characters; has errors with combining shadda with kasra; lacked a bold weight on older versions)
- Arabic Typesetting (lacks a bold weight; errors with combining shadda with kasra)
How to override fonts in user's preferences
Any user can use another font with a different size by writing the following on his custom CSS. (see Help:User style)
An example making the font size 105%, and choosing Droid Arabic Naskh to be the main font with Arial as an additional font :
.script-arabic {
font-size: 105% !important;
font-family: 'Droid Arabic Naskh', Arial, sans-serif !important;
}
- Font names containing spaces (or any other character than a letter) need to be put between
'
or"
. - The list of fonts should always be terminated by the pseudo-font names "sans-serif" and/or "serif", to allow using the fonts defined in user preferences in their browser, or the fonts set by default in browsers.
- You may choose to add the line-height phrase if you wanted to make lines in a paragraph more spaced from each other, or less spaced.
line-height: 125%;
Remember to put it before the }. The more number percentage, the more space is added. If you wanted to decrease the line height spacing, decrease the percentage. You may use any number (e.g. 85% or 140%) or use the special value "normal" which will properly use the minimum setting of the line-height recommended by each candidate font. - Some Arabic-based letters aren't rendered properly by some old versions of Times New Roman, such as: ېـ ـېـ ـې ې which is used in Pashto and Uyghur; the newest versions of the following fonts render it properly: 'Noto Naskh Arabic', 'Droid Arabic Naskh', Harmattan, Scheherazade, Lateef, Arial, 'Times New Roman', 'Sakkal Majalla', 'Microsoft Uighur', 'Arabic Typesetting', 'Microsoft Sans Serif', 'Segoe UI'. (The newest versions which are available free-of-charge online are marked as bold.)
- A demonstration with 'Droid Arabic Naskh' added first at 105%: موسوعة However, it has an error in displaying the word (ريال), it is folded on itself, rather than normally rendered in naskh.
- A demonstration with Noto Naskh Arabic added first at 125%: موسوعة That font is freely available online.
- A demonstration with Harmattan added first at 125%: موسوعة That font is freely available online.
- A demonstration with Scheherazade added first at 175%: موسوعة That font is freely available online, but if you chose to use it, you must increase the text size, because it shows it very small compared to other fonts.
Example:
.script-arabic {
font-size: 125% !important;
/*
The default line-height used by Wikipedia is 1.5 em, which can be lower or higher than the font default,
reduce it to the minimum recommended for HTML by using the word normal or for example, use a percentage
value, as 95%
*/
line-height: 95%;
font-family:
/* The following fonts are recommended for best coverage of the Arabic script: */
'Noto Naskh Arabic', Scheherazade, Lateef, 'Droid Arabic Naskh', Harmattan /* free fonts */
'Sakkal Majalla', /* commercial font, also installed with recent versions of Windows */
'Microsoft Uighur', 'Arabic Typesetting', /* commercial fonts installed with recent versions of Windows */
/* Other fonts supporting the Arabic script with partial coverage: */
Arial, /* Warning! Old versions may not support a few characters. */
'Times New Roman', /* Warning! Old versions may not support a few characters. */
/* Default fallback fonts determined in the browser: */
sans-serif /* No comma here! */
/* Required at end to actually enable the override and make it work : */
!important;
}
Another example without the notes:
.script-arabic {
font-size: 125% !important;
line-height: 95%;
font-family: 'Noto Naskh Arabic', Scheherazade, Lateef, 'Droid Arabic Naskh', Harmattan,
Arial, 'Times New Roman', 'Sakkal Majalla', 'Microsoft Uighur', 'Arabic Typesetting', sans-serif !important;
}
Template Data
TemplateData for Script
Parameter list
|
---|
<templatedata> { "params": { "1": {}, "no_rtl_mark": {}, "size": {}, "style": {}, "attributes": {} }, "paramOrder": [ "1", "no_rtl_mark", "size", "style", "attributes" ] } </templatedata> |
See also
- Template:Arabic alphabet shapes (its documentation page features a table showing a full test of contextual Arabic letter shapes supported).
- Template:Ug-textonly (enable Uyghur styled fonts)
- Template:Script/Nastaliq (used for the text written in Nastaliq styled Arabic script)