This file contains Label Generation Rules (LGR) for the Devanagari script for the Root zone. For more details on this LGR and its development, see "Proposal for a Devanagari Script Root Zone Label Generation Rule-Set (LGR)"; [Proposal]. The format of this file follows [RFC 7940].
The Root Zone LGR for the Devanagari script lists 83 unique code points in addition to 27 sequences, bringing the total repertoire entries to 110. The two sequences U+0931 U+094D U+092F (ऱ्य) and U+0931 U+094D U+0939 (ऱ्ह) limit the character U+0931 ( ऱ ) DEVANAGARI LETTER RRA in its own specific context beyond which it does not stand by itself. Accordingly, while U+0931 (ऱ) is not listed by itself, it brings the total of distinct code points to 84.
A number of other sequences have been defined in connection with the definition of variants (see "Variants" below).
The repertoire includes code points used by languages written in Devanagari that fall within levels 1 to 4 on the [EGIDS] scale. Boro, Braj, Dhundari, Mundari, Kharia are additionally covered. Though listed as level 4 on the EGIDS scale, Saraiki is not covered, because the Devanagari script is "no longer in use" by the Saraiki community. A non-exhaustive list of languages using each code point can be found in the comments. For more details, see Section 5 "Repertoire" in [Proposal]).
The repertoire is based on [MSR-4], which is a subset of [Unicode 6.3].
Code points outside the Devanagari script that are listed in this file are targets for out-of-script variants and are identified by a reflexive (identity) variant of type "out-of-repertoire-var". They do not form part of the repertoire.
Each code point is tagged with the script or scripts that the code point is used with, a category value, and one or more references documenting sufficient justification for inclusion in the repertoire, see "References" below. For code points that are part of the repertoire, comments identify the languages using the code point.
According to Section 6, "Variants", in [Proposal], this LGR defines variants which are "Confusing due to deviation from normally perceived character formations by the larger linguistic community" These cases are not of mere visual similarity as they involve some deviations from the widely accepted norms of Devanagari Akshar formations. They can cause confusion even to a careful observer and hence have been defined as variants. They fall into three broad categories:
In addition to these, cross-script variant analysis of Devanagari identified cross-script variants with the Gurmukhi and Bengali scripts. The analysis additionally found possible cross-script confusables that do not rise to the status of variants. They are listed in Appendix 1 of the [Proposal].
Variant Disposition: All variants are of type "blocked"; labels that differ only by these variants are mutually exclusive: whichever label containing either of these variants is chosen earlier would be delegated, while any other equivalent label should be blocked.
This LGR does not define allocatable variants.
Context Rules for Variants: some of the variants defined in this LGR are "effective null variants", that is, some code points in the source map to "nothing" in the target with all other code points unchanged. (Because mappings are symmetric, it does not matter whether it is the forward or reverse mapping that maps to "null"). Such variants require a context rule to keep the variant set well behaved. Symmetry requires the same context rule for both forward and reverse mappings.
In other cases, the sequences or code points making up source and target are constrained by explicit context rules on the code points (or by implicit context rules defined for the adjacent code points). In such a case, any variants may require context rules that match the intersection between the effective contexts for both source and target; otherwise, a sequence might be considered valid in some variant label when it would not be valid in an equivalent context in an original label.
The specification of variants in the Root Zone LGR follows the guidelines in [RFC 8228].
Devanagari is an alphasyllabary and the heart of the writing system is the akshar. This is the unit which is instinctively recognized by users of the script. The writing system of Devanagari could be summed up as composed of Consonants, Halant, Vowels, Anusvara, Candrabindu, Nukta and Visarga.
Consonants: Devanagari consonants all contain an implicit schwa /ə/. To make a full syllable, consonants may be followed by certain code points from one or more of the other groups (see "WLE rules" below). See Section 3.3.1, "The Consonants" of the [Proposal].
Halant: All consonants contain an implicit vowel (schwa). A special sign is needed to denote that this implicit vowel is stripped off. This sign is the Halant, encoded as U+094D ( ् ) DEVANAGARI SIGN VIRAMA. The Halant thus joins two consonants and creates conjuncts, which can be generally from 2 to 4 consonant combinations. In rare cases, it can join up to 5 consonants. However, this LGR will not enforce any length limit. See section 3.3.2, "The Implicit Vowel Killer: Halant" in [Proposal].
Vowels and Matras: There are separate code points for vowels that are pronounced independently at the beginning of a syllable or after a vowel sound. To indicate a Vowel sound following a consonant other than the implicit shwa sound, a vowel sign (matra) is attached to the consonant. There is an equivalent matra for each vowel excepting U+0905 ( अ ) DEVANAGARI VOWEL A. See Section 3.3.3, "Vowels" of the [Proposal]./p>
Anusvara: The Anusvara shows a nasal at the end of a syllable. See Section 3.3.4, "The Anusvara" of the [Proposal].
Candrabindu: A Candrabindu denotes nasalization of the preceding vowel. Present-day Hindi users tend to replace the Candrabindu by the Anusvara. See Section 3.3.5, "Nasalization: Candrabindu" of the [Proposal].
Nukta: The nukta sign is placed below a certain number of consonants to represent sounds found only in words borrowed from Perso-Arabic, English and other non-Aryan sources. It is also placed under the consonants U+0921 ( ड ) and U+0922 ( ढ ) to indicate flapped sounds. Apart from this, the Santali language uses Nukta adjoined to certain vowels and vowel signs. See Section 3.3.6, "Nukta" of the [Proposal].
Visarga: U+0903 ( ः ) DEVANAGARI SIGN VISARGA, representing an aspiration at the end of a syllable, is frequently used in Sanskrit. See Section 3.3.7, "Visarga and Avagraha" of the [Proposal].
The LGR includes the set of required default WLE rules and actions applicable to the Root Zone and defined in [MSR-4]. They are marked with ⍟. The default prohibition on leading combining marks is equivalent to ensuring that a label only starts with a consonant or vowel.
These rules ensure that the Devanagari label conforms to akshar formation norms for the Devanagari script. These norms are exclusively presented as context rules.
The following symbols are used in the names and comments for WLE rules:
The rules are:
Additional rules are used only for variants where a Nukta maps to a "null", or that are overlapped:
See Section 7, "Whole Label Evaluation Rules (WLE)" of the [Proposal].
The LGR for the Devanagari script was developed by the Neo-Brahmi Generation Panel (NBGP) the members of which have experience in linguistics and computational linguistics in a wide variety of languages written with Neo-Brahmi scripts. Under the Neo-Brahmi Generation Panel, there are nine scripts belonging to separate Unicode blocks. Each of these scripts has been assigned a separate LGR, with the Neo-Brahmi GP ensuring that the fundamental philosophy behind building each LGR is in sync with all other Brahmi derived scripts. For further details on methodology and contributors, see Sections 4 and 8 of [Proposal].
References [0] to [11] refer to the Unicode Standard versions in which corresponding code points were initially encoded. Reference [100] and up correspond to sources given in [Proposal] for justifying the inclusion of for the corresponding code points. Single code point or ranges may have multiple source reference values.
In addition, the following general references are cited in this document:
For more details for references [100] and up and [0] and up refer to the Table of References below.
]]>