Bengali

Bengali

Root Zone Label Generation Rules, 6th Edition Current

Summary

Version6 — Root Zone LGR for the Bengali (Bangla) Script
Date
Tag und-Beng (Bengali)
Unicode16.0.0
ScopeDNS root zone
Source filerz-lgr-6-bengali-script-23sep25-en.xml (30.8kb)
This ruleset in other editions: 6th Edition 5th Edition 4th Edition 3rd Edition 2nd Edition 1st Edition

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

Description

Root Zone Label Generation Rules for the Bengali (Bangla) Script

Overview

This file contains Label Generation Rules (LGR) for the Bengali (Bangla) script for the Root Zone. This LGR covers Assamese, Bengali, Manipuri and a number of other languages written with the Bengali script. For more details on this LGR and additional background on the script, see “Proposal for a Bengali Script Root Zone Label Generation Ruleset (LGR)” [Proposal-Bengali]. This file is one of a set of LGR files that together form an integrated LGR for the DNS Root Zone [RZ-LGR-6]. The format of this file follows [RFC 7940].

Repertoire

The repertoire contains 61 code points for letters, as well as 9 code point sequences, for a total of 70 repertoire elements. Out of the nine sequences: two sequences override a WLE constraint; four sequences were defined for in-script variants; and the other three sequences were defined to restrict U+09BC NUKTA from appearing in any context other than these sequences. Accordingly, while U+09BC is not listed by itself, it brings the total of distinct code points to 62. For more detail, see Section 5, “Repertoire” in [Proposal-Bengali].

Note that the code points U+09DC, 09DD and U+09DF are not in Normalization Form NFC and thus not PVALID under IDNA2008. Before performing lookup, any user agent accepting these code points will normalize them into the equivalent sequences with an explicit U+09BC Nukta code point. Accordingly, this LGR does not reference these code points, but instead includes only the sequences.

Read the rest of the description Show less

The repertoire is contained in [MSR-6], which is a subset of [Unicode 16.0.0].

As part of the Root Zone, this LGR includes neither decimal digits nor the HYPHEN-MINUS.

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. For code points that are part of the repertoire, comments identify the languages using the code point along with their [EGIDS] level.

Code points outside the Bengali script repertoire that are listed in this file are targets for out-of-repertoire variants and are identified by a reflexive (identity) variant of type “out-of-repertoire-var”. They do not form part of the repertoire.

Variants

This LGR defines in-script variants and cross-script variants as described in Section 6, “Variants”, in [Proposal-Bengali]. There are three in-script variants: two sequence sets and one set for variation of RA. See Section 6.1 of [Proposal-Bengali]. There are six cross-script variants: two sets with Gurmukhi and four sets with Devanagari. See also Section 6.2 of [Proposal-Bengali].

Variant Disposition: The in-script variant pair U+09B0 / U+09F0 is of type “allocatable”, thus allowing access to either user community. All other 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, the other one equivalent variant label should be blocked. There is no preference among these variants.

Context Rules for Variants: The Halant is only a variant at the end of a label, when it does not partake in forming a conjunct.

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

Character Classes

Consonants: All consonants contain an implicit vowel. More details in Section 3.3.1, “The Consonants” of [Proposal-Bengali].

Hasanta: A special sign is needed whenever the implicit vowel in the preceding consonant is stripped off. This symbol is also known as the Halant or “Virama”. The nominal rendering of the Hasanta is visible only at the end of the label. More details in Section 3.3.2, “The Implicit Vowel Killer: Hasanta” of [Proposal-Bengali].

Vowels and Kar (Matra): Separate symbols exist for all “Swara” or vowels in Bengali, which are pronounced independently either at the beginning of the word or after another vowel or consonant sound. To indicate a vowel sound other than the implicit one, a vowel sign (Kar) is attached to the consonant, analogous to Matra in other Neo-Brahmi scripts. More details in Section 3.3.3, “ Vowels” of [Proposal-Bengali].

Anusvara: The Anusvara represents a homorganic nasal. It replaces a conjunct group of a Nasal Consonant+Halant+Consonant belonging to that particular barga or set. Before a non-barga consonant, the anusvara represents a nasal sound. More details in Section 3.3.4, “The Anusvara” of [Proposal-Bengali].

