Arabic (script)
Second-Level Reference Label Generation Rules, 25 October 2024 Current
Summary
| Version | 3 — Second Level Reference LGR |
|---|---|
| Date | |
| Tag |
und-Arab (Arabic)
|
| Unicode | 11.0.0 |
| Source file | lgr-second-level-arabic-script-25oct24-en.xml (78.9kb) |
Description
INSTRUCTIONS
- These instructions cover how to adopt an LGR based on this reference LGR for a given zone and how to prepare the file for deposit in the IANA Repository of IDN Practices.
- As described the IANA procedure (https://www.iana.org/help/idn-repository-procedure) an
LGR MUST contain the following elements in its header:
- Script or Language Designator (see below for guidance)
- Version Number (this must increase with each amendment to the LGR, even if the updates are limited to the header itself)
- Effective Date (the date at which the policy becomes applicable in operational use)
- Registry Contact Details (contact name, email address, and/or phone number)
- The following information is optional:
- Document creation date
- Applicable Domain(s)
- Changes made to the Reference LGR before adopting
Please add or modify the following items in the XML source code for this file before depositing the document in the IANA Repository. (https://www.iana.org/domains/idn-tables)
Meta Data
Note: version numbers start at 1. RFC 7940 recommends using simple integers. The version comment is optional, please replace or delete the default comment. Version comments may be used by some tools as part of the page header.
<version comment="[Please replace (or delete) the optional comment]">[Please fill in version number, starting at 1]</version>
<date>[Please fill in with publication date, in YYYY-MM-DD format]</date>
<validity-start>[Please fill in effective date, in YYYY-MM-DD format]</validity-start>
Note: the scope element may be repeated, so that the same document can serve for multiple domains.
<scope type="domain">[Please provide, in ".domain" format]</scope>
Registry Contact Information:
Please fill in the Registry Contact Details.
Change History
If you made technical modifications to the LGR, please summarize them in the Change History (and also note the details in the appropriate section of the description).
PLEASE DELETE THESE INSTRUCTIONS BEFORE DEPOSITING THE DOCUMENT
Read the rest of the description Show less
Registry Contact Details
- Contact Name: [Please fill in Contact Name]
- Email address: [Please fill in Email address]
- Phone Number: [Please fill in optional Phone Number]
Label Generation Rules for the Arabic Script
Overview
This document specifies a set of Label Generation Rules (LGR) for the Arabic script for the second level domain or domains identified above. The starting point for the development of this LGR can be found in the related Root Zone LGR [RZ-LGR-Arab]. The format of this file follows [RFC 7940]. This LGR is adapted from the “Reference LGR for the Second Level for the Arabic Script” [Ref-LGR-und-Arab], for details, see Change History below.
For details and additional background on the Arabic script, see TF-AIDN, “Proposal for Arabic Script Root Zone LGR”, Version 3.4, 18 November 2015 [Proposal-Arabic]. Additional work was done by a TF-AIDN group to create extensions appropriate to the second level and these are incorporated in this LGR. (See “Methodology” below).
The document contains certain provisions for customization. (See “Customizing actions for International Reachability” below.)
Repertoire
The repertoire includes the 128 code points for letters used by languages that are actively written in the Arabic script. The repertoire is a subset of [Unicode 11.0.0]. For details, see Section 3.2 in [Proposal-Arabic]. (The proposal cited has been adopted for the Arabic script portion of the Root Zone LGR.)
For the second level, the repertoire has been augmented with the HYPHEN-MINUS, and three sets of decimal digits:
- European (common) digits
- Arabic-Indic digits
- Extended Arabic-Indic digits
for a total of 159 repertoire elements.
The repertoire excludes code points for which TF-AIDN was unable to find sufficient evidence of use (see Appendix F in [Proposal-Arabic]).
This LGR does not include combining marks or code point sequences. All combining marks have been excluded for these reasons:
- First, they can significantly overproduce and would require additional rules to contain them effectively, complicating the design.
- Second, even where they are required for some languages, they are optional for others.
- Third, this also circumvents the issue regarding duplication between some precomposed code points and combining sequences raised by [IAB].
Repertoire Listing: Each code point or range is tagged with the script or scripts with which the code point is used and one or more other character categories. For each repertoire element, one or more references document sufficient justification for inclusion in the repertoire; see the “References” below. Comments identify the principal languages or orthographies using the code point. Languages are given with their [EGIDS] level.
Note: use of standard Arabic code points by other languages is not marked.
Correlation Between Repertoire and Bidi Rules
Because this LGR contains only a subset of PVALID code points, the Bidi rules expressed in Section 2 of RFC 5893 [160] (Bidi Rule) can be simplified to two constraints:
- Prevent digits (whether European, Arabic-Indic, or Extended-Arabic-Indic) from starting a label.
- In any label, allow only digits from one the sets (whether European, Arabic-Indic, or Extended-Arabic-Indic).
Variants
The variants defined in this LGR are limited to those required for use in zones not shared with any other script. However, because it does not share cross-script variants with other script LGRs, this LGR can be mixed easily with other LGRs in the same zone.
For details on the methodology used to assign in-script variants for letters, see “Methodology for Defining Variants” below.
Digit Variants: All Arabic digits are treated as semantic variants of the corresponding common (ASCII) digits. By transitivity, they are also semantic variants of any native digits in scripts that also include the common digits. Such variant relations are deemed to exist implicitly by transitivity but are not listed explicitly in each reference LGR. Instead, if needed, they are applied by using the Common LGR in label processing.
Because of the restriction on leading digits, most labels would contain a unique code point in addition to any digits, thus no variant labels would actually result from any pro-forma cross-script variants.
To keep digit variant sets manageable in zones where multiple scripts are present, no attempt has been made at identifying cross-script variants among digits of different numeric value or between a digit in one script and a letter in another, such as between digit zero and Latin letter ‘o’. Other mechanisms may be required to prevent homograph labels.
Variant Disposition: This LGR includes “blocked” and “allocatable” variants, assigned according to Section 4, “Final recommendation of variants for Top Level Domains (TLDs)” in [Proposal-Arabic]. These recommendations balance the desire to minimize the number of possible allocatable variants with the need to keep the definition of variants simple. See also the comments given in the listing.
For the second level, three additional variant types are added: “optionally-allocatable”, “activated”, and “optionally-activated”. They are used to improve user acceptance. The rationale for these new types is provided below.
Methodology for Defining Variants
In generating the variant tables, a number of concepts have been used:
One of the main principles for the stability of the Internet and IDNs is that the end user should be able to reach a website connected to his/her domain name regardless of location. Additionally, an end user reads and types website addresses based on his/her language alphabet and whatever is available in his/her keyboard. Therefore, in order to enforce this principle the input devices (language table) that the user may use to reach a domain name (based on the user location) should be carefully considered when defining variants. Otherwise, it may cause a reachability problem and reduce the user acceptance. For example, if someone registered the domain name “مكة” (all characters from the Arabic language) and a user try to reach the website connected to this domain name from an Internet café or airport, say, in Pakistan. He/she will not be able to reach that website unless if the variant “مکۃ” (Urdu variant) is already allocated and activated. Thus, variants need to be studied from both similarity point of view (by language community) and reachability point of view (based on input devices used by other language communities).
Consistency is a very important concept in generating variants. Regardless of the selected applied-for label the list of generated allocatable variants should be the same. As we are dealing with normal users at the SLD, their 1st choice (applied-for) label might not be the one that will be used by the internet community. Therefore, a registry should provide the registrant the ability to “correct” his/her choice if he/she was not successful with the first try. For example, the word “Internet” is written in most Arab countries in North Africa as (أنترنت) while it is written in other Arab countries as (إنترنت), while end users often write it as (انترنت). Therefore, if someone registered “أنترنت”, he/she should be able to enable “إنترنت” or “انترنت”. Additionally, many words have two correct ways to write them, for example, both “آدم” and “أدم” are widely used for the same name Adam. Hence, if someone registered “أدم” he/she should be able to enable “آدم” or “ادم”. This is achieved by making variants allocatable in at least one direction in the LGR.
Based on the principle expressed in the previous item, some code points are involved in at least one variant mapping of type “activated”, “optionally-activated”, or “optionally-allocatable. The dispositions related to these mappings may be optionally modified by a registry by editing the appropriate action elements. See the section on “Customizing Actions for International Reachability” for details of how this feature can be made mandatory or disabled.
The specification of variants in this LGR follows the guidelines in [RFC 8228].
Character Classes
This proposal defines the following named character classes:
- common-digits — ASCII digits: U+0030 to U+0039
- arabic-indic-digits — Arabic-Indic digits used with Arabic: U+0660 to U+0669
- extended arabic-indic-digits — Arabic-Indic digits used with other languages: U+06F0 to U+06F9
Whole Label Evaluation (WLE) and Context Rules
Common Rules
By default, the LGR includes the rules and actions to implement the following restrictions mandated by the IDNA protocol. They are marked with ⍟.
- Hyphen Restrictions — restrictions on the allowable placement of hyphens (no leading/ending hyphen and no hyphen in positions 3 and 4). These restrictions are described in Section 4.2.3.1 of RFC 5891 [150]. They are implemented here as context rule on U+002D (-) HYPHEN-MINUS.
- Leading Combining Marks — restrictions on the allowable placement of combining marks (no leading combining mark). This rule is described in Section 4.2.3.2 of RFC 5891 [150].
Right-to-Left Rules
- leading-digit — restrictions on the allowable placement of digits in a right-to-left context (no leading digit), (see section 2.1 of RFC 5893 [160]); implemented here as a context rule on each digit.
Repertoire
| Glyph | Code point | Tags and context | Variants |
|---|---|---|---|
| - | U+002D HYPHEN-MINUS 0 HYPHEN-MINUS; |
|
|
| 0 | U+0030 DIGIT ZERO 0 DIGIT ZERO; |
|
٠
U+0660
activated
Arabic digit variant
۰
U+06F0
activated
Extended digit variant
|
| 1 | U+0031 DIGIT ONE 0 DIGIT ONE; |
|
١
U+0661
activated
Arabic digit variant
۱
U+06F1
activated
Extended digit variant
|
| 2 | U+0032 DIGIT TWO 0 DIGIT TWO; |
|
٢
U+0662
activated
Arabic digit variant
۲
U+06F2
activated
Extended digit variant
|
| 3 | U+0033 DIGIT THREE 0 DIGIT THREE; |
|
٣
U+0663
activated
Arabic digit variant
۳
U+06F3
activated
Extended digit variant
|
| 4 | U+0034 DIGIT FOUR 0 DIGIT FOUR; |
|
٤
U+0664
activated
Arabic digit variant
۴
U+06F4
activated
Extended digit variant
|
| 5 | U+0035 DIGIT FIVE 0 DIGIT FIVE; |
|
٥
U+0665
activated
Arabic digit variant
۵
U+06F5
activated
Extended digit variant
|
| 6 | U+0036 DIGIT SIX 0 DIGIT SIX; |
|
٦
U+0666
activated
Arabic digit variant
۶
U+06F6
activated
Extended digit variant
|
| 7 | U+0037 DIGIT SEVEN 0 DIGIT SEVEN; |
|
٧
U+0667
activated
Arabic digit variant
۷
U+06F7
activated
Extended digit variant
|
| 8 | U+0038 DIGIT EIGHT 0 DIGIT EIGHT; |
|
٨
U+0668
activated
Arabic digit variant
۸
U+06F8
activated
Extended digit variant
|
| 9 | U+0039 DIGIT NINE 0 DIGIT NINE; |
|
٩
U+0669
activated
Arabic digit variant
۹
U+06F9
activated
Extended digit variant
|
| ؠ | U+0620 ARABIC LETTER KASHMIRI YEH 11 115 Kashmiri (4) |
|
|
| ء | U+0621 ARABIC LETTER HAMZA 0 100 Arabic (1) |
|
|
| آ | U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE 0 100 Arabic (1) |
|
أ
U+0623
optionally-allocatable
إ
U+0625
optionally-allocatable
ا
U+0627
allocatable
U+0622 ALEF WITH MADDA ABOVE is simplified to U+0627 ALEF in the Arabic language
ٲ
U+0672
blocked
|
| أ | U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE 0 100 Arabic (1) |
|
آ
U+0622
optionally-allocatable
إ
U+0625
optionally-allocatable
ا
U+0627
allocatable
U+0623 ALEF WITH HAMZA ABOVE is simplified to U+0627 ALEF in the Arabic language
ٲ
U+0672
blocked
|
| ؤ | U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE 0 100 Arabic (1) |
|
و
U+0648
allocatable
U+0624 WAV WITH HAMZA ABOVE is simplified to U+0648 WAV in the Arabic language
|
| إ | U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW 0 100 Arabic (1) |
|
آ
U+0622
optionally-allocatable
أ
U+0623
optionally-allocatable
ا
U+0627
allocatable
U+0625 ALEF WITH HAMZA BELOW is simplified to U+0627 ALEF in the Arabic language
ٲ
U+0672
blocked
|
| ئ | U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE 0 100 Arabic (1) |
|
ى
U+0649
blocked
ي
U+064A
blocked
ٻ
U+067B
blocked
ی
U+06CC
blocked
ۍ
U+06CD
blocked
ې
U+06D0
blocked
+1 more
|
| ا | U+0627 ARABIC LETTER ALEF 0 100 Arabic (1) |
|
آ
U+0622
optionally-allocatable
أ
U+0623
optionally-allocatable
إ
U+0625
optionally-allocatable
ٲ
U+0672
blocked
|
| ب | U+0628 ARABIC LETTER BEH 0 100 Arabic (1) |
|
|
| ة | U+0629 ARABIC LETTER TEH MARBUTA 0 100 Arabic (1) |
|
ه
U+0647
allocatable
In the Arabic language, U+0647 HEH may be substituted for U+0629 TEH MARBUTA. [RFC 6365]
ھ
U+06BE
blocked
ۀ
U+06C0
blocked
ہ
U+06C1
blocked
ۂ
U+06C2
blocked
ۃ
U+06C3
optionally-activated
+1 more
|
| ت | U+062A ARABIC LETTER TEH 0 100 Arabic (1) |
|
ٺ
U+067A
blocked
|
| ث | U+062B ARABIC LETTER THEH 0 100 Arabic (1) |
|
ٽ
U+067D
blocked
|
| ج | U+062C ARABIC LETTER JEEM 0 100 Arabic (1) |
|
|
| ح | U+062D ARABIC LETTER HAH 0 100 Arabic (1) |
|
|
| خ | U+062E ARABIC LETTER KHAH 0 100 Arabic (1) |
|
|
| د | U+062F ARABIC LETTER DAL 0 100 Arabic (1) |
|
|
| ذ | U+0630 ARABIC LETTER THAL 0 100 Arabic (1) |
|
|
| ر | U+0631 ARABIC LETTER REH 0 100 Arabic (1) |
|
|
| ز | U+0632 ARABIC LETTER ZAIN 0 100 Arabic (1) |
|
|
| س | U+0633 ARABIC LETTER SEEN 0 100 Arabic (1) |
|
|
| ش | U+0634 ARABIC LETTER SHEEN 0 100 Arabic (1) |
|
|
| ص | U+0635 ARABIC LETTER SAD 0 100 Arabic (1) |
|
|
| ض | U+0636 ARABIC LETTER DAD 0 100 Arabic (1) |
|
|
| ط | U+0637 ARABIC LETTER TAH 0 100 Arabic (1) |
|
|
| ظ | U+0638 ARABIC LETTER ZAH 0 100 Arabic (1) |
|
|
| ع | U+0639 ARABIC LETTER AIN 0 100 Arabic (1) |
|
|
| غ | U+063A ARABIC LETTER GHAIN 0 100 Arabic (1) |
|
|
| ف | U+0641 ARABIC LETTER FEH 0 100 Arabic (1) |
|
ق
U+0642
blocked
ڢ
U+06A2
allocatable
Used interchangeably in Africa for languages using Western (African) orthography
ڧ
U+06A7
blocked
|
| ق | U+0642 ARABIC LETTER QAF 0 100 Arabic (1) |
|
ف
U+0641
blocked
ڢ
U+06A2
blocked
ڧ
U+06A7
allocatable
Used interchangeably in Africa for languages using Western (African) orthography
|
| ك | U+0643 ARABIC LETTER KAF 0 100 Arabic (1) |
|
ک
U+06A9
optionally-activated
U+06AA
allocatable
|
| ل | U+0644 ARABIC LETTER LAM 0 100 Arabic (1) |
|
|
| م | U+0645 ARABIC LETTER MEEM 0 100 Arabic (1) |
|
|
| ن | U+0646 ARABIC LETTER NOON 0 100 Arabic (1) |
|
ں
U+06BA
allocatable
Used interchangeably in Africa for languages using Western (African) orthography
|
| ه | U+0647 ARABIC LETTER HEH 0 100 Arabic (1) |
|
ة
U+0629
blocked
ھ
U+06BE
optionally-activated
U+06C0
blocked
ہ
U+06C1
optionally-activated
U+06C2
blocked
ۃ
U+06C3
blocked
+1 more
|
| و | U+0648 ARABIC LETTER WAW 0 100 Arabic (1) |
|
ؤ
U+0624
blocked
|
| ى | U+0649 ARABIC LETTER ALEF MAKSURA 0 100 Arabic (1) |
|
ئ
U+0626
blocked
ي
U+064A
blocked
ٻ
U+067B
blocked
ی
U+06CC
optionally-activated
U+06CD
blocked
ې
U+06D0
blocked
+1 more
|
| ي | U+064A ARABIC LETTER YEH 0 100 Arabic (1) |
|
ئ
U+0626
blocked
ى
U+0649
blocked
ٻ
U+067B
blocked
ی
U+06CC
optionally-activated
U+06CD
blocked
ې
U+06D0
blocked
+1 more
|
| ٠ | U+0660 ARABIC-INDIC DIGIT ZERO 0 100 201 401 600 700 ARABIC-INDIC DIGIT ZERO; |
|
0
U+0030
activated
ASCII digit variant
۰
U+06F0
activated
Extended digit variant
|
| ١ | U+0661 ARABIC-INDIC DIGIT ONE 0 100 201 401 600 700 ARABIC-INDIC DIGIT ONE; |
|
1
U+0031
activated
ASCII digit variant
۱
U+06F1
activated
Extended digit variant
|
| ٢ | U+0662 ARABIC-INDIC DIGIT TWO 0 100 201 401 600 700 ARABIC-INDIC DIGIT TWO; |
|
2
U+0032
activated
ASCII digit variant
۲
U+06F2
activated
Extended digit variant
|
| ٣ | U+0663 ARABIC-INDIC DIGIT THREE 0 100 201 401 600 700 ARABIC-INDIC DIGIT THREE; |
|
3
U+0033
activated
ASCII digit variant
۳
U+06F3
activated
Extended digit variant
|
| ٤ | U+0664 ARABIC-INDIC DIGIT FOUR 0 100 201 401 600 700 ARABIC-INDIC DIGIT FOUR; |
|
4
U+0034
activated
ASCII digit variant
۴
U+06F4
activated
Extended digit variant
|
| ٥ | U+0665 ARABIC-INDIC DIGIT FIVE 0 100 201 401 600 700 ARABIC-INDIC DIGIT FIVE; |
|
5
U+0035
activated
ASCII digit variant
۵
U+06F5
activated
Extended digit variant
|
| ٦ | U+0666 ARABIC-INDIC DIGIT SIX 0 100 201 401 600 700 ARABIC-INDIC DIGIT SIX; |
|
6
U+0036
activated
ASCII digit variant
۶
U+06F6
activated
Extended digit variant
|
| ٧ | U+0667 ARABIC-INDIC DIGIT SEVEN 0 100 201 401 600 700 ARABIC-INDIC DIGIT SEVEN; |
|
7
U+0037
activated
ASCII digit variant
۷
U+06F7
activated
Extended digit variant
|
| ٨ | U+0668 ARABIC-INDIC DIGIT EIGHT 0 100 201 401 600 700 ARABIC-INDIC DIGIT EIGHT; |
|
8
U+0038
activated
ASCII digit variant
۸
U+06F8
activated
Extended digit variant
|
| ٩ | U+0669 ARABIC-INDIC DIGIT NINE 0 100 201 401 600 700 ARABIC-INDIC DIGIT NINE; |
|
9
U+0039
activated
ASCII digit variant
۹
U+06F9
activated
Extended digit variant
|
| ٲ | U+0672 ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE 0 102 Kashmiri (4) |
|
آ
U+0622
blocked
أ
U+0623
blocked
إ
U+0625
blocked
ا
U+0627
allocatable
U+0672 ALEF WITH WAVY HAMZA ABOVE is simplified to U+0627 ALEF in the Kashmiri language
|
| ٹ | U+0679 ARABIC LETTER TTEH 0 112 Urdu (1) |
|
ڻ
U+06BB
blocked
|
| ٺ | U+067A ARABIC LETTER TTEHEH 0 111 Sindhi (2) |
|
ت
U+062A
blocked
|
| ٻ | U+067B ARABIC LETTER BEEH 0 111 Sindhi (2) |
|
ئ
U+0626
blocked
ى
U+0649
blocked
ي
U+064A
blocked
ی
U+06CC
blocked
ۍ
U+06CD
blocked
ې
U+06D0
blocked
+1 more
|
| ټ | U+067C ARABIC LETTER TEH WITH RING 0 108 Pashto (1) |
|
|
| ٽ | U+067D ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS 0 111 Sindhi (2) |
|
ث
U+062B
blocked
|
| پ | U+067E ARABIC LETTER PEH 0 109 Persian (1) |
|
ڽ
U+06BD
blocked
ۑ
U+06D1
blocked
ݒ
U+0752
blocked
|
| ٿ | U+067F ARABIC LETTER TEHEH 0 111 Sindhi (2) |
|
|
| ڀ | U+0680 ARABIC LETTER BEHEH 0 111 Sindhi (2) |
|
|
| ځ | U+0681 ARABIC LETTER HAH WITH HAMZA ABOVE 0 108 138 Pashto (1) |
|
|
| ڃ | U+0683 ARABIC LETTER NYEH 0 111 Sindhi (2) |
|
ڄ
U+0684
blocked
|
| ڄ | U+0684 ARABIC LETTER DYEH 0 111 Sindhi (2) |
|
ڃ
U+0683
blocked
|
| څ | U+0685 ARABIC LETTER HAH WITH THREE DOTS ABOVE 0 108 138 Pashto (1) |
|
|
| چ | U+0686 ARABIC LETTER TCHEH 0 109 Persian (1) |
|
|
| ڇ | U+0687 ARABIC LETTER TCHEHEH 0 111 Sindhi (2) |
|
|
| ڈ | U+0688 ARABIC LETTER DDAL 0 112 Urdu (1) |
|
|
| ډ | U+0689 ARABIC LETTER DAL WITH RING 0 108 138 Pashto (1) |
|
|
| ڊ | U+068A ARABIC LETTER DAL WITH DOT BELOW 0 111 Sindhi (2) |
|
|
| ڋ | U+068B ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH 0 110 Saraiki (4) |
|
|
| ڌ | U+068C ARABIC LETTER DAHAL 0 111 Sindhi (2) |
|
|
| ڍ | U+068D ARABIC LETTER DDAHAL 0 111 Sindhi (2) |
|
|
| ڎ | U+068E ARABIC LETTER DUL 0 137 Malay (1) |
|
ڏ
U+068F
blocked
|
| ڏ | U+068F ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS 0 111 Sindhi (2) |
|
ڎ
U+068E
blocked
|
| ڑ | U+0691 ARABIC LETTER RREH 0 112 Urdu (1) |
|
|
| ړ | U+0693 ARABIC LETTER REH WITH RING 0 108 138 Pashto (1) |
|
|
| ڕ | U+0695 ARABIC LETTER REH WITH SMALL V BELOW 0 106 140 Kurdish (1) |
|
|
| ږ | U+0696 ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE 0 108 138 Pashto (1) |
|
|
| ڗ | U+0697 ARABIC LETTER REH WITH TWO DOTS ABOVE 0 119 146 ANT |
|
|
| ژ | U+0698 ARABIC LETTER JEH 0 112 Urdu (1) |
|
|
| ڙ | U+0699 ARABIC LETTER REH WITH FOUR DOTS ABOVE 0 111 143 Sindhi (2), Torwali (6b) |
|
|
| ښ | U+069A ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE 0 108 138 Pashto (1) |
|
|
| ڟ | U+069F ARABIC LETTER TAH WITH THREE DOTS ABOVE 0 121 123 130 Hausa (2), Ajami |
|
|
| ڠ | U+06A0 ARABIC LETTER AIN WITH THREE DOTS ABOVE 0 107 129 144 Malay (1) |
|
|
| ڢ | U+06A2 ARABIC LETTER FEH WITH DOT MOVED BELOW 0 101 130 131 132 Ajami, Fulfulde (3), Hausa (2) |
|
ف
U+0641
allocatable
ق
U+0642
blocked
ڧ
U+06A7
blocked
|
| ڤ | U+06A4 ARABIC LETTER VEH 0 106 107 127 140 Malay (1), Kurdish (1) |
|
ڨ
U+06A8
blocked
|
| ڦ | U+06A6 ARABIC LETTER PEHEH 0 111 Sindhi (2) |
|
|
| ڧ | U+06A7 ARABIC LETTER QAF WITH DOT ABOVE 0 101 130 131 132 Ajami, Fulfulde (3), Hausa (2) |
|
ف
U+0641
blocked
ق
U+0642
allocatable
ڢ
U+06A2
blocked
|
| ڨ | U+06A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE 0 124 Western Arabic |
|
ڤ
U+06A4
blocked
|
| ک | U+06A9 ARABIC LETTER KEHEH 0 112 Urdu (1) |
|
ك
U+0643
allocatable
ڪ
U+06AA
allocatable
|
| ڪ | U+06AA ARABIC LETTER SWASH KAF 0 111 Sindhi (2) |
|
ك
U+0643
allocatable
ک
U+06A9
allocatable
|
| ګ | U+06AB ARABIC LETTER KAF WITH RING 0 108 138 Pashto (1) |
|
ڭ
U+06AD
blocked
گ
U+06AF
blocked
U+06AB KAF WITH RING interchangeably used in Pashto with U+06AF GAF
ݣ
U+0763
blocked
|
| ڭ | U+06AD ARABIC LETTER NG 0 105 114 133 134 Kirghiz (1), Uyghur (2) |
|
ګ
U+06AB
blocked
گ
U+06AF
blocked
ݣ
U+0763
blocked
|
| ڮ | U+06AE ARABIC LETTER KAF WITH THREE DOTS BELOW 0 116 ANT |
|
|
| گ | U+06AF ARABIC LETTER GAF 0 109 Persian (1) |
|
ګ
U+06AB
blocked
ڭ
U+06AD
blocked
ݣ
U+0763
blocked
|
| ڰ | U+06B0 ARABIC LETTER GAF WITH RING 0 110 Saraiki (4) |
|
|
| ڱ | U+06B1 ARABIC LETTER NGOEH 0 111 Sindhi (2) |
|
|
| ڳ | U+06B3 ARABIC LETTER GUEH 0 111 Sindhi (2) |
|
|
| ڵ | U+06B5 ARABIC LETTER LAM WITH SMALL V 0 106 140 Kurdish (1) |
|
|
| ں | U+06BA ARABIC LETTER NOON GHUNNA 0 112 Urdu (1) |
|
ن
U+0646
allocatable
|
| ڻ | U+06BB ARABIC LETTER RNOON 0 111 Sindhi (2) |
|
ٹ
U+0679
blocked
|
| ڼ | U+06BC ARABIC LETTER NOON WITH RING 0 108 138 Pashto (1) |
|
|
| ڽ | U+06BD ARABIC LETTER NOON WITH THREE DOTS ABOVE 0 107 Malay (1) |
|
پ
U+067E
blocked
ۑ
U+06D1
blocked
ݒ
U+0752
blocked
|
| ھ | U+06BE ARABIC LETTER HEH DOACHASHMEE 0 112 Urdu (1) |
|
ة
U+0629
blocked
ه
U+0647
blocked
ۀ
U+06C0
blocked
ہ
U+06C1
blocked
ۂ
U+06C2
blocked
ۃ
U+06C3
blocked
+1 more
|
| ۀ | U+06C0 ARABIC LETTER HEH WITH YEH ABOVE 0 116 140 ANT, Kurdish (1) |
|
ة
U+0629
blocked
ه
U+0647
blocked
ھ
U+06BE
blocked
ہ
U+06C1
blocked
ۂ
U+06C2
blocked
ۃ
U+06C3
blocked
+1 more
|
| ہ | U+06C1 ARABIC LETTER HEH GOAL 0 112 Urdu (1) |
|
ة
U+0629
blocked
ه
U+0647
allocatable
ھ
U+06BE
blocked
ۀ
U+06C0
blocked
ۂ
U+06C2
blocked
ۃ
U+06C3
blocked
|
| ۂ | U+06C2 ARABIC LETTER HEH GOAL WITH HAMZA ABOVE 0 125 135 141 Urdu (1) |
|
ة
U+0629
blocked
ه
U+0647
blocked
ھ
U+06BE
blocked
ۀ
U+06C0
blocked
ہ
U+06C1
allocatable
U+06C2 HEH GOAL WITH HAMZA ABOVE is simplified to U+06C1 HEH GOAL in Urdu
ۃ
U+06C3
blocked
+1 more
|
| ۃ | U+06C3 ARABIC LETTER TEH MARBUTA GOAL 0 126 Urdu (1) |
|
ة
U+0629
allocatable
ه
U+0647
blocked
ھ
U+06BE
blocked
ۀ
U+06C0
blocked
ہ
U+06C1
blocked
ۂ
U+06C2
blocked
+1 more
|
| ۄ | U+06C4 ARABIC LETTER WAW WITH RING 0 102 Kashmiri (4) |
|
|
| ۆ | U+06C6 ARABIC LETTER OE 0 102 140 142 Kashmiri (4), Kurdish (1), Uyghur (2) |
|
|
| ۋ | U+06CB ARABIC LETTER VE 0 103 114 136 Kazakh (1), Kirghiz (1), Uyghur (2) |
|
|
| ی | U+06CC ARABIC LETTER FARSI YEH 0 112 Urdu (1) |
|
ئ
U+0626
blocked
ى
U+0649
blocked
ي
U+064A
allocatable
ٻ
U+067B
blocked
ۍ
U+06CD
blocked
ې
U+06D0
blocked
+1 more
|
| ۍ | U+06CD ARABIC LETTER YEH WITH TAIL 0 108 138 Pashto (1) |
|
ئ
U+0626
blocked
ى
U+0649
blocked
ي
U+064A
blocked
ٻ
U+067B
blocked
ی
U+06CC
blocked
ې
U+06D0
blocked
+1 more
|
| ێ | U+06CE ARABIC LETTER YEH WITH SMALL V 0 127 140 Kurdish (1) |
|
|
| ۏ | U+06CF ARABIC LETTER WAW WITH DOT ABOVE 3 107 Malay (1) |
|
|
| ې | U+06D0 ARABIC LETTER E 0 108 138 Pashto (1) |
|
ئ
U+0626
blocked
ى
U+0649
blocked
ي
U+064A
blocked
ٻ
U+067B
blocked
ی
U+06CC
blocked
ۍ
U+06CD
blocked
+1 more
|
| ۑ | U+06D1 ARABIC LETTER YEH WITH THREE DOTS BELOW 0 122 Bamana (4), Mandika (5) |
|
پ
U+067E
blocked
ڽ
U+06BD
blocked
ݒ
U+0752
blocked
|
| ے | U+06D2 ARABIC LETTER YEH BARREE 0 112 Urdu (1) |
|
ئ
U+0626
blocked
ى
U+0649
blocked
ي
U+064A
blocked
ٻ
U+067B
blocked
ی
U+06CC
blocked
ۍ
U+06CD
blocked
+1 more
|
| ە | U+06D5 ARABIC LETTER AE 0 106 114 140 Kurdish (1), Uyghur (2) |
|
ة
U+0629
blocked
ه
U+0647
blocked
ھ
U+06BE
blocked
ۀ
U+06C0
blocked
ہ
U+06C1
blocked
ۂ
U+06C2
blocked
+1 more
|
| ۰ | U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO 0 109 |
|
0
U+0030
activated
ASCII digit variant
٠
U+0660
activated
Arabic digit variant
|
| ۱ | U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE 0 109 |
|
1
U+0031
activated
ASCII digit variant
١
U+0661
activated
Arabic digit variant
|
| ۲ | U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO 0 109 |
|
2
U+0032
activated
ASCII digit variant
٢
U+0662
activated
Arabic digit variant
|
| ۳ | U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE 0 109 |
|
3
U+0033
activated
ASCII digit variant
٣
U+0663
activated
Arabic digit variant
|
| ۴ | U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR 0 109 |
|
4
U+0034
activated
ASCII digit variant
٤
U+0664
activated
Arabic digit variant
|
| ۵ | U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE 0 109 |
|
5
U+0035
activated
ASCII digit variant
٥
U+0665
activated
Arabic digit variant
|
| ۶ | U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX 0 109 |
|
6
U+0036
activated
ASCII digit variant
٦
U+0666
activated
Arabic digit variant
|
| ۷ | U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN 0 109 |
|
7
U+0037
activated
ASCII digit variant
٧
U+0667
activated
Arabic digit variant
|
| ۸ | U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT 0 109 |
|
8
U+0038
activated
ASCII digit variant
٨
U+0668
activated
Arabic digit variant
|
| ۹ | U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE 0 109 |
|
9
U+0039
activated
ASCII digit variant
٩
U+0669
activated
Arabic digit variant
|
| ݑ | U+0751 ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE 7 121 128 130 147 Hausa (2), Wolof (3) |
|
|
| ݒ | U+0752 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW 7 113 130 Ajami, Wolof (3) |
|
پ
U+067E
blocked
ڽ
U+06BD
blocked
ۑ
U+06D1
blocked
|
| ݖ | U+0756 ARABIC LETTER BEH WITH SMALL V 7 113 120 130 Ajami, Wolof (3) |
|
|
| ݠ | U+0760 ARABIC LETTER FEH WITH TWO DOTS BELOW 7 121 130 Ajami, Hausa (2) |
|
|
| ݢ | U+0762 ARABIC LETTER KEHEH WITH DOT ABOVE 7 118 129 Malay (1) |
|
|
| ݣ | U+0763 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE 7 118 Moroccan (3) |
|
ګ
U+06AB
blocked
ڭ
U+06AD
blocked
گ
U+06AF
blocked
|
| ݦ | U+0766 ARABIC LETTER MEEM WITH DOT BELOW 7 116 121 ANT |
|
|
| ݧ | U+0767 ARABIC LETTER NOON WITH TWO DOTS BELOW 7 113 120 Wolof (3) |
|
ࢩ
U+08A9
blocked
|
| ݨ | U+0768 ARABIC LETTER NOON WITH SMALL TAH 7 145 Saraiki (4) |
|
|
| ݪ | U+076A ARABIC LETTER LAM WITH BAR 7 113 116 120 ANT, Wolof (3) |
|
|
| ݮ | U+076E ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW 9 104 Khowar (3) |
|
|
| ݯ | U+076F ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS 9 104 Khowar (3) |
|
|
| ݰ | U+0770 ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS 9 104 Khowar (3) |
|
|
| ݱ | U+0771 ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS 9 104 Khowar (3) |
|
|
| ࢠ | U+08A0 ARABIC LETTER BEH WITH SMALL V BELOW 12 117 DPLN |
|
|
| ࢢ | U+08A2 ARABIC LETTER JEEM WITH TWO DOTS ABOVE 12 117 DPLN |
|
|
| ࢣ | U+08A3 ARABIC LETTER TAH WITH TWO DOTS ABOVE 12 113 117 DPLN, Wolof (3) |
|
|
| ࢤ | U+08A4 ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE 12 116 ANT |
|
|
| ࢥ | U+08A5 ARABIC LETTER QAF WITH DOT BELOW 12 116 ANT |
|
|
| ࢦ | U+08A6 ARABIC LETTER LAM WITH DOUBLE BAR 12 116 ANT |
|
|
| ࢧ | U+08A7 ARABIC LETTER MEEM WITH THREE DOTS ABOVE 12 116 ANT |
|
|
| ࢨ | U+08A8 ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE 12 121 Hausa (2) |
|
|
| ࢩ | U+08A9 ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE 12 121 Hausa (2) |
|
ݧ
U+0767
blocked
|
Variants
Code points grouped into sets of mutual variants. Every member of a set produces the same set of variant labels, so a registration of one has implications for all the others. Sets of a single member are omitted, as are the identity mappings RFC 7940 requires each member to declare.
-
ئىيٻیۍېے
Source Direction Target Disposition Ref Comment ئ U+0626 ↔ ى U+0649 blocked ئ U+0626 ↔ ي U+064A blocked ئ U+0626 ↔ ٻ U+067B blocked ئ U+0626 ↔ ی U+06CC blocked ئ U+0626 ↔ ۍ U+06CD blocked ئ U+0626 ↔ ې U+06D0 blocked ئ U+0626 ↔ ے U+06D2 blocked ى U+0649 ↔ ي U+064A blocked ى U+0649 ↔ ٻ U+067B blocked ى U+0649 ⇆ ی U+06CC → optionally-activated ← blocked
The two are visually identical and the same label could be typed using one or the other based on the set language settings and keyboard layout of a userى U+0649 ↔ ۍ U+06CD blocked ى U+0649 ↔ ې U+06D0 blocked ↔ declared both ways ⇆ both ways, different disposition each way → one direction only
-
ةهھۀہۂۃە
Source Direction Target Disposition Ref Comment ة U+0629 ⇆ ه U+0647 → allocatable ← blocked In the Arabic language, U+0647 HEH may be substituted for U+0629 TEH MARBUTA. [RFC 6365] ة U+0629 ↔ ھ U+06BE blocked ة U+0629 ↔ ۀ U+06C0 blocked ة U+0629 ↔ ہ U+06C1 blocked ة U+0629 ↔ ۂ U+06C2 blocked ة U+0629 ⇆ ۃ U+06C3 → optionally-activated ← allocatable
The two are visually identical and the same label could be typed using one or the other based on the set language settings and keyboard layout of a user. Labels in the Arabic language using U+0629 TEH MARBUTA in the final and isolated positions will be typed in other languages using U+06C3 TEH MARBUTA GOAL (Urdu, etc.) which is identical in isolated and has a variant glyph or identical glyph form in final positionة U+0629 ↔ ە U+06D5 blocked ه U+0647 ⇆ ھ U+06BE → optionally-activated ← blocked
Labels in the Arabic language using U+0647 HEH in the initial and medial positions will be visually similar in Urdu language to U+06BE LETTER HEH DOACHASHMEEه U+0647 ↔ ۀ U+06C0 blocked ه U+0647 ⇆ ہ U+06C1 → optionally-activated ← allocatable
Labels in the Arabic language using U+0647 HEH in the final and isolated positions will be typed in other languages using U+06C1 HEH GOAL (Urdu, Pashto, Saraiki, etc.) which is identical in isolated and has a variant glyph or identical glyph form in final positionه U+0647 ↔ ۂ U+06C2 blocked ه U+0647 ↔ ۃ U+06C3 blocked ↔ declared both ways ⇆ both ways, different disposition each way → one direction only
-
آأإاٲ
Source Direction Target Disposition Ref Comment آ U+0622 ↔ أ U+0623 optionally-allocatable آ U+0622 ↔ إ U+0625 optionally-allocatable آ U+0622 ⇆ ا U+0627 → allocatable ← optionally-allocatable U+0622 ALEF WITH MADDA ABOVE is simplified to U+0627 ALEF in the Arabic language آ U+0622 ↔ ٲ U+0672 blocked أ U+0623 ↔ إ U+0625 optionally-allocatable أ U+0623 ⇆ ا U+0627 → allocatable ← optionally-allocatable U+0623 ALEF WITH HAMZA ABOVE is simplified to U+0627 ALEF in the Arabic language أ U+0623 ↔ ٲ U+0672 blocked إ U+0625 ⇆ ا U+0627 → allocatable ← optionally-allocatable U+0625 ALEF WITH HAMZA BELOW is simplified to U+0627 ALEF in the Arabic language إ U+0625 ↔ ٲ U+0672 blocked ا U+0627 ⇆ ٲ U+0672 → blocked ← allocatable U+0672 ALEF WITH WAVY HAMZA ABOVE is simplified to U+0627 ALEF in the Kashmiri language ↔ declared both ways ⇆ both ways, different disposition each way → one direction only
-
فقڢڧ
Source Direction Target Disposition Ref Comment ف U+0641 ↔ ق U+0642 blocked ف U+0641 ↔ ڢ U+06A2 allocatable Used interchangeably in Africa for languages using Western (African) orthography ف U+0641 ↔ ڧ U+06A7 blocked ق U+0642 ↔ ڢ U+06A2 blocked ق U+0642 ↔ ڧ U+06A7 allocatable Used interchangeably in Africa for languages using Western (African) orthography ڢ U+06A2 ↔ ڧ U+06A7 blocked ↔ declared both ways ⇆ both ways, different disposition each way → one direction only
-
پڽۑݒ
Source Direction Target Disposition Ref Comment پ U+067E ↔ ڽ U+06BD blocked پ U+067E ↔ ۑ U+06D1 blocked پ U+067E ↔ ݒ U+0752 blocked ڽ U+06BD ↔ ۑ U+06D1 blocked ڽ U+06BD ↔ ݒ U+0752 blocked ۑ U+06D1 ↔ ݒ U+0752 blocked ↔ declared both ways ⇆ both ways, different disposition each way → one direction only
-
ګڭگݣ
Source Direction Target Disposition Ref Comment ګ U+06AB ↔ ڭ U+06AD blocked ګ U+06AB ↔ گ U+06AF blocked U+06AB KAF WITH RING interchangeably used in Pashto with U+06AF GAF ګ U+06AB ↔ ݣ U+0763 blocked ڭ U+06AD ↔ گ U+06AF blocked ڭ U+06AD ↔ ݣ U+0763 blocked گ U+06AF ↔ ݣ U+0763 blocked
Iraqi Arabic uses U+06AF GAF, whereas Moroccan Arabic uses U+0763 KEHEH WITH THREE DOTS ABOVE↔ declared both ways ⇆ both ways, different disposition each way → one direction only
-
كکڪ
Source Direction Target Disposition Ref Comment ك U+0643 ⇆ ک U+06A9 → optionally-activated ← allocatable
The two have identical shapes in initial and medial positions and are used by different language communities to refer to the same letterك U+0643 ↔ ڪ U+06AA allocatable
The two have similar (interchangeable) shapes in initial and medial positions and are used by different language communities to refer to the same letterک U+06A9 ↔ ڪ U+06AA allocatable
The two have similar (interchangeable) shapes in initial and medial positions and are used by different language communities to refer to the same letter↔ declared both ways ⇆ both ways, different disposition each way → one direction only
Character classes
Named sets of code points that the rules below refer to.
| Name | Definition |
|---|---|
right-joining |
{jt:R}
|
dual-joining |
{jt:D}
|
joins-to-the-right |
({right-joining} ∪ {dual-joining})
|
group1 |
[U+0629 U+0643 U+0649]
Letters mostly used in the Arabic language
|
group2 |
[06A9-06AA U+06BE 06C1-06C3 U+06CC]
Letters not commonly used in the Arabic language
|
common-digits |
{tag Common-digit}
Digits from the ASCII range MSR default
|
arabic-indic-digits |
{tag Arabic-indic-digit}
Arabic-Indic digits; MSR default
|
extended-arabic-indic-digits |
{tag Extended-arabic-indic-digit}
Extended Arabic-Indic digits
|
Rules
Conditions evaluated against a whole label, or against the context around a
single code point. The notation borrows from regular expressions:
^ and $ anchor to the start and end of a label,
. matches any code point, (?= ) and
(?<= ) look ahead and behind, and * and
+ repeat. Two symbols are specific to rulesets:
◆ is the code point being tested, and
⟨name⟩ refers to another rule.
leading-combining-mark MSR default 150
RFC 5891 restrictions on placement of combining marks
^ ({gc:Mn} ∪ {gc:Mc})
Structure
-
^start -
({gc:Mn} ∪ {gc:Mc})union-
{gc:Mn}class -
{gc:Mc}class
-
Referenced by 1 definition
- action 3 (invalid)
hyphen-minus-disallowed MSR default 150
RFC 5891 restrictions on placement of U+002D HYPHEN-MINUS
( ( (?<= ^ ) ◆ ) │ ( ◆ (?= $ ) ) │ ( (?<= ^ . . U+002D ) ◆ ) )
Structure
-
( ( (?<= ^ ) ◆ ) │ ( ◆ (?= $ ) ) │ ( (?<= ^ . . U+002D ) ◆ ) )choice-
(?<= ^ ) ◆rule-
(?<= ^ )look-behind-
^start
-
-
◆anchor
-
-
◆ (?= $ )rule-
◆anchor -
(?= $ )look-ahead-
$end
-
-
-
(?<= ^ . . U+002D ) ◆rule-
(?<= ^ . . U+002D )look-behind-
^start -
.any -
.any -
U+002Dchar
-
-
◆anchor
-
-
Referenced by 1 definition
- negative context of U+002D
language-mixing-restriction
a label/variant should avoid mixing languages
( ( {group1} .* {group2} ) │ ( {group2} .* {group1} ) )
Structure
-
( ( {group1} .* {group2} ) │ ( {group2} .* {group1} ) )choice-
{group1} .* {group2}rule-
{group1}class -
.*any -
{group2}class
-
-
{group2} .* {group1}rule-
{group2}class -
.*any -
{group1}class
-
-
Referenced by 1 definition
- action 1 (invalid)
leading-digit MSR default 160
RFC 5893 RTL labels cannot start with a digit
(?<= ^ ) ◆
Structure
-
(?<= ^ )look-behind-
^start
-
-
◆anchor
Referenced by 30 definitions
- negative context of U+0030
- negative context of U+0031
- negative context of U+0032
- negative context of U+0033
- negative context of U+0034
- negative context of U+0035
- negative context of U+0036
- negative context of U+0037
- negative context of U+0038
- negative context of U+0039
- negative context of U+0660
- negative context of U+0661
digit-mixing 160
RFC 5892 and RFC 5893 restrictions on mixing digits; extended to all three sets
( ( {common-digits} .* ( {arabic-indic-digits} │ {extended-arabic-indic-digits} ) ) │ ( {arabic-indic-digits} .* ( {common-digits} │ {extended-arabic-indic-digits} ) ) │ ( {extended-arabic-indic-digits} .* ( {common-digits} │ {arabic-indic-digits} ) ) )
Structure
-
( ( {common-digits} .* ( {arabic-indic-digits} │ {extended-arabic-indic-digits} ) ) │ ( {arabic-indic-digits} .* ( {common-digits} │ {extended-arabic-indic-digits} ) ) │ ( {extended-arabic-indic-digits} .* ( {common-digits} │ {arabic-indic-digits} ) ) )choice-
{common-digits} .* ( {arabic-indic-digits} │ {extended-arabic-indic-digits} )rule-
{common-digits}class -
.*any -
( {arabic-indic-digits} │ {extended-arabic-indic-digits} )choice-
{arabic-indic-digits}class -
{extended-arabic-indic-digits}class
-
-
-
{arabic-indic-digits} .* ( {common-digits} │ {extended-arabic-indic-digits} )rule-
{arabic-indic-digits}class -
.*any -
( {common-digits} │ {extended-arabic-indic-digits} )choice-
{common-digits}class -
{extended-arabic-indic-digits}class
-
-
-
{extended-arabic-indic-digits} .* ( {common-digits} │ {arabic-indic-digits} )rule-
{extended-arabic-indic-digits}class -
.*any -
( {common-digits} │ {arabic-indic-digits} )choice-
{common-digits}class -
{arabic-indic-digits}class
-
-
-
Referenced by 1 definition
- action 2 (invalid)
initial-or-medial-position
U+0649 ALEF MAKSURA must not be in initial or medial position
◆ (?= {joins-to-the-right} )
Structure
-
◆anchor -
(?= {joins-to-the-right} )look-ahead-
{joins-to-the-right}class
-
Referenced by 1 definition
- negative context of U+0649
no-mix-heh-goal 100
WLE Rule 4: do not mix Arabic letters HEH and HEH GOAL in the same label
( ( U+0647 .* U+06C1 ) │ ( U+06C1 .* U+0647 ) )
Structure
-
( ( U+0647 .* U+06C1 ) │ ( U+06C1 .* U+0647 ) )choice-
U+0647 .* U+06C1rule-
U+0647char -
.*any -
U+06C1char
-
-
U+06C1 .* U+0647rule-
U+06C1char -
.*any -
U+0647char
-
-
Referenced by 1 definition
- action 5 (invalid)
no-mix-heh-goal-ae 100
WLE Rule 5: do not mix Arabic letters HEH GOAL and AE in the same label
( ( U+06C1 .* U+06D5 ) │ ( U+06D5 .* U+06C1 ) )
Structure
-
( ( U+06C1 .* U+06D5 ) │ ( U+06D5 .* U+06C1 ) )choice-
U+06C1 .* U+06D5rule-
U+06C1char -
.*any -
U+06D5char
-
-
U+06D5 .* U+06C1rule-
U+06D5char -
.*any -
U+06C1char
-
-
Referenced by 1 definition
- action 6 (invalid)
no-mix-heh-ae 100
WLE Rule 6: do not mix Arabic letters HEH and AE in the same label
( ( U+0647 .* U+06D5 ) │ ( U+06D5 .* U+0647 ) )
Structure
-
( ( U+0647 .* U+06D5 ) │ ( U+06D5 .* U+0647 ) )choice-
U+0647 .* U+06D5rule-
U+0647char -
.*any -
U+06D5char
-
-
U+06D5 .* U+0647rule-
U+06D5char -
.*any -
U+0647char
-
-
Referenced by 1 definition
- action 7 (invalid)
no-mix-heh-doachashmee 100
WLE Rule 7: do not mix Arabic letters HEH and HEH DOACHASHMEE in the same label
( ( U+0647 .* U+06BE ) │ ( U+06BE .* U+0647 ) )
Structure
-
( ( U+0647 .* U+06BE ) │ ( U+06BE .* U+0647 ) )choice-
U+0647 .* U+06BErule-
U+0647char -
.*any -
U+06BEchar
-
-
U+06BE .* U+0647rule-
U+06BEchar -
.*any -
U+0647char
-
-
Referenced by 1 definition
- action 8 (invalid)
no-mix-noon-with-three-dots-above-yeh-with-three-dots-below 100
WLE Rule 9: do not mix Arabic letters NOON WITH THREE DOTS ABOVE and YEH WITH THREE DOTS BELOW in the same label
( ( U+06BD .* U+06D1 ) │ ( U+06D1 .* U+06BD ) )
Structure
-
( ( U+06BD .* U+06D1 ) │ ( U+06D1 .* U+06BD ) )choice-
U+06BD .* U+06D1rule-
U+06BDchar -
.*any -
U+06D1char
-
-
U+06D1 .* U+06BDrule-
U+06D1char -
.*any -
U+06BDchar
-
-
Referenced by 1 definition
- action 9 (invalid)
no-mix-peh-noon-with-three-dots-above 100
WLE Rule 10: do not mix Arabic letters PEH and NOON WITH THREE DOTS ABOVE in the same label
( ( U+067E .* U+06BD ) │ ( U+06BD .* U+067E ) )
Structure
-
( ( U+067E .* U+06BD ) │ ( U+06BD .* U+067E ) )choice-
U+067E .* U+06BDrule-
U+067Echar -
.*any -
U+06BDchar
-
-
U+06BD .* U+067Erule-
U+06BDchar -
.*any -
U+067Echar
-
-
Referenced by 1 definition
- action 10 (invalid)
no-mix-feh-with-dot-moved-below 100
WLE 11:do not mix Arabic letters FEH and FEH WITH DOT MOVED BELOW in the same label
( ( U+0641 .* U+06A2 ) │ ( U+06A2 .* U+0641 ) )
Structure
-
( ( U+0641 .* U+06A2 ) │ ( U+06A2 .* U+0641 ) )choice-
U+0641 .* U+06A2rule-
U+0641char -
.*any -
U+06A2char
-
-
U+06A2 .* U+0641rule-
U+06A2char -
.*any -
U+0641char
-
-
Referenced by 1 definition
- action 11 (invalid)
no-mix-qaf-with-dot-above 100
WLE Rule 12: do not mix Arabic letters QAF and QAF WITH DOT ABOVE in the same label
( ( U+0642 .* U+06A7 ) │ ( U+06A7 .* U+0642 ) )
Structure
-
( ( U+0642 .* U+06A7 ) │ ( U+06A7 .* U+0642 ) )choice-
U+0642 .* U+06A7rule-
U+0642char -
.*any -
U+06A7char
-
-
U+06A7 .* U+0642rule-
U+06A7char -
.*any -
U+0642char
-
-
Referenced by 1 definition
- action 12 (invalid)
no-mix-feh-qaf-with-dot-above 100
WLE Rule 13: do not mix Arabic letters FEH and QAF WITH DOT ABOVE in the same label
( ( U+0641 .* U+06A7 ) │ ( U+06A7 .* U+0641 ) )
Structure
-
( ( U+0641 .* U+06A7 ) │ ( U+06A7 .* U+0641 ) )choice-
U+0641 .* U+06A7rule-
U+0641char -
.*any -
U+06A7char
-
-
U+06A7 .* U+0641rule-
U+06A7char -
.*any -
U+0641char
-
-
Referenced by 1 definition
- action 13 (invalid)
no-mix-kaf-with-ring-gaf 100
WLE Rule 14: do not mix Arabic letters KAF WITH RING and GAF in the same label
( ( U+06AB .* U+06AF ) │ ( U+06AF .* U+06AB ) )
Structure
-
( ( U+06AB .* U+06AF ) │ ( U+06AF .* U+06AB ) )choice-
U+06AB .* U+06AFrule-
U+06ABchar -
.*any -
U+06AFchar
-
-
U+06AF .* U+06ABrule-
U+06AFchar -
.*any -
U+06ABchar
-
-
Referenced by 1 definition
- action 14 (invalid)
no-mix-kaf-with-ring-keheh-with-three-dots-above 100
WLE Rule 15: do not mix Arabic letters KAF WITH RING and KEHEH WITH THREE DOTS ABOVE
( ( U+06AB .* U+0763 ) │ ( U+0763 .* U+06AB ) )
Structure
-
( ( U+06AB .* U+0763 ) │ ( U+0763 .* U+06AB ) )choice-
U+06AB .* U+0763rule-
U+06ABchar -
.*any -
U+0763char
-
-
U+0763 .* U+06ABrule-
U+0763char -
.*any -
U+06ABchar
-
-
Referenced by 1 definition
- action 15 (invalid)
no-mix-gaf-keheh-with-three-dots-above 100
WLE Rule 16: do not mix Arabic letters GAF and KEHEH WITH THREE DOTS ABOVE in the same label
( ( U+06AF .* U+0763 ) │ ( U+0763 .* U+06AF ) )
Structure
-
( ( U+06AF .* U+0763 ) │ ( U+0763 .* U+06AF ) )choice-
U+06AF .* U+0763rule-
U+06AFchar -
.*any -
U+0763char
-
-
U+0763 .* U+06AFrule-
U+0763char -
.*any -
U+06AFchar
-
-
Referenced by 1 definition
- action 16 (invalid)
Actions
Actions are evaluated in the order shown. The first action whose conditions match determines the disposition of the label.
| # | Disposition | Conditions |
|---|---|---|
| 1 |
invalid
|
label matches language-mixing-restriction all labels (including variants) must avoid unnecessary language mixing |
| 2 |
invalid
|
label matches digit-mixing 160 a label matching the RFC 5892 and RFC 5893 restriction on digit mixing is invalid |
| 3 |
invalid
|
label matches leading-combining-mark 150 labels with leading combining marks are invalid MSR default |
| 4 |
invalid
|
any variant is out-of-repertoire-var any variant label with a code point out of repertoire is invalid MSR default |
| 5 |
invalid
|
label matches no-mix-heh-goal do not mix Arabic letters HEH and HEH GOAL in the same label |
| 6 |
invalid
|
label matches no-mix-heh-goal-ae do not mix Arabic letters HEH GOAL and AE in the same label |
| 7 |
invalid
|
label matches no-mix-heh-ae do not mix Arabic letters HEH and AE in the same label |
| 8 |
invalid
|
label matches no-mix-heh-doachashmee do not mix Arabic letters HEH and HEH DOACHASHMEE in the same label |
| 9 |
invalid
|
label matches no-mix-noon-with-three-dots-above-yeh-with-three-dots-below do not mix Arabic letters NOON WITH THREE DOTS ABOVE and YEH WITH THREE DOTS BELOW in the same label |
| 10 |
invalid
|
label matches no-mix-peh-noon-with-three-dots-above do not mix Arabic letters PEH and NOON WITH THREE DOTS ABOVE in the same label |
| 11 |
invalid
|
label matches no-mix-feh-with-dot-moved-below do not mix Arabic letters FEH and FEH WITH DOT MOVED BELOW in the same label |
| 12 |
invalid
|
label matches no-mix-qaf-with-dot-above do not mix Arabic letters QAF and QAF WITH DOT ABOVE in the same label |
| 13 |
invalid
|
label matches no-mix-feh-qaf-with-dot-above do not mix Arabic letters FEH and QAF WITH DOT ABOVE in the same label |
| 14 |
invalid
|
label matches no-mix-kaf-with-ring-gaf do not mix Arabic letters KAF WITH RING and GAF in the same label |
| 15 |
invalid
|
label matches no-mix-kaf-with-ring-keheh-with-three-dots-above do not mix Arabic letters KAF WITH RING and KEHEH WITH THREE DOTS ABOVE |
| 16 |
invalid
|
label matches no-mix-gaf-keheh-with-three-dots-above do not mix Arabic letters GAF and KEHEH WITH THREE DOTS ABOVE in the same label |
| 17 |
blocked
|
any variant is blocked any variant label containing blocked variants is blocked MSR default |
| 18 |
blocked
|
any variant is optionally-allocatable optional allocation for certain within-repertoire variants; to make allocation possible, change (blocked) to (allocatable) |
| 19 |
allocatable
|
any variant is optionally-activated optional delegation for certain cross-repertoire variants; to make delegation mandatory, change (allocatable) to (activated) |
| 20 |
activated
|
any variant is activated variant labels containing activated variants are activated |
| 21 |
allocatable
|
all variants are allocatable variant labels with all variants allocatable are allocatable MSR default |
| 22 |
valid
|
any label default catch all (default action) MSR default |

The two are visually identical and the same label could be typed using one or the other based on the set language settings and keyboard layout of a user. Labels in the Arabic language using U+0629 TEH MARBUTA in the final and isolated positions will be typed in other languages using U+06C3 TEH MARBUTA GOAL (Urdu, etc.) which is identical in isolated and has a variant glyph or identical glyph form in final position