<?xml version='1.0' encoding='utf-8'?>
<lgr xmlns="urn:ietf:params:xml:ns:lgr-1.0">
  <meta>
    <version comment="Proposal LGR for Oriya">3</version>
    <date>2019-03-06</date>
    <unicode-version>6.3.0</unicode-version>
    <language>und-Orya</language>
    <scope type="domain">.</scope>
    <description type="text/html"><![CDATA[
    <h1>Label Generation Rules for Oriya script</h1>
    
    <h2>Overview</h2>
    <p>This file contains Label Generation Rules (LGR) for the Oriya script as would be appropriate for the 
    Root zone. For more details on this proposal see "Proposal for Generation Panel for 
    Oriya Scripts 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 Oriya LGR contains 62 unique code points."</p>
        
    <p>The repertoire is based on [MSR], which is a subset of Unicode 6.3 [Unicode 6.3].</p>
    
    <p>Each code-point has associated Glyph, Character Name,  Language with EGIDS, Category, and Reference.</p>
    
    <h2>Variants</h2>
    <p>According to Section 6 "Variants", in "[Proposal]", this LGR defines two sets of cross-script variants with Myanmar script.
    </p>
    
    <p>Variant Disposition: All variants are of type “blocked”, making labels that differ only by these 
    variants mutually exclusive: whichever label containing either of these variants is chosen earlier, 
    the other one equivalent variant label should be blocked. There is no preference among these variants.</p>
    
    <h2>Character Classes</h2>
    <p>The basic characters in Oriya are classified into eight main categories. 
    They are Consonants, Vowels, Matra, Halant, Nukta, Visarga, Candrabindu and Anusvara. </p>

    <p>Consonant: The type of writing system of Oriya is syllabic alphabet in which all consonants 
    have an inherent vowel. Diacritics, which can appear above, below, before or after the consonant 
    they belong to, are used to change the inherent vowel. More details in Section "3.5 Structured consonants" and Section "3.6 Unstructured consonants"  of the [Proposal].</p>

    <p>Matra sign (Dependent Vowel): It is used to represent a vowel sound that is not inherent 
    to the consonant. Dependent vowels are referred to as "matras". They are always 
    depicted in combination with a single consonant, or with a consonant cluster. 
    More details in Section "3.12 Matra sign: (Dependent Vowel)" of the [Proposal].</p>
    
    <p>Halant: A Halant, also known as Virama, is used after a consonant to "strip" 
    it of its inherent vowel. The Halant form of a consonant is the form produced by adding the Halant, 
    encoded as U+0B4D ( ୍ ) ORIYA SIGN VIRAMA
    to the nominal shape. A Halant follows all but the last consonant in every Oriya 
    syllable. More details in Section 3.7, "The Implicit Vowel Killer Halant" of the [Proposal].</p>

    <p>Nukta: The nukta sign (  ଼) is used in Oriya language just like many other scripts used in South Asia. It can be commonly used with “ଡ” U+0B21, “ଢ” U+0B22. More details in Section "3.8 Nukta" of the [Proposal].</p>

    <p>Visarga: U+0B03 ORIYA SIGN VISARGA is frequently used in Sanskrit and represents a sound 
    very close to /h/. More details in Section 3.9, "Visarga & Avagraha" of the [Proposal].</p>

    <h3>Nasalization:</h3>
    <p>Candrabindu: Candrabindu denotes nasalization of the preceding vowel and consonants  
    as in ଅଁଳା /ãala/name of seasonal fruit (U+0B05 U+0B01 U+0B33 U+0B3E). Oriya users commonly use it for writing the words 
    and sounds of Sanskrit language. More details in Section "3.10 Nasalization: Candrabindu" of the [Proposal].</p>

   <p>Anusvara: Anusvara replaces a conjunct group of a Nasal Consonant+Halant+Consonant belonging to 
  that particular varga (plosive). The Anusvara represents a homorganic nasal. Before a non-varga (non-plosive) consonant, the 
  Anusvara represents a nasal sound. More details in Section "3.11 Anusvara" of the [Proposal].</p>

</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]. They are marked with &#x235F;.</p> 
        
    <h3>Oriya specific Rules</h3>
    <p>These rules have been formulated so that they can be adopted for  LGR specification.</p>
    <p>Following symbols are used in the WLE rules: 
    <br/>C → Consonant
    <br/>M → Matra
    <br/>V → Vowel
    <br/>B → Anusvara
    <br/>H → Halant
    <br/>N → Nukta
    <br/>C1 → Consonants used with Nukta
    <br/>X → Visarga
    <br/>D → Candrabindu
    </p>
    
    <p>The rules are: </p>
     <ul>
     <li>1. N: must be preceded only by C1</li>
     <li>2. B: must be preceded by V, C, N or M</li>
     <li>3. X: must be preceded by V, C, N or M</li>
     <li>4. D: must be preceded by V, C, N or M</li>
     <li>5. H: must be preceded by C or N</li>
     <li>6. M: must be preceded 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>The Neo-Brahmi Generation Panel (NBGP) has been formed by members having experience in 
    linguistics and computational linguistics. Under the Neo-Brahmi Generation Panel, there are 
    nine scripts belonging to separate Unicode blocks. Each of these scripts have 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. </p>

    <p>NBGP considered all the languages with EGIDS scale 1 to 4 and found that Oriya script is being 
    used in other spoken languages.</p>
    
    <h2>References</h2> 
    <p>References [0] to [6] refer to the Unicode Standard versions in which corresponding code 
    points were initially encoded. Reference [101] 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.</p>
    
    <p>In addition, the following references are cited in this document:</p>
    <dl class="references">

    <dt>[MSR]</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>[NBGP]</dt> 
     <dd> Neo-Brahmi Generation Panel</dd>

    <dt>[Proposal]</dt> 
     <dd>Neo-Brahmi Generation Panel, "Proposal for a Oriya Script Root Zone Label Generation Rule-set ", 6 March 2019, https://www.icann.org/en/system/files/files/proposal-oriya-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>
    <p>For more details for references [101] and up and [0] and up refer to the Table of References below.</p>

]]></description>
    <references>
      <reference comment="Any code point originally encoded in Unicode 1.1" id="0">The Unicode Standard 1.1 </reference>
      <reference comment="Any code point originally encoded in Unicode 4.0" id="6">The Unicode Standard 4.0 </reference>
      <reference id="101">Omniglot, "Oriya" https://www.omniglot.com/writing/oriya.htm</reference>
      <reference id="102">Wikipedia, "Odia (Oriya) alphabet" https://en.wikipedia.org/wiki/Odia_alphabet</reference>
      <reference id="103">Wikipedia. "Odia language" https://en.wikipedia.org/wiki/Odia_language</reference>
      <reference id="104">Wikipedia, "Oriya (Unicode block)" https://en.wikipedia.org/wiki/Oriya_(Unicode_block)</reference>
      <reference id="105">Odisha State Govt. Primary School Grade 1 e-book “HasaKhela”: by Odisha Primary Education Programme Authority http://opepa.odisha.gov.in/website/Download/e-Text-Book/CLass%20I/Hasa%20Khela%20Part%20II/Haso%20Khelo-II-Page-112.pdf</reference>
    </references>
  </meta>
  <data>
    <char comment="ORIYA SIGN CANDRABINDU" cp="0B01" ref="0 101 102 103 104 105" tag="Candrabindu" when="follows-only-V-C-N-or-M"/>
    <char comment="ORIYA SIGN ANUSVARA" cp="0B02" ref="0 101 102 103 104 105" tag="Anusvara" when="follows-only-V-C-N-or-M"/>
    <char comment="ORIYA SIGN VISARGA" cp="0B03" ref="0 101 102 103 104 105" tag="Visarga" when="follows-only-V-C-N-or-M"/>
    <char comment="ORIYA LETTER A" cp="0B05" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER AA" cp="0B06" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER I" cp="0B07" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER II" cp="0B08" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER U" cp="0B09" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER UU" cp="0B0A" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER VOCALIC R" cp="0B0B" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER E" cp="0B0F" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER AI" cp="0B10" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER O" cp="0B13" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER AU" cp="0B14" ref="0 101 102 103 104 105" tag="Vowel"/>
    <char comment="ORIYA LETTER KA" cp="0B15" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER KHA" cp="0B16" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER GA" cp="0B17" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER GHA" cp="0B18" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER NGA" cp="0B19" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER CA" cp="0B1A" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER CHA" cp="0B1B" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER JA" cp="0B1C" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER JHA" cp="0B1D" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER NYA" cp="0B1E" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER TTA" cp="0B1F" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER TTHA" cp="0B20" ref="0 101 102 103 104 105" tag="Consonant">
      <var comment="cross-script homoglyph" cp="0D20" type="blocked"/>
      <var comment="cross-script homoglyph" cp="101D" type="blocked"/>
    </char>
    <char comment="ORIYA LETTER DDA" cp="0B21" ref="0 101 102 103 104 105" tag="Consonant C1"/>
    <char comment="ORIYA LETTER DDHA" cp="0B22" ref="0 101 102 103 104 105" tag="Consonant C1"/>
    <char comment="ORIYA LETTER NNA" cp="0B23" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER TA" cp="0B24" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER THA" cp="0B25" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER DA" cp="0B26" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER DHA" cp="0B27" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER NA" cp="0B28" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER PA" cp="0B2A" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER PHA" cp="0B2B" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER BA" cp="0B2C" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER BHA" cp="0B2D" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER MA" cp="0B2E" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER YA" cp="0B2F" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER RA" cp="0B30" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER LA" cp="0B32" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER LLA" cp="0B33" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER SHA" cp="0B36" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER SSA" cp="0B37" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER SA" cp="0B38" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER HA" cp="0B39" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA SIGN NUKTA" cp="0B3C" ref="0 101 102 103 104 105" tag="Nukta" when="follows-only-C1"/>
    <char comment="ORIYA VOWEL SIGN AA" cp="0B3E" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA VOWEL SIGN I" cp="0B3F" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA VOWEL SIGN II" cp="0B40" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA VOWEL SIGN U" cp="0B41" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA VOWEL SIGN UU" cp="0B42" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA VOWEL SIGN VOCALIC R" cp="0B43" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA VOWEL SIGN E" cp="0B47" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N">
      <var cp="1031" type="blocked"/>
    </char>
    <char comment="ORIYA VOWEL SIGN AI" cp="0B48" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA VOWEL SIGN O" cp="0B4B" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA VOWEL SIGN AU" cp="0B4C" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA SIGN VIRAMA = pulli" cp="0B4D" ref="0 101 102 103 104 105" tag="Halant" when="follows-only-C-or-N"/>
    <char comment="ORIYA AI LENGTH MARK" cp="0B56" ref="0 101 102 103 104 105" tag="Matra" when="follows-only-C-or-N"/>
    <char comment="ORIYA LETTER YYA" cp="0B5F" ref="0 101 102 103 104 105" tag="Consonant"/>
    <char comment="ORIYA LETTER WA" cp="0B71" ref="6 101 102 103 104 105" tag="Consonant"/>
    <char comment="not part of repertoire" cp="0D20">
      <var comment="cross-script homoglyph" cp="0B20" type="blocked"/>
      <var comment="Out of repertoire" cp="0D20" type="out-of-repertoire-var"/>
      <var comment="cross-script homoglyph" cp="101D" type="blocked"/>
    </char>
    <char comment="not part of repertoire" cp="101D">
      <var comment="cross-script homoglyph" cp="0B20" type="blocked"/>
      <var comment="cross-script homoglyph" cp="0D20" type="blocked"/>
      <var comment="Out-of-repertoire" cp="101D" type="out-of-repertoire-var"/>
    </char>
    <char comment="not part of repertoire" cp="1031">
      <var comment="cross-script homoglyph" cp="0B47" type="blocked"/>
      <var comment="out-of-repertoire" cp="1031" type="out-of-repertoire-var"/>
    </char>
  </data>
  <rules>
    <class name="C" from-tag="Consonant" comment="Any consonant"/>
    <class name="M" from-tag="Matra" comment="Any vowel sign"/>
    <class name="V" from-tag="Vowel" comment="Any vowel letter"/>
    <class name="N" from-tag="Nukta" comment="The Nukta"/>
    <class name="C1" from-tag="C1" comment="Specific consonants preceding Nukta"/>
    <rule name="leading-combining-mark" comment="Default WLE rule matching labels with leading combining marks ⍟">
      <start/>
      <union>
        <class property="gc:Mn"/>
        <class property="gc:Mc"/>
      </union>
    </rule>
    <rule name="follows-only-C1" comment="Section 7, WLE 1: N must be preceded only by C1 ">
      <look-behind>
        <class by-ref="C1"/>
      </look-behind>
      <anchor/>
    </rule>
    <rule name="follows-only-V-C-N-or-M" comment="Section 7, WLE 2: B must be preceded by V, C, N or M; WLE 3: X must be preceded by V, C, N or M; WLE 4: D 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>
    <rule name="follows-only-C-or-N" comment="Section 7, WLE 5: H must be preceded by C or N; WLE 6: M must be preceded by C or N">
      <look-behind>
        <choice>
          <class by-ref="C"/>
          <class by-ref="N"/>
        </choice>
      </look-behind>
      <anchor/>
    </rule>
    <action disp="invalid" match="leading-combining-mark" comment="labels with leading combining marks are invalid ⍟"/>
    <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="any variant label containing blocked variants is blocked ⍟"/>
    <action disp="allocatable" any-variant="allocatable" comment="variant labels with all variants allocatable are allocatable ⍟"/>
    <action disp="valid" comment="catch all (default action) ⍟"/>
  </rules>
</lgr>
