﻿<?xml version="1.0" encoding="utf-8"?>
<lgr xmlns="urn:ietf:params:xml:ns:lgr-1.0">
  <meta>
    <version comment="Second Level Reference LGR">3</version>
    <date>2024-10-25</date>
    <language>es</language>
    <unicode-version>11.0.0</unicode-version>
    <description type="text/html"><![CDATA[
       <div class="instructions">
<h2>INSTRUCTIONS</h2>
  <ul>
    <li>These instructions cover how to adopt an LGR based on this reference LGR for a given
    zone and how to prepare the file for deposit in the IANA Repository of IDN Practices.</li>
    <li>As described  the IANA procedure (https://www.iana.org/help/idn-repository-procedure) an 
    LGR MUST contain the following elements in its header:
      <ul style="list-style-type:square;">
        <li>Script or Language Designator (see below for guidance) </li>
        <li>Version Number (this must increase with each amendment to the LGR, even if the updates 
            are limited to the header itself) </li>
        <li>Effective Date (the date at which the policy becomes applicable in operational use) </li>
        <li>Registry Contact Details (contact name, email address, and/or phone number)</li>
      </ul>
    </li>
    <li>The following information is optional:
    <ul style="list-style-type:square;">
    <li>Document creation date</li>
    <li>Applicable Domain(s)</li>
    <li>Changes made to the Reference LGR before adopting</li>
    </ul>
    </li>
  </ul>
  <p>Please add or modify the following items in the <b>XML source code for this file</b> before 
  depositing the document in the IANA Repository. (https://www.iana.org/domains/idn-tables)</p>
<h3>Meta Data</h3>
<p>Note: version numbers start at 1. RFC 7940 recommends using simple integers. The version comment is optional, 
   please replace or delete the default comment. Version comments may be used by some tools as part of the page header.</p>
  <p><code>&lt;version comment=&quot;</code>[Please replace (or delete) the optional comment]<code>&quot;&gt;</code>[Please fill in version number, starting at 1]<code>&lt;/version&gt;</code></p>
  <p><code>&lt;date&gt;</code>[Please fill in with publication date, in YYYY-MM-DD format]<code>&lt;/date&gt;</code></p>
  <p><code>&lt;validity-start&gt;</code>[Please fill in effective date, in YYYY-MM-DD format]<code>&lt;/validity-start&gt;</code></p>
  <p>Note: the scope element may be repeated, so that the same document can serve for multiple domains.</p>
  <p><code>&lt;scope type=&quot;domain&quot;&gt;</code>[Please provide, in &quot;.domain&quot; format]<code>&lt;/scope&gt;</code></p>
<p><strong>Registry Contact Information:</strong></p>
  <p>Please fill in the <a href="#registry_contact_details">Registry Contact Details</a>.</p>
<p><strong>Change History</strong></p>
  <p>If you made technical modifications to the LGR, please summarize them in the <a href="#change_history">Change History</a> (and also note the details in the appropriate section of the description).</p>
<p>PLEASE DELETE THESE INSTRUCTIONS BEFORE DEPOSITING THE DOCUMENT</p></div>
       
       <section id="registry_contact_details">
<h2>Registry Contact Details</h2>
<ul style="list-style:none;">
<li><b>Contact Name:</b> [Please fill in Contact Name]</li>
<li><b>Email address:</b> [Please fill in Email address]</li>
<li><b>Phone Number:</b> [Please fill in optional Phone Number]</li>
</ul>
</section>

        <h1>Label Generation Rules for Spanish</h1>
        <h2>Overview</h2>
        <p>This document specifies a set of Label Generation Rules (LGR) for the Spanish language
    using a language-specific repertoire for the second level domain or domains identified above.
    The format of this file follows [RFC 7940].
    This LGR is adapted from the “Reference LGR for the Second Level for the Spanish Language” [Ref-LGR-es-Latn], for details, see <a href="#change_history">Change History</a> below.</p>

        <p><b>Standalone LGR:</b> This LGR is designed to be used in a zone that does not cater to IDNs 
    other than those valid under this LGR. 
    This LGR lacks features that would allow its use in the context
    of another LGR in the same zone, and it may contain other features incompatible with such use.</p>

        <h2>Repertoire</h2>
        <p>Most references converge on 33 Latin code points.</p>

        <p>There is no IDN table published in the IANA Repository of IDN Practices by a Spanish-language ccTLD, but several registries’ policies
         were investigated [700][701][703] for information on IDN repertoire policies.</p>

       <h3>Excluded Code Points</h3>

        <p>Letters documented in some references but not included:</p>
        <ul class="cp-list">
          <li><p>U+00E4 LATIN SMALL LETTER A WITH DIAERESIS</p></li>
          <li><p>U+00E5 LATIN SMALL LETTER A WITH RING ABOVE</p></li>
          <li><p>U+00E6 LATIN SMALL LETTER AE</p></li>
          <li><p>U+00EB LATIN SMALL LETTER E WITH DIAERESIS</p></li>
          <li><p>U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX</p></li>
          <li><p>U+00F6 LATIN SMALL LETTER O WITH DIAERESIS</p></li>
          <li><p>U+00F9 LATIN SMALL LETTER U WITH GRAVE</p></li>
          <li><p>U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX</p></li>
          <li><p>U+00FF LATIN SMALL LETTER Y WITH DIAERESIS</p></li>
          <li><p>U+0101 LATIN SMALL LETTER A WITH MACRON</p></li>
          <li><p>U+0103 LATIN SMALL LETTER A WITH BREVE</p></li>
          <li><p>U+0113 LATIN SMALL LETTER E WITH MACRON</p></li>
          <li><p>U+0115 LATIN SMALL LETTER E WITH BREVE</p></li>
          <li><p>U+012B LATIN SMALL LETTER I WITH MACRON</p></li>
          <li><p>U+012D LATIN SMALL LETTER I WITH BREVE</p></li>
          <li><p>U+014D LATIN SMALL LETTER O WITH MACRON</p></li>
          <li><p>U+014F LATIN SMALL LETTER O WITH BREVE</p></li>
          <li><p>U+0153 LATIN SMALL LIGATURE OE</p></li>
          <li><p>U+016B LATIN SMALL LETTER U WITH MACRON</p></li>
          <li><p>U+016D LATIN SMALL LETTER U WITH BREVE</p></li>
        </ul>

        <h3>Extended Code Points</h3>

        <p>A number of letters not considered essential to writing the core vocabulary of the language are nevertheless in common use. 
        Where they have not been added to the core repertoire, they are flagged as “extended-cp” in the table of code points.
        A context rule is provided that by default will prohibit labels with such extended code points. To support extended single code points or code point 
        sequences, delete the context “extended-cp” from their repertoire definition.</p>

        <p>Spanish being used in a large number of countries complicates the question of determining an extended set.
        The extended code points defined here include both the extensions for Catalan, for Spanish users in Spain (see [700]), 
        and for Portuguese, for Spanish users in, for example, Argentina (see [701]).  Spanish users in other countries may need
        extensions for words or names from additional minority languages.</p>

        <p>The extensions for Catalan include U+00B7 MIDDLE DOT for use in the sequence “l&#xB7;l” for the Ela Geminada in Catalan. 
        The LGR adds a context rule to satisfy the CONTEXTO
        constraint on U+00B7 MIDDLE DOT from RFC 5892 [122].
        Note that the precomposed U+0140 LATIN LETTER SMALL L WITH MIDDLE DOT
        is DISALLOWED under IDNA 2008 [IDNAREG].</p>

        <h2>Variants</h2>
        <p>The LGR defines certain allocatable fallback variants as
    described in Section 4.5.5 “Allocatable Fallback Variants” in [Level-2-Overview]. A fallback variant is a variant label that uses 
    substitute code points for code points or sequences not available (or not allowed) in some contexts, that would 
    otherwise be required for a linguistically accurate rendering of some label.</p>

    <p>When “fallback” variants are defined, two labels may be allocated: a single label with the spelling preferred by the 
    applicant, plus a single fallback variant for that label. 
    The fallback exclusively uses the fallback characters for any characters for which fallbacks are defined, while the
    “preferred” label may use any otherwise valid mix of code points. 
    If the fallback variant is the one applied for, no other variant label is allocatable.</p>

        <p>An allocatable fallback variant exists for the following pair where the second element is the fallback:</p>

        <ul>
          
          <li><p><b>U+00B7 MIDDLE DOT and U+002D HYPHEN-MINUS</b> &mdash; 
        the use of the hyphen as fallback for the middle dot in the Catalan Ela Geminada follows registry practice, see [704]. 
        The variant is limited to an Ela Geminada context.</p></li>
        </ul>
        
        <h3>In-script Variant Mapping Types</h3>
    <p>In each of the fallback variant pairs defined above, the mapping type from the first element to the second is of type
    “fallback”, while the variant type for the other direction is “blocked”. In addition, the first element of each pair uses the
    reflexive mapping “r-original”.
     (By convention, the prefix “r-” marks a type used in a reflexive variant mapping, that is, it represents an instance 
     of the original code point at that location in a variant label, see Section 5.3.4 in [RFC 7940].)</p>

        <p><b>Variant Disposition:</b> Except for limited exceptions for the fallback variants defined above, variants defined here result
    in a variant label disposition of “blocked”.</p>

        <p>No other variants are applicable when using the LGR in a standalone fashion.</p>

        <p><b>Variants Limited to Standalone Use</b> This LGR is not intended for use with LGRs for other 
    languages or scripts in the same zone. 
    The LGR does not define any “blocked” variants with code points in other languages or script that would 
    prevent malicious registration of duplicate labels perceived as the same by users. As a result of transitivity, 
    the scheme of internal variants defined here would have to be imposed on other LGRs 
    that contain copies or variants of the affected code points.</p>

    <p>If it is desired to support multiple languages in the same zone, the preferred method would be to support 
    the corresponding script LGRs, which cater to the use of multiple languages, and are designed with 
    the possibility of concurrent use in mind.</p>
        
        <p>The specification of variants in this LGR follows the guidelines in [RFC 8228].</p>

        <h2>Character Classes</h2>

        <p>This LGR does not define named character classes.</p>

        <h2>Rules</h2>
        <h3>Common Rules</h3>

        <p>By default, the LGR includes the rules and actions to implement the following restrictions mandated by the IDNA protocol. They are marked with &#x235F;.</p>
       <ul>
       <li><b>Hyphen Restrictions</b> &mdash; restrictions on the allowable placement of hyphens (no leading/ending hyphen
             and no hyphen in positions 3 and 4). These restrictions are described in Section 4.2.3.1 of RFC 5891 [150]. 
             They are implemented here as context rule on U+002D (-) HYPHEN-MINUS.</li>
          <li><b>Leading Combining Marks</b>   &mdash;  restrictions on the allowable placement of combining marks
             (no leading combining mark). This rule is described in Section 4.2.3.2 of RFC 5891 [150].</li>
       </ul>

        <h3>Language-specific Rules</h3>

        <p>The following context rule applies to U+00B7 MIDDLE DOT and its variants. 
    It ensures that the middle dot is part of an Ela Geminada sequence and variants between it and HYPHEN-MINUS are only defined in that context.</p>
    <ul>
    <li><b>surrounded-by-L</b> &mdash; code points are invalid and variants undefined when not surrounded by “l”</li>
    </ul>

    <p>The following WLE rule invalidates labels in which two Ela Geminada sequences overlap.</p>
    <ul>
    <li><b>dot-L-dot</b> &mdash; labels sharing a single “l” with two different middle dots are invalid</li>
    </ul>

        <h2>Actions</h2>

        <p>This LGR includes the default actions for LGRs as well as the action needed to
        invalidate labels with misplaced combining marks. They are marked with &#x235F;.
        For a description see [RFC 7940].</p>

        <p>Because this LGR defines allocatable fallback variants the following default actions are applicable.</p>

    <ul>
    <li><b>blocked</b> &mdash;  a variant label containing a blocked variant will receive a disposition of “blocked”.</li>
    <li><b>r-original</b> &mdash; a label containing one or more of this reflexive variant type 
       and no others represents an original label 
       and receives a disposition of “valid”.</li>
    <li><b>fallback</b> &mdash; a label containing one or more of these variant types and no others 
       represents a label that contains only fallback variants
       and receives a disposition of “allocatable”.</li> 
    <li><b>fallback plus other</b> &mdash; any label remaining containing both this variant type and any others
        receives a disposition of “blocked”.</li>
    </ul>
    <p>These actions resolve as “allocatable” any label where all variants are of type “fallback”, and as “valid” any label 
    where all variants are of type “r-original”. Labels with a mix of variant types are resolved as “blocked”.</p>
    
    <p>To account for original code points in a permuted variant, reflexive variant 
    mappings with an “r-” prefix are used. (See [RFC 7940]). 
    In particular, the mapping type “r-original” is given to any code point that has a fallback mapping, 
    but that appears in its non-fallback form in the original label, and thus “maps to itself”.</p>

        <h3>Language-specific Actions</h3>
   
        <p>An action has been defined to invalidate labels containing the sequence U+00B7 U+006C U+00B7 which could otherwise result in two Ela Geminada sequences overlapping.</p>

        <h2>Methodology and Contributors</h2>

        <p>The LGR in this document has been adapted from the corresponding Reference LGR for the Second Level. The Second Level Reference LGR for the Spanish Language was developed
        by Michel Suignard and Asmus Freytag, including input by Michael Everson,
        Nicholas Ostler, and Wil Tan, and based on multiple
        open public consultations.</p>

        <section id="change_history">
        <h3>Changes from Version Dated 10 October 2016</h3><p>Language tag has been updated.</p>
        
        <h3>Changes from Version Dated 18 May 2021</h3><p>Unicode Version has been updated.</p>

        <h3>Changes from Version Dated 24 January 2024</h3><p>The treatment of U+00B7 MIDDLE DOT has been changed to match that of the Latin script LGR.
        This adds a fallback variant between "l·l" and "l-l".</p>

            <h3>Changes from Version Dated 25 October 2024</h3>
        <p>Adopted from the Second Level Reference LGR for the Spanish Language [Ref-LGR-es-Latn] without normative changes.</p>
            </section>

        <h2>References</h2>
        <p>General references for the language:</p>
        <ul>
          <li><p>Maria Moliner, Diccionario del uso del español, Rba; 3rd edition (September 30, 2007), ISBN 978-8424928865</p></li>
          <li><p>Alvar Ezquerra, Manuel, ed. 1997. Diccionario avanzado lengua espa&ntilde;ola. Barcelona: Vox. ISBN 84-7153-947-0</p></li>
          <li><p>Castillo, Carlos, &amp; Otto F. Bond. 1987. The University of Chicago Spanish  dictionary. Chicago&London: University of Chicago Press.
          ISBN 0-226-10400-8</p></li>
          <li><p>Wikipedia: “Spanish orthography”, https://en.wikipedia.org/wiki/Spanish_alphabet</p></li>
          <li><p>Omniglot: “Spanish (español/castellano)” https://www.omniglot.com/writing/spanish.htm</p></li>
          <li<Wikipedia: “Catalan Orthography”, https://en.wikipedia.org/wiki/Catalan_orthography
        </ul>
        
        <p>Other references cited in this document:</p>
        <dl>
          <dt>[IDNAREG]</dt>
          <dd>IANA Registry: “IDNA Parameters”. For Unicode 11.0 available at: https://www.iana.org/assignments/idna-tables-11.0.0/idna-tables-11.0.0.xml accessed on 2015-11-24</dd>
          <dt>[Level-2-Overview]</dt>
          <dd>Internet Corporation for Assigned Names and Numbers, (ICANN),“Reference Label Generation Rules (LGR) for the Second Level: Overview and Summary” (PDF), 
     (Los Angeles, California: ICANN, 25 October 2024), https://www.icann.org/en/system/files/files/level2-lgr-overview-summary-25oct24-en.pdf
      </dd>
          <dt>[Ref-LGR-es-Latn]</dt>
          <dd>ICANN, Second Level Reference Label Generation Rules for the Spanish Language (es-Latn), 25 October 2024 (XML)
      https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-spanish-language-25oct24-en.xml
      non-normative HTML presentation: https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-spanish-language-25oct24-en.html</dd>
          <dt>[RFC 7940]</dt>
           <dd> Davies, K. and A. Freytag, “Representing Label Generation Rulesets Using XML”, 
     RFC 7940, August 2016, https://www.rfc-editor.org/info/rfc7940</dd>
          <dt>[RFC 8228]</dt>
          <dd>A. Freytag, “Guidance on Designing Label Generation Rulesets (LGRs) Supporting Variant Labels”, RFC 8228, August 2017,
    https://www.rfc-editor.org/info/rfc8228</dd>
         <dt>[Unicode 11.0.0]</dt>
         <dd>The Unicode Consortium. The Unicode Standard, Version 11.0.0, (Mountain View, CA: The Unicode Consortium, 2018. ISBN 978-1-936213-19-1) 
     https://www.unicode.org/versions/Unicode11.0.0/</dd>
        </dl>

           <p>In the listing of the <a href="#repertoire">repertoire by code point</a>, references starting from [0] refer to
        the version of the Unicode Standard in which the corresponding code point was initially encoded.
        Other references (starting from [100]) document usage of code points. Entries in the table may have
        multiple source reference values. 
        In the listing of <a href="#whole_label_evaluation_and_context_rules">whole label evaluation and context rules</a>,
        reference [150] indicates the source for common rules.
        For more details, see the      <a href="#table_of_references">Table of References</a> below.</p>

]]></description>
    <references>
      <reference id="0" comment="Code points cited were originally encoded in Unicode Version 1.1">The Unicode Standard, Version 1.1</reference>
      <reference id="100">Internetstiftelsen i Sverige (IIS), “IDN Reference table for Spanish language” 
         https://github.com/dotse/IDN-ref-tables/blob/master/language-tables/spanish-lang-ref-table.txt accessed on 2016-10-16</reference>
      <reference id="122">RFC 5982, Faltstrom, P., Ed., “The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)”, https://tools.ietf.org/html/rfc5892</reference>
      <reference id="150">RFC 5891, Internationalized Domain Names in Applications (IDNA): Protocol https://tools.ietf.org/html/rfc5891</reference>
      <reference id="200" comment="This table lists only the characters outside the set a-z">ISO/IEC 6937 Third Ed. 2001-12-17- Information 
	     technology — Coded graphic character set for text communication — Latin alphabet: Table D.1 (p 35) Use of Latin alphabetic characters.</reference>
      <reference id="301" comment="Code points cited form the standard set">Everson, Michael. The Alphabets of Europe: “Spanish” https://www.evertype.com/alphabets/spanish.pdf</reference>
      <reference id="302" comment="Code points cited are from an extended set">Everson, Michael. The Alphabets of Europe: “Spanish” https://www.evertype.com/alphabets/spanish.pdf</reference>
      <reference id="304" comment="Code points cited are rare or archaic">Everson, Michael. The Alphabets of Europe: “Spanish” https://www.evertype.com/alphabets/spanish.pdf</reference>
      <reference id="401" comment="Code points cited are from the set of Main Letters">The Unicode Consortium, Common Locale Data Repository (CLDR) Version 28 (2015-09-16) - 
	    Locale Data Summary for Spanish [es] https://www.unicode.org/cldr/charts/28/summary/es.html</reference>
      <reference id="402" comment="Code points cited are from the Auxiliary set">The Unicode Consortium, Common Locale Data Repository (CLDR) Version 28 (2015-09-16) - 
	    Locale Data Summary for Spanish [es] https://www.unicode.org/cldr/charts/28/summary/es.html</reference>
      <reference id="601" comment="According to this reference, the alphabet is listed as using the full basic set A-Z">Wikipedia: “Latin Alphabets”         
	    https://en.wikipedia.org/wiki/Latin_alphabets  accessed 2015-10-31</reference>
      <reference id="603" comment="Code points cited are supported in a national edition of ISO-646.">ISO/IEC 646:1991 — Information 
	    technology — ISO 7-bit coded character set for information interchange</reference>
      <reference id="604">Wikipedia: “Spanish orthography” https://en.wikipedia.org/wiki/Spanish_orthography</reference>
      <reference id="700">Dominios “.es”, Syntax regulations, in “Other applicable Regulations&quot;
	     https://www.dominios.es/dominios/en/todo-lo-que-necesitas-saber/normativa/otras-normas-aplicables#Sintaxis</reference>
      <reference id="701" comment="Registry for the &quot;.ar&quot; domain. Explicitly mentions that the repertoire includes both the Spanish and Portuguese alphabets">Dirección Nacional del Registro de Dominios de Internet, Normativa vigente,
	   https://nic.ar/normativa-vigente.xhtml</reference>
      <reference id="702">Wikipedia, Catalan Orthography, 
      https://en.wikipedia.org/wiki/Catalan_orthography, accessed on 28 November 2022</reference>
      <reference id="703">Fundacio PuntCAT registry (.CAT), IDN table for CAT_ca Version 1.0, 12 February 2006, 
      https://www.iana.org/domains/idn-tables/tables/cat_ca_1.0.html</reference>
      <reference id="704">Fundacio PuntCAT registry (.CAT), Rules of the .cat domain, 
      https://domini.cat/en/rules-of-the-cat-domain/</reference>
    </references>
  </meta>
  <data>
    <char cp="002D" not-when="hyphen-minus-disallowed" tag="sc:Zyyy" ref="0 100 301 401 601" comment="HYPHEN-MINUS">
      <var cp="00B7" when="surrounded-by-L" type="blocked" ref="704" comment="Middle dot in Ela Geminada" />
    </char>
    <char cp="0030" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT ZERO; &#x235F;" />
    <char cp="0031" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT ONE; &#x235F;" />
    <char cp="0032" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT TWO; &#x235F;" />
    <char cp="0033" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT THREE; &#x235F;" />
    <char cp="0034" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT FOUR; &#x235F;" />
    <char cp="0035" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT FIVE; &#x235F;" />
    <char cp="0036" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT SIX; &#x235F;" />
    <char cp="0037" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT SEVEN; &#x235F;" />
    <char cp="0038" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT EIGHT; &#x235F;" />
    <char cp="0039" tag="Common-digit sc:Zyyy" ref="0 100 301 401 601" comment="DIGIT NINE; &#x235F;" />
    <char cp="0061" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER A" />
    <char cp="0062" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER B" />
    <char cp="0063" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER C" />
    <char cp="0064" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER D" />
    <char cp="0065" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER E" />
    <char cp="0066" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER F" />
    <char cp="0067" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER G" />
    <char cp="0068" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER H" />
    <char cp="0069" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER I" />
    <char cp="006A" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER J" />
    <char cp="006B" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER K" />
    <char cp="006C" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER L" />
    <char cp="006D" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER M" />
    <char cp="006E" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER N" />
    <char cp="006F" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER O" />
    <char cp="0070" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER P" />
    <char cp="0071" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER Q" />
    <char cp="0072" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER R" />
    <char cp="0073" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER S" />
    <char cp="0074" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER T" />
    <char cp="0075" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER U" />
    <char cp="0076" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER V" />
    <char cp="0077" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER W" />
    <char cp="0078" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER X" />
    <char cp="0079" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER Y" />
    <char cp="007A" tag="sc:Latn" ref="0 100 301 401 601" comment="LATIN SMALL LETTER Z" />
    <char cp="00B7" when="surrounded-by-L" tag="sc:Zyyy" ref="0 100 122 702 703" comment="Catalan L·L - CONTEXTO for MIDDLE DOT in RFC 5892">
      <var cp="002D" when="surrounded-by-L" type="fallback" comment="Fallback" />
      <var cp="00B7" when="surrounded-by-L" type="r-original" comment="Middle Dot in the original label" />
    </char>
    <char cp="00E0" when="extended-cp" tag="sc:Latn" ref="0 402 700 701" comment="LATIN SMALL LETTER A WITH GRAVE" />
    <char cp="00E1" tag="sc:Latn" ref="0 100 200 301 401 604 700 701" comment="LATIN SMALL LETTER A WITH ACUTE" />
    <char cp="00E2" when="extended-cp" tag="sc:Latn" ref="0 402 701" comment="LATIN SMALL LETTER A WITH CIRCUMFLEX" />
    <char cp="00E3" when="extended-cp" tag="sc:Latn" ref="0 402 701" comment="LATIN SMALL LETTER A WITH TILDE" />
    <char cp="00E7" when="extended-cp" tag="sc:Latn" ref="0 402 603 700 701" comment="LATIN SMALL LETTER C WITH CEDILLA" />
    <char cp="00E8" when="extended-cp" tag="sc:Latn" ref="0 402 700" comment="LATIN SMALL LETTER E WITH GRAVE" />
    <char cp="00E9" tag="sc:Latn" ref="0 100 301 401 604 700 701" comment="LATIN SMALL LETTER E WITH ACUTE" />
    <char cp="00EA" when="extended-cp" tag="sc:Latn" ref="0 402 701" comment="LATIN SMALL LETTER E WITH CIRCUMFLEX" />
    <char cp="00EC" when="extended-cp" tag="sc:Latn" ref="0 200 402" comment="LATIN SMALL LETTER I WITH GRAVE" />
    <char cp="00ED" tag="sc:Latn" ref="0 100 200 301 401 604 700 701" comment="LATIN SMALL LETTER I WITH ACUTE" />
    <char cp="00EF" when="extended-cp" tag="sc:Latn" ref="0 402 604 700 701" comment="LATIN SMALL LETTER I WITH DIAERESIS" />
    <char cp="00F1" tag="sc:Latn" ref="0 100 200 301 401 603 604 700 701" comment="LATIN SMALL LETTER N WITH TILDE" />
    <char cp="00F2" when="extended-cp" tag="sc:Latn" ref="0 402 700" comment="LATIN SMALL LETTER O WITH GRAVE" />
    <char cp="00F3" tag="sc:Latn" ref="0 100 200 301 401 604 700 701" comment="LATIN SMALL LETTER O WITH ACUTE" />
    <char cp="00F4" when="extended-cp" tag="sc:Latn" ref="0 402 701" comment="LATIN SMALL LETTER O WITH CIRCUMFLEX" />
    <char cp="00F5" when="extended-cp" tag="sc:Latn" ref="0 402 701" comment="LATIN SMALL LETTER O WITH TILDE" />
    <char cp="00FA" tag="sc:Latn" ref="0 100 200 301 401 604 700 701" comment="LATIN SMALL LETTER U WITH ACUTE" />
    <char cp="00FC" tag="sc:Latn" ref="0 100 200 301 401 604 700 701" comment="LATIN SMALL LETTER U WITH DIAERESIS" />
  </data>
  <!--Rules section goes here-->
  <rules>
    <!--Character class definitions go here-->
    <!--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 HYPHEN-MINUS &#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">
          <look-behind>
            <start />
            <any />
            <any />
            <char cp="002D" comment="hyphen-minus" />
          </look-behind>
          <anchor />
        </rule>
      </choice>
    </rule>
    <rule name="extended-cp" comment="context to gate off code points from the extended range, matches no label &#x235F;">
      <start />
      <end />
    </rule>
    <rule name="surrounded-by-L" comment="code point both follows and precedes L, required context for Ela Geminada &#x235F;">
      <look-behind>
        <char cp="006C" />
      </look-behind>
      <anchor />
      <look-ahead>
        <char cp="006C" />
      </look-ahead>
    </rule>
    <rule name="dot-L-dot" comment="labels with one L sharing two middle dots are invalid &#x235F;">
      <char cp="00B7 006C 00B7" />
    </rule>
    <!--Action elements go here - order defines precedence-->
    <action disp="invalid" match="leading-combining-mark" comment="by default, labels with leading combining marks are invalid" />
    <action disp="invalid" match="dot-L-dot" comment="labels with one L sharing two middle dots are invalid &#x235F;" />
    <action disp="blocked" any-variant="blocked" comment="any variant label containing blocked variants is blocked &#x235F;" />
    <action disp="allocatable" all-variants="fallback" comment="any label with all variants of type fallback is allocatable &#x235F;" />
    <action disp="blocked" any-variant="fallback" comment="any variant label with a mix of variant forms is blocked &#x235F;" />
    <action disp="valid" all-variants="r-original" comment="any remaining label containing only original code points is valid  &#x235F;" />
    <action disp="valid" comment="catch all" />
  </rules>
</lgr>