﻿<?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>en</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 English</h1>
        <h2>Overview</h2>
        <p>This document specifies a set of Label Generation Rules (LGR) for the English 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 English Language” [Ref-LGR-en-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>All references converge on 26 Latin code points as minimal requirement for English. This requirement can
        be met with non-IDN labels. However, a limited number of accented letters and other forms are in reasonably
        prevalent use, whether for spelling loan words or names. Their use is optional in the orthography, and they
        are treated as “extended” code points here, which can be made available as described <a href="#extended_cp">below</a>.</p>

        <p>The range of ccTLDs with English as a native language is extensive. However, their requirements for letters outside
        the standard alphabet are expected to be affected by undocumented local factors making them unreliable guides for IDN extension.</p>

       <h3>Excluded code points</h3>

        <p>Letters documented in some references but not included:</p>
        <ul  class="cp-list">
          <li><p>U+00E3 LATIN SMALL LETTER A WITH TILDE</p></li>
          <li><p>U+00E5 LATIN SMALL LETTER A WITH RING ABOVE</p></li>
          <li><p>U+00EC LATIN SMALL LETTER I WITH GRAVE</p></li>
          <li><p>U+00F0 LATIN SMALL LETTER ETH</p></li>
          <li><p>U+00F2 LATIN SMALL LETTER O WITH GRAVE</p></li>
          <li><p>U+00F8 LATIN SMALL LETTER O WITH STROKE</p></li>
          <li><p>U+00F9 LATIN SMALL LETTER U WITH GRAVE</p></li>
          <li><p>U+00FE LATIN SMALL LETTER THORN</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+0161 LATIN SMALL LETTER S WITH CARON</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>
          <li><p>U+01BF LATIN LETTER WYNN</p></li>
          <li><p>U+021D LATIN SMALL LETTER YOGH</p></li>
          <li><p>U+1E13 LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW</p></li>
          <li><p>U+1E3D LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW</p></li>
          <li><p>U+1E45 LATIN SMALL LETTER N WITH DOT ABOVE</p></li>
          <li><p>U+1E4B LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW</p></li>
          <li><p>U+1E71 LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW</p></li>
        </ul>

        <h3 id="extended-cp">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>As the native vocabulary of English is commonly written with only the core alphabet of 26 Basic Latin letters, the main 
        rationale for developing an LGR that covers IDNs is to be able to write loan words. This might argue for including the extensions 
        by default in the LGR. However, there is no clear consensus on what constitutes a core set of extensions, and there are regional 
        differences in their use. As a result, code points with multiple sources have been marked as extended, while code points with fewer
        sources are listed above in the excluded set. The exception are U+00ED LATIN SMALL LETTER I WITH ACUTE and
        U+00FA LATIN SMALL LETTER U WITH ACUTE which were added to the extended set because of their use in Irish names.</p>

        <h2>Variants</h2>
        <p>Historically, no variants have been defined between any of the ASCII characters forming the repertoire for non-IDN labels.
        However, for IDN labels, variants may exist between ASCII and other characters. This LGR defines the variants described
        here for the   <a href="extended_cp">   extended code points</a>, but they have no effect unless those characters are enabled.</p>

        <p>In English usage the diaeresis, in particular, is not consistently employed and therefore something like a free
        spelling variant that is not consciously registered by most users. In fanciful usage, it is even treated
        like a decoration. Omitting it usually does not change the meaning of a word.<p>

        <p>By default, this LGR treats all forms of a label with or without the diaeresis as <a href="#optionally_enabled_variants">optionally-enabled</a> variants 
        which would prevent them from being delegated to two different entities simultaneously. In order to restrict the number of
        allocatable variants, only one accented form can be allocated alongside the non-accented form. If the desired
        accented form has been applied for, the non-accented form would then be a variant that is allocatable
        to the original applicant. This covers the most common scenario of a single “correct” accented form, plus a
        non-accented “fallback”.</p>
       
        <p>For example, this means that if a label like “na&#x00EF;ve” is applied for, the label “naive” would be
        allocatable; alternatively, if the label “naive” is applied for, the label “na&#x00EF;ve” would be blocked.</p>

        <p>This extension to in-language variants is not compatible with using this LGR in a zone with another LGR and 
        using the Common LGR to process conflicts between labels from multiple LGRs as described in Section 3 “Use of Multiple Reference LGRs in the Same Zone” in [Level-2-Overview].</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>

        <h3 id="optionally_enabled_variants">Optionally-enabled Variants</h3>

        <p>Certain variants in this LGR are defined as optionally enabled. They are using the context rule “enabled”.
         This context rule matches any label (it always succeeds). Any variant marked with when=“enabled” (in the XML file) 
         is in force, while marking it with not-when=“enabled” causes the variant definition to be ignored in processing.
         This allows these variants to be disabled, for example, to better match legacy practice for a given zone.</p>

        <p>Care must be taken to enable or disable variants so that all variant mappings to and from the 
         same code point are either enabled or disabled at the same time, ensuring that all enabled variant 
         mappings remain symmetric and transitive.</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>The LGR includes the rules and actions to implement the following restrictions, some of which are mandated by the IDNA
         protocol. They are marked with &#x235F; and included here by default. A special context rule enables optional variants by default.</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>
       <li><b>Enabled</b> &mdash; matches any label. Used as variant context rule; any variant with 
               <code>when="enabled"</code> in the xml will be active, while any with <code>not-when="enabled"</code> will be inactive.</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>
        
        <p>Default actions that are
        triggered by the LGR-specific variant types described above limit the “allocatable” variant
        labels to those variants resulting from removal of the diaeresis, while disallowing mixed use 
        of variants with or without diaeresis, except as in the original applied-for label.
        The use of such variants is <a>"optionally_enabled_variants">optionally enabled</a> 
        in this LGR.</p>

        <p>Note that the mapping types for variants are not symmetric: they depend on which code point is considered
     the source or the target in a given mapping. As specified in [RFC 7940], when mapping types are evaluated
     code points in a label that are unchanged use the type of their “reflexive” mapping. 
     Per [RFC 7940] the actions are always applied one after the other, and the evaluation stops at the first 
     action that assigns a disposition to a given label.</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 English 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>

         <p>Based on further review in connections with updates to the reference LGR for the
         French language [Ref-LGR-fr],   the addition of fallback variants between letters with diaeresis and their ASCII 
         base letters appears indicated. These variants are enabled here by default, but are marked
         as “enabled” to allow registries to deactivate them if required.</p>
        
        <h3>Changes from Version Dated 25 October 2024</h3>
        <p>Adopted from the Second Level Reference LGR for the English Language [Ref-LGR-en-Latn] without normative changes.</p>
        </section>

        <h2>References</h2>
        <p>General references for the language:</p>
        <ul>
          <li><p>Allen, R. E., ed. 1990. The concise Oxford dictionary of current English. 8th ed. Oxford: Clarendon Press. ISBN 0-19-861200-1</p></li>
          <li><p>Bringhurst, Robert. 1997. The elements of typographic style. 2nd ed. Point- Roberts, WA; Vancouver, BC: Hartley &amp; Marks. ISBN 0-88179-133-4</p></li>
           <li><p>Wikipedia: “English alphabet”, https://en.wikipedia.org/wiki/English_alphabet</p></li>
        </ul>

        <p>In addition, the following references were consulted:</p>
        <dl class="references">
         <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-en-Latn]</dt>
         <dd>ICANN, Second Level Reference Label Generation Rules for the English Language (en-Latn), 25 October 2024 (XML)
      https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-english-language-25oct24-en.xml
      non-normative HTML presentation: https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-english-language-25oct24-en.html</dd>
         <dt>[Ref-LGR-fr]</dt>
         <dd>ICANN, Second Level Reference Label Generation Rules for the French Language (fr), 25 October 2024 (XML)
          https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-french-language-25oct24-en.xml
          non-normative HTML presentation: https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-french-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 English language” 
       https://github.com/dotse/IDN-ref-tables/blob/master/language-tables/english-lang-ref-table.txt accessed on 2016-10-16</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: “English” https://www.evertype.com/alphabets/english.pdf</reference>
      <reference id="302" comment="Code points cited are from an extended set">Everson, Michael. The Alphabets of Europe: “English” https://www.evertype.com/alphabets/english.pdf</reference>
      <reference id="304" comment="Code points cited are rare or archaic">Everson, Michael. The Alphabets of Europe: “English” https://www.evertype.com/alphabets/english.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 forEnglish [en] https://www.unicode.org/cldr/charts/28/summary/en.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 forEnglish [en] https://www.unicode.org/cldr/charts/28/summary/en.html</reference>
      <reference id="403" comment="Code points cited are from an extension for locale EN_ZA">The Unicode Consortium, Common Locale Data Repository (CLDR) Version 28 (2015-09-16) - 
        Locale Data Summary for English [en] https://www.unicode.org/cldr/charts/28/summary/en.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="604" comment="The table only lists code points beyond A-Z">Wikipedia: “ Latin Alphabets” in https://en.wikipedia.org/wiki/Latin_alphabets accessed 2015-10-31</reference>
      <reference id="605" comment="Code points cited are listed as in extended use based on use of accent in loan words">Wikipedia: “English orthography” 
        https://en.wikipedia.org/wiki/English_orthography</reference>
    </references>
  </meta>
  <data>
    <char cp="002D" not-when="hyphen-minus-disallowed" tag="sc:Zyyy" ref="0 100 301 401 601" comment="HYPHEN-MINUS" />
    <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">
      <var cp="00E4" when="enabled" type="blocked" comment="Spelling variant in English" />
    </char>
    <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">
      <var cp="00EB" when="enabled" type="blocked" comment="Spelling variant in English" />
    </char>
    <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">
      <var cp="00EF" when="enabled" type="blocked" comment="Spelling variant in English" />
    </char>
    <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">
      <var cp="00F6" when="enabled" type="blocked" comment="Spelling variant in English" />
    </char>
    <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">
      <var cp="00FC" when="enabled" type="blocked" comment="Spelling variant in English" />
    </char>
    <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="00E0" when="extended-cp" tag="sc:Latn" ref="0 301 402 604" comment="LATIN SMALL LETTER A WITH GRAVE" />
    <char cp="00E1" when="extended-cp" tag="sc:Latn" ref="0 402 604" comment="LATIN SMALL LETTER A WITH ACUTE" />
    <char cp="00E2" when="extended-cp" tag="sc:Latn" ref="0 402 604" comment="LATIN SMALL LETTER A WITH CIRCUMFLEX" />
    <char cp="00E4" when="extended-cp" tag="sc:Latn" ref="0 402 604" comment="LATIN SMALL LETTER A WITH DIAERESIS">
      <var cp="0061" when="enabled" type="fallback" comment="Spelling variant in English, base form" />
      <var cp="00E4" when="enabled" type="r-original" comment="as original code point" />
    </char>
    <char cp="00E6" when="extended-cp" tag="sc:Latn" ref="0 301 402 604" comment="LATIN SMALL LETTER AE" />
    <char cp="00E7" when="extended-cp" tag="sc:Latn" ref="0 100 301 402 604" comment="LATIN SMALL LETTER C WITH CEDILLA" />
    <char cp="00E8" when="extended-cp" tag="sc:Latn" ref="0 200 301 402 604" comment="LATIN SMALL LETTER E WITH GRAVE" />
    <char cp="00E9" when="extended-cp" tag="sc:Latn" ref="0 100 200 301 402 604" comment="LATIN SMALL LETTER E WITH ACUTE" />
    <char cp="00EA" when="extended-cp" tag="sc:Latn" ref="0 200 301 402 604" comment="LATIN SMALL LETTER E WITH CIRCUMFLEX" />
    <char cp="00EB" when="extended-cp" tag="sc:Latn" ref="0 100 200 301 402 604" comment="LATIN SMALL LETTER E WITH DIAERESIS">
      <var cp="0065" when="enabled" type="fallback" comment="Spelling variant in English, base form" />
      <var cp="00EB" when="enabled" type="r-original" comment="as original code point" />
    </char>
    <char cp="00ED" when="extended-cp" tag="sc:Latn" ref="0 402" comment="LATIN SMALL LETTER I WITH ACUTE" />
    <char cp="00EE" when="extended-cp" tag="sc:Latn" ref="0 402 604" comment="LATIN SMALL LETTER I WITH CIRCUMFLEX" />
    <char cp="00EF" when="extended-cp" tag="sc:Latn" ref="0 100 301 402 604" comment="LATIN SMALL LETTER I WITH DIAERESIS">
      <var cp="0069" when="enabled" type="fallback" comment="Spelling variant in English, base form" />
      <var cp="00EF" when="enabled" type="r-original" comment="as original code point" />
    </char>
    <char cp="00F1" when="extended-cp" tag="sc:Latn" ref="0 301 402" comment="LATIN SMALL LETTER N WITH TILDE" />
    <char cp="00F3" when="extended-cp" tag="sc:Latn" ref="0 402 604" comment="LATIN SMALL LETTER O WITH ACUTE" />
    <char cp="00F4" when="extended-cp" tag="sc:Latn" ref="0 100 301 402 604" comment="LATIN SMALL LETTER O WITH CIRCUMFLEX" />
    <char cp="00F6" when="extended-cp" tag="sc:Latn" ref="0 100 301 402 604" comment="LATIN SMALL LETTER O WITH DIAERESIS">
      <var cp="006F" when="enabled" type="fallback" comment="Spelling variant in English, base form" />
      <var cp="00F6" when="enabled" type="r-original" comment="as original code point" />
    </char>
    <char cp="00FA" when="extended-cp" tag="sc:Latn" ref="0 402" comment="LATIN SMALL LETTER U WITH ACUTE" />
    <char cp="00FB" when="extended-cp" tag="sc:Latn" ref="0 402 604" comment="LATIN SMALL LETTER U WITH CIRCUMFLEX" />
    <char cp="00FC" when="extended-cp" tag="sc:Latn" ref="0 402 604" comment="LATIN SMALL LETTER U WITH DIAERESIS">
      <var cp="0075" when="enabled" type="fallback" comment="Spelling variant in English, base form" />
      <var cp="00FC" when="enabled" type="r-original" comment="as original code point" />
    </char>
    <char cp="0153" when="extended-cp" tag="sc:Latn" ref="0 301 402 604" comment="LATIN SMALL LIGATURE OE" />
  </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="enabled" comment="use as when-context to enable: matches any label &#x235F;">
      <start />
      <any count="0+" />
      <end />
    </rule>
    <!--Action elements go here - order defines precedence-->
    <action disp="invalid" match="leading-combining-mark" comment="labels with leading combining marks are invalid &#x235F;" />
    <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="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 (default action) &#x235F;" />
  </rules>
</lgr>