<?xml version="1.0" encoding="utf-8"?>
<lgr xmlns="urn:ietf:params:xml:ns:lgr-1.0">
  <meta>
    <version comment="Proposal for Gujarati LGR">3.0</version>
    <date>2019-03-06</date>
    <language>und-Gujr</language>
    <scope type="domain">.</scope>
    <unicode-version>6.3.0</unicode-version>
    <description type="text/html"><![CDATA[
    <h1>Label Generation Rules for Gujarati script</h1>
    
    <h2>Overview</h2>
    <p>This file contains Label Generation Rules (LGR) for the Gujarati script as would be appropriate for the 
    Root zone. For more details on this proposal see "Proposal for a
    Gujarati Script Label Generation Ruleset for the Root Zone" [Proposal]. 
    The format of this file follows [RFC 7940].</p>
    
    <h2>Repertoire</h2>
    <p>According to Section 5, "Repertoire" in [Proposal], the Gujarati LGR contains 65 unique code points.</p>
        
    <p>The repertoire is based on [MSR-4], which is a subset of Unicode 6.3 [Unicode 6.3].</p>
    
    <p>Each code-point shows the associated Character, Character Name, Script, Indic Syllabic Category and Reference.</p>
      
    <h2>Variants</h2>
    <p>According to Section 6 "Variants", in "[Proposal]", there are no characters/character sequences 
    in Gujarati, which can be created by using the characters permitted as per [MSR-4] and look 
    exactly alike. Hence no variants are being proposed.</p>

    <p>However, Gujarati has some cases of confusingly similar combinations which have been listed 
    in Appendix A in the [Proposal]. </p>
    <h2>Character Classes</h2>
    <p>Gujarati is an alphasyllabary and the heart of the writing system is 
    the Akshar. It is this unit, which is instinctively recognized by users of the script.
    The writing system of Gujarati could be summed up as composed of Consonants, 
    the Implicit Vowel Killer: Halant, Vowels, Anusvara, Candrabindu, Nukta, Visarga
    and Avagraha.</p>
    
    <p>Consonants: Gujarati consonants have an implicit schwa /ə/ included in them. As 
    per traditional classification they are categorized according to their phonetic 
    properties. There are 5 Varga groups (classes) and one non-Varga group. Each Varga, 
    which corresponds to Stops, contains five consonants classified as per their properties. 
    The first four consonants are classified on the basis of Voicing and Aspiration and the 
    last is the corresponding nasal. More details in Section "3.4.1 The Consonants" of the 
    [Proposal].</p>
    
    <p>Halant: All consonants have an implicit vowel sign (schwa) within them. A special
    sign is needed to denote that this implicit vowel is stripped off. This is known as the 
    Halant (્). 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. 
    More details in Section "3.4.2 The Implicit Vowel Killer: Halant" of the [Proposal].</p>

    <p>Vowels: Separate symbols exist for all Vowels, which are either pronounced independently 
    at the beginning or attached to a consonant. To indicate the latter (other than the implicit one), 
    a Vowel modifier (Matra) is attached to the consonant. Since the consonant has a built in schwa, 
    there are equivalent Matras for all vowels excepting the અ (U+0A85).  More details in Section 
    "3.4.3 Vowels" of the [Proposal].</p>

    <p>Anusvara: In Gujarati, the Anusvara has a dual function. On the one hand, it acts as 
    homorganic nasal i.e. it replaces a conjunct group of a Nasal Consonant+Halant+Consonant 
    belonging to that particular varga. On the other hand, before a non-varga consonant the 
    anusvara represents a nasal sound. Gujarati and its dialects prefer the anusvara to the 
    corresponding half-nasal. More details in Section "3.4.4 The Anusvara" of the [Proposal].</p>

    <p>Nukta: Traditionally Gujarati does not admit the Nukta. Gujarati grammarians 
    in their inventory of the Gujarati alphabet do not admit this diacritic. However, 
    the Nukta is used to represent content where Perso-Arabic characters have to be 
    transliterated. More details in Section "3.4.6 Nukta" of the [Proposal].</p>

    <p>Visarga and Avagraha: The Visarga is frequently used in Sanskrit and represents 
    a sound very close to /h/. દુઃખ /du:kh/ sorrow, unhappiness. It is used sparingly 
    in Gujarati with a few words borrowed from Sanskrit. More details in Section "3.4.7 
    Visarga and Avagraha" of the [Proposal].</p>
      
    <h2>Whole Label Evaluation (WLE) rules</h2>
    <h3>Default Whole Label Evaluation Rules</h3>
    <p>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 &#x235F;.</p> 
        
    <h3>Gujarati specific Rules</h3>
    <p>These rules have been drafted to ensure that the prospective Gujarati label conforms
    to akshar formation norms as desired in Gujarati script.  These norms are exclusively 
    presented as context rules.    </p>
    <p>The following symbols are used in the WLE rules: 
    <br/>C    →    Consonant
    <br/>M    →    Matra
    <br/>V    →    Vowel
    <br/>B    →    Anusvara
    <br/>X    →    Visarga
    <br/>H    →    Halant/Virama
    <br/>N    →    Nukta
    </p>
    
    <p>The rules are: </p>
     <ul>
     <li>N: must be preceded only by any of the specific set of Consonants (C1)</li>
     <li>H: must be preceded either by C or N</li>
     <li>X: must be preceded by either of V, C, N or M</li>
     <li>B: must be preceded by either of V, C, N or M</li>
     <li>M: must be preceded either by C or N</li>
     </ul>

    
     <p>More details in Section "7    Whole Label Evaluation Rules (WLE)" of the [Proposal] </p>
    
    <h2>Overall Development Process and Methodology</h2>
    <p>Under the Neo-Brahmi Generation Panel, there are many different scripts 
    belonging to separate Unicode blocks. Each of these scripts has been assigned 
    a separate LGR; however the Neo-Brahmi GP ensured that the fundamental philosophy 
    behind building those LGRs are all in sync with all other Brahmi derived 
    scripts. This is the Gujarati LGR, which caters to multiple languages written using 
    Gujarati belonging to EGIDS scale 1 to 4.</p>
    
    
    <h2>References</h2> 
    <p>Following references are cited in this document:</p>
    <dl class="references">

     <dt>[MSR-4]</dt>
     <dd>Integration Panel, "Maximal Starting Repertoire — MSR-4 Overview and Rationale", 
     7 February 2019 https://www.icann.org/en/system/files/files/msr-4-overview-25jan19-en.pdf</dd>

    <dt>[EGIDS]</dt>
     <dd>Expanded Graded Intergenerational Disruption Scale, https://www.ethnologue.com/about/language-status 
     </dd>

    <dt>[Proposal]</dt>
     <dd>NeoBrahmi Generation Panel, "Proposal for a Gujarati Script Root Zone Label Generation Ruleset (LGR)", 6 March 2019, https://www.icann.org/en/system/files/files/proposal-gujarati-lgr-06mar19-en.pdf</dd>

    <dt>[RFC 7940]</dt>
     <dd>Davies, K. and A. Freytag, "Representing Label Generation Rulesets Using XML", RFC 7940, August 2016, http://www.rfc-editor.org/info/rfc7940. </dd> 
     
    <dt>[Unicode 6.3]</dt>
     <dd>The Unicode Consortium. The Unicode Standard, Version 6.3.0, (Mountain View, CA: The Unicode Consortium, 2013. ISBN 978-1-936213-08-5) 
     http://www.unicode.org/versions/Unicode6.3.0/</dd>
     </dl>

]]></description>
    <references>
      <reference id="101">Omniglot, "Gujarati", https://www.omniglot.com/writing/gujarati.htm (Accessed on 6th Jan. 2018)</reference>
    </references>
  </meta>
  <data>
    <char cp="0A82" when="follows-only-V-C-N-or-M" tag="Anusvara" ref="101" comment="GUJARATI SIGN ANUSVARA" />
    <char cp="0A83" when="follows-only-V-C-N-or-M" tag="Visarga" ref="101" comment="GUJARATI SIGN VISARGA" />
    <char cp="0A85" tag="Vowel" ref="101" comment="GUJARATI LETTER A" />
    <char cp="0A86" tag="Vowel" ref="101" comment="GUJARATI LETTER AA" />
    <char cp="0A87" tag="Vowel" ref="101" comment="GUJARATI LETTER I" />
    <char cp="0A88" tag="Vowel" ref="101" comment="GUJARATI LETTER II" />
    <char cp="0A89" tag="Vowel" ref="101" comment="GUJARATI LETTER U" />
    <char cp="0A8A" tag="Vowel" ref="101" comment="GUJARATI LETTER UU" />
    <char cp="0A8B" tag="Vowel" ref="101" comment="GUJARATI LETTER VOCALIC R" />
    <char cp="0A8C" tag="Vowel" ref="101" comment="GUJARATI LETTER VOCALIC L" />
    <char cp="0A8D" tag="Vowel" ref="101" comment="GUJARATI VOWEL CANDRA E" />
    <char cp="0A8F" tag="Vowel" ref="101" comment="GUJARATI LETTER E" />
    <char cp="0A90" tag="Vowel" ref="101" comment="GUJARATI LETTER AI" />
    <char cp="0A91" tag="Vowel" ref="101" comment="GUJARATI VOWEL CANDRA O" />
    <char cp="0A93" tag="Vowel" ref="101" comment="GUJARATI LETTER O" />
    <char cp="0A94" tag="Vowel" ref="101" comment="GUJARATI LETTER AU" />
    <char cp="0A95" tag="C1 Consonant" ref="101" comment="GUJARATI LETTER KA" />
    <char cp="0A96" tag="C1 Consonant" ref="101" comment="GUJARATI LETTER KHA" />
    <char cp="0A97" tag="C1 Consonant" ref="101" comment="GUJARATI LETTER GA" />
    <char cp="0A98" tag="Consonant" ref="101" comment="GUJARATI LETTER GHA" />
    <char cp="0A99" tag="Consonant" ref="101" comment="GUJARATI LETTER NGA" />
    <char cp="0A9A" tag="Consonant" ref="101" comment="GUJARATI LETTER CA" />
    <char cp="0A9B" tag="Consonant" ref="101" comment="GUJARATI LETTER CHA" />
    <char cp="0A9C" tag="C1 Consonant" ref="101" comment="GUJARATI LETTER JA" />
    <char cp="0A9D" tag="Consonant" ref="101" comment="GUJARATI LETTER JHA" />
    <char cp="0A9E" tag="Consonant" ref="101" comment="GUJARATI LETTER NYA" />
    <char cp="0A9F" tag="Consonant" ref="101" comment="GUJARATI LETTER TTA" />
    <char cp="0AA0" tag="Consonant" ref="101" comment="GUJARATI LETTER TTHA" />
    <char cp="0AA1" tag="Consonant" ref="101" comment="GUJARATI LETTER DDA" />
    <char cp="0AA2" tag="Consonant" ref="101" comment="GUJARATI LETTER DDHA" />
    <char cp="0AA3" tag="Consonant" ref="101" comment="GUJARATI LETTER NNA" />
    <char cp="0AA4" tag="Consonant" ref="101" comment="GUJARATI LETTER TA" />
    <char cp="0AA5" tag="Consonant" ref="101" comment="GUJARATI LETTER THA" />
    <char cp="0AA6" tag="Consonant" ref="101" comment="GUJARATI LETTER DA" />
    <char cp="0AA7" tag="Consonant" ref="101" comment="GUJARATI LETTER DHA" />
    <char cp="0AA8" tag="Consonant" ref="101" comment="GUJARATI LETTER NA" />
    <char cp="0AAA" tag="Consonant" ref="101" comment="GUJARATI LETTER PA" />
    <char cp="0AAB" tag="C1 Consonant" ref="101" comment="GUJARATI LETTER PHA" />
    <char cp="0AAC" tag="Consonant" ref="101" comment="GUJARATI LETTER BA" />
    <char cp="0AAD" tag="Consonant" ref="101" comment="GUJARATI LETTER BHA" />
    <char cp="0AAE" tag="Consonant" ref="101" comment="GUJARATI LETTER MA" />
    <char cp="0AAF" tag="Consonant" ref="101" comment="GUJARATI LETTER YA" />
    <char cp="0AB0" tag="Consonant" ref="101" comment="GUJARATI LETTER RA" />
    <char cp="0AB2" tag="Consonant" ref="101" comment="GUJARATI LETTER LA" />
    <char cp="0AB3" tag="Consonant" ref="101" comment="GUJARATI LETTER LLA" />
    <char cp="0AB5" tag="Consonant" ref="101" comment="GUJARATI LETTER VA" />
    <char cp="0AB6" tag="Consonant" ref="101" comment="GUJARATI LETTER SHA" />
    <char cp="0AB7" tag="Consonant" ref="101" comment="GUJARATI LETTER SSA" />
    <char cp="0AB8" tag="Consonant" ref="101" comment="GUJARATI LETTER SA" />
    <char cp="0AB9" tag="Consonant" ref="101" comment="GUJARATI LETTER HA" />
    <char cp="0ABC" when="follows-only-specific-C" tag="Nukta" ref="101" comment="GUJARATI SIGN NUKTA" />
    <char cp="0ABE" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN AA" />
    <char cp="0ABF" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN I" />
    <char cp="0AC0" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN II" />
    <char cp="0AC1" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN U" />
    <char cp="0AC2" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN UU" />
    <char cp="0AC3" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN VOCALIC R" />
    <char cp="0AC4" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN VOCALIC RR" />
    <char cp="0AC5" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN CANDRA E" />
    <char cp="0AC7" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN E" />
    <char cp="0AC8" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN AI" />
    <char cp="0AC9" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN CANDRA O" />
    <char cp="0ACB" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN O" />
    <char cp="0ACC" when="follows-only-C-or-N" tag="Matra" ref="101" comment="GUJARATI VOWEL SIGN AU" />
    <char cp="0ACD" when="follows-only-C-or-N" tag="Halant" ref="101" comment="GUJARATI SIGN VIRAMA" />
  </data>
  <rules>
    <class name="C" from-tag="Consonant" comment="Any consonant"/>
    <class name="V" from-tag="Vowel" comment="Any vowel letter" />
    <class name="M" from-tag="Matra" comment="Any vowel sign" />
    <class name="N" from-tag="Nukta" comment="The Nukta" />
    <class name="C1" from-tag="C1" comment="Consonants used with Nukta" />

    <rule name="leading-combining-mark" comment="Default rule from MSR-4 ⍟">
      <start />
      <union>
        <class property="gc:Mn" />
        <class property="gc:Mc" />
      </union>
    </rule>
    <rule name="follows-only-specific-C" comment="Section 7, WLE 1: Nukta must be preceded only by specific set of Consonants (C1)">
      <look-behind>
        <class by-ref="C1" />
      </look-behind>
      <anchor />
    </rule>
    <rule name="follows-only-C-or-N" comment="Section 7, WLE 2: Halant must be preceded by C or N; WLE 5: Matras must be preceded by C or N">
      <look-behind>
        <choice>
          <class by-ref="C" />
          <class by-ref="N" />
        </choice>
      </look-behind>
      <anchor />
    </rule>
    <rule name="follows-only-V-C-N-or-M" comment="Section 7, WLE 3 and WLE 4: Visarga and Anusvara must be preceded by V, C, N or M">
      <look-behind>
        <choice>
          <class by-ref="V" />
          <class by-ref="C" />
           <class by-ref="N" />
            <class by-ref="M" />
        </choice>
      </look-behind>
      <anchor />
    </rule>
    
    <action disp="invalid" match="leading-combining-mark" />
    <action disp="invalid" any-variant="out-of-repertoire-var" comment="any variant label with a code point out of repertoire is invalid ⍟" />
    <action disp="blocked" any-variant="blocked" comment="default action MSR-4 ⍟" />
    <action disp="allocatable" any-variant="allocatable" comment="default action MSR-4 ⍟" />
    <action disp="valid" comment="catch all; default action from MSR-4 ⍟" />
  </rules>
</lgr>