﻿<?xml version="1.0" encoding="utf-8"?>
<lgr xmlns="urn:ietf:params:xml:ns:lgr-1.0">
  <meta>
    <version comment="Proposed LGR for Lao">2</version>
    <date>2017-01-31</date>
    <language>und-Laoo</language>
    <scope type="domain">.</scope>
    <unicode-version>6.3.0</unicode-version>
    <description type="text/html"><![CDATA[<h1>Label Generation Rules for LAO</h1>
        <h2>Overview</h2>
        <p>For more details on this proposal, see "Proposal for a Lao Script Root Zone 
         LGR [Proposal]".</p>
        
        <h2>Repertoire</h2>
        <p>The 51 code points are according to Section 5 “Repertoire” in [Proposal]. 
          In addition, the sequence 0EB2 0EB0 has been defined to facilitate implementation 
          of WLE rule follows-vafter-context as a context rule.</p> 
        
        <h2>Variants</h2>
        <p>This LGR defines no variants.</p>
        
        <h2>Character Classes</h2>
        <p>Some consonants have been given the tag of Cf, which indicates final consonants. 
         Other character classes that have been used are semi-consonant, tone-mark, 
         vowel-above, vowel-before, vowel-below and vowel-after. See Section 5 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-2]. They are marked with &#x235F;. The 
          default prohibition on leading combining marks is equivalent to ensuring that 
          a label only starts with a consonant or vowel-before.</p> 
        
        <h3>Lao-specific Rules</h3>
        <p>Rules provided in the LGR as described in Section 7 of [Proposal] 
          reasonably restrict labels so that they conform to Lao syllable structure. 
          Where possible these constraints are presented as context rules. </p>
        <p>The rules are: </p>
        <ul>
          <li><b>follows-consonant</b>  A context rule for semi-consonant. 
            See Section 7 in [Proposal]. (WLE Rule No. 1)</li>
          <li><b>precedes-consonant</b>  A context rule for vowel-before. 
            See Section 7 in [Proposal]. (WLE Rule No. 2)</li>
          <li><b>follows-main-consonant</b>  A context rule for vowel-below, 
            and vowel-above. See Section 7 in [Proposal]. (WLE Rule No. 3)</li>
          <li><b>follows-C-tonemark-vabove</b>  A context rule for vowel-after. 
            See Section 7 in [Proposal]. (WLE Rule No. 4)</li>
          <li><b>follows-vbefore-consonant-cluster</b> A context rule for a 
           vowel-after sequence. It incorporates consonant-cluster. 
           See Section 7 in [Proposal]. (WLE Rule No. 5)</li>
          <li><b>follows-C-vabove-vbelow</b>  A context rule for tone mark. 
           See Section 7 in [Proposal]. (WLE Rule No. 6)</li>
          <li><b>follows-Cf</b>  A context rule for LAO CANCELLATION MARK  ໌ (U+0ECC) . 
           See Section 7 in [Proposal]. (WLE Rule No. 7)</li>
          <li><b>repetition-mark-limit</b>.. A rule that limits the occurrence 
            of LAO KO LA ໆ (U+0EC6) at the label end. See Section 7 in [Proposal]. 
            (WLE Rule No. 8)</li>
        </ul>
        
        <p>No context rules apply to “consonant” code points. For discussion, see 
          Section 5.1 “Consonants” in [Proposal].</p>
        
        <h2>References</h2>
        <p>Reference value ("ref" attribute) 0 refers to Unicode Standard versions
          in which corresponding code points were initially encoded. Reference values 
          201, 202, 203, 204, 205, 206, & 207 correspond to sources justifying the 
          inclusion of or classification for the corresponding 
          code points. Single code points or ranges may have
          multiple source reference values.</p>
        <p>Reference values ("ref" attribute") from 201 and up refer to specific 
          sources cited for the corresponding code points in the "[Proposal]".</p>
        <p>In addition, the following references are cited in this document:</p>
        <dl class="references">
        <dt>[MSR-2]</dt>
        <dd>Integration Panel, "Maximal Starting Repertoire — MSR-2 Overview and Rationale", 
          14 April 2015
          https://www.icann.org/en/system/files/files/msr-2-overview-14apr15-en.pdf</dd>
        <dt>[Proposal]</dt>
        <dd><i>Proposal for Lao Script Root Zone LGR, https://www.icann.org/resources/pages/lgr-proposals-2015-12-01-en</i></dd> 
        <dt>[Unicode6.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, refer to the <a href="#table_of_references">Table 
          of References</a> below. Several of these references refer to a figure in an 
          appendix of the [Proposal] document.</p>]]></description>
    <references>
      <reference id="0">The Unicode Standard 1.1, The Unicode Consortium, Mountain View, CA.
        1993</reference>
      <reference id="201">Lao grammar book published by the Ministry of Education in 1967, 
        see Appendix B, Figure 1</reference>
      <reference id="202">Lao grammar book published by the Ministry of Education in 1967, 
        see Appendix B, Figure 2</reference>
      <reference id="203">Lao grammar book published by the Ministry of Education in 1967, 
        see Appendix B, Figure 3</reference>
      <reference id="204">Lao grammar book published by the Ministry of Education in 2000, 
        see Appendix B, Figure 4</reference>
      <reference id="205">Lao grammar book published by the Ministry of Education in 2000, 
        see Appendix B, Figure 5</reference>
      <reference id="206">Lao grammar book published by the Ministry of Education in 2000, 
        see Appendix B, Figure 6</reference>
      <reference id="207">Lao grammar 1935, see Appendix B, Figure 7</reference>
    </references>
  </meta>
  <data>
    <char cp="0E81" tag="Cf consonant" ref="0 201 204" />
    <char cp="0E82" tag="consonant" ref="0 201 204" />
    <char cp="0E84" tag="consonant" ref="0 201 204" />
    <char cp="0E87" tag="Cf consonant" ref="0 201 204" />
    <char cp="0E88" tag="consonant" ref="0 201 204" />
    <char cp="0E8A" tag="Cf consonant" ref="0 201 204" />
    <char cp="0E8D" tag="Cf consonant" ref="0 201 204" />
    <char cp="0E94" tag="Cf consonant" ref="0 201 204" />
    <char cp="0E95" tag="consonant" ref="0 201 204" />
    <char cp="0E96" tag="consonant" ref="0 201 204" />
    <char cp="0E97" tag="Cf consonant" ref="0 201 204" />
    <char cp="0E99" tag="Cf consonant" ref="0 201 204" />
    <char cp="0E9A" tag="Cf consonant" ref="0 201 204" />
    <char cp="0E9B" tag="consonant" ref="0 201 204" />
    <char cp="0E9C" tag="consonant" ref="0 201 204" />
    <char cp="0E9D" tag="consonant" ref="0 201 204" />
    <char cp="0E9E" tag="consonant" ref="0 201 204" />
    <char cp="0E9F" tag="Cf consonant" ref="0 201 204" />
    <char cp="0EA1" tag="Cf consonant" ref="0 201 204" />
    <char cp="0EA2" tag="consonant" ref="0 201 204" />
    <char cp="0EA3" tag="Cf consonant" ref="0 204" />
    <char cp="0EA5" tag="Cf consonant" ref="0 201 204" />
    <char cp="0EA7" tag="Cf consonant" ref="0 201 204 205" />
    <char cp="0EAA" tag="Cf consonant" ref="0 201 204" />
    <char cp="0EAB" tag="consonant" ref="0 201 204" />
    <char cp="0EAD" tag="consonant" ref="0 201 204 205" />
    <char cp="0EAE" tag="consonant" ref="0 201 204" />
    <char cp="0EB0" when="follows-C-tonemark-vabove" tag="vowel-after" ref="0 201 205 206" />
    <char cp="0EB1" when="follows-main-consonant" tag="vowel-above" ref="0 201 205 206" />
    <char cp="0EB2" when="follows-C-tonemark-vabove" tag="vowel-after" ref="0 201 205 206" />
    <char cp="0EB2 0EB0" when="follows-vbefore-consonant-cluster" ref="205" />
    <char cp="0EB4" when="follows-main-consonant" tag="vowel-above" ref="0 201 205 206" />
    <char cp="0EB5" when="follows-main-consonant" tag="vowel-above" ref="0 201 205 206" />
    <char cp="0EB6" when="follows-main-consonant" tag="vowel-above" ref="0 201 205 206" />
    <char cp="0EB7" when="follows-main-consonant" tag="vowel-above" ref="0 201 205 206" />
    <char cp="0EB8" when="follows-main-consonant" tag="vowel-below" ref="0 201 205 206" />
    <char cp="0EB9" when="follows-main-consonant" tag="vowel-below" ref="0 201 205 206" />
    <char cp="0EBB" when="follows-main-consonant" tag="vowel-above" ref="0 205" />
    <char cp="0EBC" when="follows-consonant" tag="semi-consonant" ref="0 201 205 206" />
    <char cp="0EBD" when="follows-C-tonemark-vabove" tag="vowel-after" ref="0 201 205" />
    <char cp="0EC0" when="precedes-consonant" tag="vowel-before" ref="0 201 205 206" />
    <char cp="0EC1" when="precedes-consonant" tag="vowel-before" ref="0 201 205 206" />
    <char cp="0EC2" when="precedes-consonant" tag="vowel-before" ref="0 201 205 206" />
    <char cp="0EC3" when="precedes-consonant" tag="vowel-before" ref="0 201 205 206" />
    <char cp="0EC4" when="precedes-consonant" tag="vowel-before" ref="0 201 205 206" />
    <char cp="0EC6" when="repetition-mark-limit" tag="sign" ref="0 203" comment="LAO MAY SAM" />
    <char cp="0EC8" when="follows-C-vabove-vbelow" tag="tone-mark" ref="0 202" />
    <char cp="0EC9" when="follows-C-vabove-vbelow" tag="tone-mark" ref="0 202" />
    <char cp="0ECA" when="follows-C-vabove-vbelow" tag="tone-mark" ref="0 202" comment="LAO TONE MAI JATTAWA" />
    <char cp="0ECB" when="follows-C-vabove-vbelow" tag="tone-mark" ref="0 202" comment="LAO MARK MAI KA LAN" />
    <char cp="0ECC" when="follows-Cf" tag="sign" ref="0 207" comment="LAO VOWEL SIGN OR" />
    <char cp="0ECD" when="follows-main-consonant" tag="vowel-above" ref="0 201 205 206" />
  </data>
  <!--Rules section goes here-->
  <rules>
    <!--Character class definitions go here-->
    <class name="Cf" from-tag="Cf" />
    <class name="consonant" from-tag="consonant" />
    <class name="semi-consonant" from-tag="semi-consonant" />
    <class name="tone-mark" from-tag="tone-mark" />
    <class name="vowel-above" from-tag="vowel-above" />
    <class name="vowel-below" from-tag="vowel-below" />
    <!--Whole label evaluation and context rules go here-->
    <rule name="leading-combining-mark" comment="Default rule from MSR-2. ⍟">
      <start />
      <union>
        <class property="gc:Mn" />
        <class property="gc:Mc" />
      </union>
    </rule>
    <rule name="follows-consonant" comment="WLE Rule No. 1; semi-consonant must follow a consonant">
      <look-behind>
        <class by-ref="consonant" />
      </look-behind>
      <anchor />
    </rule>
    <rule name="precedes-consonant" comment="WLE Rule No. 2; vowel-before precedes a main consonant cluster">
      <anchor />
      <look-ahead>
        <class by-ref="consonant" />
      </look-ahead>
    </rule>
    <rule name="follows-main-consonant" comment="WLE Rule No. 3; vowel-above, and vowel-below follow a main consonant C">
      <look-behind>
        <choice>
          <class by-ref="consonant" />
          <class by-ref="semi-consonant" />
        </choice>
      </look-behind>
      <anchor />
    </rule>
    <rule name="follows-C-tonemark-vabove" comment="WLE Rule No. 4; vowel-after follows a main consonant, tone-mark or vowel-above">
      <look-behind>
        <choice>
          <class by-ref="consonant" />
          <class by-ref="semi-consonant" />
          <class by-ref="tone-mark" />
          <class by-ref="vowel-above" />
        </choice>
      </look-behind>
      <anchor />
    </rule>
    <rule name="consonant-cluster" comment="Defining consonant cluster for Rule No. 5 ">
      <class by-ref="consonant" count="1:2" />
      <class by-ref="semi-consonant" count="0:1" />
    </rule>
    <rule name="follows-vbefore-consonant-cluster" comment="WLE Rule No. 5; The sequence (0EB2 0EB0) follows a vowel before, and a consonant cluster">
      <look-behind>
        <char cp="0EC0" />
        <rule by-ref="consonant-cluster" />
      </look-behind>
      <anchor />
    </rule>
    <rule name="follows-C-vabove-vbelow" comment="WLE Rule No. 6; A tone-mark follows a main consonant, vowel-above or vowel-below">
      <look-behind>
        <choice>
          <class by-ref="consonant" />
          <class by-ref="semi-consonant" />
          <class by-ref="vowel-above" />
          <class by-ref="vowel-below" />
        </choice>
      </look-behind>
      <anchor />
    </rule>
    <rule name="follows-Cf" comment="WLE Rule No. 7; The sign 0ECC can only occur after final consonants">
      <look-behind>
        <class by-ref="Cf" />
      </look-behind>
      <anchor />
    </rule>
    <rule name="repetition-mark-limit" comment="WLE Rule No. 8; The sign 0EC6 can only occur 0 to 3 times at the end of the label">
      <anchor />
      <look-ahead>
        <char cp="0EC6" count="0:2" />
        <end />
      </look-ahead>
    </rule>
    <!--Action elements go here - order defines precedence-->
    <action disp="invalid" match="leading-combining-mark" comment="labels must not commence with a 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="any variant label with a blocked variant is blocked  ⍟" />
    <action disp="allocatable" any-variant="allocatable" comment="any remaining variant label with an allocatable variant is allocatable  ⍟" />
    <action disp="valid" comment="catch all  ⍟" />
  </rules>
</lgr>