Japanese

Japanese (language)

Second-Level Reference Label Generation Rules, 25 October 2024 Current

Summary

Version1 — Second Level Reference LGR
Date
Tag ja (Japanese)
Unicode11.0.0
Source filelgr-second-level-japanese-language-25oct24-en.xml (347.6kb)

This ruleset is integrated into the Common (integrated set) ruleset of this release.

Description

INSTRUCTIONS

  • 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.
  • As described the IANA procedure (https://www.iana.org/help/idn-repository-procedure) an LGR MUST contain the following elements in its header:
    • Script or Language Designator (see below for guidance)
    • Version Number (this must increase with each amendment to the LGR, even if the updates are limited to the header itself)
    • Effective Date (the date at which the policy becomes applicable in operational use)
    • Registry Contact Details (contact name, email address, and/or phone number)
  • The following information is optional:
    • Document creation date
    • Applicable Domain(s)
    • Changes made to the Reference LGR before adopting

Please add or modify the following items in the XML source code for this file before depositing the document in the IANA Repository. (https://www.iana.org/domains/idn-tables)

Meta Data

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.

<version comment="[Please replace (or delete) the optional comment]">[Please fill in version number, starting at 1]</version>

<date>[Please fill in with publication date, in YYYY-MM-DD format]</date>

<validity-start>[Please fill in effective date, in YYYY-MM-DD format]</validity-start>

Note: the scope element may be repeated, so that the same document can serve for multiple domains.

<scope type="domain">[Please provide, in ".domain" format]</scope>

Registry Contact Information:

Please fill in the Registry Contact Details.

Change History

If you made technical modifications to the LGR, please summarize them in the Change History (and also note the details in the appropriate section of the description).

PLEASE DELETE THESE INSTRUCTIONS BEFORE DEPOSITING THE DOCUMENT

Read the rest of the description Show less

Registry Contact Details

  • Contact Name: [Please fill in Contact Name]
  • Email address: [Please fill in Email address]
  • Phone Number: [Please fill in optional Phone Number]

Label Generation Rules for the Japanese Language

Overview

This document specifies a set of Label Generation Rules (LGR) for the Japanese language for the second level domain or domains identified above. The ultimate starting point for the development of this LGR can be found in the related Root Zone LGR [RZ-LGR-Jpan]. Note that while it is the Japanese Script Root Zone LGR that forms the starting point, the LGR defined here covers the Japanese Language. The format of this file follows [RFC 7940]. This LGR is adapted from the “Reference LGR for the Second Level for the Japanese Language” [Ref-LGR-ja-Jpan], for details, see Change History below.

The Japanese language is written in a combination of elements from three Unicode scripts: Han (Kanji), Hiragana and Katakana. Collectively they have the script code “Jpan” for Japanese. For details and additional background on the Japanese script, see “Proposal for a Japanese Script Root Zone LGR” [Proposal-Japanese], including the appendices [Proposal-Japanese-Appendices].

Standalone LGR: This LGR is designed to be used in a zone that does not cater to IDNs other than those valid under this LGR. Following existing practice, this LGR also supports ASCII letters and where applicable accounts for any interaction with the remainder of the repertoire.

Repertoire

The repertoire contains the code points used in writing the Japanese language using a repertoire appropriate for the Second Level. It is part of JIS X 0208:1997 [100] and it includes 6,356 Han characters, 85 Hiragana characters, 89 Katakana characters, and 2 Common (quasi-Kanji) characters for a subtotal of 6,532 repertoire elements. One of the common characters is shared between Han, Hiragana, and Katakana while the other one is shared between Hiragana and Katakana.

The repertoire is a subset of [Unicode 11.0.0]. For details, see Section 5, “Repertoire” in [Proposal-Japanese]. (The proposal cited has been adopted for the Japanese script portion of the Root Zone LGR.)

For the second level, the repertoire has been augmented with the ASCII digits, U+0030 to U+0039; the ASCII lowercase letters, U+0061 to U+007A; U+002D HYPHEN-MINUS, U+3007 IDEOGRAPHIC NUMBER ZERO, and U+30FB KATAKANA MIDDLE DOT for a total of 6,571 repertoire elements.

Unlike many other non-Latin Second Level Reference LGRs, the Japanese Language LGR includes the basic ASCII Latin letters (a to z) because it is common practice in Japanese text to mix Japanese and ASCII. Therefore including these letters is not seen as creating added confusability or security risks in the context of a Second Level LGR for the Japanese language. It is also supported by current IDNA practice; see [700], for example.

Repertoire Listing: Each code point or range is tagged with the script or scripts with which the code point is used and one or more other character categories. For each repertoire element, one or more references document sufficient justification for inclusion in the repertoire; see the “References” below.

Variants

This LGR defines visually identical variants within the Japanese script. For Details, see Sections 6, 7, and 8 of [Proposal-Japanese]. In addition, adding the ideographic number zero to the repertoire resulted in an additional variant association with the Latin letter “o”.

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 labels should be blocked. There is no preference among these labels.

This LGR does not define allocatable variants.

The specification of variants in this LGR follows the guidelines in [RFC 8228].

Source References for Variants

The following source reference is used for variant entries in this LGR:

  • [101] - visually identical variants within the Japanese script

Character Classes

The following classes are defined for use in WLE and context rules:

  • hiragana, the set of Hiragana code points
  • katakana, the set of Katakana code points
  • japanese, the union of the hiragana, katakana and kanji
  • kanji, the set of Kanji code points
  • kanji-numeral, the set of ideographs that are used numerically, plus U+3007 IDEOGRAPHIC NUMBER ZERO

Whole Label Evaluation (WLE) and Context Rules

Default Whole Label Evaluation Rules

By default, the LGR includes the rules and actions to implement the following restrictions mandated by the IDNA protocol. They are marked with ⍟.

  • Hyphen Restrictions — 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.
  • Leading Combining Marks — 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].

Japanese-specific Context Rules

The LGR defines the following context rules.

  • at-start-of-word — No small kana, iteration mark or prolonged sound mark may start a label or word.
  • follows-kanji-numeral — U+3007 IDEOGRAPHIC NUMBER ZERO must follow a Kanji numeral.
  • middle-dot-context — U+30FB KATAKANA MIDDLE DOT is only used between Japanese characters and does not follow itself.

Note that U+30FB KATAKANA MIDDLE DOT is used to separate words. Therefore, the letters following a KATAKANA MIDDLE DOT must be restricted to the same set as for the start of label. For the second level, the context rule “at-start-of-word” has been defined which covers the start of a label as well as the context following a KATAKANA MIDDLE DOT.

Iteration marks: The iteration marks, U+3005, U+309D, U+309E, U+30FD, and U+30FE, are used to reiterate the pronunciation or meaning of the preceding character. As such, these characters have neither particular pronunciation nor meanings by themselves. Similar considerations apply to the prolonged sound mark (U+30FC). Accordingly, any sequence of two or more iteration marks and/or the prolonged sound mark has no meaning and is disallowed by the following WLE rule:

  • repeated-mark — repeated iteration or prolonged sound marks are disallowed

The following WLE rule implements an additional restriction on HYPHEN-MINUS in a Japanese context.

  • hyphen-minus-restriction — a hyphen is disallowed adjacent to Japanese characters

Actions

Default Actions

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 ⍟. For a description see [RFC 7940].

Japanese-specific actions

The LGR defines a Japanese-specific action invalidating any label containing a hyphen adjacent to Japanese characters.

Methodology and Contributors

The LGR in this document has been adapted from the corresponding Reference LGR for the Second Level. The Second Level Reference LGR for the Japanese Language was developed by Michel Suignard and Asmus Freytag, based on the Root Zone LGR for the Japanese script and information contained or referenced therein; see [RZ-LGR-Jpan]. Suitable extensions for the second level have been applied according to the [Guidelines] and with community input. As part of that process, features have been removed or modified as appropriate for the target language. The original proposal for a Root Zone LGR for the Japanese script, that this LGR is based on, was developed by the Japanese Generation Panel. For more information on methodology and contributors to the underlying Root Zone LGR, see Sections 4 and 8 in [Proposal-Japanese], as well as [RZ-LGR-Overview].

Changes from Version Dated 25 October 2024

Adopted from the Second Level Reference LGR for the Japanese Language [Ref-LGR-ja-Jpan] without normative changes.

References

References [0] and up refer to the Unicode Standard versions in which corresponding code points were initially encoded. For example, a reference value of [0] means a character was first encoded in Unicode Version 1.1. References [100] and up indicate that the code point is included in one of the following source references: JIS X 0208:1997, Survey on the user perception of the homographic character set specified by JGP. Entries in the table may have multiple source reference values.

In addition, the following general references are cited in this document:

[CLGR]
Root Zone Label Generation Rules for Chinese, 26 May 2020, https://www.icann.org/en/system/files/files/proposal-chinese-lgr-26may20-en.xml
[Guidelines]
ICANN, “Guidelines for Developing Reference LGRs for the Second Level”, (Los Angeles, California: ICANN, 27 May 2020), https://www.icann.org/en/system/files/files/lgr-guidelines-second-level-27may20-en.pdf
[KLGR]
Root Zone Label Generation Rules for Korean, 1 May 2021, https://www.icann.org/en/system/files/files/proposal-korean-lgr-01may21-en.xml
[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-Japanese]
Japanese Script Generation Panel (JGP), “Proposal for a Japanese Script Root Zone LGR”, 20 December 2021 (PDF), https://www.icann.org/en/system/files/files/proposal-japanese-lgr-20dec21-en.pdf
[Proposal-Japanese-Appendices]
Appendices to “Proposal for a Japanese Script Root Zone LGR”, 20 December 2021 (ZIP), https://www.icann.org/en/system/files/files/proposal-japanese-lgr-appendices-20dec21-en.zip
[RFC 7940]
Davies, K. and A. Freytag, “Representing Label Generation Rulesets Using XML”, RFC 7940, August 2016, https://www.rfc-editor.org/info/rfc7940
[RZ-LGR-Jpan]
ICANN, Root Zone Label Generation Rules for the Japanese Script (und-Jpan), 26 May 2022 (XML) https://www.icann.org/sites/default/files/lgr/rz-lgr-5-japanese-script-26may22-en.xml
[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-Overview]
Integration Panel, “Root Zone Label Generation Rules (RZ LGR-5): Overview and Summary”, 26 May 2022 (PDF), 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
[Ref-LGR-ja-Jpan]
ICANN, Second Level Reference Label Generation Rules for the Japanese Language (ja-Jpan), 25 October 2024 (XML) https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-japanese-language-25oct24-en.xml non-normative HTML presentation: https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-japanese-language-25oct24-en.html
[Unicode 11.0.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/

In the listing of the repertoire by code point, 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 whole label evaluation and context rules, reference [150] indicates the source for common rules. For more details, see the Table of References below.

Where links to certain references are not available, the data may be archived as part of [Proposal-Japanese].

Repertoire

Showing the first 250 of 6571 entries.
Glyph Code point Tags and context Variants
- U+002D HYPHEN-MINUS 0 700 HYPHEN-MINUS Tagsc:Zyyy Contextnot hyphen-minus-disallowed
0 U+0030 DIGIT ZERO 0 700 DIGIT ZERO; TagCommon-digitTagsc:Zyyy
1 U+0031 DIGIT ONE 0 700 DIGIT ONE; TagCommon-digitTagsc:Zyyy
2 U+0032 DIGIT TWO 0 700 DIGIT TWO; TagCommon-digitTagsc:Zyyy
3 U+0033 DIGIT THREE 0 700 DIGIT THREE; TagCommon-digitTagsc:Zyyy
4 U+0034 DIGIT FOUR 0 700 DIGIT FOUR; TagCommon-digitTagsc:Zyyy
5 U+0035 DIGIT FIVE 0 700 DIGIT FIVE; TagCommon-digitTagsc:Zyyy
6 U+0036 DIGIT SIX 0 700 DIGIT SIX; TagCommon-digitTagsc:Zyyy
7 U+0037 DIGIT SEVEN 0 700 DIGIT SEVEN; TagCommon-digitTagsc:Zyyy
8 U+0038 DIGIT EIGHT 0 700 DIGIT EIGHT; TagCommon-digitTagsc:Zyyy
9 U+0039 DIGIT NINE 0 700 DIGIT NINE; TagCommon-digitTagsc:Zyyy
a U+0061 LATIN SMALL LETTER A 0 700 LATIN SMALL LETTER A Tagsc:Latn
b U+0062 LATIN SMALL LETTER B 0 700 LATIN SMALL LETTER B Tagsc:Latn
c U+0063 LATIN SMALL LETTER C 0 700 LATIN SMALL LETTER C Tagsc:Latn
d U+0064 LATIN SMALL LETTER D 0 700 LATIN SMALL LETTER D Tagsc:Latn
e U+0065 LATIN SMALL LETTER E 0 700 LATIN SMALL LETTER E Tagsc:Latn
f U+0066 LATIN SMALL LETTER F 0 700 LATIN SMALL LETTER F Tagsc:Latn
g U+0067 LATIN SMALL LETTER G 0 700 LATIN SMALL LETTER G Tagsc:Latn
h U+0068 LATIN SMALL LETTER H 0 700 LATIN SMALL LETTER H Tagsc:Latn
i U+0069 LATIN SMALL LETTER I 0 700 LATIN SMALL LETTER I Tagsc:Latn
j U+006A LATIN SMALL LETTER J 0 700 LATIN SMALL LETTER J Tagsc:Latn
k U+006B LATIN SMALL LETTER K 0 700 LATIN SMALL LETTER K Tagsc:Latn
l U+006C LATIN SMALL LETTER L 0 700 LATIN SMALL LETTER L Tagsc:Latn
m U+006D LATIN SMALL LETTER M 0 700 LATIN SMALL LETTER M Tagsc:Latn
n U+006E LATIN SMALL LETTER N 0 700 LATIN SMALL LETTER N Tagsc:Latn
o U+006F LATIN SMALL LETTER O 0 700 LATIN SMALL LETTER O Tagsc:Latn 〇 U+3007 blocked Cross-script homoglyph
p U+0070 LATIN SMALL LETTER P 0 700 LATIN SMALL LETTER P Tagsc:Latn
q U+0071 LATIN SMALL LETTER Q 0 700 LATIN SMALL LETTER Q Tagsc:Latn
r U+0072 LATIN SMALL LETTER R 0 700 LATIN SMALL LETTER R Tagsc:Latn
s U+0073 LATIN SMALL LETTER S 0 700 LATIN SMALL LETTER S Tagsc:Latn
t U+0074 LATIN SMALL LETTER T 0 700 LATIN SMALL LETTER T Tagsc:Latn
u U+0075 LATIN SMALL LETTER U 0 700 LATIN SMALL LETTER U Tagsc:Latn
v U+0076 LATIN SMALL LETTER V 0 700 LATIN SMALL LETTER V Tagsc:Latn
w U+0077 LATIN SMALL LETTER W 0 700 LATIN SMALL LETTER W Tagsc:Latn
x U+0078 LATIN SMALL LETTER X 0 700 LATIN SMALL LETTER X Tagsc:Latn
y U+0079 LATIN SMALL LETTER Y 0 700 LATIN SMALL LETTER Y Tagsc:Latn
z U+007A LATIN SMALL LETTER Z 0 700 LATIN SMALL LETTER Z Tagsc:Latn
々 U+3005 IDEOGRAPHIC ITERATION MARK 0 100 Tagiteration-markTagsc:Hani Contextnot at-start-of-word
〆 U+3006 IDEOGRAPHIC CLOSING MARK 0 100 Tagsc:HaniTagsc:HiraTagsc:Kana
〇 U+3007 IDEOGRAPHIC NUMBER ZERO 0 100 TagKanji-numeralTagsc:Hani Contextfollows-only-kanji-numeral o U+006F blocked Cross-script homoglyph
ぁ U+3041 HIRAGANA LETTER SMALL A 0 100 Tagsc:Hira Contextnot at-start-of-word
あ U+3042 HIRAGANA LETTER A 0 100 Tagsc:Hira
ぃ U+3043 HIRAGANA LETTER SMALL I 0 100 Tagsc:Hira Contextnot at-start-of-word
い U+3044 HIRAGANA LETTER I 0 100 Tagsc:Hira
ぅ U+3045 HIRAGANA LETTER SMALL U 0 100 Tagsc:Hira Contextnot at-start-of-word
う U+3046 HIRAGANA LETTER U 0 100 Tagsc:Hira
ぇ U+3047 HIRAGANA LETTER SMALL E 0 100 Tagsc:Hira Contextnot at-start-of-word
え U+3048 HIRAGANA LETTER E 0 100 Tagsc:Hira
ぉ U+3049 HIRAGANA LETTER SMALL O 0 100 Tagsc:Hira Contextnot at-start-of-word
お U+304A HIRAGANA LETTER O 0 100 Tagsc:Hira
か U+304B HIRAGANA LETTER KA 0 100 Tagsc:Hira
が U+304C HIRAGANA LETTER GA 0 100 Tagsc:Hira
き U+304D HIRAGANA LETTER KI 0 100 Tagsc:Hira
ぎ U+304E HIRAGANA LETTER GI 0 100 Tagsc:Hira
く U+304F HIRAGANA LETTER KU 0 100 Tagsc:Hira
ぐ U+3050 HIRAGANA LETTER GU 0 100 Tagsc:Hira
け U+3051 HIRAGANA LETTER KE 0 100 Tagsc:Hira
げ U+3052 HIRAGANA LETTER GE 0 100 Tagsc:Hira
こ U+3053 HIRAGANA LETTER KO 0 100 Tagsc:Hira
ご U+3054 HIRAGANA LETTER GO 0 100 Tagsc:Hira
さ U+3055 HIRAGANA LETTER SA 0 100 Tagsc:Hira
ざ U+3056 HIRAGANA LETTER ZA 0 100 Tagsc:Hira
し U+3057 HIRAGANA LETTER SI 0 100 Tagsc:Hira
じ U+3058 HIRAGANA LETTER ZI 0 100 Tagsc:Hira
す U+3059 HIRAGANA LETTER SU 0 100 Tagsc:Hira
ず U+305A HIRAGANA LETTER ZU 0 100 Tagsc:Hira
せ U+305B HIRAGANA LETTER SE 0 100 Tagsc:Hira
ぜ U+305C HIRAGANA LETTER ZE 0 100 Tagsc:Hira
そ U+305D HIRAGANA LETTER SO 0 100 Tagsc:Hira
ぞ U+305E HIRAGANA LETTER ZO 0 100 Tagsc:Hira
た U+305F HIRAGANA LETTER TA 0 100 Tagsc:Hira
だ U+3060 HIRAGANA LETTER DA 0 100 Tagsc:Hira
ち U+3061 HIRAGANA LETTER TI 0 100 Tagsc:Hira
ぢ U+3062 HIRAGANA LETTER DI 0 100 Tagsc:Hira
っ U+3063 HIRAGANA LETTER SMALL TU 0 100 Tagsc:Hira Contextnot at-start-of-word
つ U+3064 HIRAGANA LETTER TU 0 100 Tagsc:Hira
づ U+3065 HIRAGANA LETTER DU 0 100 Tagsc:Hira
て U+3066 HIRAGANA LETTER TE 0 100 Tagsc:Hira
で U+3067 HIRAGANA LETTER DE 0 100 Tagsc:Hira
と U+3068 HIRAGANA LETTER TO 0 100 Tagsc:Hira
ど U+3069 HIRAGANA LETTER DO 0 100 Tagsc:Hira
な U+306A HIRAGANA LETTER NA 0 100 Tagsc:Hira
に U+306B HIRAGANA LETTER NI 0 100 Tagsc:Hira
ぬ U+306C HIRAGANA LETTER NU 0 100 Tagsc:Hira
ね U+306D HIRAGANA LETTER NE 0 100 Tagsc:Hira
の U+306E HIRAGANA LETTER NO 0 100 Tagsc:Hira
は U+306F HIRAGANA LETTER HA 0 100 Tagsc:Hira
ば U+3070 HIRAGANA LETTER BA 0 100 Tagsc:Hira
ぱ U+3071 HIRAGANA LETTER PA 0 100 Tagsc:Hira
ひ U+3072 HIRAGANA LETTER HI 0 100 Tagsc:Hira
び U+3073 HIRAGANA LETTER BI 0 100 Tagsc:Hira
ぴ U+3074 HIRAGANA LETTER PI 0 100 Tagsc:Hira
ふ U+3075 HIRAGANA LETTER HU 0 100 Tagsc:Hira
ぶ U+3076 HIRAGANA LETTER BU 0 100 Tagsc:Hira
ぷ U+3077 HIRAGANA LETTER PU 0 100 Tagsc:Hira
へ U+3078 HIRAGANA LETTER HE 0 100 Tagsc:Hira ヘ U+30D8 blocked
べ U+3079 HIRAGANA LETTER BE 0 100 Tagsc:Hira ベ U+30D9 blocked
ぺ U+307A HIRAGANA LETTER PE 0 100 Tagsc:Hira ペ U+30DA blocked
ほ U+307B HIRAGANA LETTER HO 0 100 Tagsc:Hira
ぼ U+307C HIRAGANA LETTER BO 0 100 Tagsc:Hira
ぽ U+307D HIRAGANA LETTER PO 0 100 Tagsc:Hira
ま U+307E HIRAGANA LETTER MA 0 100 Tagsc:Hira
み U+307F HIRAGANA LETTER MI 0 100 Tagsc:Hira
む U+3080 HIRAGANA LETTER MU 0 100 Tagsc:Hira
め U+3081 HIRAGANA LETTER ME 0 100 Tagsc:Hira
も U+3082 HIRAGANA LETTER MO 0 100 Tagsc:Hira
ゃ U+3083 HIRAGANA LETTER SMALL YA 0 100 Tagsc:Hira Contextnot at-start-of-word
や U+3084 HIRAGANA LETTER YA 0 100 Tagsc:Hira
ゅ U+3085 HIRAGANA LETTER SMALL YU 0 100 Tagsc:Hira Contextnot at-start-of-word
ゆ U+3086 HIRAGANA LETTER YU 0 100 Tagsc:Hira
ょ U+3087 HIRAGANA LETTER SMALL YO 0 100 Tagsc:Hira Contextnot at-start-of-word
よ U+3088 HIRAGANA LETTER YO 0 100 Tagsc:Hira
ら U+3089 HIRAGANA LETTER RA 0 100 Tagsc:Hira
り U+308A HIRAGANA LETTER RI 0 100 Tagsc:Hira
る U+308B HIRAGANA LETTER RU 0 100 Tagsc:Hira
れ U+308C HIRAGANA LETTER RE 0 100 Tagsc:Hira
ろ U+308D HIRAGANA LETTER RO 0 100 Tagsc:Hira
ゎ U+308E HIRAGANA LETTER SMALL WA 0 100 Tagsc:Hira Contextnot at-start-of-word
わ U+308F HIRAGANA LETTER WA 0 100 Tagsc:Hira
ゐ U+3090 HIRAGANA LETTER WI 0 100 Tagsc:Hira
ゑ U+3091 HIRAGANA LETTER WE 0 100 Tagsc:Hira
を U+3092 HIRAGANA LETTER WO 0 100 Tagsc:Hira
ん U+3093 HIRAGANA LETTER N 0 100 Tagsc:Hira
ゝ U+309D HIRAGANA ITERATION MARK 0 100 Tagiteration-markTagsc:Hira Contextnot at-start-of-word
ゞ U+309E HIRAGANA VOICED ITERATION MARK 0 100 Tagiteration-markTagsc:Hira Contextnot at-start-of-word
ァ U+30A1 KATAKANA LETTER SMALL A 0 100 Tagsc:Kana Contextnot at-start-of-word
ア U+30A2 KATAKANA LETTER A 0 100 Tagsc:Kana
ィ U+30A3 KATAKANA LETTER SMALL I 0 100 Tagsc:Kana Contextnot at-start-of-word
イ U+30A4 KATAKANA LETTER I 0 100 Tagsc:Kana
ゥ U+30A5 KATAKANA LETTER SMALL U 0 100 Tagsc:Kana Contextnot at-start-of-word
ウ U+30A6 KATAKANA LETTER U 0 100 Tagsc:Kana
ェ U+30A7 KATAKANA LETTER SMALL E 0 100 Tagsc:Kana Contextnot at-start-of-word
エ U+30A8 KATAKANA LETTER E 0 100 Tagsc:Kana 工 U+5DE5 blocked
ォ U+30A9 KATAKANA LETTER SMALL O 0 100 Tagsc:Kana Contextnot at-start-of-word
オ U+30AA KATAKANA LETTER O 0 100 Tagsc:Kana
カ U+30AB KATAKANA LETTER KA 0 100 Tagsc:Kana 力 U+529B blocked
ガ U+30AC KATAKANA LETTER GA 0 100 Tagsc:Kana
キ U+30AD KATAKANA LETTER KI 0 100 Tagsc:Kana
ギ U+30AE KATAKANA LETTER GI 0 100 Tagsc:Kana
ク U+30AF KATAKANA LETTER KU 0 100 Tagsc:Kana
グ U+30B0 KATAKANA LETTER GU 0 100 Tagsc:Kana
ケ U+30B1 KATAKANA LETTER KE 0 100 Tagsc:Kana
ゲ U+30B2 KATAKANA LETTER GE 0 100 Tagsc:Kana
コ U+30B3 KATAKANA LETTER KO 0 100 Tagsc:Kana
ゴ U+30B4 KATAKANA LETTER GO 0 100 Tagsc:Kana
サ U+30B5 KATAKANA LETTER SA 0 100 Tagsc:Kana
ザ U+30B6 KATAKANA LETTER ZA 0 100 Tagsc:Kana
シ U+30B7 KATAKANA LETTER SI 0 100 Tagsc:Kana
ジ U+30B8 KATAKANA LETTER ZI 0 100 Tagsc:Kana
ス U+30B9 KATAKANA LETTER SU 0 100 Tagsc:Kana
ズ U+30BA KATAKANA LETTER ZU 0 100 Tagsc:Kana
セ U+30BB KATAKANA LETTER SE 0 100 Tagsc:Kana
ゼ U+30BC KATAKANA LETTER ZE 0 100 Tagsc:Kana
ソ U+30BD KATAKANA LETTER SO 0 100 Tagsc:Kana
ゾ U+30BE KATAKANA LETTER ZO 0 100 Tagsc:Kana
タ U+30BF KATAKANA LETTER TA 0 100 Tagsc:Kana 夕 U+5915 blocked
ダ U+30C0 KATAKANA LETTER DA 0 100 Tagsc:Kana
チ U+30C1 KATAKANA LETTER TI 0 100 Tagsc:Kana
ヂ U+30C2 KATAKANA LETTER DI 0 100 Tagsc:Kana
ッ U+30C3 KATAKANA LETTER SMALL TU 0 100 Tagsc:Kana Contextnot at-start-of-word
ツ U+30C4 KATAKANA LETTER TU 0 100 Tagsc:Kana
ヅ U+30C5 KATAKANA LETTER DU 0 100 Tagsc:Kana
テ U+30C6 KATAKANA LETTER TE 0 100 Tagsc:Kana
デ U+30C7 KATAKANA LETTER DE 0 100 Tagsc:Kana
ト U+30C8 KATAKANA LETTER TO 0 100 Tagsc:Kana 卜 U+535C blocked
ド U+30C9 KATAKANA LETTER DO 0 100 Tagsc:Kana
ナ U+30CA KATAKANA LETTER NA 0 100 Tagsc:Kana
ニ U+30CB KATAKANA LETTER NI 0 100 Tagsc:Kana 二 U+4E8C blocked
ヌ U+30CC KATAKANA LETTER NU 0 100 Tagsc:Kana
ネ U+30CD KATAKANA LETTER NE 0 100 Tagsc:Kana
ノ U+30CE KATAKANA LETTER NO 0 100 Tagsc:Kana
ハ U+30CF KATAKANA LETTER HA 0 100 Tagsc:Kana 八 U+516B blocked
バ U+30D0 KATAKANA LETTER BA 0 100 Tagsc:Kana
パ U+30D1 KATAKANA LETTER PA 0 100 Tagsc:Kana
ヒ U+30D2 KATAKANA LETTER HI 0 100 Tagsc:Kana
ビ U+30D3 KATAKANA LETTER BI 0 100 Tagsc:Kana
ピ U+30D4 KATAKANA LETTER PI 0 100 Tagsc:Kana
フ U+30D5 KATAKANA LETTER HU 0 100 Tagsc:Kana
ブ U+30D6 KATAKANA LETTER BU 0 100 Tagsc:Kana
プ U+30D7 KATAKANA LETTER PU 0 100 Tagsc:Kana
ヘ U+30D8 KATAKANA LETTER HE 0 100 Tagsc:Kana へ U+3078 blocked
ベ U+30D9 KATAKANA LETTER BE 0 100 Tagsc:Kana べ U+3079 blocked
ペ U+30DA KATAKANA LETTER PE 0 100 Tagsc:Kana ぺ U+307A blocked
ホ U+30DB KATAKANA LETTER HO 0 100 Tagsc:Kana
ボ U+30DC KATAKANA LETTER BO 0 100 Tagsc:Kana
ポ U+30DD KATAKANA LETTER PO 0 100 Tagsc:Kana
マ U+30DE KATAKANA LETTER MA 0 100 Tagsc:Kana
ミ U+30DF KATAKANA LETTER MI 0 100 Tagsc:Kana
ム U+30E0 KATAKANA LETTER MU 0 100 Tagsc:Kana
メ U+30E1 KATAKANA LETTER ME 0 100 Tagsc:Kana
モ U+30E2 KATAKANA LETTER MO 0 100 Tagsc:Kana
ャ U+30E3 KATAKANA LETTER SMALL YA 0 100 Tagsc:Kana Contextnot at-start-of-word
ヤ U+30E4 KATAKANA LETTER YA 0 100 Tagsc:Kana
ュ U+30E5 KATAKANA LETTER SMALL YU 0 100 Tagsc:Kana Contextnot at-start-of-word
ユ U+30E6 KATAKANA LETTER YU 0 100 Tagsc:Kana
ョ U+30E7 KATAKANA LETTER SMALL YO 0 100 Tagsc:Kana Contextnot at-start-of-word
ヨ U+30E8 KATAKANA LETTER YO 0 100 Tagsc:Kana
ラ U+30E9 KATAKANA LETTER RA 0 100 Tagsc:Kana
リ U+30EA KATAKANA LETTER RI 0 100 Tagsc:Kana
ル U+30EB KATAKANA LETTER RU 0 100 Tagsc:Kana
レ U+30EC KATAKANA LETTER RE 0 100 Tagsc:Kana
ロ U+30ED KATAKANA LETTER RO 0 100 Tagsc:Kana 口 U+53E3 blocked
ヮ U+30EE KATAKANA LETTER SMALL WA 0 100 Tagsc:Kana Contextnot at-start-of-word
ワ U+30EF KATAKANA LETTER WA 0 100 Tagsc:Kana
ヰ U+30F0 KATAKANA LETTER WI 0 100 Tagsc:Kana
ヱ U+30F1 KATAKANA LETTER WE 0 100 Tagsc:Kana
ヲ U+30F2 KATAKANA LETTER WO 0 100 Tagsc:Kana
ン U+30F3 KATAKANA LETTER N 0 100 Tagsc:Kana
ヴ U+30F4 KATAKANA LETTER VU 0 100 Tagsc:Kana
ヵ U+30F5 KATAKANA LETTER SMALL KA 0 100 Tagsc:Kana Contextnot at-start-of-word
ヶ U+30F6 KATAKANA LETTER SMALL KE 0 100 Tagsc:Kana Contextnot at-start-of-word
・ U+30FB KATAKANA MIDDLE DOT 0 100 Tagsc:HaniTagsc:HiraTagsc:Kana Contextmiddle-dot-context
ー U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK 0 100 Tagprolonged-soundTagsc:HiraTagsc:Kana Contextnot at-start-of-word 一 U+4E00 blocked
ヽ U+30FD KATAKANA ITERATION MARK 0 100 Tagiteration-markTagsc:Kana Contextnot at-start-of-word 丶 U+4E36 blocked
ヾ U+30FE KATAKANA VOICED ITERATION MARK 0 100 Tagiteration-markTagsc:Kana Contextnot at-start-of-word
一 U+4E00 CJK UNIFIED IDEOGRAPH-4E00 0 100 TagKanji-numeralTagsc:Hani ー U+30FC blocked
丁 U+4E01 CJK UNIFIED IDEOGRAPH-4E01 0 100 Tagsc:Hani
七 U+4E03 CJK UNIFIED IDEOGRAPH-4E03 0 100 TagKanji-numeralTagsc:Hani
万 U+4E07 CJK UNIFIED IDEOGRAPH-4E07 0 100 Tagsc:Hani
丈 U+4E08 CJK UNIFIED IDEOGRAPH-4E08 0 100 Tagsc:Hani
三 U+4E09 CJK UNIFIED IDEOGRAPH-4E09 0 100 TagKanji-numeralTagsc:Hani
上 U+4E0A CJK UNIFIED IDEOGRAPH-4E0A 0 100 Tagsc:Hani
下 U+4E0B CJK UNIFIED IDEOGRAPH-4E0B 0 100 Tagsc:Hani
不 U+4E0D CJK UNIFIED IDEOGRAPH-4E0D 0 100 Tagsc:Hani
与 U+4E0E CJK UNIFIED IDEOGRAPH-4E0E 0 100 Tagsc:Hani
丐 U+4E10 CJK UNIFIED IDEOGRAPH-4E10 0 100 Tagsc:Hani
丑 U+4E11 CJK UNIFIED IDEOGRAPH-4E11 0 100 Tagsc:Hani
且 U+4E14 CJK UNIFIED IDEOGRAPH-4E14 0 100 Tagsc:Hani
丕 U+4E15 CJK UNIFIED IDEOGRAPH-4E15 0 100 Tagsc:Hani
世 U+4E16 CJK UNIFIED IDEOGRAPH-4E16 0 100 Tagsc:Hani
丗 U+4E17 CJK UNIFIED IDEOGRAPH-4E17 0 100 Tagsc:Hani
丘 U+4E18 CJK UNIFIED IDEOGRAPH-4E18 0 100 Tagsc:Hani
丙 U+4E19 CJK UNIFIED IDEOGRAPH-4E19 0 100 Tagsc:Hani
丞 U+4E1E CJK UNIFIED IDEOGRAPH-4E1E 0 100 Tagsc:Hani
両 U+4E21 CJK UNIFIED IDEOGRAPH-4E21 0 100 Tagsc:Hani
並 U+4E26 CJK UNIFIED IDEOGRAPH-4E26 0 100 Tagsc:Hani
个 U+4E2A CJK UNIFIED IDEOGRAPH-4E2A 0 100 Tagsc:Hani
中 U+4E2D CJK UNIFIED IDEOGRAPH-4E2D 0 100 Tagsc:Hani
丱 U+4E31 CJK UNIFIED IDEOGRAPH-4E31 0 100 Tagsc:Hani
串 U+4E32 CJK UNIFIED IDEOGRAPH-4E32 0 100 Tagsc:Hani
丶 U+4E36 CJK UNIFIED IDEOGRAPH-4E36 0 100 Tagsc:Hani ヽ U+30FD blocked
丸 U+4E38 CJK UNIFIED IDEOGRAPH-4E38 0 100 Tagsc:Hani
丹 U+4E39 CJK UNIFIED IDEOGRAPH-4E39 0 100 Tagsc:Hani
主 U+4E3B CJK UNIFIED IDEOGRAPH-4E3B 0 100 Tagsc:Hani
丼 U+4E3C CJK UNIFIED IDEOGRAPH-4E3C 0 100 Tagsc:Hani
丿 U+4E3F CJK UNIFIED IDEOGRAPH-4E3F 0 100 Tagsc:Hani
乂 U+4E42 CJK UNIFIED IDEOGRAPH-4E42 0 100 Tagsc:Hani
乃 U+4E43 CJK UNIFIED IDEOGRAPH-4E43 0 100 Tagsc:Hani
久 U+4E45 CJK UNIFIED IDEOGRAPH-4E45 0 100 Tagsc:Hani
之 U+4E4B CJK UNIFIED IDEOGRAPH-4E4B 0 100 Tagsc:Hani

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.

13 variant sets, containing 26 variants.

Character classes

Named sets of code points that the rules below refer to.

NameDefinition
kanji-numeral {tag Kanji-numeral} Any Kanji numeral 1 to 9 and ideographic number zero
kanji {tag sc:Hani} Any Kanji including quasi-Kanji
hiragana {tag sc:Hira} Any Hiragana
katakana {tag sc:Kana} Any Katakana
japanese ({kanji} ∪ {hiragana} ∪ {katakana}) All Japanese characters, excluding ascii

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 150

RFC 5891 restrictions on placement of 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)

hyphen-minus-disallowed MSR default 150

RFC 5891 restrictions on placement of U+002D HYPHEN-MINUS

( ( (?<= ^ ) ◆ ) │ ( ◆ (?= $ ) ) │ ( (?<= ^ . . U+002D ) ◆ ) )
Structure
  • ( ( (?<= ^ ) ◆ ) │ ( ◆ (?= $ ) ) │ ( (?<= ^ . . U+002D ) ◆ ) ) choice
    • (?<= ^ ) ◆ rule no leading hyphen
      • (?<= ^ ) look-behind
        • ^ start
      • ◆ anchor
    • ◆ (?= $ ) rule no trailing hyphen
      • ◆ anchor
      • (?= $ ) look-ahead
        • $ end
    • (?<= ^ . . U+002D ) ◆ rule no consecutive hyphens in third and fourth
      • (?<= ^ . . U+002D ) look-behind
        • ^ start
        • . any
        • . any
        • U+002D char hyphen-minus
      • ◆ anchor
Referenced by 1 definition
  • negative context of U+002D

at-start-of-word

No small kana, iteration mark or prolonged sound mark may start a label or word

(?<= ( ^ │ U+30FB ) ) ◆
Structure
  • (?<= ( ^ │ U+30FB ) ) look-behind
    • ( ^ │ U+30FB ) choice
      • ^ start
      • U+30FB char katakana middle dot
  • ◆ anchor
Referenced by 28 definitions
  • negative context of U+3005
  • negative context of U+3041
  • negative context of U+3043
  • negative context of U+3045
  • negative context of U+3047
  • negative context of U+3049
  • negative context of U+3063
  • negative context of U+3083
  • negative context of U+3085
  • negative context of U+3087
  • negative context of U+308E
  • negative context of U+309D
  • and 16 more

follows-only-kanji-numeral

ideographic zero follows only a kanji numeral

(?<= {kanji-numeral} ) ◆
Structure
  • (?<= {kanji-numeral} ) look-behind
    • {kanji-numeral} class
  • ◆ anchor
Referenced by 1 definition
  • context of U+3007

middle-dot-context

Katakana middle dot is only used between Japanese characters, and not following itself

(?<= ({japanese} ∖ [U+30FB]) ) ◆ (?= {japanese} )
Structure
  • (?<= ({japanese} ∖ [U+30FB]) ) look-behind
    • ({japanese} ∖ [U+30FB]) difference
      • {japanese} class
      • [U+30FB] class
  • ◆ anchor
  • (?= {japanese} ) look-ahead
    • {japanese} class
Referenced by 1 definition
  • context of U+30FB

follows-japanese

{japanese} U+002D
Referenced by 1 definition
  • rule hyphen-minus-restriction

precedes-japanese

U+002D {japanese}
Referenced by 1 definition
  • rule hyphen-minus-restriction

hyphen-minus-restriction

hyphen-minus not allowed adjacent to Japanese characters

( ⟨follows-japanese⟩ │ ⟨precedes-japanese⟩ )
Structure
  • ( ⟨follows-japanese⟩ │ ⟨precedes-japanese⟩ ) choice
    • ⟨follows-japanese⟩ rule
    • ⟨precedes-japanese⟩ rule
Referenced by 1 definition
  • action 2 (invalid)

repeated-mark

( {tag iteration-mark} │ {tag prolonged-sound} ){2,}
Structure
  • ( {tag iteration-mark} │ {tag prolonged-sound} ){2,} choice
    • {tag iteration-mark} class
    • {tag prolonged-sound} class
Referenced by 1 definition
  • action 4 (invalid)

Actions

Actions are evaluated in the order shown. The first action whose conditions match determines the disposition of the label.

Actions in precedence order
# Disposition Conditions
1 invalid label matches leading-combining-mark labels with leading combining marks are invalid MSR default
2 invalid label matches hyphen-minus-restriction labels with hyphen-minus preceeding or followin Japanese is invalid
3 invalid any variant is out-of-repertoire-var any variant label with a code point out of repertoire is invalid MSR default
4 invalid label matches repeated-mark iteration marks or prolonged sound mark may not be repeated
5 blocked any variant is blocked any variant label containing blocked variants is blocked MSR default
6 allocatable all variants are allocatable variant labels with all variants allocatable are allocatable MSR default
7 valid any label default catch all (default action) MSR default

References