Schemes¶
A scheme in thaiphon is a mapping from the engine's internal phonological representation to a surface notation. The phonological analysis — syllabification, onset resolution, tone calculation, coda collapse — happens once and is scheme-independent. The scheme only controls how phonemes are spelled on output.
Eight schemes ship with the package:
| Scheme ID | Name | Character set | Tone notation |
|---|---|---|---|
ipa |
International Phonetic Alphabet | IPA Unicode | Chao tone letters (˧ ˨˩ ˥˩ ˦˥ ˩˩˦) |
tlc |
Enhanced Phonemic | ASCII Latin | Bracketed tags ({M} … {R}) in text mode; <sup> elements in html mode |
morev |
Cyrillic (Morev) | Cyrillic | Spacing modifier after coda; mid tone unmarked |
lmt |
LMT (Lipilina-Muzychenko-Thapanosoth) | Cyrillic + Latin IPA letters | Superscript digit at syllable end; 0 = mid, 1–4 = low/falling/high/rising |
rtl |
RTL School | Latin + IPA vowel letters | Combining diacritic on first vowel letter; mid = macron |
paiboon |
Paiboon | Latin + IPA vowel letters | Combining diacritic on first vowel letter; mid unmarked |
paiboon_plus |
Paiboon+ | Latin + IPA vowel letters | Combining diacritic on first vowel letter; mid unmarked |
rtgs |
Royal Thai General System | Plain ASCII Latin | No tone marks |
Side-by-side comparison¶
The same words rendered through all eight schemes. Verified against the actual module output.
| Thai | Gloss | ipa |
tlc (html) |
morev (html) |
lmt |
rtl |
paiboon |
paiboon_plus |
rtgs |
|---|---|---|---|---|---|---|---|---|---|
| สวัสดี | hello | /sa˨˩.wat̚˨˩.diː˧/ |
saL watL deeM |
саˆ-ватˆ-дӣ |
са¹ ват¹ ди:⁰ |
sà wàt dīi |
sà-wàt-dii |
sà-wàt-dii |
sawatdi |
| น้ำ | water | /naːm˦˥/ |
naamH |
на̄мˇ |
на:³ |
náam |
náam |
náam |
nam |
| ข้าว | rice | /kʰaːw˥˩/ |
khaaoF |
кха̄у |
|||||
| รัก | love | /rak̚˦˥/ |
rakH |
ракˇ |
рак³ |
rák |
rák |
rák |
rak |
| ปลา | fish | /plaː˧/ |
bplaaM |
пла̄ |
пла:⁰ |
plāa |
bplaa |
bplaa |
pla |
| กรุงเทพ | Bangkok | /kruŋ˧.tʰeːp̚˥˩/ |
groongM thaehpF |
крунг-тхе̄п |
|||||
| ภาษาไทย | Thai language | /pʰaː˧.saː˩˩˦.tʰaj˧/ |
phaaM saaR thaiM |
пха̄-са̄´-тхай |
пха:⁰ са:⁴ тхай⁰ |
phāa sǎa thāy |
paa-sǎa-tai |
paa-sǎa-tai |
phasathai |
| ผลไม้ | fruit | /pʰon˩˩˦.la˦˥.maːj˦˥/ |
phohnR laH maaiH |
пхон´-лаˇ-ма̄йˇ |
пхон⁴ ла³ ма:й³ |
phǒn lá máay |
pǒn-lá-máai |
pǒn-lá-máai |
phonlamai |
| ลิฟต์ | elevator | /lif˦˥/ |
lifH |
липˇ |
лип³ |
líf |
líf |
líf |
lip |
| ใส่ | to put in | /saj˨˩/ |
saiL |
сайˆ |
сай¹ |
sày |
sài |
sài |
sai |
Loanword coda
Under the default everyday profile, ลิฟต์ (elevator) preserves its foreign /f/ coda in ipa, tlc, rtl, paiboon, and paiboon_plus. The morev and lmt schemes always collapse foreign codas to the nearest native segment (both output лип regardless of profile), and rtgs always collapses per the official specification. Pass profile="etalon_compat" to force native-coda collapse in all schemes. See Reading profiles.
Choosing a scheme¶
Use ipa when:
- You need a linguistically precise, internationally recognised notation.
- You are comparing thaiphon output against Wiktionary or other IPA sources.
- Your audience can read IPA.
Use tlc when:
- You need plain ASCII output that works in any character encoding.
- Your audience is familiar with thai-language.com's notation.
- You need to copy-paste into contexts that may not support Unicode diacritics.
Use morev when:
- Your target audience reads Russian or is familiar with Russian-language Thai teaching materials.
- You want tone marks as diacritics rather than Chao tone letters.
- You want the canonical dictionary-citation Cyrillic form.
Use lmt when:
- Your audience is working from the Lipilina-Muzychenko-Thapanosoth 2018 MSU/ISAA textbook.
- You want Cyrillic with ASCII-colon length marking and numeric superscript tones instead of Morev's diacritic conventions.
Use rtgs when:
- You need the official Royal Institute form — for place names, geographic references, government documents, or any context where readers expect standard Thai romanization.
- Tone and vowel-length information are not required in the output.
Use rtl when:
- Your audience is learning Thai through the Rak Thai Language School's materials.
- You want mid tone always marked (macron) and IPA vowel letters for precision.
- You prefer a space as the syllable separator.
Use paiboon or paiboon_plus when:
- Your audience uses Paiboon Publishing's learner books or the Three-Way dictionary.
- You want the English-reader onset convention (aspirated stops as bare letters).
- Use paiboon_plus if you need the short/long centring diphthong distinction in spelling; use paiboon for compatibility with the original series.
Write your own when none of the above fits — see Write your own scheme.
Scheme pages¶
- IPA — full notation reference, tone table, IPA symbol inventory.
- TLC (Enhanced Phonemic) — notation reference, ASCII conventions, HTML superscript tone output.
- Morev (Cyrillic) — Cyrillic letter table, tone modifier conventions, HTML overlay for aspirated stops.
- LMT (Cyrillic — Lipilina-Muzychenko-Thapanosoth) — learner-textbook Cyrillic; colon length, superscript-digit tones, space separator.
- RTL School — digraph aspirates, IPA-letter vowels, combining tone diacritics,
ʼvowel-initial marker. - Paiboon and Paiboon+ — English-reader onset digraphs, centring diphthong length contrast, hyphen separator.
- RTGS (Royal Thai General System) — official 2002 standard, plain ASCII, no tone marks, no length distinction.
- Write your own — the
SchemeMappingAPI and a complete working example.