﻿<?xml version="1.0" encoding="utf-8"?>
<lgr xmlns="urn:ietf:params:xml:ns:lgr-1.0">
  <meta>
    <version>4</version>
    <!--  <icann-lgr-version>3</icann-lgr-version>  -->
    <date>2026-01-26</date>
    <language>fi</language>
    <unicode-version>11.0.0</unicode-version>
    <description type="text/html"><![CDATA[

   <section id="registry_contact_details">
<h2>Registry Contact Details</h2>
<ul style="list-style:none;">
<li><b>Contact Name:</b> Registry support</li>
<li><b>Email address:</b> support@bigroom.eco</li>
</ul>
</section>

        <h1>Label Generation Rules for Finnish</h1>
        <h2>Overview</h2>
        <p>This document specifies a set of Label Generation Rules (LGR) for the Finnish 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 Finnish Language” [Ref-LGR-fi-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 30 Latin code points.</p>

        <p>The list of IDN characters by the .fi ccTLD includes the core Finnish alphabet as well as extensions for the Sami languages written in Finland.</p>

       <h3>Excluded code points</h3>

        <p>Letters documented in some references but not included:</p>
        <ul class="cp-list">
              <li><p>U+00E0 LATIN SMALL LETTER A WITH GRAVE</p></li>
              <li><p>U+00E7 LATIN SMALL LETTER C WITH CEDILLA</p></li>
              <li><p>U+00E8 LATIN SMALL LETTER E WITH GRAVE</p></li>
              <li><p>U+00E9 LATIN SMALL LETTER E WITH ACUTE</p></li>
              <li><p>U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX</p></li>
              <li><p>U+00EB LATIN SMALL LETTER E WITH DIAERESIS</p></li>
              <li><p>U+00ED LATIN SMALL LETTER I WITH ACUTE</p></li>
              <li><p>U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX</p></li>
              <li><p>U+00EF LATIN SMALL LETTER I WITH DIAERESIS</p></li>
              <li><p>U+00F0 LATIN SMALL LETTER ETH</p></li>
          </ul>
          <p>The following code points are not included in the current repertoire;they 
        are extensions needed to write Lule Sami, Skolt Sami, and Northern Sami, minority languages in Finland.</p>
          <ul class="cp-list">
              <li><p>U+010D LATIN SMALL LETTER C WITH CARON</p></li>
              <li><p>U+0111 LATIN SMALL LETTER D WITH STROKE</p></li>
              <li><p>U+014B LATIN SMALL LETTER ENG</p></li>
              <li><p>U+0167 LATIN SMALL LETTER T WITH STROKE</p></li>
              <li><p>U+01E5 LATIN SMALL LETTER G WITH STROKE</p></li>
              <li><p>U+01E7 LATIN SMALL LETTER G WITH CARON</p></li>
              <li><p>U+01E9 LATIN SMALL LETTER K WITH CARON</p></li>
              <li><p>U+01EF LATIN SMALL LETTER EZH WITH CARON</p></li>
              <li><p>U+0292 LATIN SMALL LETTER EZH</p></li>
             </ul>
        <p>Note: the code point U+00E1 LATIN SMALL LETTER A WITH ACUTE (Northern Sami, Inari Sami) is already part 
         of the core repertoire for other uses and the code point U+00F5 LATIN SMALL LETTER O WITH TILDE (Skolt Sami) 
         is part of set of extended code points.</p>

         <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>

<h2>Variants</h2>
        <p>No variants are applicable when using the LGR in a standalone fashion.</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>

<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>

<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 Finnish 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 25 October 2024</h3>
        <p>Adopted from the Second Level Reference LGR for the Finnish Language [Ref-LGR-fi-Latn] without normative changes.</p>
        </section>

        <h2>References</h2>
        <p>General references for the language:</p>
        <ul>
          <li><p>Finska språbykrån. 1992. In Icelandic Council for Standardization. 1992. Nordic cultural
                        requirements on information technology. Reykjavík: Staðlaráð Íslands.
                        ISBN 9979-9004-3-1</p></li>
            <li><p>Wikipedia: “Finnish orthography”, https://en.wikipedia.org/wiki/Finnish_alphabet</p></li>
            <li><p>Omniglot: Finnish (suomi)  https://www.omniglot.com/writing/finnish.htm</p></li>
        </ul>

        <p>Other references cited in this document:</p>
        <dl>
         <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>[Ref-LGR-fi-Latn]</dt>
              <dd>ICANN, Second Level Reference Label Generation Rules for the Finnish Language (fi-Latn), 25 October 2024 (XML)
      https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-finnish-language-25oct24-en.xml
      non-normative HTML presentation: https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-finnish-language-25oct24-en.html</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="Any code    point originally encoded in Unicode Version 1.1">The Unicode Consortium. The Unicode Standard, Version 1.1</reference>
      <reference id="100">Internetstiftelsen i Sverige (IIS), “IDN Reference table for Finnish language” 
	      https://github.com/dotse/IDN-ref-tables/blob/master/language-tables/finnish-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: “Finnish” https://www.evertype.com/alphabets/finnish.pdf</reference>
      <reference id="302" comment="Code points cited are from an extended set">Everson, Michael. The Alphabets of Europe: “Finnish” https://www.evertype.com/alphabets/finnish.pdf</reference>
      <reference id="304" comment="Code points cited are rare or archaic">Everson, Michael. The Alphabets of Europe: “Finnish” https://www.evertype.com/alphabets/finnish.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 Finnish [fi] https://www.unicode.org/cldr/charts/28/summary/fi.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 Finnish [fi] https://www.unicode.org/cldr/charts/28/summary/fi.html</reference>
      <reference id="501" comment="Code points cited are of category 1: Letters essential for the language">Finska språbykrån. 1992. In Icelandic Council for Standardization. 1992.
	    Nordic cultural requirements on information technology. Reykjavík: Staðlaráð Íslands.  ISBN 9979-9004-3-1</reference>
      <reference id="502" comment="Code points cited are of category 2: Letters commonly used, but not essential">Finska språbykrån. 1992. In Icelandic Council for Standardization. 1992. 
	    Nordic cultural requirements on information technology. Reykjavík: Staðlaráð Íslands.  ISBN 9979-9004-3-1</reference>
      <reference id="503" comment="Code points cited are of category 3: Letters used for names, in common practice">Finska språbykrån. 1992. In Icelandic Council for Standardization. 1992. 
	    Nordic cultural requirements on information technology. Reykjavík: Staðlaráð Íslands.  ISBN 9979-9004-3-1</reference>
      <reference id="504" comment="Code points cited are of category 4: Letters that are rarely used">Finska språbykrån. 1992. In Icelandic Council for Standardization. 1992. 
	    Nordic cultural requirements on information technology. Reykjavík: Staðlaráð Íslands.  ISBN 9979-9004-3-1</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="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” 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 --s s and z caron as recommended for transcribing foreign words">Wikipedia: “Finnish orthography&quot;
	      https://en.wikipedia.org/wiki/Finnish_orthography-</reference>
      <reference id="700">Finnish Communications Regulatory Authority, (fi-domain) “Native language characters in domain names” 
	      https://domain.fi/info/en/index/hakeminen/mitavoihakea/aakkoset.html</reference>
    </references>
  </meta>
  <data>
    <char cp="002D" not-when="hyphen-minus-disallowed" tag="sc:Zyyy" ref="0 100 301 401 501 601" comment="HYPHEN-MINUS" />
    <char cp="0030" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT ZERO; &#x235F;" />
    <char cp="0031" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT ONE; &#x235F;" />
    <char cp="0032" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT TWO; &#x235F;" />
    <char cp="0033" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT THREE; &#x235F;" />
    <char cp="0034" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT FOUR; &#x235F;" />
    <char cp="0035" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT FIVE; &#x235F;" />
    <char cp="0036" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT SIX; &#x235F;" />
    <char cp="0037" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT SEVEN; &#x235F;" />
    <char cp="0038" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT EIGHT; &#x235F;" />
    <char cp="0039" tag="Common-digit sc:Zyyy" ref="0 100 301 401 501 601" comment="DIGIT NINE; &#x235F;" />
    <char cp="0061" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER A" />
    <char cp="0062" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER B" />
    <char cp="0063" tag="sc:Latn" ref="0 100 302 402 501 601" comment="LATIN SMALL LETTER C" />
    <char cp="0064" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER D" />
    <char cp="0065" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER E" />
    <char cp="0066" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER F" />
    <char cp="0067" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER G" />
    <char cp="0068" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER H" />
    <char cp="0069" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER I" />
    <char cp="006A" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER J" />
    <char cp="006B" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER K" />
    <char cp="006C" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER L" />
    <char cp="006D" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER M" />
    <char cp="006E" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER N" />
    <char cp="006F" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER O" />
    <char cp="0070" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER P" />
    <char cp="0071" tag="sc:Latn" ref="0 100 302 401 501 601" comment="LATIN SMALL LETTER Q" />
    <char cp="0072" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER R" />
    <char cp="0073" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER S" />
    <char cp="0074" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER T" />
    <char cp="0075" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER U" />
    <char cp="0076" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER V" />
    <char cp="0077" tag="sc:Latn" ref="0 100 302 401 501 601" comment="LATIN SMALL LETTER W" />
    <char cp="0078" tag="sc:Latn" ref="0 100 302 401 501 601" comment="LATIN SMALL LETTER X" />
    <char cp="0079" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER Y" />
    <char cp="007A" tag="sc:Latn" ref="0 100 301 401 501 601" comment="LATIN SMALL LETTER Z" />
    <char cp="00E1" tag="sc:Latn" ref="0 402 700" comment="LATIN SMALL LETTER A WITH ACUTE" />
    <char cp="00E2" tag="sc:Latn" ref="0 402 700" comment="LATIN SMALL LETTER A WITH CIRCUMFLEX" />
    <char cp="00E3" tag="sc:Latn" ref="0 402" comment="LATIN SMALL LETTER A WITH TILDE" />
    <char cp="00E4" tag="sc:Latn" ref="0 100 200 301 401 501 603 604 700" comment="LATIN SMALL LETTER A WITH DIAERESIS" />
    <char cp="00E5" tag="sc:Latn" ref="0 100 302 401 501 603 604 700" comment="LATIN SMALL LETTER A WITH RING ABOVE" />
    <char cp="00E6" when="extended-cp" tag="sc:Latn" ref="0 302" comment="LATIN SMALL LETTER AE" />
    <char cp="00F5" when="extended-cp" tag="sc:Latn" ref="0 200 302 503 700" comment="LATIN SMALL LETTER O WITH TILDE" />
    <char cp="00F6" tag="sc:Latn" ref="0 100 301 401 501 603 604 700" comment="LATIN SMALL LETTER O WITH DIAERESIS" />
    <char cp="00F8" when="extended-cp" tag="sc:Latn" ref="0 302 503" comment="LATIN SMALL LETTER O WITH STROKE" />
    <char cp="00FC" when="extended-cp" tag="sc:Latn" ref="0 302 503" comment="LATIN SMALL LETTER U WITH DIAERESIS" />
    <char cp="0161" when="extended-cp" tag="sc:Latn" ref="0 401 503 604 700" comment="LATIN SMALL LETTER S WITH CARON" />
    <char cp="017E" when="extended-cp" tag="sc:Latn" ref="0 401 503 604 700" comment="LATIN SMALL LETTER Z WITH CARON" />
  </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>
    <!--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="valid" comment="catch all" />
  </rules>
</lgr>