Candrabindu: Candrabindu denotes nasalization of the preceding vowel as in চাঁদ /cãd/ “moon” (U+099A U+09BE U+0981 U+09A6). This sign with a dot inside the half-moon mark is used as nasalization marker in many Indian scripts. More details in Section 3.3.5, “Nasalization: Candrabindu” of [Proposal-Bengali].

Visarga and Avagraha: The Visarga U+0983 is frequently used in Bengali loanwords borrowed from Sanskrit and represents a sound very close to /h/. More details in Section 3.3.7, “Visarga and Avagraha” of [Proposal-Bengali].

Ya-phala: There are two instances in Bangla where a Hasanta is preceded by a full vowel (U+0985 BENGALI LETTER A and U+098F BENGALI LETTER E). More details in Section 3.3.9, “Use of Ya-phala” of [Proposal-Bengali].

Ra-phala and Ref Sequences: RA+Hasanta (Repha or Ra-phala sequences). More details in Section 3.3.10, “Ra-phala and Ref Sequences” of [Proposal-Bengali].

Nukta: Nukta is not listed by itself in the repertoire; it is only included in three sequences. More details in Section 3.3.6, “Nukta” of [Proposal-Bengali].

Zero Width Non-joiner (ZWNJ) and Zero Width Joiner (ZWJ): These are not included in the repertoire. More details in Section 3.3.8, “Zero Width Non-joiner (U+200C) and Zero Width Joiner (U+200D)” of [Proposal-Bengali].

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-6]. 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. The actions compute a label disposition based on WLE rules or variant mapping types.

Bengali-specific Rules

These rules have been formulated as context rules suitable for adoption into an LGR specification.

The following symbols are used in the WLE rules:

  • C → Consonant
  • M → Kar (Matra)
  • V → Vowel
  • B → Onushshar (Anusvara)
  • X → Bisarga (Visarga)
  • D → Candrabindu
  • H → Hasanta (Halant)
  • Z → KhandaTa
  • P → Ra-Hasanta
  • S → (a/e) Ya-phala

The rules are:

  • 1. C: C is a set of C and CN where CN is the set of normalized forms of {ড়,ঢ়,য়}
  • 2. H: must be preceded by C
  • 3. M: must be preceded by C
  • 4. D: must be preceded by any of V, C, M
  • 5. X: must be preceded by any of V, C, M, D
  • 6. B: must be preceded by any of V, C, M, D
  • 7. Z: must be preceded by any of V, C, M, D, B, X, P
  • 8. V: CANNOT be preceded by H
  • 9. S: CANNOT be preceded by H
  • 10. U+09B0 and U+09F0 CANNOT be mixed in the same label

More details in Section 7, “Whole Label Evaluation Rules (WLE)” of [Proposal-Bengali].

The following context rule is used for variants of Halant:

  • Variant is not defined unless it is followed by end of label

Methodology and Contributors

The Root Zone LGR for the Bengali (Bangla) 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-Bengali], as well as [RZ-LGR-6-Overview].

Changes from RZ LGR-5

In RZ LGR-6 the following changes were made:

  • A clerical error has been fixed: the character class for U+0994 Letter AU has been corrected to Vowel with a corresponding context rule. From RZ LGR-6, affected labels are now reported as valid in accordance with [Proposal-Bengali].
  • Two missing cross-script variants were added for Candrabindu and Hasanta and their Devanagari counterparts. These code points were mistakenly believed to not participate in the formation of possible variant labels.

For the prior version see [RZ-LGR-5-Beng].

References

The following general references are cited in this document:

