This file contains Label Generation Rules (LGR) for the Khmer script for the Root zone. For more details on this LGR and its development see "Proposal for a Khmer Script Root Zone LGR [Proposal]". The format of this file follows [RFC 7940].
In addition to the 71 code points according to Section 5 "Repertoire", in [Proposal], two Khmer subscript consonant sequences have been defined. The repertoire only includes code points used by languages that are actively written in the Khmer script. The repertoire is based on [MSR-4], which is a subset of [Unicode 6.3].
Each code point or range is tagged with the script or scripts that the code point is used with, and one or more references documenting sufficient justification for inclusion in the repertoire, see "References" below.
According to Section 6, "Variants" in [Proposal], two Khmer consonants are variants of each other in their subscript form only. This is captured by a variant relation between the two subscript sequences, which are listed explicitly in the repertoire.
Variant Disposition: All variants are of type "blocked", making labels that differ only by these variants mutually exclusive: whichever label containing either of these variants is chosen earlier would be delegated, while any other equivalent label should be blocked.This LGR does not define allocatable variants.
The specification of variants in the Root Zone LGR follows the guidelines in [RFC 8228].
Some consonants have been given the tag "base-only"; these do not take subscript form.
The character U+17C9 (៉) KHMER SIGN MUUSIKATOAN is used with a subset of first series consonants, code points from this subset have been given the tag "series-one".
The character U+17CA (៊) KHMER SIGN TRIISAP is used with subset of second series consonants and with U+1794 (ប) KHMER LETTER BA. Code points from this subset have been given the tag "series-two". The series, and the sets of code points used with these two signs are defined in [210]. The character U+17CB (់) KHMER SIGN BANTOC is used with a subset of consonants, that subset has been given the tag "series-three" [205]. The characters U+17C9 (៉) KHMER SIGN MUUSIKATOAN and U+17CA (៊) KHMER SIGN TRIISAP are collectively known as consonant shifters and have been given the tag "shifter".
The character U+17CC (៌) KHMER SIGN ROBAT has been given the tag "robat".
The character U+17C6 (ំ) KHMER SIGN NIKAHIT is used with consonants and some dependent vowels. These dependent vowels have been given a tag "dependent-vowel-1" (see Section 5.3 in [Proposal]). The character U+17C7 (ះ) KHMER SIGN REAHMUK is used with consonants and some dependent vowels. These dependent vowels have been given a tag "dependent-vowel-2" (see Section 5.3 in [Proposal]). The code point U+17B7 (ិ) KHMER VOWEL SIGN I has been given a tag "dependent-vowel-3".
The LGR includes the set of required default WLE rules and actions applicable to the Root Zone and defined in [MSR-4]. They are marked with ⍟. The default prohibition on leading combining marks is equivalent to ensuring that a label only starts with a consonant or independent-vowel.
Rules provided in the LGR as described in Section 7 of [Proposal] constrain possible labels so that they reasonably conform to Khmer syllable structure. These constraints are presented as context rules on the affected code points, except for the whole-label rule and associated action that enforce the limit on the number of consecutive subscripted consonants.
The rules are:
For methodology and contributors, see Sections 4 and 8 of [Proposal].
The following general references are cited in this document:
For references consulted particularly in designing the repertoire for the Khmer script for the Root Zone please see details in the Table of References below. Reference [3] refers to Unicode Standard version in which corresponding code points were initially encoded. References [100], [203], [204], [205], [206], [207], [208], [209] & [210] correspond to sources justifying the inclusion of or classification for the corresponding code points. Single code point or ranges may have multiple source reference values.
]]>