<?xml version="1.0" encoding="utf-8"?><lgr xmlns="urn:ietf:params:xml:ns:lgr-1.0">  <meta>    <version comment="Proposal LGR for Gurmukhi">3</version>    <date>2019-04-22</date>    <language>und-Guru</language>    <scope type="domain">.</scope>    <unicode-version>6.3.0</unicode-version>    <description type="text/html"><![CDATA[    <h1>Label Generation Rules for Gurmukhi script</h1>    	<h2>Overview</h2>    <p>This file contains Label Generation Rules (LGR) for the Gurmukhi script as would be appropriate for the     Root zone. For more details on this proposal see "Proposal for a Gurmukhi Script Root Zone Label Generation Ruleset (LGR) [Proposal]". 	The format of this file follows [RFC 7940].</p>    	<h2>Repertoire</h2>    <p>According to Section 5, "Repertoire" in [Proposal], the Gurmukhi script LGR contains 56 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, Indic Syllabic Category and Reference.</p>          <h2>Variants</h2>    <p>The Gurmukhi and Devanagari scripts are closely related to each other and there are many code points in both scripts which can be confused with code points in the other script.     Five sequences of Devanagari code points are defined as variants of single Gurmmukhi code points. Additional cross-script variant analysis identified a smaller set of code points     from the Bengali script. Where these can cause confusion even to a careful observer, they have been defined as variants. No in-script variants are defined for Gurmhukhi.     See Section 6, "Variants", in [Proposal].</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 would be delegated, while the other one label should be blocked.</p>          <h2>Character Classes</h2>    <p>Gurmukhi is an alphasyllabary and the heart of the writing system is 	the Akshar. It is the unit which is instinctively recognized by users of the script.	The writing system of Gurmukhi could be summed up as composed of Consonants, Implicit 	Vowel Killer: Halant, Vowels, Bindi, Tippi, Addak, Nukta and Visarga.</p>		<p>Consonants: Gurmukhi consonants contain an implicit schwa /ə/. 	But these consonants are also used to represent consonant sounds where /ə/ vowel 	is not incorporated with them without any modification. More details in Section "3.3.1	The Consonants" of the [Proposal]. </p>        <p>Virama : Unlike the Halant in other Neo-Brahmi scripts, U+094D ( ् ) GURMUKHI SIGN VIRAMA is not used in general 	to strip a consonant letter’s implicit vowel. The Virama is only used to create a conjunct where the letter 	U+0A39 HA, U+0A30 RA or U+0A35 VA is the second element in a conjunct. 	More details in Section 3.3.2,  "The Implicit Vowel Killer: Virama" of the [Proposal].    </p>    <p>Vowels: Punjabi has ten vowels (ਅ /ə/, ਆ /a/, ਇ /I/, ਈ /i/, ਉ /U/, ਊ /u/, ਏ /e/,     ਐ /ɛ/, ਓ /o/ and ਔ /ͻ/). Out of these, three (ਅ /ə/, ਇ /I/, and ਉ /U/) are short vowels    and seven  (ਆ /a/, ਈ /i/, ਊ /u/, ਏ /e/, ਐ /ɛ/, ਓ /o/, and ਔ /ͻ/) are long vowels. More details in Section 3.3.3 "Vowels" of the    [Proposal].</p>    <p>Bindi: Bindi represents a homo-organic nasal. Bindi is used with all     long vowels (ਆ, ਈ,  ਊ, ਏ, ਐ, ਓ, ਔ ) and the short vowel (ਉ) and with the matras of long vowels ( ਾ, ੀ, ੇ,     ੈ, ੋ, ੌ ) except the matra ( ੂ). More     details in Section 3.3.4.1, "The Bindi" of the [Proposal].</p>	    <p>Tippi : Tippi is used to nasalize short vowels /ə/ and /I/ at all places,     as well as /U/ and /u/ after a consonant. That means, Tippi comes after     consonants without  a vowel sign (representing the mātrā of /ə/ "mukta")     and after the mātrā of /I/ ( ਿ ) following vowel carriers and consonants,     such as ਸੰ and ਸਿੰ. The mātrās of /U/ ( ੁ,)  and /u/ ( ੂ ) following a consonant     also take Tippi.  In addition, Tippi is used in gemination for nasal consonants     ਙ, ਞ, ਨ and ਮ.  More details in Section 3.3.4.2 "The Tippi" of the [Proposal] </p>    <p>Addak : Addak is used to mark the gemination of the following consonant.     In Punjabi, addak usually can follow mukta, aunkar ( ੁ ) and sihari ( ਿ ), and the     vowel signs of the short vowels /ə/, /u/ and /i/. It geminates the consonant which     follows it; therefore it cannot occur at the end of a label. More details in "3.3.4.3    The Addak" of the [Proposal].</p>		<p>Nukta : Termed as pairin bindi in Punjabi, nukta is used with the following 	consonants: ਸ, ਖ, ਗ, ਜ, ਫ and ਲ to represent the phonemes of words of Sanskrit	and Perso-Arabic sources. More details in Section "3.3.4.4 Nukta" 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]. They are marked with &#x235F;.</p> 			<h3>Gurmukhi specific Rules</h3>	<p>These rules have been drafted to ensure that the prospective Gurmukhi label conforms	to akshar formation norms as desired in Gurmukhi script.  These norms are exclusively 	presented as context rules.	</p>	<p>Following symbols are used in the WLE rules: 	<br/>C	→	Consonant	<br/>M 	→	Matra	<br/>V	→	Vowel	<br/>B	→	Bindi 	<br/>D	→	Tippi	<br/>A  →	Addak	<br/>H	→	Virama	<br/>N	→	Nukta	<br/>M1 →	{ ਿ(U+0A3F),  ੁ(U+0A41) } (Short matras)	<br/>M2 →	M - M1  (Long matras)	<br/>V1 →	{ ਅ (U+0A05),  ਇ (U+0A07),  ਉ (U+0A09)} (Short Vowels)	<br/>V2 →	V - V1  (Long Vowel)	<br/>C1 → 	{ਖ (U+0A16), ਗ (U+0A17), ਜ (U+0A1C), ਫ (U+0A2B), ਲ (U+0A32), ਸ (U+0A38)}	<br/>C2 → 	{ ਰ (U+0A30), ਵ (U+0A35), ਹ (U+0A39)}	<br/>C3 → 	C – {ਙ(U+0A19), ਞ(U+0A1E), ਣ(U+0A23), ਹ(U+0A39), ੜ(U+0A5C)}	</p>		<p>The rules are: </p>	 <ul>	 <li>N: must be preceded only by C1</li>	 <li>H: must be preceded by C or N and followed by C2 only</li>	 <li>M: must be preceded by C or N</li>	 <li>B: must be preceded by specific V or M</li>	 <li>D: must be preceded by, C, N or a specified set of V or M</li>	 <li>A: must be preceded by C, N or specific V or M and followed by C3</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 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 Gurmukhi LGR, which caters to Punjabi language written 	using the Gurmukhi script. Punjabi (EGIDS 2)  is the only language which 	is currently using the Gurmukhi script.</p>			<h2>References</h2> 	<p>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>[Proposal]</dt> <dd>Neo-Brahmi Generation Panel, "Proposal for a Gurmukhi Script Root Zone Label Generation Ruleset (LGR)", 22 April 2019,  https://www.icann.org/en/system/files/files/proposal-gurmukhi-lgr-22apr19-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="0">Gurmukhi Unicode chart (Accessed on 21 May 2018) https://unicode.org/charts/PDF/U0A00.pdf</reference>	  <reference id="105">Omniglot, https://www.omniglot.com/writing/punjabi.htm (Accessed on 10th Nov. 2017)</reference>	  <reference id="110">Gurmukhi Alphabet :: Lesson 11, “Gurmukhi Vowel Signs Group-1 Mukta and Kanna”, http://elearnpunjabi.com (Accessed on 10th Nov. 2017)</reference>	  <reference id="112">A reference Grammar of Punjabi, http://pt.learnpunjabi.org/assets/A%20Reference%20Grammar_Final.pdf (Accessed on 10th Nov. 2017)</reference>    </references>  </meta>  <data>  	<char cp="0902" comment="not part of repertoire" >		<var cp="0902" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="093A" type="blocked" comment="Devanagari variant added to ensure transitivity"/>        <var cp="0A02" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0907" comment="not part of repertoire" >		<var cp="0907" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A19" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0909" comment="not part of repertoire" >		<var cp="0909" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A24" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0917" comment="not part of repertoire" >		<var cp="0917" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A17" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0918" comment="not part of repertoire" >		<var cp="0918" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A2C" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="091F" comment="not part of repertoire" >		<var cp="091F" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A1F" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0920" comment="not part of repertoire" >		<var cp="0920" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A20" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0922" comment="not part of repertoire" >		<var cp="0922" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A2B" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0924 094D 0924" comment="not part of repertoire" >		<var cp="0924 094D 0924" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A1C" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="092A" comment="not part of repertoire" >		<var cp="092A" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A27" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="092A 094D 091F 093F" comment="not part of repertoire" >		<var cp="092A 094D 091F 093F" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A07" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="092A 094D 091F 0940" comment="not part of repertoire" >		<var cp="092A 094D 091F 0940" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A08" type="blocked" comment="cross-script homoglyph"/>	</char>    <char cp="092A 094D 091F 0946" comment="not part of repertoire">      <var cp="092A 094D 091F 0946" type="out-of-repertoire-var" comment="Out of repertoire" />      <var cp="092A 094D 091F 0947" type="blocked" comment="Devanagari variant (added for transitivity)" />      <var cp="0A0F" type="blocked" comment="cross-script homoglyph" />    </char>    <char cp="092A 094D 091F 0947" comment="not part of repertoire">      <var cp="092A 094D 091F 0946" type="blocked" comment="Devanagari variant (added for transitivity)" />      <var cp="092A 094D 091F 0947" type="out-of-repertoire-var" comment="Out of repertoire" />      <var cp="0A0F" type="blocked" comment="cross-script homoglyph" />    </char>	<char cp="092D" comment="not part of repertoire" >		<var cp="092D" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A2E" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="092E" comment="not part of repertoire" >		<var cp="092E" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="09AE" type="blocked" comment="cross-script homoglyph"/>		<var cp="0A38" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0935" comment="not part of repertoire" >		<var cp="0935" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A15" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0939" comment="not part of repertoire" >		<var cp="0939" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A35" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="093A" comment="not part of repertoire" >		<var cp="093A" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0902" type="blocked" comment="Devanagari variant added to ensure transitivity"/>		<var cp="0A02" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="093C" comment="not part of repertoire" >		<var cp="093C" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A3C" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="093F" comment="not part of repertoire" >		<var cp="093F" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="09BF" type="blocked" comment="cross-script homoglyph"/>		<var cp="0A3F" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0940" comment="not part of repertoire" >		<var cp="0940" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A40" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0945" comment="not part of repertoire" >		<var cp="0945" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A71" type="blocked" comment="cross-script homoglyph"/>	</char>   <char cp="0946" comment="not part of repertoire" >		<var cp="0946" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0947" type="blocked" comment="Devanagari variant added to ensure transitivity"/>		<var cp="0A47" type="blocked" comment="cross-script homoglyph"/>		<var cp="0A4B" type="blocked" comment="cross-script homoglyph"/>	</char>    <char cp="0947" comment="not part of repertoire" >		<var cp="0947" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0946" type="blocked" comment="Devanagari variant added to ensure transitivity"/>		<var cp="0A47" type="blocked" comment="cross-script homoglyph"/>		<var cp="0A4B" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0948" comment="not part of repertoire" >		<var cp="0948" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A48" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0956" comment="not part of repertoire" >		<var cp="0956" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A41" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0957" comment="not part of repertoire" >		<var cp="0957" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="0A42" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="09AE" comment="not part of repertoire" >		<var cp="09AE" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="092E" type="blocked" comment="cross-script homoglyph"/>		<var cp="0A38" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="09BF" comment="not part of repertoire" >		<var cp="09BF" type="out-of-repertoire-var" comment="Out of repertoire"/>		<var cp="093F" type="blocked" comment="cross-script homoglyph"/>		<var cp="0A3F" type="blocked" comment="cross-script homoglyph"/>	</char>  	<char cp="0A02" when="follows-only-specific-V-or-M" tag="Bindi" ref="0 105 112" comment="GURMUKHI SIGN BINDI" >		<var cp="0902" type="blocked" comment="cross-script homoglyph"/>		<var cp="093A" type="blocked" comment="cross-script homoglyph"/>	</char> 	<char cp="0A05" tag="Vowel V1" ref="0 105 112" comment="GURMUKHI LETTER A =aira" />	<char cp="0A06" tag="Vowel" ref="0 105 112" comment="GURMUKHI LETTER AA" />	<char cp="0A07" tag="Vowel V1" ref="0 105 112" comment="GURMUKHI LETTER I" >		<var cp="092A 094D 091F 093F" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A08" tag="Vowel" ref="0 105 112" comment="GURMUKHI LETTER II" >		<var cp="092A 094D 091F 0940" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A09" tag="Vowel V1" ref="0 105 112" comment="GURMUKHI LETTER U" />	<char cp="0A0A" tag="Vowel" ref="0 105 112" comment="GURMUKHI LETTER UU" />    <char cp="0A0F" tag="Vowel" ref="0 105 112">      <var cp="092A 094D 091F 0946" type="blocked" comment="cross-script homoglyph" />      <var cp="092A 094D 091F 0947" type="blocked" comment="cross-script homoglyph" />    </char>	<char cp="0A10" tag="Vowel" ref="0 105 112" comment="GURMUKHI LETTER AI" />	<char cp="0A13" tag="Vowel" ref="0 105 112" comment="GURMUKHI LETTER OO" />	<char cp="0A14" tag="Vowel" ref="0 105 112" comment="GURMUKHI LETTER AU" />	<char cp="0A15" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER KA" >		<var cp="0935" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A16" tag="Consonant C1" ref="0 105 112" comment="GURMUKHI LETTER KHA" />	<char cp="0A17" tag="Consonant C1" ref="0 105 112" comment="GURMUKHI LETTER GA" >		<var cp="0917" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A18" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER GHA" />	<char cp="0A19" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER NGA" >		<var cp="0907" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A1A" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER CA" />	<char cp="0A1B" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER CHA" />	<char cp="0A1C" tag="Consonant C1" ref="0 105 112" comment="GURMUKHI LETTER JA" >		<var cp="0924 094D 0924" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A1D" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER JHA" />	<char cp="0A1E" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER NYA" />	<char cp="0A1F" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER TTA" >		<var cp="091F" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A20" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER TTHA" >		<var cp="0920" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A21" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER DDA" />	<char cp="0A22" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER DDHA" />	<char cp="0A23" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER NNA" />	<char cp="0A24" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER TA" >		<var cp="0909" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A25" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER THA" />	<char cp="0A26" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER DA" />	<char cp="0A27" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER DHA" >		<var cp="092A" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A28" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER NA" />	<char cp="0A2A" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER PA" />	<char cp="0A2B" tag="Consonant C1" ref="0 105 112" comment="GURMUKHI LETTER PHA" >		<var cp="0922" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A2C" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER BA" >		<var cp="0918" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A2D" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER BHA" />	<char cp="0A2E" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER MA" >		<var cp="092D" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A2F" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER YA" />	<char cp="0A30" tag="Consonant C2" ref="0 105 112" comment="GURMUKHI LETTER RA" />	<char cp="0A32" tag="Consonant C1" ref="0 105 112" comment="GURMUKHI LETTER LA" />	<char cp="0A35" tag="Consonant C2" ref="0 105 112" comment="GURMUKHI LETTER VA" >		<var cp="0939" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A38" tag="Consonant C1" ref="0 105 112" comment="GURMUKHI LETTER SA" >		<var cp="092E" type="blocked" comment="cross-script homoglyph"/>		<var cp="09AE" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A39" tag="Consonant C2" ref="0 105 112" comment="GURMUKHI LETTER HA" />	<char cp="0A3C" when="follows-only-C1" tag="Nukta" ref="0 105 112" comment="GURMUKHI SIGN NUKTA = pairin bindi" >		<var cp="093C" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A3E" when="follows-only-C-or-N" tag="Matra" ref="0 105 110 112" comment="GURMUKHI VOWEL SIGN AA=kanna" />	<char cp="0A3F" when="follows-only-C-or-N" tag="Matra M1" ref="0 105 112" comment="GURMUKHI VOWEL SIGN I=sihari" >		<var cp="093F" type="blocked" comment="cross-script homoglyph"/>		<var cp="09BF" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A40" when="follows-only-C-or-N" tag="Matra" ref="0 105 112" comment="GURMUKHI VOWEL SIGN II=bihari" >		<var cp="0940" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A41" when="follows-only-C-or-N" tag="Matra M1" ref="0 105 112" comment="GURMUKHI VOWEL SIGN U=aunkar" >		<var cp="0956" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A42" when="follows-only-C-or-N" tag="Matra" ref="0 105 112" comment="GURMUKHI VOWEL SIGN UU=dulainkar" >		<var cp="0957" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A47" when="follows-only-C-or-N" tag="Matra" ref="0 105 112" comment="GURMUKHI VOWEL SIGN EE=lanvan" >		<var cp="0946" type="blocked" comment="cross-script homoglyph"/>		<var cp="0947" type="blocked" comment="cross-script homoglyph"/>		<var cp="0A4B" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A48" when="follows-only-C-or-N" tag="Matra" ref="0 105 112" comment="GURMUKHI VOWEL SIGN AI=dulavan" >		<var cp="0948" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A4B" when="follows-only-C-or-N" tag="Matra" ref="0 105 112" comment="GURMUKHI VOWEL SIGN OO=hora" >		<var cp="0946" type="blocked" comment="cross-script homoglyph"/>		<var cp="0947" type="blocked" comment="cross-script homoglyph"/>		<var cp="0A47" type="blocked" comment="cross-script homoglyph"/>	</char>	<char cp="0A4C" when="follows-only-C-or-N" tag="Matra" ref="0 105 112" comment="GURMUKHI VOWEL SIGN AU=kanaura" />	<char cp="0A4D" when="follows-only-C-or-N-and-precedes-only-C2" tag="Virama" ref="0 105 112" comment="GURMUKHI SIGN VIRAMA" />	<char cp="0A5C" tag="Consonant" ref="0 105 112" comment="GURMUKHI LETTER RRA" />	<char cp="0A70" when="follows-only-C-N-or-specific-V-or-M" tag="Tippi" ref="0 105 112" comment="GURMUKHI TIPPI" />	<char cp="0A71" when="follows-only-C-N-or-specific-V-or-M-and-precedes-only-C3" tag="Addak" ref="0 105 112" comment="GURMUKHI ADDAK" >		<var cp="0945" type="blocked" comment="cross-script homoglyph"/>	</char>  </data>  <!--Rules section goes here-->  <rules>    <!--Character class definitions go here-->    <class name="C" from-tag="Consonant" comment="Any consonant" />    <class name="V" from-tag="Vowel" comment="Any independent vowel" />    <class name="M" from-tag="Matra" comment="Any vowel sign (matra)" />    <class name="N" from-tag="Nukta" comment="The Nukta" />    <class name="V1" from-tag="V1" comment="Specific vowels that are used with Addak" />    <difference name="V2" comment="Specific vowels that are used with Bindi" >    	<class by-ref="V"/>    	<class by-ref="V1"/>   	</difference>    <class name="M1" from-tag="M1" comment="Short matras" />    <difference name="M2" comment="Long matras" >    	<class by-ref="M"/>    	<class by-ref="M1"/>    </difference>    <class name="C1" from-tag="C1" comment="Specific consonants preceding Nukta" />    <class name="C2" from-tag="C2" comment="Specific consonants following Halant"/>    <difference name="C3" comment="Specific consonants following Addak" >   		<class by-ref="C"/>    	<class>0A19 0A1E 0A23 0A39 0A5C</class>    </difference>    <!--Whole label evaluation and context rules go here-->    <rule name="leading-combining-mark" comment="Default rule from MSR ⍟">      <start />      <union>        <class property="gc:Mn" />        <class property="gc:Mc" />      </union>    </rule>    <rule name="follows-only-C1" comment="Section 7.1. N: must be preceded only by C1">      <look-behind>		<class by-ref="C1" />      </look-behind>      <anchor />    </rule>    <rule name="follows-only-C-or-N-and-precedes-only-C2" comment="Section 7.2. H: must be preceded by C or N and followed by C2 only">      <look-behind>        <choice>          <class by-ref="C" />          <class by-ref="N" />        </choice>      </look-behind>      <anchor />      <look-ahead>		<class by-ref="C2" />      </look-ahead>    </rule>    <rule name="follows-only-C-or-N" comment="Section 7.3. M: 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-specific-V-or-M" comment="Section 7.4. Bindi must be preceded by specific V or M">      <look-behind>        <choice>          <class by-ref="V2" />		  <char cp="0A09" comment="GURMUKHI LETTER U" />		  <rule>		  	<difference>        		<class by-ref="M2" />        		<class>0A42</class>		  	</difference>		  </rule>        </choice>      </look-behind>      <anchor />    </rule>    <rule name="follows-only-C-N-or-specific-V-or-M" comment="Section 7.5. Tippi must be preceded by, C, N or a specified set of V or M">      <look-behind>        <choice>          <class by-ref="C" />          <class by-ref="N" />		  <rule>			<difference>        		<class by-ref="V1" />        		<class>0A09</class>			</difference>		  </rule>          <class by-ref="M1" />          <char cp="0A42" comment="GURMUKHI LETTER SIGN DULAINKAR" />        </choice>      </look-behind>      <anchor />    </rule>    <rule name="follows-only-C-N-or-specific-V-or-M-and-precedes-only-C3" comment="Section 7.6. Addak must be preceded by C, N or specific V or M and followed by C3">      <look-behind>        <choice>        	<class by-ref="C" />        	<class by-ref="N" />        	<class by-ref="V1" />        	<char cp="0A10" comment="GURMUKHI LETTER AI" />        	<class by-ref="M1" />        	<char cp="0A48" comment="GURMUKHI VOWEL SIGN AI" />        </choice>      </look-behind>      <anchor />      <look-ahead>        <class by-ref="C3" />      </look-ahead>    </rule>    <!--Action elements go here - order defines precedence-->       	<action disp="invalid" match="leading-combining-mark" comment="labels with leading combining marks are invalid &amp;#x235F;" />    <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 ⍟" />    <action disp="allocatable" any-variant="allocatable" comment="default action MSR ⍟" />    <action disp="valid" comment="catch all; default action from MSR ⍟" />  </rules></lgr>