[EGIDS]
Lewis and Simons, “EGIDS: Expanded Graded Intergenerational Disruption Scale,” documented in [SIL-Ethnologue] and summarized here: https://en.wikipedia.org/wiki/Expanded_Graded_Intergenerational_Disruption_Scale_(EGIDS)
[MSR-6]
Integration Panel, “Maximal Starting Repertoire — MSR-6 Overview and Rationale”, 23 September 2025, https://www.icann.org/en/system/files/files/msr-6-overview-23sep25-en.pdf
[Proposal-Bengali]
Neo-Brahmi Generation Panel, “Proposal for a Bangla (Bengali) Script Root Zone Label Generation Rule-Set (LGR)”, 20 May 2020 (PDF), https://www.icann.org/en/system/files/files/proposal-bangla-lgr-20may20-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-Beng]
ICANN, Root Zone Label Generation Rules for the Bengali (Bangla) Script (und-Beng), Version 5, 26 May 2022 (XML) https://www.icann.org/sites/default/files/lgr/rz-lgr-5-bengali-script-26may22-en.xml
non-normative HTML presentation: https://www.icann.org/sites/default/files/lgr/rz-lgr-5-bengali-script-26may22-en.html
[RZ-LGR-6]
Integration Panel, “Root Zone Label Generation Rules (RZ-LGR-6)”, 23 September 2025 (XML), https://www.icann.org/sites/default/files/lgr/rz-lgr-6-common-23sep25-en.xml
non-normative HTML presentation: https://www.icann.org/sites/default/files/lgr/rz-lgr-6-common-23sep25-en.html
[RZ-LGR-6-Overview]
Integration Panel, “Root Zone Label Generation Rules (RZ LGR-6): Overview and Summary”, 23 September 2025, https://www.icann.org/sites/default/files/lgr/rz-lgr-6-overview-23sep25-en.pdf
[SIL-Ethnologue]
David M. Eberhard, Gary F. Simons & Charles D. Fennig (eds.). 2021. Ethnologue: Languages of the World, Twenty fourth edition. Dallas, Texas: SIL International. Online version available as https://www.ethnologue.com
[Unicode 16.0.0]
The Unicode Consortium. The Unicode Standard, Version 16.0.0, (South San Francisco: The Unicode Consortium, 2024. ISBN 978-1-936213-34-4) https://www.unicode.org/versions/Unicode16.0.0/

