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

edit
{{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 descriptive title="...").

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

edit

The template contains this phrase:

<templatestyles src="Script/styles_arabic.css" /><span class="script-arabic script-Arab" {{#if:{{{lang|}}}|lang="{{{lang}}}"}} {{#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|-}}}||&lrm;}}
  • 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 a span HTML element is sufficient to also activate on Wikipedia the unicode-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

edit
Free fonts

Template intended to force following fonts if installed:

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:

  • SF Arabic (is a complete Apple font)
  • Arial, Times New Roman (essentially look the same; lack a few characters; errors with combining shadda with kasra) Arabic Transparent
  • 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

edit

Any user can use another font with a different size by writing the following on their 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: Scheherazade New, Scheherazade, Lateef, Amiri, Noto Naskh Arabic, Droid Arabic Naskh, Noto Sans Arabic, Harmattan, 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 Scheherazade New or 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.
  • 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.

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, 'Scheherazade New', 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, 'Scheherazade New', Lateef, 'Droid Arabic Naskh', Harmattan,
    Arial, 'Times New Roman', 'Sakkal Majalla', 'Microsoft Uighur', 'Arabic Typesetting', sans-serif !important;
}

Template Data

edit
This is the TemplateData for this template used by TemplateWizard, VisualEditor and other tools. See a monthly parameter usage report for Template:Script/Arabic in articles based on its TemplateData.

TemplateData for Script/Arabic

Parameter list

No description.

Template parameters

ParameterDescriptionTypeStatus
11

no description

Unknownoptional
no_rtl_markno_rtl_mark

no description

Unknownoptional
sizesize

no description

Unknownoptional
stylestyle

no description

Unknownoptional
attributesattributes

no description

Unknownoptional

See also

edit