obadh_engine 0.9.1

A linguistically accurate Roman to Bengali transliteration engine
Documentation
# Bengali Consonant System in Obadh

This document is the source contract for runtime consonant rule keys. Consonant aliases are accepted only when they preserve a deterministic, deliberate typing signal.

## Basic Consonants

| Roman Input | Bengali Output | Category | Note |
|-------------|----------------|----------|------|
| k || Velar | ka |
| kh / Kh / KH || Velar | aspirated kha; titlecase and all-caps aliases compose through the same rule |
| g || Velar | ga |
| gh / Gh / GH || Velar | aspirated gha; titlecase and all-caps aliases compose through the same rule |
| Ng || Velar | velar nasal nga |
| c || Palatal | ca |
| ch / chh / C / Ch / CH / Chh / CHH || Palatal | aspirated cha family; accepted as one documented alias group |
| J / j || Palatal | ja |
| jh / Jh / JH || Palatal | aspirated jha; titlecase and all-caps aliases compose through the same rule |
| NG || Palatal | palatal nasal nya |
| T || Retroflex | retroflex ta |
| Th / TH || Retroflex | aspirated retroflex tha |
| D || Retroflex | retroflex da |
| Dh / DH || Retroflex | aspirated retroflex dha |
| N || Retroflex | retroflex na |
| t || Dental | dental ta |
| th || Dental | aspirated dental tha |
| d || Dental | dental da |
| dh || Dental | aspirated dental dha |
| n || Dental | dental na |
| p || Labial | pa |
| ph / Ph / PH / f || Labial | pha; `f` is accepted for common typed input |
| b || Labial | ba |
| bh / Bh / BH / v || Labial | bha; `v` is accepted for common typed input |
| m || Labial | ma |
| z || Semivowel | regular য base; does not become য-ফলা by itself |
| r || Semivowel | ra |
| l || Semivowel | la |
| sh / S || Fricative | palatal sha |
| Sh / SH || Fricative | retroflex sha |
| s || Fricative | dental sa |
| h || Fricative | ha |
| R | ড় | Special | Bengali ra with phota-like dot |
| Rh | ঢ় | Special | aspirated dotted ra |
| y / Y | য় | Special | regular antastha y standalone; after a consonant base it serves as the য-ফলা marker |
| w | ওয় | Special | /w/ glide standalone (`w` → ওয়, `water` → ওয়াটার); after a consonant base it serves as the ব-ফলা marker |

## Conjunct Interaction

- Regular `z` is the base consonant য.
- Regular `b` is the base consonant ব.
- `y` / `Y` (য-ফলা) and `w` (ব-ফলা) act as phola markers when they follow a consonant base; standalone they render as য় and ওয় respectively.
- Titlecase and all-caps aspirated aliases are not independent correction behavior; they canonicalize into the same consonant components before conjunct formation.
- Missing one-letter alphabetic case variants are accepted as fallback to the exact opposite-case signal only when the typed case is unclaimed and not reserved. Today this admits `B`, `G`, `K`, `P`, `F`, `V`, `L`, and `H` as fallback to their lowercase rules for autocapitalized deliberate input such as `Biggan``বিজ্ঞান`; it does not override exact signals such as `T`, `D`, `N`, `S`, `I`, `U`, `O`, `Y`, `M`, or the narrow `Z` marker.