For references consulted, particularly in designing the repertoire for the Bengali 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-Bengali] 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+0901 DEVANAGARI SIGN CANDRABINDU 0 Not part of repertoire Tagsc:Deva ঁ U+0981 blocked Cross-script homoglyph
म U+092E DEVANAGARI LETTER MA 0 Not part of repertoire Tagsc:Deva ম U+09AE blocked Cross-script homoglyph ਸ U+0A38 blocked Cross-script homoglyph
ि U+093F DEVANAGARI VOWEL SIGN I 0 Not part of repertoire Tagsc:Deva ি U+09BF blocked Cross-script homoglyph ਿ U+0A3F blocked Cross-script homoglyph
् U+094D DEVANAGARI SIGN VIRAMA 0 Not part of repertoire Tagsc:Deva ্ U+09CD blocked Cross-script homoglyph
ঁ U+0981 BENGALI SIGN CANDRABINDU 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagCandrabinduTagsc:Beng Contextfollows-only-V-C-M ँ U+0901 blocked Cross-script homoglyph
ং U+0982 BENGALI SIGN ANUSVARA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagAnusvaraTagsc:Beng Contextfollows-only-V-C-M-D
ঃ U+0983 BENGALI SIGN VISARGA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVisarga Contextfollows-only-V-C-M-D
অ U+0985 BENGALI LETTER A 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
অ্যা U+0985U+09CDU+09AFU+09BE sequence of 4 BENGALI LETTER A + BENGALI SIGN VIRAMA + BENGALI LETTER YA + BENGALI VOWEL SIGN AA Ya-Phalaa (s1): Bangla (1), Assamese (2) Contextnot follows-H
আ U+0986 BENGALI LETTER AA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
ই U+0987 BENGALI LETTER I 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
ঈ U+0988 BENGALI LETTER II 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
উ U+0989 BENGALI LETTER U 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
ঊ U+098A BENGALI LETTER UU 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
ঋ U+098B BENGALI LETTER VOCALIC R 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
এ U+098F BENGALI LETTER E 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
এ্যা U+098FU+09CDU+09AFU+09BE sequence of 4 BENGALI LETTER E + BENGALI SIGN VIRAMA + BENGALI LETTER YA + BENGALI VOWEL SIGN AA Ya-Phalaa (s2): Bangla (1) Contextnot follows-H
ঐ U+0990 BENGALI LETTER AI 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
ও U+0993 BENGALI LETTER O 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
ঔ U+0994 BENGALI LETTER AU 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) Tagsc:BengTagVowel Contextnot follows-H
ক U+0995 BENGALI LETTER KA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
খ U+0996 BENGALI LETTER KHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
গ U+0997 BENGALI LETTER GA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ঘ U+0998 BENGALI LETTER GHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ঙ U+0999 BENGALI LETTER NGA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
চ U+099A BENGALI LETTER CA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ছ U+099B BENGALI LETTER CHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
জ U+099C BENGALI LETTER JA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ঝ U+099D BENGALI LETTER JHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ঞ U+099E BENGALI LETTER NYA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ট U+099F BENGALI LETTER TTA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ঠ U+09A0 BENGALI LETTER TTHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ড U+09A1 BENGALI LETTER DDA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ড় U+09A1U+09BC sequence of 2 BENGALI LETTER DDA + BENGALI SIGN NUKTA 0 101 102 103
Comment 09DC is the preferred code point, however it is not available for LGR as per the standards governing this LGR development
ঢ U+09A2 BENGALI LETTER DDHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2), TagConsonantTagsc:Beng
ঢ় U+09A2U+09BC sequence of 2 BENGALI LETTER DDHA + BENGALI SIGN NUKTA 0 101 102 103
Comment 09DD is the preferred code point, however it is not available for LGR as per the standards governing this LGR development
ণ U+09A3 BENGALI LETTER NNA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ত U+09A4 BENGALI LETTER TA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
থ U+09A5 BENGALI LETTER THA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
দ U+09A6 BENGALI LETTER DA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ধ U+09A7 BENGALI LETTER DHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ন U+09A8 BENGALI LETTER NA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ন্থ U+09A8U+09CDU+09A5 sequence of 3 BENGALI LETTER NA + BENGALI SIGN VIRAMA + BENGALI LETTER THA Bengali variant ন্হ U+09A8 + U+09CD + U+09B9 blocked Bengali variant
ন্হ U+09A8U+09CDU+09B9 sequence of 3 BENGALI LETTER NA + BENGALI SIGN VIRAMA + BENGALI LETTER HA Bengali variant ন্থ U+09A8 + U+09CD + U+09A5 blocked Bengali variant
প U+09AA BENGALI LETTER PA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ফ U+09AB BENGALI LETTER PHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ব U+09AC BENGALI LETTER BA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ভ U+09AD BENGALI LETTER BHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ম U+09AE BENGALI LETTER MA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng म U+092E blocked Cross-script homoglyph ਸ U+0A38 blocked Cross-script homoglyph
য U+09AF BENGALI LETTER YA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
য় U+09AFU+09BC sequence of 2 BENGALI LETTER YA + BENGALI SIGN NUKTA 0 101 102 103
Comment 09DF is the preferred code point, however it is not available for LGR as per the standards governing this LGR development
র U+09B0 BENGALI LETTER RA 0 101 102 Bangla (1), Manipuri (2) TagC2TagConsonantTagsc:Beng ৰ U+09F0 allocatable Bengali variant
ল U+09B2 BENGALI LETTER LA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
শ U+09B6 BENGALI LETTER SHA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ষ U+09B7 BENGALI LETTER SSA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
স U+09B8 BENGALI LETTER SA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
স্থ U+09B8U+09CDU+09A5 sequence of 3 BENGALI LETTER SA + BENGALI SIGN VIRAMA + BENGALI LETTER THA Bengali variant স্হ U+09B8 + U+09CD + U+09B9 blocked Bengali variant
স্হ U+09B8U+09CDU+09B9 sequence of 3 BENGALI LETTER SA + BENGALI SIGN VIRAMA + BENGALI LETTER HA Bengali variant স্থ U+09B8 + U+09CD + U+09A5 blocked Bengali variant
হ U+09B9 BENGALI LETTER HA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
া U+09BE BENGALI VOWEL SIGN AA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
ি U+09BF BENGALI VOWEL SIGN I 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C ि U+093F blocked Cross-script homoglyph ਿ U+0A3F blocked Cross-script homoglyph
ী U+09C0 BENGALI VOWEL SIGN II 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
ু U+09C1 BENGALI VOWEL SIGN U 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
ূ U+09C2 BENGALI VOWEL SIGN UU 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
ৃ U+09C3 BENGALI VOWEL SIGN VOCALIC R 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
ৄ U+09C4 BENGALI VOWEL SIGN VOCALIC RR 0 101 103 Bangla (1), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
ে U+09C7 BENGALI VOWEL SIGN E 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
ৈ U+09C8 BENGALI VOWEL SIGN AI 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
ো U+09CB BENGALI VOWEL SIGN O 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
ৌ U+09CC BENGALI VOWEL SIGN AU 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagMatraTagsc:Beng Contextfollows-only-C
্ U+09CD BENGALI SIGN VIRAMA 0 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagHalantTagsc:Beng Contextfollows-only-C ् U+094D blocked Cross-script homoglyph
ৎ U+09CE BENGALI LETTER KHANDA TA 7 101 102 103 Bangla (1), Manipuri (2), Assamese (2) TagConsonantTagKhandaTaTagsc:Beng Contextfollows-only-V-C-M-D-B-X-P
ৰ U+09F0 BENGALI LETTER RA WITH MIDDLE DIAGONAL 0 103 Assamese (2) TagC2TagConsonantTagsc:Beng র U+09B0 allocatable Bengali variant
ৱ U+09F1 BENGALI LETTER RA WITH LOWER DIAGONAL 0 102 103 Manipuri (2), Assamese (2) TagConsonantTagsc:Beng
ਸ U+0A38 GURMUKHI LETTER SA 0 Not part of repertoire Tagsc:Guru म U+092E blocked Cross-script homoglyph ম U+09AE blocked Cross-script homoglyph
ਿ U+0A3F GURMUKHI VOWEL SIGN I 0 Not part of repertoire Tagsc:Guru ि U+093F blocked Cross-script homoglyph ি U+09BF blocked Cross-script homoglyph

