Tamil
Root Zone Label Generation Rules, 5th Edition
Summary
| Version | 5 — Root Zone LGR for the Tamil Script |
|---|---|
| Date | |
| Tag |
und-Taml (Tamil)
|
| Unicode | 11.0.0 |
| Scope | DNS root zone |
| Source file | rz-lgr-5-tamil-script-26may22-en.xml (17.9kb) |
Description
Root Zone Label Generation Rules for the Tamil Script
Overview
This file contains Label Generation Rules (LGR) for the Tamil script for the Root Zone. For more details on this LGR and additional background on the script, see “Proposal for a Tamil Script Root Zone Label Generation Rule-Set (LGR)” [Proposal-Tamil]. This file is one of a set of LGR files that together form an integrated LGR for the DNS Root Zone [RZ-LGR-5]. The format of this file follows [RFC 7940].
Repertoire
According to Section 5, “Repertoire” in [Proposal-Tamil] the Tamil LGR contains 48 single code points and 4 sequences. This LGR caters to the Tamil language written using Tamil script.
The repertoire is based on [MSR-5], which is a subset of [Unicode 11.0].
Read the rest of the description Show less
As part of the Root Zone, this LGR includes neither decimal digits nor the HYPHEN-MINUS.
Code points outside the Tamil script that are listed in this file are targets for out-of-script variants and are identified by a reflexive (identity) variant of type “out-of-repertoire-var”. They do not form part of the repertoire.
Each code point is tagged with the script or scripts with which the code point is used, one or more ohter character categories, and one or more references documenting sufficient justification for inclusion in the repertoire; see “References” below. Comments provide alternate names of some code points.
Variants
According to Section 6, “Variants”, in [Proposal-Tamil], this LGR defines four sequences as in-script variants. Two of them are variants to single code points; the other two are variants of each other; all defined variants look exactly alike and can cause confusion even to a careful observer.
In addition to these, this LGR defines 6 cross-script variants with the Malayalam script.
Variant Disposition: Except as noted, 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 any other equivalent label should be blocked.
For historical reasons, there are two sequences that both represent the same akshar (Shri) with exactly the same rendered form. These two sequences are thus semantically identical and users may choose either one, except that a single label must use one of these forms consistently. This variant pair is thus being defined as “allocatable” variant. (For more details see Section 6.1 in [Proposal-Tamil].)
The specification of variants in the Root Zone LGR follows the guidelines in [RFC 8228].
Character Classes
Tamil is an alphasyllabary and the heart of the writing system is the Akshar. This is the unit which is instinctively recognized by users of the script. The writing system of Tamil could be summed up as composed of Consonants, the Implicit Vowel Killer: Halant, Vowels and Visarga/Aytham.
Consonants: More details in Section 3.3.1, “The Consonants” in [Proposal-Tamil].
Halant / Virama: All consonants contain an implicit vowel /a/. A special sign is needed to denote that this implicit vowel is stripped off. This is known as the Pulli and encoded as U+0BCD ( ் ) TAMIL SIGN VIRAMA. The virama thus joins two adjacent consonants. In Tamil, there are only two cases where this forms conjuncts. More details in Section 3.3.2, “Virama/Pulli” of the [Proposal-Tamil].
Vowels and Matras: Separate symbols exist for all Vowels that are pronounced independently either at the beginning or after another vowel sound. To indicate a Vowel sound other than the implicit one following a consonant, a Vowel sign (matra) is attached to the consonant. Since the consonant has a built-in /a/, there are equivalent Matras for all vowels excepting the அ. More details in Section 3.3.3, “Vowels” in [Proposal-Tamil].
Visarga: The Visarga (or Aytham) is used in Tamil to represent a sound very close to /ḵ/. More details in Section 3.3.4, “Visarga/Aytham” in [Proposal-Tamil].
Whole Label Evaluation (WLE) and Context Rules
Default Whole Label Evaluation Rules and Actions
The LGR includes the set of required default WLE rules and actions applicable to the Root Zone and defined in [MSR-5]. They are marked with ⍟. The default prohibition on leading combining marks is equivalent to ensuring that a label only starts with a consonant or vowel.
Tamil-specific Rules and Action
These rules have been drafted to ensure that the prospective Tamil label conforms to akshar formation norms as desired in Tamil script. These norms are exclusively presented as context rules.
The following symbols are used in the WLE rules:
C → Consonant
M → Matra
H → Haleant / Virama =Pulli
X → Visarga = Aytham
The rules are:
- H: must be preceded by C
- M: must be preceded by C
- X: cannot be preceded by X
The following whole-label rule and associated action prevent the mixing of two allocatable variants of the same sequence within the same label. This reduces overproduction of variant labels.
- Two representations of ‘Shri’ cannot be mixed in the same label
More details in Section 7, “Whole Label Evaluation Rules (WLE)” in [Proposal-Tamil].
Methodology and Contributors
The Root Zone LGR for the Tamil script was developed by the Neo-Brahmi Generation Panel (NBGP) the members of which have experience in linguistics and computational linguistics in a wide variety of languages written with Neo-Brahmi scripts. Under the Neo-Brahmi Generation Panel, there are nine scripts belonging to separate Unicode blocks. Each of these scripts has been assigned a separate LGR, with the Neo-Brahmi GP ensuring that the fundamental philosophy behind building each LGR is in sync with all other Brahmi-derived scripts. For further details on methodology and contributors, see Sections 4 and 8 in [Proposal-Tamil], as well as [RZ-LGR-5-Overview].
Change from Version 4
Changed the implementation of rule “preceded-by-X” to use “look-behind” instead of “look-ahead”. As the rule prevents two adjacent Visargas, the change has no effect on the restriction imposed, but the change makes it easier for a reader to verify that the rule is correctly implemented.
References
The following general references are cited in this document:
- [MSR-5]
- Integration Panel, “Maximal Starting Repertoire — MSR-5 Overview and Rationale”, 24 June 2021, https://www.icann.org/en/system/files/files/msr-5-overview-24jun21-en.pdf
- [Proposal-Tamil]
- Neo-Brahmi Generation Panel, “Proposal for a Tamil Script Root Zone Label Generation Rule-Set (LGR)”, 6 March 2019, https://www.icann.org/en/system/files/files/proposal-tamil-lgr-06mar19-en.pdf
- [RFC 7940]
- Davies, K. and A. Freytag, “Representing Label Generation Rulesets Using XML”, RFC 7940, August 2016, https://www.rfc-editor.org/info/rfc7940
- [RFC 8228]
- A. Freytag, “Guidance on Designing Label Generation Rulesets (LGRs) Supporting Variant Labels”, RFC 8228, August 2017, https://www.rfc-editor.org/info/rfc8228
- [RZ-LGR-5-Overview]
- Integration Panel, “Root Zone Label Generation Rules (RZ LGR-5): Overview and Summary”, 26 May 2022, https://www.icann.org/sites/default/files/lgr/rz-lgr-5-overview-26may22-en.pdf
- [RZ-LGR-5]
- Integration Panel, “Root Zone Label Generation Rules (RZ-LGR-5)”, 26 May 2022 (XML), https://www.icann.org/sites/default/files/lgr/rz-lgr-5-common-26may22-en.xml
non-normative HTML presentation: https://www.icann.org/sites/default/files/lgr/rz-lgr-5-common-26may22-en.html - [Unicode 11.0]
- 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/
For references consulted particularly in designing the repertoire for the Tamil script for the Root Zone please see details in the Table of References below. References [0] and [7] refer to the Unicode Standard versions in which the corresponding code points were initially encoded. References [101] and above correspond to sources given in [Proposal-Tamil] justifying the inclusion of the corresponding code points. Entries in the table may have multiple source reference values.
Repertoire
| Glyph | Code point | Tags and context | Variants |
|---|---|---|---|
| ஃ | U+0B83 TAMIL SIGN VISARGA 0 103 = aytham |
|
|
| அ | U+0B85 TAMIL LETTER A 0 101 |
|
|
| ஆ | U+0B86 TAMIL LETTER AA 0 101 |
|
|
| இ | U+0B87 TAMIL LETTER I 0 101 |
|
|
| ஈ | U+0B88 TAMIL LETTER II 0 101 |
|
|
| உ | U+0B89 TAMIL LETTER U 0 101 |
|
|
| ஊ | U+0B8A TAMIL LETTER UU 0 101 |
|
|
| எ | U+0B8E TAMIL LETTER E 0 101 |
|
|
| ஏ | U+0B8F TAMIL LETTER EE 0 101 |
|
|
| ஐ | U+0B90 TAMIL LETTER AI 0 101 |
|
|
| ஒ | U+0B92 TAMIL LETTER O 0 101 |
|
|
| ஒள | U+0B92U+0BB3 sequence of 2 TAMIL LETTER O + TAMIL LETTER LLA homoglyph of U+0B94 |
ஔ
U+0B94
blocked
Tamil homoglyph
|
|
| ஓ | U+0B93 TAMIL LETTER OO 0 101 |
|
|
| ஔ | U+0B94 TAMIL LETTER AU 0 101 |
|
ஒள
U+0B92 + U+0BB3
blocked
Tamil homoglyph
|
| க | U+0B95 TAMIL LETTER KA 0 102 |
|
|
| ங | U+0B99 TAMIL LETTER NGA 0 102 |
|
|
| ச | U+0B9A TAMIL LETTER CA 0 102 |
|
|
| ஜ | U+0B9C TAMIL LETTER JA 0 102 |
|
ജ
U+0D1C
blocked
Cross-script homoglyph
|
| ஞ | U+0B9E TAMIL LETTER NYA 0 102 |
|
|
| ட | U+0B9F TAMIL LETTER TTA 0 102 |
|
|
| ண | U+0BA3 TAMIL LETTER NNA 0 102 |
|
|
| த | U+0BA4 TAMIL LETTER TA 0 102 |
|
|
| ந | U+0BA8 TAMIL LETTER NA 0 102 |
|
|
| ன | U+0BA9 TAMIL LETTER NNNA 0 102 |
|
|
| ப | U+0BAA TAMIL LETTER PA 0 102 |
|
|
| ம | U+0BAE TAMIL LETTER MA 0 102 |
|
ഥ
U+0D25
blocked
Cross-script homoglyph
|
| ய | U+0BAF TAMIL LETTER YA 0 102 |
|
|
| ர | U+0BB0 TAMIL LETTER RA 0 102 |
|
|
| ற | U+0BB1 TAMIL LETTER RRA 0 102 |
|
|
| ல | U+0BB2 TAMIL LETTER LA 0 102 |
|
|
| ள | U+0BB3 TAMIL LETTER LLA 0 102 |
|
|
| ழ | U+0BB4 TAMIL LETTER LLLA 0 102 |
|
|
| வ | U+0BB5 TAMIL LETTER VA 0 102 |
|
ഖ
U+0D16
blocked
Cross-script homoglyph
|
| ஶ | U+0BB6 TAMIL LETTER SHA 7 102 |
|
|
| ஶ்ரீ | U+0BB6U+0BCDU+0BB0U+0BC0 sequence of 4 TAMIL LETTER SHA + TAMIL SIGN VIRAMA + TAMIL LETTER RA + TAMIL VOWEL SIGN II |
ஸ்ரீ
U+0BB8 + U+0BCD + U+0BB0 + U+0BC0
allocatable
Alternate for Tamil SHRII
|
|
| ஷ | U+0BB7 TAMIL LETTER SSA 0 102 |
|
|
| ஸ | U+0BB8 TAMIL LETTER SA 0 102 |
|
|
| ஸ்ரீ | U+0BB8U+0BCDU+0BB0U+0BC0 sequence of 4 TAMIL LETTER SA + TAMIL SIGN VIRAMA + TAMIL LETTER RA + TAMIL VOWEL SIGN II Alternate for Tamil SHRII |
ஶ்ரீ
U+0BB6 + U+0BCD + U+0BB0 + U+0BC0
allocatable
Alternate for Tamil SHRII
|
|
| ஹ | U+0BB9 TAMIL LETTER HA 0 102 |
|
|
| ா | U+0BBE TAMIL VOWEL SIGN AA 0 102 |
|
|
| ி | U+0BBF TAMIL VOWEL SIGN I 0 102 |
|
ി
U+0D3F
blocked
Cross-script homoglyph
|
| ீ | U+0BC0 TAMIL VOWEL SIGN II 0 102 |
|
|
| ு | U+0BC1 TAMIL VOWEL SIGN U 0 102 |
|
|
| ூ | U+0BC2 TAMIL VOWEL SIGN UU 0 102 |
|
|
| ெ | U+0BC6 TAMIL VOWEL SIGN E 0 102 |
|
െ
U+0D46
blocked
Cross-script homoglyph
|
| ெள | U+0BC6U+0BB3 sequence of 2 TAMIL VOWEL SIGN E + TAMIL LETTER LLA homoglyph of U+0BCC |
|
ௌ
U+0BCC
blocked
Tamil Homoglyph
|
| ே | U+0BC7 TAMIL VOWEL SIGN EE 0 102 |
|
േ
U+0D47
blocked
Cross-script homoglyph
|
| ை | U+0BC8 TAMIL VOWEL SIGN AI 0 102 |
|
|
| ொ | U+0BCA TAMIL VOWEL SIGN O 0 102 |
|
|
| ோ | U+0BCB TAMIL VOWEL SIGN OO 0 102 |
|
|
| ௌ | U+0BCC TAMIL VOWEL SIGN AU 0 102 |
|
ெள
U+0BC6 + U+0BB3
blocked
Tamil homoglyph
|
| ் | U+0BCD TAMIL SIGN VIRAMA 0 102 = pulli |
|
|
| ഖ | U+0D16 MALAYALAM LETTER KHA 0 Not part of repertoire |
|
வ
U+0BB5
blocked
Cross-script homoglyph
|
| ജ | U+0D1C MALAYALAM LETTER JA 0 Not part of repertoire |
|
ஜ
U+0B9C
blocked
Cross-script homoglyph
|
| ഥ | U+0D25 MALAYALAM LETTER THA 0 Not part of repertoire |
|
ம
U+0BAE
blocked
Cross-script homoglyph
|
| ി | U+0D3F MALAYALAM VOWEL SIGN I 0 Not part of repertoire |
|
ி
U+0BBF
blocked
Cross-script homoglyph
|
| െ | U+0D46 MALAYALAM VOWEL SIGN E 0 Not part of repertoire |
|
ெ
U+0BC6
blocked
Cross-script homoglyph
|
| േ | U+0D47 MALAYALAM VOWEL SIGN EE 0 Not part of repertoire |
|
ே
U+0BC7
blocked
Cross-script homoglyph
|
Variants
Code points grouped into sets of mutual variants. Every member of a set produces the same set of variant labels, so a registration of one has implications for all the others. Sets of a single member are omitted, as are the identity mappings RFC 7940 requires each member to declare.
-
ஒளஔ
Source Direction Target Disposition Ref Comment ஒள U+0B92 + U+0BB3 ↔ ஔ U+0B94 blocked Tamil homoglyph ↔ declared both ways ⇆ both ways, different disposition each way → one direction only
-
ஶ்ரீஸ்ரீ
Source Direction Target Disposition Ref Comment ஶ்ரீ U+0BB6 + U+0BCD + U+0BB0 + U+0BC0 ↔ ஸ்ரீ U+0BB8 + U+0BCD + U+0BB0 + U+0BC0 allocatable Alternate for Tamil SHRII ↔ declared both ways ⇆ both ways, different disposition each way → one direction only
-
ெளௌ
Source Direction Target Disposition Ref Comment ெள U+0BC6 + U+0BB3 ↔ ௌ U+0BCC blocked Tamil Homoglyph ↔ declared both ways ⇆ both ways, different disposition each way → one direction only
Character classes
Named sets of code points that the rules below refer to.
| Name | Definition |
|---|---|
C |
{tag Consonant}
Any Tamil consonant
|
X |
{tag Visarga}
The Tamil Visarga (aytham)
|
Rules
Conditions evaluated against a whole label, or against the context around a
single code point. The notation borrows from regular expressions:
^ and $ anchor to the start and end of a label,
. matches any code point, (?= ) and
(?<= ) look ahead and behind, and * and
+ repeat. Two symbols are specific to rulesets:
◆ is the code point being tested, and
⟨name⟩ refers to another rule.
leading-combining-mark MSR default
Default WLE rule matching labels with leading combining marks
^ ({gc:Mn} ∪ {gc:Mc})
Structure
-
^start -
({gc:Mn} ∪ {gc:Mc})union-
{gc:Mn}class -
{gc:Mc}class
-
Referenced by 1 definition
- action 1 (invalid)
follows-C
Section 7, WLE 1, 2: H and M must be preceded by C
(?<= {C} ) ◆
Structure
-
(?<= {C} )look-behind-
{C}class
-
-
◆anchor
Referenced by 13 definitions
- context of U+0BBE
- context of U+0BBF
- context of U+0BC0
- context of U+0BC1
- context of U+0BC2
- context of U+0BC6
- context of U+0BC6 U+0BB3
- context of U+0BC7
- context of U+0BC8
- context of U+0BCA
- context of U+0BCB
- context of U+0BCC
preceded-by-X
Section 7, WLE 3 , X cannot be preceded by X
(?<= {X} ) ◆
Structure
-
(?<= {X} )look-behind-
{X}class
-
-
◆anchor
Referenced by 1 definition
- negative context of U+0B83
no-mix-sri-shri
Section 7: WLE 4: Two representations of ‘Shri’ cannot be mixed in the same label
( ( U+0BB6 U+0BCD U+0BB0 U+0BC0 .* U+0BB8 U+0BCD U+0BB0 U+0BC0 ) │ ( U+0BB8 U+0BCD U+0BB0 U+0BC0 .* U+0BB6 U+0BCD U+0BB0 U+0BC0 ) )
Structure
-
( ( U+0BB6 U+0BCD U+0BB0 U+0BC0 .* U+0BB8 U+0BCD U+0BB0 U+0BC0 ) │ ( U+0BB8 U+0BCD U+0BB0 U+0BC0 .* U+0BB6 U+0BCD U+0BB0 U+0BC0 ) )choice-
U+0BB6 U+0BCD U+0BB0 U+0BC0 .* U+0BB8 U+0BCD U+0BB0 U+0BC0rule-
U+0BB6 U+0BCD U+0BB0 U+0BC0char -
.*any -
U+0BB8 U+0BCD U+0BB0 U+0BC0char
-
-
U+0BB8 U+0BCD U+0BB0 U+0BC0 .* U+0BB6 U+0BCD U+0BB0 U+0BC0rule-
U+0BB8 U+0BCD U+0BB0 U+0BC0char -
.*any -
U+0BB6 U+0BCD U+0BB0 U+0BC0char
-
-
Referenced by 1 definition
- action 3 (invalid)
Actions
Actions are evaluated in the order shown. The first action whose conditions match determines the disposition of the label.
| # | Disposition | Conditions |
|---|---|---|
| 1 |
invalid
|
label matches leading-combining-mark labels with leading combining marks are invalid MSR default |
| 2 |
invalid
|
any variant is out-of-repertoire-var any variant label with a code point out of repertoire is invalid MSR default |
| 3 |
invalid
|
label matches no-mix-sri-shri do not mix two representations of ‘Shri’ in the same label |
| 4 |
blocked
|
any variant is blocked any variant label containing blocked variants is blocked MSR default |
| 5 |
allocatable
|
all variants are allocatable variant labels with all variants allocatable are allocatable MSR default |
| 6 |
valid
|
any label default catch all (default action) MSR default |