Template:ISO 15924 direction/doc

Usage
The template returns, for an ISO script code, the direction.
 * &rarr;
 * &rarr;

Options
The output texts  can be altered:
 * &rarr;


 * &rarr;


 * &rarr;


 * &rarr;

How is it determined
The direction is determined as follows. There are 94 scripts in Unicode (those ISO codes that have an alias). All regular scripts have a single "Strong" in Unicode direction. That is, all characters in a Unicode script that are "Strong", have the same directionality: either right-to-left (rtl) or left-to-right (ltr). Within a script there are no opposing directions present. There can be characters with "Weak" or "Neutral" direction (i.e., direction through context), but these do not alter other characters diretionality. One exception: script "Zyyy" conatains characters with either direction. Therefor, Zyyy has direction "mixed".
 * First, if a script is present in Unicode, Unicode Bidi-direction is derived for that Unicode script.


 * Second, all other scripts, that are not defined in Unicode, can have their direction set manually in this template.

How to add a script direction
The Unicode scripts are determined as of version 6.0, and should be complete & correct. That (upper) part of the list should not be changed unless for errors. An script directionality can be added: | | Abcd | Defg = {{{ltr|ltr}} | Pqrs | Tuvw = {{{rtl|rtl}} | #default=

The parameters as shown keep the output text option available.

Background
For scripts in Unicode, the direction is determined as follows. Each character in a script (say Hebr) has a single property bidi-type. The value of that bidi-type is from a list, and its usage is described in the Unicode Bidi Algorithm (UAX#9).

The bidi-type can determine the direction, which can be a Strong, Neutral or Weak one. Strong directions are independent, like for the Latin alphabet A-Z. Neutral and Weak directions are dependent on context (think nearby other characters), and are used e.g. with decimals, diacritics and punctuation marks.

Within the character set of a script (e.g. Hebr=Hebrew script has 133 characters in Unicode), there are Strong characters, all are right-to-left. Other characters are Neutral, and so have not direction by their own. This is true for all (but one) scripts in Unicode: withingn a script, all Strong directions are the same.

From there this templates is build: All scripts in Unicode (but one exception, see below) have a single Strong direction. That direction is used here in this template. The exception is: Zyyy, Common, which is a collection of various characters that can be of either direction.