Identity mappings, where a code point is declared a variant of itself, are required by RFC 7940 and are omitted here. 28 variant records are declared in total.

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.

7 variant sets, containing 22 variants.

Character classes

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

NameDefinition
C-single {tag Consonant} Any Bengali consonant
V {tag Vowel} Any Bengali vowel letter
M {tag Matra} Any Bengali vowel sign (matra)
H {tag Halant} The Bengali Hasanta (Halant / Virama)
B {tag Anusvara} The Bengali Onushshar (Anusvara)
X {tag Visarga} The Bengali Bisarga (Visarga)
D {tag Candrabindu} The Bengali Candrabindu
C2 {tag C2} Any Bengali consonant from set C2

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.

C-RRA

NFC form of BENGALI LETTER RRA

U+09A1 U+09BC
Referenced by 1 definition
  • rule C

C-RHA

NFC form of BENGALI LETTER RHA

U+09A2 U+09BC
Referenced by 1 definition
  • rule C

C-YYA

NFC form of BENGALI LETTER YYA

U+09AF U+09BC
Referenced by 1 definition
  • rule C

C

Section 7, WLE1: All consonants in the LGR repertoire; single code points and sequences

( {C-single} │ ⟨C-RRA⟩ │ ⟨C-RHA⟩ │ ⟨C-YYA⟩ )
Structure
  • ( {C-single} │ ⟨C-RRA⟩ │ ⟨C-RHA⟩ │ ⟨C-YYA⟩ ) choice
    • {C-single} class
    • ⟨C-RRA⟩ rule
    • ⟨C-RHA⟩ rule
    • ⟨C-YYA⟩ rule
Referenced by 4 definitions
  • rule follows-only-C
  • rule follows-only-V-C-M
  • rule follows-only-V-C-M-D
  • rule follows-only-V-C-M-D-B-X-P

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-only-C

Section 7, WLE 2: H: must be preceded by C ; WLE 3: M: must be preceded by C

(?<= ⟨C⟩ ) ◆
Structure
  • (?<= ⟨C⟩ ) look-behind
    • ⟨C⟩ rule
  • ◆ anchor
