Template:Script/Arabic/doc

From MOASSpedia
Jump to navigation Jump to search

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 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

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

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

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, 'Scheherazade New', 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 or Scheherazade New 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, '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

This is the TemplateData for this template used by TemplateWizard, VisualEditor and other tools. Click here to see a monthly parameter usage report for this template based on this 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