﻿<?xml version="1.0" encoding="utf-8"?>
<lgr xmlns="urn:ietf:params:xml:ns:lgr-1.0">
  <meta>
    <version comment="IDN Reference table for the Laotian Language">1.1</version>
    <date>2025-04-08</date>
    <language>lo</language>
    <unicode-version>6.3.0</unicode-version>
    <description type="text/html">
	<![CDATA[
	
	#IDN Table reference
	This Lao language table is based on the ICANN LGR for the Laotian Language
	https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-lao-script-22apr21-en.xml
	
	#Base Context Rule
	Base context rule disallows use of hyphen (U+002D) at the beginning, end or
	consecutively at the 3rd and 4th position in a label

	#Contact Info
	Contact Name: IDN Support
	Contact Email: registry-help@registry.godaddy
	Contact Phone: +1 (480) 651-9999
	]]>
	</description>
    <references>
      <reference id="0" comment="Any code point originally encoded in Unicode 1.1">The Unicode Standard 1.1</reference>
      <reference id="201">Lao grammar book published by the Ministry of Education in 1967, 
        see Appendix B, Figure 1 in [Proposal-Lao] </reference>
      <reference id="202">Lao grammar book published by the Ministry of Education in 1967, 
        see Appendix B, Figure 2 in [Proposal-Lao] </reference>
      <reference id="203">Lao grammar book published by the Ministry of Education in 1967, 
        see Appendix B, Figure 3 in [Proposal-Lao] </reference>
      <reference id="204">Lao grammar book published by the Ministry of Education in 2000, 
        see Appendix B, Figure 4 in [Proposal-Lao] </reference>
      <reference id="205">Lao grammar book published by the Ministry of Education in 2000, 
        see Appendix B, Figure 5 in [Proposal-Lao] </reference>
      <reference id="206">Lao grammar book published by the Ministry of Education in 2000, 
        see Appendix B, Figure 6 in [Proposal-Lao] </reference>
      <reference id="207">Lao grammar 1935, see Appendix B, Figure 7 in [Proposal-Lao] </reference>
      <reference id="150">RFC 5891, Internationalized Domain Names in Applications (IDNA): Protocol http://tools.ietf.org/html/rfc5891</reference>
    </references>
  </meta>
  <data>
    <char cp="002D" not-when="hyphen-minus-disallowed" tag="Hyphen sc:Zyyy" ref="0" comment="HYPHEN-MINUS; &#x235F;" />
    <char cp="0030" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT ZERO; &#x235F;">
      <var cp="0ED0" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0031" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT ONE; &#x235F;">
      <var cp="0ED1" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0032" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT TWO; &#x235F;">
      <var cp="0ED2" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0033" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT THREE; &#x235F;">
      <var cp="0ED3" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0034" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT FOUR; &#x235F;">
      <var cp="0ED4" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0035" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT FIVE; &#x235F;">
      <var cp="0ED5" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0036" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT SIX; &#x235F;">
      <var cp="0ED6" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0037" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT SEVEN; &#x235F;">
      <var cp="0ED7" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0038" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT EIGHT; &#x235F;">
      <var cp="0ED8" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0039" tag="Common-digit sc:Zyyy" ref="0" comment="DIGIT NINE; &#x235F;">
      <var cp="0ED9" type="blocked" comment="Lao digit variant" />
    </char>
    <char cp="0E81" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E82" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E84" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E87" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E88" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E8A" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E8D" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E94" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E95" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E96" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E97" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E99" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E9A" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E9B" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E9C" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E9D" tag="consonant sc:Laoo" ref="0 201 204" comment="= lao letter fo sung; Lao" />
    <char cp="0E9E" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0E9F" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="= lao letter fo tam; Lao" />
    <char cp="0EA1" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0EA2" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0EA3" tag="Cf consonant sc:Laoo" ref="0 204" comment="= lao letter lo rada; Lao" />
    <char cp="0EA5" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="= lao letter lo ling; Lao" />
    <char cp="0EA7" tag="Cf consonant sc:Laoo" ref="0 201 204 205" comment="Lao" />
    <char cp="0EAA" tag="Cf consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0EAB" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0EAD" tag="consonant sc:Laoo" ref="0 201 204 205" comment="Lao" />
    <char cp="0EAE" tag="consonant sc:Laoo" ref="0 201 204" comment="Lao" />
    <char cp="0EB0" when="follows-C-tonemark-vabove" tag="sc:Laoo vowel-after" ref="0 201 205 206" comment="Lao" />
    <char cp="0EB1" when="follows-main-consonant" tag="sc:Laoo vowel-above" ref="0 201 205 206" comment="Lao" />
    <char cp="0EB2" when="follows-C-tonemark-vabove" tag="sc:Laoo vowel-after" ref="0 201 205 206" comment="Lao" />
    <char cp="0EB2 0EB0" when="follows-vbefore-consonant-cluster" ref="205" comment="Lao" />
    <char cp="0EB4" when="follows-main-consonant" tag="sc:Laoo vowel-above" ref="0 201 205 206" comment="Lao" />
    <char cp="0EB5" when="follows-main-consonant" tag="sc:Laoo vowel-above" ref="0 201 205 206" comment="Lao" />
    <char cp="0EB6" when="follows-main-consonant" tag="sc:Laoo vowel-above" ref="0 201 205 206" comment="Lao" />
    <char cp="0EB7" when="follows-main-consonant" tag="sc:Laoo vowel-above" ref="0 201 205 206" comment="Lao" />
    <char cp="0EB8" when="follows-main-consonant" tag="sc:Laoo vowel-below" ref="0 201 205 206" comment="Lao" />
    <char cp="0EB9" when="follows-main-consonant" tag="sc:Laoo vowel-below" ref="0 201 205 206" comment="Lao" />
    <char cp="0EBB" when="follows-main-consonant" tag="sc:Laoo vowel-above" ref="0 205" comment="Lao" />
    <char cp="0EBC" when="follows-consonant" tag="sc:Laoo semi-consonant" ref="0 201 205 206" comment="= lao semiconsonant lo; Lao" />
    <char cp="0EBD" when="follows-C-tonemark-vabove" tag="sc:Laoo vowel-after" ref="0 201 205" comment="= lao semivowel ia; Lao" />
    <char cp="0EC0" when="precedes-consonant" tag="sc:Laoo vowel-before" ref="0 201 205 206" comment="Lao" />
    <char cp="0EC1" when="precedes-consonant" tag="sc:Laoo vowel-before" ref="0 201 205 206" comment="Lao" />
    <char cp="0EC2" when="precedes-consonant" tag="sc:Laoo vowel-before" ref="0 201 205 206" comment="Lao" />
    <char cp="0EC3" when="precedes-consonant" tag="sc:Laoo vowel-before" ref="0 201 205 206" comment="Lao" />
    <char cp="0EC4" when="precedes-consonant" tag="sc:Laoo vowel-before" ref="0 201 205 206" comment="Lao" />
    <char cp="0EC6" when="repetition-mark-limit" tag="sc:Laoo sign" ref="0 203" comment="= lao may sam; Lao" />
    <char cp="0EC8" when="follows-C-vabove-vbelow" tag="sc:Laoo tone-mark" ref="0 202" comment="Lao" />
    <char cp="0EC9" when="follows-C-vabove-vbelow" tag="sc:Laoo tone-mark" ref="0 202" comment="Lao" />
    <char cp="0ECA" when="follows-C-vabove-vbelow" tag="sc:Laoo tone-mark" ref="0 202" comment="Lao" />
    <char cp="0ECB" when="follows-C-vabove-vbelow" tag="sc:Laoo tone-mark" ref="0 202" comment="= lao tone mai jattawa; Lao" />
    <char cp="0ECC" when="follows-Cf" tag="sc:Laoo sign" ref="0 207" comment="= lao mark mai ka lan; Lao" />
    <char cp="0ECD" when="follows-main-consonant" tag="sc:Laoo vowel-above" ref="0 201 205 206" comment="= lao vowel sign or; Lao" />
    <char cp="0ED0" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT ZERO">
      <var cp="0030" type="blocked" comment="ASCII digit variant" />
    </char>
    <char cp="0ED1" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT ONE">
      <var cp="0031" type="blocked" comment="ASCII digit variant" />
    </char>
    <char cp="0ED2" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT TWO">
      <var cp="0032" type="blocked" comment="ASCII digit variant" />
    </char>
    <char cp="0ED3" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT THREE">
      <var cp="0033" type="blocked" comment="ASCII digit variant" />
    </char>
    <char cp="0ED4" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT FOUR">
      <var cp="0034" type="blocked" comment="ASCII digit variant" />
    </char>
    <char cp="0ED5" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT FIVE">
      <var cp="0035" type="blocked" comment="ASCII digit variant" />
    </char>
    <char cp="0ED6" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT SIX">
      <var cp="0036" type="blocked" comment="ASCII digit variant" />
    </char>
    <char cp="0ED7" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT SEVEN">
      <var cp="0037" type="blocked" comment="ASCII digit variant" />
    </char>
    <char cp="0ED8" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT EIGHT">
      <var cp="0038" type="blocked" comment="ASCII digit variant" />
    </char>
    <char cp="0ED9" tag="Lao-digit sc:Laoo" ref="0" comment="LAO DIGIT NINE">
      <var cp="0039" type="blocked" comment="ASCII digit variant" />
    </char>
  </data>
  <!--Rules section goes here-->
  <rules>
    <!--Character class definitions go here-->
    <class name="Cf" from-tag="Cf" comment="Any Lao final consonant" />
    <class name="consonant" from-tag="consonant" comment="Any Lao consonant" />
    <class name="semi-consonant" from-tag="semi-consonant" comment="Lao semi-consonant LO" />
    <class name="tone-mark" from-tag="tone-mark" comment="Any Lao one mark" />
    <class name="vowel-above" from-tag="vowel-above" comment="Any Lao vowel above" />
    <class name="vowel-below" from-tag="vowel-below" comment="Any Lao vowel below" />
    <class name="common-digits" from-tag="Common-digit" comment="Digits from the ASCII range; &#x235F;" />
    <class name="lao-digits" from-tag="Lao-digit" comment="Lao digits" />
    <class name="hyphen" from-tag="Hyphen" comment="The Hyphen-minus character &#x235F;" />
    <!--Whole label evaluation and context rules go here-->
    <rule name="leading-combining-mark" ref="150" comment="RFC 5891 restrictions on placement of combining marks &#x235F;">
      <start />
      <union>
        <class property="gc:Mn" />
        <class property="gc:Mc" />
      </union>
    </rule>
    <rule name="hyphen-minus-disallowed" ref="150" comment="RFC 5891 restrictions on placement of U+002D &#x235F;">
      <choice>
        <rule comment="no leading hyphen">
          <look-behind>
            <start />
          </look-behind>
          <anchor />
        </rule>
        <rule comment="no trailing hyphen">
          <anchor />
          <look-ahead>
            <end />
          </look-ahead>
        </rule>
        <rule comment="no consecutive hyphens in third and fourth position in the label">
          <look-behind>
            <start />
            <any />
            <any />
            <class by-ref="hyphen" />
          </look-behind>
          <anchor />
        </rule>
      </choice>
    </rule>
    <rule name="follows-consonant" comment="WLE Rule 1: A semi-consonant must follow a consonant">
      <look-behind>
        <class by-ref="consonant" />
      </look-behind>
      <anchor />
    </rule>
    <rule name="precedes-consonant" comment="WLE Rule 2: A 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 3: A 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 4: A 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 WLE Rule 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 5: The sequence U+0EB2 U+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 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 7: The sign U+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 8: The sign U+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>
    <rule name="digit-mixing" comment="restrictions on mixing digits">
      <choice>
        <rule>
          <class by-ref="common-digits" />
          <any count="0+" />
          <class by-ref="lao-digits" />
        </rule>
        <rule>
          <class by-ref="lao-digits" />
          <any count="0+" />
          <class by-ref="common-digits" />
        </rule>
      </choice>
    </rule>
    <!--Action elements go here - order defines precedence-->
    <action disp="invalid" match="leading-combining-mark" ref="150" comment="labels with leading combining marks are invalid &#x235F;" />
    <action disp="invalid" any-variant="out-of-repertoire-var" comment="any variant label with a code point out of repertoire is invalid &#x235F;" />
    <action disp="invalid" match="digit-mixing" comment="a label violating the restriction on digit mixing is invalid" />
    <action disp="blocked" any-variant="blocked" comment="any variant label containing blocked variants is blocked &#x235F;" />
    <action disp="allocatable" all-variants="allocatable" comment="variant labels with all variants allocatable are allocatable &#x235F;" />
    <action disp="valid" comment="catch all (default action) &#x235F;" />
  </rules>
</lgr>