Referenced by 12 definitions
  • context of U+09BE
  • context of U+09BF
  • context of U+09C0
  • context of U+09C1
  • context of U+09C2
  • context of U+09C3
  • context of U+09C4
  • context of U+09C7
  • context of U+09C8
  • context of U+09CB
  • context of U+09CC
  • context of U+09CD

follows-only-V-C-M

Section 7, WLE 4: D: must be preceded by any of V, C, M

(?<= ( {V} │ ⟨C⟩ │ {M} ) ) ◆
Structure
  • (?<= ( {V} │ ⟨C⟩ │ {M} ) ) look-behind
    • ( {V} │ ⟨C⟩ │ {M} ) choice
      • {V} class
      • ⟨C⟩ rule
      • {M} class
  • ◆ anchor
Referenced by 1 definition
  • context of U+0981

follows-only-V-C-M-D

Section 7, WLE 5: X: must be preceded by any of V, C, M, D; WLE 6: B: must be preceded by any of V, C, M, D

(?<= ( {V} │ ⟨C⟩ │ {M} │ {D} ) ) ◆
Structure
  • (?<= ( {V} │ ⟨C⟩ │ {M} │ {D} ) ) look-behind
    • ( {V} │ ⟨C⟩ │ {M} │ {D} ) choice
      • {V} class
      • ⟨C⟩ rule
      • {M} class
      • {D} class
  • ◆ anchor
Referenced by 2 definitions
  • context of U+0982
  • context of U+0983

P

Ra-Hasanta, defined for use in WLE-7

{C2} {H}
Referenced by 1 definition
  • rule follows-only-V-C-M-D-B-X-P

follows-only-V-C-M-D-B-X-P

Section 7, WLE 7: Khanda Ta must be preceded by V, C, M, D, B, X, P

(?<= ( {V} │ ⟨C⟩ │ {M} │ {D} │ {B} │ {X} │ ⟨P⟩ ) ) ◆
Structure
  • (?<= ( {V} │ ⟨C⟩ │ {M} │ {D} │ {B} │ {X} │ ⟨P⟩ ) ) look-behind
    • ( {V} │ ⟨C⟩ │ {M} │ {D} │ {B} │ {X} │ ⟨P⟩ ) choice
      • {V} class
      • ⟨C⟩ rule
      • {M} class
      • {D} class
      • {B} class
      • {X} class
      • ⟨P⟩ rule
  • ◆ anchor
Referenced by 1 definition
  • context of U+09CE

follows-H

Section 7, WLE 8: V cannot be preceded by H, WLE 9: S cannot be preceded by H

(?<= {H} ) ◆
Structure
  • (?<= {H} ) look-behind
    • {H} class
  • ◆ anchor
Referenced by 13 definitions
  • negative context of U+0985
  • negative context of U+0985 U+09CD U+09AF U+09BE
  • negative context of U+0986
  • negative context of U+0987
  • negative context of U+0988
  • negative context of U+0989
  • negative context of U+098A
  • negative context of U+098B
  • negative context of U+098F
  • negative context of U+098F U+09CD U+09AF U+09BE
  • negative context of U+0990
  • negative context of U+0993
  • and 1 more

no-mix-09B0-09F0

Section 7, WLE 10: U+09B0 and U+09F0 cannot be mixed.

( ( U+09B0 .* U+09F0 ) │ ( U+09F0 .* U+09B0 ) )
Structure
  • ( ( U+09B0 .* U+09F0 ) │ ( U+09F0 .* U+09B0 ) ) choice
    • U+09B0 .* U+09F0 rule
      • U+09B0 char
      • .* any
      • U+09F0 char
    • U+09F0 .* U+09B0 rule
      • U+09F0 char
      • .* any
      • U+09B0 char
Referenced by 1 definition
  • action 2 (invalid)

at-end-of-label MSR default

Matches code point or sequence at the end of the label

◆ (?= $ )
Structure
  • ◆ anchor
  • (?= $ ) look-ahead
    • $ end
Referenced by 2 definitions
  • variant condition on U+094D
  • variant condition on U+09CD

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 no-mix-09B0-09F0 WLE 10: U+09B0 and U+09F0 cannot be mixed.
3 invalid any variant is out-of-repertoire-var any variant label with a code point out of repertoire is invalid MSR default
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

References