@syllst/th 0.2.3 → 0.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +10 -15
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +65 -62
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.umd.cjs +71 -0
  7. package/dist/index.umd.cjs.map +1 -0
  8. package/dist/syllabi/alphabet/index.d.ts +2 -5
  9. package/dist/syllabi/alphabet/index.d.ts.map +1 -0
  10. package/dist/syllabi/dialogue/index.d.ts +2 -5
  11. package/dist/syllabi/dialogue/index.d.ts.map +1 -0
  12. package/dist/syllabi/essentials/index.d.ts +2 -5
  13. package/dist/syllabi/essentials/index.d.ts.map +1 -0
  14. package/dist/syllabi/food/index.d.ts +2 -5
  15. package/dist/syllabi/food/index.d.ts.map +1 -0
  16. package/dist/syllabi/grammar/index.d.ts +2 -5
  17. package/dist/syllabi/grammar/index.d.ts.map +1 -0
  18. package/dist/syllabi/numbers/index.d.ts +2 -5
  19. package/dist/syllabi/numbers/index.d.ts.map +1 -0
  20. package/dist/syllabi/reading/index.d.ts +2 -5
  21. package/dist/syllabi/reading/index.d.ts.map +1 -0
  22. package/dist/syllabi/travel/index.d.ts +2 -5
  23. package/dist/syllabi/travel/index.d.ts.map +1 -0
  24. package/dist/syllabi/vowels-tones/index.d.ts +2 -5
  25. package/dist/syllabi/vowels-tones/index.d.ts.map +1 -0
  26. package/package.json +7 -5
  27. package/dist/index-BM-LWlCm.js +0 -52
  28. package/dist/index-BM-LWlCm.js.map +0 -1
  29. package/dist/index-Bjym0crS.js +0 -48
  30. package/dist/index-Bjym0crS.js.map +0 -1
  31. package/dist/index-BuKXw7-Z.js +0 -46
  32. package/dist/index-BuKXw7-Z.js.map +0 -1
  33. package/dist/index-ByS0o5dz.js +0 -52
  34. package/dist/index-ByS0o5dz.js.map +0 -1
  35. package/dist/index-C9VnG7dT.js +0 -52
  36. package/dist/index-C9VnG7dT.js.map +0 -1
  37. package/dist/index-CPQkjFjV.js +0 -50
  38. package/dist/index-CPQkjFjV.js.map +0 -1
  39. package/dist/index-CkHd3Fal.js +0 -56
  40. package/dist/index-CkHd3Fal.js.map +0 -1
  41. package/dist/index-DBkPBXe2.js +0 -52
  42. package/dist/index-DBkPBXe2.js.map +0 -1
  43. package/dist/index-DdRhLqkM.js +0 -82
  44. package/dist/index-DdRhLqkM.js.map +0 -1
  45. package/dist/lesson-01-B0wtSaSl.js +0 -118
  46. package/dist/lesson-01-B0wtSaSl.js.map +0 -1
  47. package/dist/lesson-01-C9vbUlA4.js +0 -138
  48. package/dist/lesson-01-C9vbUlA4.js.map +0 -1
  49. package/dist/lesson-01-CPmBFTe0.js +0 -132
  50. package/dist/lesson-01-CPmBFTe0.js.map +0 -1
  51. package/dist/lesson-01-Cc4Ws8eR.js +0 -158
  52. package/dist/lesson-01-Cc4Ws8eR.js.map +0 -1
  53. package/dist/lesson-01-Cm5k-m-9.js +0 -136
  54. package/dist/lesson-01-Cm5k-m-9.js.map +0 -1
  55. package/dist/lesson-01-DELblCNj.js +0 -97
  56. package/dist/lesson-01-DELblCNj.js.map +0 -1
  57. package/dist/lesson-01-Djl_72e7.js +0 -153
  58. package/dist/lesson-01-Djl_72e7.js.map +0 -1
  59. package/dist/lesson-01-LEHTeGQQ.js +0 -155
  60. package/dist/lesson-01-LEHTeGQQ.js.map +0 -1
  61. package/dist/lesson-01-ih_-OO_O.js +0 -111
  62. package/dist/lesson-01-ih_-OO_O.js.map +0 -1
  63. package/dist/lesson-02-B2aZrKUQ.js +0 -120
  64. package/dist/lesson-02-B2aZrKUQ.js.map +0 -1
  65. package/dist/lesson-02-BI1Vnwiz.js +0 -169
  66. package/dist/lesson-02-BI1Vnwiz.js.map +0 -1
  67. package/dist/lesson-02-BXbwEMaL.js +0 -180
  68. package/dist/lesson-02-BXbwEMaL.js.map +0 -1
  69. package/dist/lesson-02-CbJJ5Amt.js +0 -201
  70. package/dist/lesson-02-CbJJ5Amt.js.map +0 -1
  71. package/dist/lesson-02-DGrALAgG.js +0 -203
  72. package/dist/lesson-02-DGrALAgG.js.map +0 -1
  73. package/dist/lesson-02-DcMDDBDL.js +0 -116
  74. package/dist/lesson-02-DcMDDBDL.js.map +0 -1
  75. package/dist/lesson-02-Dk59HZWp.js +0 -222
  76. package/dist/lesson-02-Dk59HZWp.js.map +0 -1
  77. package/dist/lesson-02-L8oNhBej.js +0 -145
  78. package/dist/lesson-02-L8oNhBej.js.map +0 -1
  79. package/dist/lesson-02-VDOme3ES.js +0 -204
  80. package/dist/lesson-02-VDOme3ES.js.map +0 -1
  81. package/dist/lesson-03-9WioSe19.js +0 -196
  82. package/dist/lesson-03-9WioSe19.js.map +0 -1
  83. package/dist/lesson-03-BZutWzMD.js +0 -124
  84. package/dist/lesson-03-BZutWzMD.js.map +0 -1
  85. package/dist/lesson-03-Bj5hWZ9t.js +0 -152
  86. package/dist/lesson-03-Bj5hWZ9t.js.map +0 -1
  87. package/dist/lesson-03-CSIF5xRS.js +0 -181
  88. package/dist/lesson-03-CSIF5xRS.js.map +0 -1
  89. package/dist/lesson-03-CSKig363.js +0 -225
  90. package/dist/lesson-03-CSKig363.js.map +0 -1
  91. package/dist/lesson-03-DPJOG2M_.js +0 -138
  92. package/dist/lesson-03-DPJOG2M_.js.map +0 -1
  93. package/dist/lesson-03-DkjCuJ26.js +0 -237
  94. package/dist/lesson-03-DkjCuJ26.js.map +0 -1
  95. package/dist/lesson-03-DucbRMOQ.js +0 -171
  96. package/dist/lesson-03-DucbRMOQ.js.map +0 -1
  97. package/dist/lesson-03-MIne1PbH.js +0 -185
  98. package/dist/lesson-03-MIne1PbH.js.map +0 -1
  99. package/dist/lesson-04-0Pj_x1DU.js +0 -233
  100. package/dist/lesson-04-0Pj_x1DU.js.map +0 -1
  101. package/dist/lesson-04-B9h0p9kE.js +0 -190
  102. package/dist/lesson-04-B9h0p9kE.js.map +0 -1
  103. package/dist/lesson-04-BLuPI1-X.js +0 -216
  104. package/dist/lesson-04-BLuPI1-X.js.map +0 -1
  105. package/dist/lesson-04-CmDvofL4.js +0 -230
  106. package/dist/lesson-04-CmDvofL4.js.map +0 -1
  107. package/dist/lesson-04-DGKHK4LW.js +0 -178
  108. package/dist/lesson-04-DGKHK4LW.js.map +0 -1
  109. package/dist/lesson-04-DUcHZzsk.js +0 -218
  110. package/dist/lesson-04-DUcHZzsk.js.map +0 -1
  111. package/dist/lesson-04-DnVIXXk-.js +0 -141
  112. package/dist/lesson-04-DnVIXXk-.js.map +0 -1
  113. package/dist/lesson-04-FZnIE7tu.js +0 -187
  114. package/dist/lesson-04-FZnIE7tu.js.map +0 -1
  115. package/dist/lesson-04-ToX3nRz1.js +0 -172
  116. package/dist/lesson-04-ToX3nRz1.js.map +0 -1
  117. package/dist/lesson-05-2aTCGXMh.js +0 -181
  118. package/dist/lesson-05-2aTCGXMh.js.map +0 -1
  119. package/dist/lesson-05-BvitRdE8.js +0 -206
  120. package/dist/lesson-05-BvitRdE8.js.map +0 -1
  121. package/dist/lesson-05-CgXGkcjS.js +0 -143
  122. package/dist/lesson-05-CgXGkcjS.js.map +0 -1
  123. package/dist/lesson-05-ClfrUrvX.js +0 -244
  124. package/dist/lesson-05-ClfrUrvX.js.map +0 -1
  125. package/dist/lesson-05-D2zf9n7k.js +0 -201
  126. package/dist/lesson-05-D2zf9n7k.js.map +0 -1
  127. package/dist/lesson-05-DWquBfdl.js +0 -220
  128. package/dist/lesson-05-DWquBfdl.js.map +0 -1
  129. package/dist/lesson-05-DpIkwhJ8.js +0 -244
  130. package/dist/lesson-05-DpIkwhJ8.js.map +0 -1
  131. package/dist/lesson-05-UYz39ORV.js +0 -189
  132. package/dist/lesson-05-UYz39ORV.js.map +0 -1
  133. package/dist/lesson-05-t6XuANiZ.js +0 -180
  134. package/dist/lesson-05-t6XuANiZ.js.map +0 -1
  135. package/dist/lesson-06-B2y08mKv.js +0 -238
  136. package/dist/lesson-06-B2y08mKv.js.map +0 -1
  137. package/dist/lesson-06-CHqaVQix.js +0 -202
  138. package/dist/lesson-06-CHqaVQix.js.map +0 -1
  139. package/dist/lesson-06-CaCZBX1V.js +0 -273
  140. package/dist/lesson-06-CaCZBX1V.js.map +0 -1
  141. package/dist/lesson-06-ClplsJBT.js +0 -204
  142. package/dist/lesson-06-ClplsJBT.js.map +0 -1
  143. package/dist/lesson-06-CzGnNKo5.js +0 -141
  144. package/dist/lesson-06-CzGnNKo5.js.map +0 -1
  145. package/dist/lesson-06-Dg_bQLNC.js +0 -172
  146. package/dist/lesson-06-Dg_bQLNC.js.map +0 -1
  147. package/dist/lesson-06-OWFMgO0a.js +0 -231
  148. package/dist/lesson-06-OWFMgO0a.js.map +0 -1
  149. package/dist/lesson-06-Q2aRAzws.js +0 -190
  150. package/dist/lesson-06-Q2aRAzws.js.map +0 -1
  151. package/dist/lesson-07-BLDUA_Ff.js +0 -194
  152. package/dist/lesson-07-BLDUA_Ff.js.map +0 -1
  153. package/dist/lesson-07-BpyF1Ssq.js +0 -236
  154. package/dist/lesson-07-BpyF1Ssq.js.map +0 -1
  155. package/dist/lesson-07-C4GrfDTW.js +0 -234
  156. package/dist/lesson-07-C4GrfDTW.js.map +0 -1
  157. package/dist/lesson-07-CVCUt1Jn.js +0 -206
  158. package/dist/lesson-07-CVCUt1Jn.js.map +0 -1
  159. package/dist/lesson-07-DQFXCZsZ.js +0 -197
  160. package/dist/lesson-07-DQFXCZsZ.js.map +0 -1
  161. package/dist/lesson-07-Dcry2Yjo.js +0 -248
  162. package/dist/lesson-07-Dcry2Yjo.js.map +0 -1
  163. package/dist/lesson-07-JS_cqdNr.js +0 -142
  164. package/dist/lesson-07-JS_cqdNr.js.map +0 -1
  165. package/dist/lesson-08-18gscaS0.js +0 -227
  166. package/dist/lesson-08-18gscaS0.js.map +0 -1
  167. package/dist/lesson-08-2kBUq_B2.js +0 -220
  168. package/dist/lesson-08-2kBUq_B2.js.map +0 -1
  169. package/dist/lesson-08-BP5lpiGe.js +0 -287
  170. package/dist/lesson-08-BP5lpiGe.js.map +0 -1
  171. package/dist/lesson-08-BXm9GgdN.js +0 -146
  172. package/dist/lesson-08-BXm9GgdN.js.map +0 -1
  173. package/dist/lesson-08-Bru0PdEK.js +0 -277
  174. package/dist/lesson-08-Bru0PdEK.js.map +0 -1
  175. package/dist/lesson-08-Dd-8cbGW.js +0 -205
  176. package/dist/lesson-08-Dd-8cbGW.js.map +0 -1
  177. package/dist/lesson-09-B1qWE3Yl.js +0 -221
  178. package/dist/lesson-09-B1qWE3Yl.js.map +0 -1
  179. package/dist/lesson-09-B5Vb70xj.js +0 -143
  180. package/dist/lesson-09-B5Vb70xj.js.map +0 -1
  181. package/dist/lesson-10-00qNLc7A.js +0 -233
  182. package/dist/lesson-10-00qNLc7A.js.map +0 -1
  183. package/dist/lesson-10-Dw-Jtm3D.js +0 -156
  184. package/dist/lesson-10-Dw-Jtm3D.js.map +0 -1
  185. package/dist/lesson-11-BM3R_S7I.js +0 -260
  186. package/dist/lesson-11-BM3R_S7I.js.map +0 -1
  187. package/dist/lesson-12-D1Wx7CyK.js +0 -277
  188. package/dist/lesson-12-D1Wx7CyK.js.map +0 -1
  189. package/dist/skills-hcn-pGD0.js +0 -244
  190. package/dist/skills-hcn-pGD0.js.map +0 -1
  191. package/dist/syllabi/alphabet/index.js +0 -9
  192. package/dist/syllabi/alphabet/index.js.map +0 -1
  193. package/dist/syllabi/dialogue/index.js +0 -10
  194. package/dist/syllabi/dialogue/index.js.map +0 -1
  195. package/dist/syllabi/essentials/index.js +0 -10
  196. package/dist/syllabi/essentials/index.js.map +0 -1
  197. package/dist/syllabi/food/index.js +0 -10
  198. package/dist/syllabi/food/index.js.map +0 -1
  199. package/dist/syllabi/grammar/index.js +0 -10
  200. package/dist/syllabi/grammar/index.js.map +0 -1
  201. package/dist/syllabi/numbers/index.js +0 -10
  202. package/dist/syllabi/numbers/index.js.map +0 -1
  203. package/dist/syllabi/reading/index.js +0 -10
  204. package/dist/syllabi/reading/index.js.map +0 -1
  205. package/dist/syllabi/travel/index.js +0 -10
  206. package/dist/syllabi/travel/index.js.map +0 -1
  207. package/dist/syllabi/vowels-tones/index.js +0 -10
  208. package/dist/syllabi/vowels-tones/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-10-00qNLc7A.js","sources":["../src/syllabi/alphabet/lessons/lesson-10.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-10\\ntitle: \\\"บทที่ 10 — พยัญชนะหายาก II\\\"\\ndescription: \\\"Final Rare Consonants: ฐ ฑ ฒ ฬ — Completing the 44-consonant inventory\\\"\\norder: 10\\nparentId: thai-script-alphabet\\ndifficulty: advanced\\ncefrLevel: B1\\ncategories:\\n - consonants\\n - rare-consonants\\n - sanskrit-origin\\n - advanced-characters\\nmetadata:\\n estimatedTime: 20\\n prerequisites:\\n - thai-script-lesson-09\\n learningObjectives:\\n - id: obj-complete-alphabet\\n description: \\\"Complete the 44-consonant Thai alphabet\\\"\\n skill: character-recognition\\n references: [pedestal, montho, elder, kite]\\n - id: obj-rare2-recognition\\n description: \\\"Recognize the final rare consonants\\\"\\n skill: character-recognition\\n references: [pedestal, montho, elder, kite]\\n - id: obj-th-family\\n description: \\\"Understand the TH consonant family in full\\\"\\n skill: character-class-identification\\n references: [pedestal, montho, elder]\\n - id: obj-consonant-literacy\\n description: \\\"Achieve complete consonant literacy\\\"\\n skill: character-recognition\\n references: [pedestal, montho, elder, kite]\\n---\\n\\n# บทที่ 10 (Lesson 10) — Final Rare Consonants\\n\\n## Introduction\\n\\nCongratulations! This lesson completes your journey through all **44 Thai consonants**. These final four characters are rare but appear in important vocabulary.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-rare-consonants-2\\\" title=\\\"Final Rare Consonants\\\"}\\n\\n::character{id=\\\"pedestal\\\" canonicalRef=\\\"pedestal\\\" data:class=\\\"high\\\" char=\\\"ฐ\\\" name=\\\"ฐ ฐาน (thɔ̌ɔ thǎan)\\\" nativeName=\\\"ฐ ฐาน\\\" transliteration=\\\"th/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"montho\\\" canonicalRef=\\\"montho\\\" data:class=\\\"low\\\" char=\\\"ฑ\\\" name=\\\"ฑ มณโฑ (thɔɔ mon-thoo)\\\" nativeName=\\\"ฑ มณโฑ\\\" transliteration=\\\"th/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"elder\\\" canonicalRef=\\\"elder\\\" data:class=\\\"low\\\" char=\\\"ฒ\\\" name=\\\"ฒ ผู้เฒ่า (thɔɔ phûu-thâo)\\\" nativeName=\\\"ฒ ผู้เฒ่า\\\" transliteration=\\\"th/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"kite\\\" canonicalRef=\\\"kite\\\" data:class=\\\"low\\\" char=\\\"ฬ\\\" name=\\\"ฬ จุฬา (lɔɔ jù-laa)\\\" nativeName=\\\"ฬ จุฬา\\\" transliteration=\\\"l/n\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## The Complete TH Sound Family\\n\\nWith these additions, you now know ALL consonants making the /th/ sound:\\n\\n| Consonant | Class | Mnemonic | Usage |\\n|-----------|-------|----------|-------|\\n| ต | Middle | Turtle | Common (unaspirated T) |\\n| ถ | High | Bag | Common (aspirated TH) |\\n| ท | Low | Soldier | Common |\\n| ธ | Low | Flag | Formal/Sanskrit |\\n| **ฐ** | **High** | Pedestal | Rare/Sanskrit |\\n| **ฑ** | **Low** | Montho | Very rare |\\n| **ฒ** | **Low** | Elder | Very rare |\\n\\nNote: ต is technically /t/ (unaspirated), while the others are /th/ (aspirated). But ฐ ฑ ฒ are so rare that the distinction matters little.\\n\\n### ฐ (Thɔ̌ɔ Thǎan - Pedestal)\\n\\n**High-class** TH. Appears in:\\n- ฐาน (thǎan) — base, foundation\\n- สถาบัน (sà-thǎa-ban) — institution\\n- สถานที่ (sà-thǎan-thîi) — place, location\\n- สถาปัตยกรรม (sà-thǎa-bpàt-dtà-yá-gam) — architecture\\n\\nThe word สถาน appears in many compound words — it's the most common use of ฐ.\\n\\n### ฑ (Thɔɔ Mon-thoo) and ฒ (Thɔɔ Phûu-thâo)\\n\\nBoth **low-class** TH, both very rare:\\n\\n**ฑ** (Montho - Ramayana character) appears in:\\n- มณโฑ (mon-thoo) — the character's name\\n- บัณฑิต (ban-dìt) — graduate, scholar\\n\\n**ฒ** (Elder) appears in:\\n- ผู้เฒ่า (phûu-thâo) — elderly person\\n- เฒ่าแก่ (thâo-gàae) — old and wise\\n\\nThese characters exist because Sanskrit had multiple dental sounds that Thai merged. The spellings preserve the original distinctions.\\n\\n## The L Sound Pair: ล and ฬ\\n\\nThai has two /l/ consonants:\\n\\n| Consonant | Class | Usage |\\n|-----------|-------|-------|\\n| ล | Low | Common |\\n| ฬ | Low | Rare |\\n\\n**ฬ** (Lɔɔ Jù-laa - Kite) appears in very few words:\\n- จุฬา (jù-laa) — a type of traditional kite\\n- จุฬาลงกรณ์ (Chulalongkorn) — the famous king and university\\n\\nThe word **จุฬา** is the primary use of ฬ. It appears in:\\n- จุฬาลงกรณ์มหาวิทยาลัย (Chulalongkorn University)\\n- Traditional kite names\\n\\n## The Complete 44-Consonant Inventory\\n\\nHere's your complete set organized by class:\\n\\n### Middle Class (9 consonants)\\nก จ ฎ ฏ ด ต บ ป อ\\n\\n### High Class (11 consonants)\\nข ฃ ฉ ฐ ถ ผ ฝ ศ ษ ส ห\\n\\n### Low Class (24 consonants)\\nค ฅ ฆ ง ช ซ ฌ ญ ฑ ฒ ณ ท ธ น พ ฟ ภ ม ย ร ล ว ฬ ฮ\\n\\n**Memory tip**: Middle class is small (9), High class is medium (11), Low class is large (24).\\n\\n## Practical Frequency\\n\\nIn everyday Thai writing:\\n\\n| Frequency | Consonants |\\n|-----------|------------|\\n| **Very Common** | ก ข ค ง จ ด ต ท น บ ป พ ม ย ร ล ว ส ห อ |\\n| **Common** | ช ซ ถ ธ ฝ ฟ ภ ศ ฮ |\\n| **Uncommon** | ฉ ญ ณ ผ ษ |\\n| **Rare** | ฆ ฌ ฎ ฏ ฐ ฑ ฒ ฬ |\\n| **Obsolete** | ฃ ฅ |\\n\\nFor reading, focus on the common ones. The rare ones will become recognizable as you encounter specific vocabulary.\\n\\n## Complete Alphabet Song Order\\n\\nThe traditional Thai alphabet order (used in dictionaries and teaching):\\n\\nก ข ฃ ค ฅ ฆ ง จ ฉ ช ซ ฌ ญ ฎ ฏ ฐ ฑ ฒ ณ ด ต ถ ท ธ น บ ป ผ ฝ พ ฟ ภ ม ย ร ล ว ศ ษ ส ห ฬ อ ฮ\\n\\nThis sequence is used for:\\n- Dictionary lookup\\n- Alphabetical sorting\\n- The \\\"Gor Gai\\\" song\\n\\n## Key Points\\n\\n1. **ฐ is high-class**: The only high-class TH besides ถ\\n2. **ฑ ฒ are low-class**: Both rare, mainly Sanskrit/royal words\\n3. **ฬ is the rare L**: Primarily in จุฬา\\n4. **44 consonants complete**: 9 middle + 11 high + 24 low\\n5. **Know frequency**: Most consonants are rare; focus on common ones first\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"rare-2-th-family\\\" type=\\\"fill-in-blank\\\" title=\\\"Complete TH Family\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"pedestal,montho,elder\\\" objectiveId=\\\"obj-th-family\\\"}\\n\\n**Question:** List all consonants that make the TH sound (aspirated T)\\n\\n**Answer:**\\n\\n- ถ (bag) - high-class\\n- ท (soldier) - low-class\\n- ธ (flag) - low-class\\n- ฐ (pedestal) - high-class\\n- ฑ (Montho) - low-class\\n- ฒ (elder) - low-class\\n\\n**Explanation:** Thai has six consonants making the /th/ sound. ต is technically unaspirated /t/, while the others are aspirated /th/. All except ต sound identical; the difference is consonant class for tone determination.\\n\\n:::\\n\\n:::exercise{id=\\\"rare-2-class-counting\\\" type=\\\"multiple-choice\\\" title=\\\"Consonant Class Distribution\\\" skill=\\\"character-class-identification\\\" objectiveId=\\\"obj-complete-alphabet\\\"}\\n\\n**Question:** How many consonants are in each class?\\n\\n**Options:**\\n- Middle: 9, High: 11, Low: 24\\n- Middle: 11, High: 9, Low: 24\\n- Middle: 9, High: 24, Low: 11\\n- All equal: 15 each\\n\\n**Answer:** 1\\n\\n**Explanation:** The Thai consonant system has 9 middle-class, 11 high-class, and 24 low-class consonants. Low-class is the largest group because it includes many historically voiced sounds.\\n\\n:::\\n\\n:::exercise{id=\\\"rare-2-rare-recognition\\\" type=\\\"matching\\\" title=\\\"Rare Consonant Recognition\\\" skill=\\\"character-recognition\\\" tests=\\\"pedestal,montho,elder,kite\\\" objectiveId=\\\"obj-rare2-recognition\\\"}\\n\\n**Question:** Match each rare consonant to its most common usage\\n\\n- ฐ (pedestal)\\n- ฑ (Montho)\\n- ฒ (elder)\\n- ฬ (kite)\\n\\n**Answer:**\\n\\n- ฐ → สถาน (place, location) - appears in many compound words\\n- ฑ → บัณฑิต (graduate, scholar) - very rare, mainly this word\\n- ฒ → ผู้เฒ่า (elderly person) - very rare\\n- ฬ → จุฬา (kite, Chulalongkorn) - primarily in this word\\n\\n**Explanation:** These rare consonants appear in very specific vocabulary. Knowing their most common words helps recognize them in context.\\n\\n:::\\n\\n## Congratulations!\\n\\nYou've now learned all 44 Thai consonants. The remaining lessons cover:\\n- **Lesson 11**: Tone marks\\n- **Lesson 12**: Numbers and symbols\\n\\nThese complete your ability to read Thai script!\\n\\n## What's Next\\n\\nIn Lesson 11, you'll learn the **four tone marks** — the final key to unlocking Thai pronunciation.\\n\""],"names":["lesson10"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,156 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-reading-lesson-10
4
- title: "บทที่ 10 — อ่านในชีวิตประจำวัน"
5
- description: "Daily Life Reading: Read practical everyday documents"
6
- order: 10
7
- parentId: thai-reading
8
- difficulty: intermediate
9
- cefrLevel: B1
10
- categories:
11
- - reading
12
- - practical
13
- - documents
14
- metadata:
15
- estimatedTime: 35
16
- prerequisites:
17
- - thai-reading-lesson-09
18
- learningObjectives:
19
- - id: obj-r10-receipts-bills
20
- description: "Read receipts and bills"
21
- skill: reading-comprehension
22
- - id: obj-r10-forms-applications
23
- description: "Understand forms and applications"
24
- skill: reading-comprehension
25
- - id: obj-r10-everyday-documents
26
- description: "Navigate everyday documents"
27
- skill: word-recognition
28
- ---
29
-
30
- # Daily Life Reading
31
-
32
- Everyday documents require reading skills. Master these practical formats.
33
-
34
- ## Receipt Terms
35
-
36
- | Thai | Romanization | English |
37
- |------|--------------|---------|
38
- | ใบเสร็จ | bai set | receipt |
39
- | รายการ | raikan | item |
40
- | จำนวน | jamnuan | quantity |
41
- | รวม | ruam | total |
42
-
43
- ## Bill Components
44
-
45
- | Thai | Romanization | English |
46
- |------|--------------|---------|
47
- | ค่าบริการ | kha borikan | service charge |
48
- | ภาษี | phasi | tax |
49
- | ส่วนลด | suan lot | discount |
50
- | ยอดสุทธิ | yot sutthi | net total |
51
-
52
- ## Form Fields
53
-
54
- | Thai | Romanization | English |
55
- |------|--------------|---------|
56
- | ชื่อ-นามสกุล | chue-namsakun | full name |
57
- | ที่อยู่ | thi yu | address |
58
- | เบอร์โทร | boe tho | phone number |
59
- | อีเมล | email | email |
60
-
61
- ## Document Types
62
-
63
- | Thai | Romanization | English |
64
- |------|--------------|---------|
65
- | ใบสมัคร | bai samak | application form |
66
- | สัญญา | sanya | contract |
67
- | ใบรับรอง | bai rapprong | certificate |
68
- | ใบอนุญาต | bai anuyat | permit/license |
69
-
70
- ## Sample Receipt
71
-
72
- \`\`\`
73
- ร้านอาหารครัวไทย
74
- Thai Kitchen Restaurant
75
- ------------------------
76
- วันที่: 15/01/2568
77
- เลขที่: 001234
78
-
79
- รายการ จำนวน ราคา
80
- ผัดไทยกุ้ง 1 80
81
- ต้มยำกุ้ง 1 120
82
- น้ำมะนาว 2 40
83
- ------------------------
84
- รวม 240
85
- ภาษี 7% 17
86
- ยอดสุทธิ 257 บาท
87
-
88
- ขอบคุณที่ใช้บริการ
89
- \`\`\`
90
-
91
- *Thai Kitchen Restaurant, Date: 15/01/2025, Receipt #001234. Items: Pad Thai shrimp (1) 80, Tom Yum shrimp (1) 120, Lime juice (2) 40. Subtotal 240, Tax 7% 17, Total 257 baht. Thank you for your patronage.*
92
-
93
- ## Practice Exercises
94
-
95
- :::exercise{id="reading-10-receipt-terms" type="matching" title="Receipt Vocabulary" skill="word-recognition" objectiveId="obj-r10-receipts-bills"}
96
-
97
- **Question:** Match each receipt term to its meaning
98
-
99
- - ใบเสร็จ
100
- - รายการ
101
- - จำนวน
102
- - ยอดสุทธิ
103
-
104
- **Answer:**
105
-
106
- - ใบเสร็จ → Receipt
107
- - รายการ → Item/line item
108
- - จำนวน → Quantity
109
- - ยอดสุทธิ → Net total (final amount)
110
-
111
- **Explanation:** These terms appear on all receipts. ใบเสร็จ is the receipt itself. รายการ lists each item. จำนวน shows quantity. ยอดสุทธิ is the final amount after tax and discounts.
112
-
113
- :::
114
-
115
- :::exercise{id="reading-10-form-fields" type="fill-in-blank" title="Form Field Recognition" skill="word-recognition" objectiveId="obj-r10-forms-applications"}
116
-
117
- **Question:** What do these form fields mean?
118
-
119
- - ชื่อ-นามสกุล
120
- - ที่อยู่
121
- - เบอร์โทร
122
-
123
- **Answer:**
124
-
125
- - ชื่อ-นามสกุล → Full name (first name - last name)
126
- - ที่อยู่ → Address
127
- - เบอร์โทร → Phone number
128
-
129
- **Explanation:** These are standard form fields in Thailand. ชื่อ means "first name", นามสกุล means "last name/surname". ที่อยู่ means "address" (literally "place to stay"). เบอร์โทร means "phone number".
130
-
131
- :::
132
-
133
- :::exercise{id="reading-10-document-types" type="multiple-choice" title="Document Type Recognition" skill="word-recognition" objectiveId="obj-r10-everyday-documents"}
134
-
135
- **Question:** What is ใบสมัคร?
136
-
137
- **Options:**
138
- - Receipt
139
- - Application form
140
- - Certificate
141
- - Contract
142
-
143
- **Answer:** 2
144
-
145
- **Explanation:** ใบสมัคร means "application form" (literally "application paper"). ใบ means "paper/document", สมัคร means "apply/application". This appears on job applications, membership forms, etc.
146
-
147
- :::
148
-
149
- ## What's Next
150
-
151
- Congratulations! You've completed the Reading syllabus. Continue practicing by reading real-world Thai texts — signs, menus, and documents you encounter daily. Consider reviewing previous lessons or exploring other syllabi like Dialogue or Food for more practical vocabulary.
152
- `;
153
- export {
154
- n as default
155
- };
156
- //# sourceMappingURL=lesson-10-Dw-Jtm3D.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-10-Dw-Jtm3D.js","sources":["../src/syllabi/reading/lessons/lesson-10.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-10\\ntitle: \\\"บทที่ 10 — อ่านในชีวิตประจำวัน\\\"\\ndescription: \\\"Daily Life Reading: Read practical everyday documents\\\"\\norder: 10\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - practical\\n - documents\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-reading-lesson-09\\n learningObjectives:\\n - id: obj-r10-receipts-bills\\n description: \\\"Read receipts and bills\\\"\\n skill: reading-comprehension\\n - id: obj-r10-forms-applications\\n description: \\\"Understand forms and applications\\\"\\n skill: reading-comprehension\\n - id: obj-r10-everyday-documents\\n description: \\\"Navigate everyday documents\\\"\\n skill: word-recognition\\n---\\n\\n# Daily Life Reading\\n\\nEveryday documents require reading skills. Master these practical formats.\\n\\n## Receipt Terms\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ใบเสร็จ | bai set | receipt |\\n| รายการ | raikan | item |\\n| จำนวน | jamnuan | quantity |\\n| รวม | ruam | total |\\n\\n## Bill Components\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ค่าบริการ | kha borikan | service charge |\\n| ภาษี | phasi | tax |\\n| ส่วนลด | suan lot | discount |\\n| ยอดสุทธิ | yot sutthi | net total |\\n\\n## Form Fields\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ชื่อ-นามสกุล | chue-namsakun | full name |\\n| ที่อยู่ | thi yu | address |\\n| เบอร์โทร | boe tho | phone number |\\n| อีเมล | email | email |\\n\\n## Document Types\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ใบสมัคร | bai samak | application form |\\n| สัญญา | sanya | contract |\\n| ใบรับรอง | bai rapprong | certificate |\\n| ใบอนุญาต | bai anuyat | permit/license |\\n\\n## Sample Receipt\\n\\n```\\nร้านอาหารครัวไทย\\nThai Kitchen Restaurant\\n------------------------\\nวันที่: 15/01/2568\\nเลขที่: 001234\\n\\nรายการ จำนวน ราคา\\nผัดไทยกุ้ง 1 80\\nต้มยำกุ้ง 1 120\\nน้ำมะนาว 2 40\\n------------------------\\nรวม 240\\nภาษี 7% 17\\nยอดสุทธิ 257 บาท\\n\\nขอบคุณที่ใช้บริการ\\n```\\n\\n*Thai Kitchen Restaurant, Date: 15/01/2025, Receipt #001234. Items: Pad Thai shrimp (1) 80, Tom Yum shrimp (1) 120, Lime juice (2) 40. Subtotal 240, Tax 7% 17, Total 257 baht. Thank you for your patronage.*\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-10-receipt-terms\\\" type=\\\"matching\\\" title=\\\"Receipt Vocabulary\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r10-receipts-bills\\\"}\\n\\n**Question:** Match each receipt term to its meaning\\n\\n- ใบเสร็จ\\n- รายการ\\n- จำนวน\\n- ยอดสุทธิ\\n\\n**Answer:**\\n\\n- ใบเสร็จ → Receipt\\n- รายการ → Item/line item\\n- จำนวน → Quantity\\n- ยอดสุทธิ → Net total (final amount)\\n\\n**Explanation:** These terms appear on all receipts. ใบเสร็จ is the receipt itself. รายการ lists each item. จำนวน shows quantity. ยอดสุทธิ is the final amount after tax and discounts.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-10-form-fields\\\" type=\\\"fill-in-blank\\\" title=\\\"Form Field Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r10-forms-applications\\\"}\\n\\n**Question:** What do these form fields mean?\\n\\n- ชื่อ-นามสกุล\\n- ที่อยู่\\n- เบอร์โทร\\n\\n**Answer:**\\n\\n- ชื่อ-นามสกุล → Full name (first name - last name)\\n- ที่อยู่ → Address\\n- เบอร์โทร → Phone number\\n\\n**Explanation:** These are standard form fields in Thailand. ชื่อ means \\\"first name\\\", นามสกุล means \\\"last name/surname\\\". ที่อยู่ means \\\"address\\\" (literally \\\"place to stay\\\"). เบอร์โทร means \\\"phone number\\\".\\n\\n:::\\n\\n:::exercise{id=\\\"reading-10-document-types\\\" type=\\\"multiple-choice\\\" title=\\\"Document Type Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r10-everyday-documents\\\"}\\n\\n**Question:** What is ใบสมัคร?\\n\\n**Options:**\\n- Receipt\\n- Application form\\n- Certificate\\n- Contract\\n\\n**Answer:** 2\\n\\n**Explanation:** ใบสมัคร means \\\"application form\\\" (literally \\\"application paper\\\"). ใบ means \\\"paper/document\\\", สมัคร means \\\"apply/application\\\". This appears on job applications, membership forms, etc.\\n\\n:::\\n\\n## What's Next\\n\\nCongratulations! You've completed the Reading syllabus. Continue practicing by reading real-world Thai texts — signs, menus, and documents you encounter daily. Consider reviewing previous lessons or exploring other syllabi like Dialogue or Food for more practical vocabulary.\\n\""],"names":["lesson10"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,260 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-script-lesson-11
4
- title: "บทที่ 11 — วรรณยุกต์"
5
- description: "Tone Marks: ◌่ ◌้ ◌๊ ◌๋ — The four marks that modify Thai tones"
6
- order: 11
7
- parentId: thai-script-alphabet
8
- difficulty: advanced
9
- cefrLevel: B1
10
- categories:
11
- - tone-marks
12
- - tone-rules
13
- - pronunciation
14
- - advanced-characters
15
- metadata:
16
- estimatedTime: 35
17
- prerequisites:
18
- - thai-script-lesson-10
19
- learningObjectives:
20
- - id: obj-tone-mark-recognition
21
- description: "Learn the four Thai tone marks"
22
- skill: character-recognition
23
- references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
24
- - id: obj-tone-class-interaction
25
- description: "Understand how tone marks interact with consonant class"
26
- skill: character-sound-mapping
27
- references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
28
- - id: obj-tone-rules
29
- description: "Master the complete tone rule system"
30
- skill: character-sound-mapping
31
- references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
32
- - id: obj-tone-reading
33
- description: "Practice reading with all five tones"
34
- skill: character-sound-mapping
35
- references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
36
- ---
37
-
38
- # บทที่ 11 (Lesson 11) — Tone Marks
39
-
40
- ## Introduction
41
-
42
- Thai has **five tones** but only **four tone marks**. The fifth tone (mid) is the default when no mark is present. Tone marks combine with consonant class to determine the final tone — this is the most complex part of Thai phonology.
43
-
44
- ## The Five Thai Tones
45
-
46
- | Tone | Thai Name | Symbol | Description | Example |
47
- |------|-----------|--------|-------------|---------|
48
- | Mid | เสียงสามัญ | — | Level, neutral | มา (maa) |
49
- | Low | เสียงเอก | \\ | Low and level | ม่า (màa) |
50
- | Falling | เสียงโท | \\\\ | High-to-low drop | ม้า (máa) horse |
51
- | High | เสียงตรี | / | High and level | ม๊า (maa+) |
52
- | Rising | เสียงจัตวา | // | Low-to-high rise | หมา (mǎa) dog |
53
-
54
- **Note**: The symbols (—, \\, \\\\, /, //) are tone contour representations, not Thai script.
55
-
56
- ## Characters
57
-
58
- :::character-set{id="thai-tone-marks" title="Tone Marks"}
59
-
60
- ::character{id="mai-ek" canonicalRef="mai-ek" char="่" name="ไม้เอก (mái èek)" nativeName="ไม้เอก" transliteration="tone1" charType="tone"}
61
-
62
- ::character{id="mai-tho" canonicalRef="mai-tho" char="้" name="ไม้โท (mái thoo)" nativeName="ไม้โท" transliteration="tone2" charType="tone"}
63
-
64
- ::character{id="mai-tri" canonicalRef="mai-tri" char="๊" name="ไม้ตรี (mái dtrii)" nativeName="ไม้ตรี" transliteration="tone3" charType="tone"}
65
-
66
- ::character{id="mai-chattawa" canonicalRef="mai-chattawa" char="๋" name="ไม้จัตวา (mái jàt-dtà-waa)" nativeName="ไม้จัตวา" transliteration="tone4" charType="tone"}
67
-
68
- :::
69
-
70
- ## The Tone Rules Matrix
71
-
72
- Here's the key insight: **the same tone mark produces different tones depending on consonant class**.
73
-
74
- ### Live Syllables (Open or ending in m, n, ng, w, y)
75
-
76
- | Mark | Middle Class | High Class | Low Class |
77
- |------|--------------|------------|-----------|
78
- | None | Mid | Rising | Mid |
79
- | ◌่ (mái èek) | Low | Low | Falling |
80
- | ◌้ (mái thoo) | Falling | Falling | High |
81
- | ◌๊ (mái dtrii) | High | (not used) | (not used) |
82
- | ◌๋ (mái jàt-dtà-waa) | Rising | (not used) | (not used) |
83
-
84
- ### Dead Syllables (Ending in p, t, k or short vowel + stop)
85
-
86
- Dead syllables have more limited options:
87
-
88
- | Mark | Middle Class | High Class | Low Class |
89
- |------|--------------|------------|-----------|
90
- | None (short) | Low | Low | High |
91
- | None (long) | Low | Low | Falling |
92
- | ◌่ | — | — | — |
93
- | ◌้ | — | — | — |
94
-
95
- **Key**: Dead syllables usually don't take tone marks; their tone is determined by vowel length and class.
96
-
97
- ## Understanding Each Tone Mark
98
-
99
- ### ◌่ Mái Èek (First Mark)
100
-
101
- The most common tone mark. Effects:
102
- - **Middle/High class**: Creates LOW tone
103
- - **Low class**: Creates FALLING tone
104
-
105
- Examples:
106
- - ก่า (gàa) — middle-class + mái èek = low
107
- - ข่า (khàa) — high-class + mái èek = low
108
- - ค่า (khâa) — low-class + mái èek = falling
109
-
110
- ### ◌้ Mái Thoo (Second Mark)
111
-
112
- Examples:
113
- - ก้า (gâa) — middle-class = falling
114
- - ข้า (khâa) — high-class = falling
115
- - ค้า (kháa) — low-class = HIGH
116
-
117
- **Surprise**: Low-class + mái thoo gives HIGH tone, not falling!
118
-
119
- ### ◌๊ Mái Dtrii (Third Mark)
120
-
121
- **Only used with middle-class consonants** to create HIGH tone:
122
- - ก๊า (gáa) — high tone
123
- - จ๊ะ (jáʔ) — exclamation
124
-
125
- You'll almost never see ◌๊ with high or low-class consonants.
126
-
127
- ### ◌๋ Mái Jàt-dtà-waa (Fourth Mark)
128
-
129
- **Only used with middle-class consonants** to create RISING tone:
130
- - ก๋า (gǎa) — rising tone
131
-
132
- This is the rarest tone mark because:
133
- - Middle-class consonants can get rising tone this way
134
- - But rising tone is more often from high-class consonants or ห-lifting
135
-
136
- ## Common Patterns to Memorize
137
-
138
- ### Pattern 1: High-Class Default Rising
139
- High-class consonants (ข ส ห etc.) naturally produce rising tone:
140
- - ขา (khǎa), สี (sǐi), หา (hǎa)
141
-
142
- ### Pattern 2: Mái Èek Makes Things Lower
143
- - Middle/High: → Low tone
144
- - Low: → Falling tone (even lower!)
145
-
146
- ### Pattern 3: Mái Thoo's Low-Class Surprise
147
- Low-class + mái thoo = HIGH, not falling:
148
- - ค้า (kháa) = high tone
149
-
150
- ### Pattern 4: ๊ and ๋ Are Middle-Class Only
151
- See ก๊ or ก๋? It's definitely middle-class.
152
- See ค๊? Something's wrong — low-class doesn't use ◌๊.
153
-
154
- ## Practice Examples
155
-
156
- | Word | Consonant | Class | Mark | Result |
157
- |------|-----------|-------|------|--------|
158
- | มา | ม | Low | none | Mid |
159
- | ม่า | ม | Low | ◌่ | Falling |
160
- | ม้า | ม | Low | ◌้ | High |
161
- | หมา | หม | (lifted) | none | Rising |
162
- | กา | ก | Middle | none | Mid |
163
- | ก่า | ก | Middle | ◌่ | Low |
164
- | ก้า | ก | Middle | ◌้ | Falling |
165
- | ก๊า | ก | Middle | ◌๊ | High |
166
- | ก๋า | ก | Middle | ◌๋ | Rising |
167
-
168
- ## Why Is This So Complex?
169
-
170
- Historical sound changes! Originally:
171
- - Voice quality (breathy, creaky, etc.) determined tone
172
- - When voice quality was lost, Thai compensated with marks
173
- - Different consonant classes had different starting points
174
-
175
- The result: a system that seems arbitrary but is actually quite regular once internalized.
176
-
177
- ## Memory Strategies
178
-
179
- 1. **Learn by word**: Don't calculate — recognize ม้า as "horse" with high tone
180
- 2. **Class first**: Always identify consonant class before looking at marks
181
- 3. **High-class default**: Remember they naturally rise
182
- 4. **Mái thoo surprise**: Low + ◌้ = HIGH is the big exception
183
- 5. **Practice common words**: ที่ ไม่ ก็ ค่ะ ครับ — learn their tones by ear
184
-
185
- ## Key Points
186
-
187
- 1. **Four marks, five tones**: Mid tone needs no mark
188
- 2. **Class matters**: Same mark = different tone by class
189
- 3. **◌๊ and ◌๋ are middle-only**: High/low don't use them
190
- 4. **Mái thoo exception**: Low-class + ◌้ = high (not falling)
191
- 5. **Dead syllables are simpler**: Tone from class and vowel length
192
-
193
- ## Practice Exercises
194
-
195
- :::exercise{id="tone-1-mark-recognition" type="matching" title="Tone Mark Recognition" skill="character-recognition" tests="mai-ek,mai-tho,mai-tri,mai-chattawa" objectiveId="obj-tone-mark-recognition"}
196
-
197
- **Question:** Match each tone mark to its name and effect on middle-class consonants
198
-
199
- - ◌่ (mái èek)
200
- - ◌้ (mái thoo)
201
- - ◌๊ (mái dtrii)
202
- - ◌๋ (mái jàt-dtà-waa)
203
-
204
- **Answer:**
205
-
206
- - ◌่ → Low tone (mái èek - first mark)
207
- - ◌้ → Falling tone (mái thoo - second mark)
208
- - ◌๊ → High tone (mái dtrii - third mark)
209
- - ◌๋ → Rising tone (mái jàt-dtà-waa - fourth mark)
210
-
211
- **Explanation:** On middle-class consonants, each tone mark produces a different tone. The marks are named "first, second, third, fourth" in Thai.
212
-
213
- :::
214
-
215
- :::exercise{id="tone-1-class-interaction" type="multiple-choice" title="Tone Mark and Class Interaction" skill="character-sound-mapping" tests="mai-tho" objectiveId="obj-tone-class-interaction"}
216
-
217
- **Question:** The word ค้า (kháa) has a high tone. Why?
218
-
219
- **Options:**
220
- - Because ค is high-class
221
- - Because of mái thoo (◌้) on a low-class consonant
222
- - Because of mái dtrii (◌๊) on a low-class consonant
223
- - Because it's a dead syllable
224
-
225
- **Answer:** 2
226
-
227
- **Explanation:** This is the "mái thoo surprise"! ค is low-class, and mái thoo (◌้) on a low-class consonant in a live syllable produces HIGH tone, not falling. This is the key exception to remember.
228
-
229
- :::
230
-
231
- :::exercise{id="tone-1-tone-prediction" type="fill-in-blank" title="Tone Prediction Practice" skill="character-sound-mapping" tests="mai-ek" objectiveId="obj-tone-reading"}
232
-
233
- **Question:** Predict the tone for these words:
234
-
235
- - กา (middle-class ก, no mark)
236
- - ขา (high-class ข, no mark)
237
- - คา (low-class ค, no mark)
238
- - ก่า (middle-class ก, mái èek)
239
- - ค่า (low-class ค, mái èek)
240
-
241
- **Answer:**
242
-
243
- - กา → Mid tone (middle-class default)
244
- - ขา → Rising tone (high-class default)
245
- - คา → Mid tone (low-class default in live syllables)
246
- - ก่า → Low tone (middle-class + mái èek)
247
- - ค่า → Falling tone (low-class + mái èek)
248
-
249
- **Explanation:** The consonant class determines the base tone when no mark is present. Mái èek (◌่) lowers the tone: middle/high → low, low → falling.
250
-
251
- :::
252
-
253
- ## What's Next
254
-
255
- In Lesson 12, you'll learn **Thai numbers and symbols** — the final pieces for complete literacy.
256
- `;
257
- export {
258
- n as default
259
- };
260
- //# sourceMappingURL=lesson-11-BM3R_S7I.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-11-BM3R_S7I.js","sources":["../src/syllabi/alphabet/lessons/lesson-11.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-11\\ntitle: \\\"บทที่ 11 — วรรณยุกต์\\\"\\ndescription: \\\"Tone Marks: ◌่ ◌้ ◌๊ ◌๋ — The four marks that modify Thai tones\\\"\\norder: 11\\nparentId: thai-script-alphabet\\ndifficulty: advanced\\ncefrLevel: B1\\ncategories:\\n - tone-marks\\n - tone-rules\\n - pronunciation\\n - advanced-characters\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-script-lesson-10\\n learningObjectives:\\n - id: obj-tone-mark-recognition\\n description: \\\"Learn the four Thai tone marks\\\"\\n skill: character-recognition\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-tone-class-interaction\\n description: \\\"Understand how tone marks interact with consonant class\\\"\\n skill: character-sound-mapping\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-tone-rules\\n description: \\\"Master the complete tone rule system\\\"\\n skill: character-sound-mapping\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-tone-reading\\n description: \\\"Practice reading with all five tones\\\"\\n skill: character-sound-mapping\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n---\\n\\n# บทที่ 11 (Lesson 11) — Tone Marks\\n\\n## Introduction\\n\\nThai has **five tones** but only **four tone marks**. The fifth tone (mid) is the default when no mark is present. Tone marks combine with consonant class to determine the final tone — this is the most complex part of Thai phonology.\\n\\n## The Five Thai Tones\\n\\n| Tone | Thai Name | Symbol | Description | Example |\\n|------|-----------|--------|-------------|---------|\\n| Mid | เสียงสามัญ | — | Level, neutral | มา (maa) |\\n| Low | เสียงเอก | \\\\ | Low and level | ม่า (màa) |\\n| Falling | เสียงโท | \\\\\\\\ | High-to-low drop | ม้า (máa) horse |\\n| High | เสียงตรี | / | High and level | ม๊า (maa+) |\\n| Rising | เสียงจัตวา | // | Low-to-high rise | หมา (mǎa) dog |\\n\\n**Note**: The symbols (—, \\\\, \\\\\\\\, /, //) are tone contour representations, not Thai script.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-tone-marks\\\" title=\\\"Tone Marks\\\"}\\n\\n::character{id=\\\"mai-ek\\\" canonicalRef=\\\"mai-ek\\\" char=\\\"่\\\" name=\\\"ไม้เอก (mái èek)\\\" nativeName=\\\"ไม้เอก\\\" transliteration=\\\"tone1\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"mai-tho\\\" canonicalRef=\\\"mai-tho\\\" char=\\\"้\\\" name=\\\"ไม้โท (mái thoo)\\\" nativeName=\\\"ไม้โท\\\" transliteration=\\\"tone2\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"mai-tri\\\" canonicalRef=\\\"mai-tri\\\" char=\\\"๊\\\" name=\\\"ไม้ตรี (mái dtrii)\\\" nativeName=\\\"ไม้ตรี\\\" transliteration=\\\"tone3\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"mai-chattawa\\\" canonicalRef=\\\"mai-chattawa\\\" char=\\\"๋\\\" name=\\\"ไม้จัตวา (mái jàt-dtà-waa)\\\" nativeName=\\\"ไม้จัตวา\\\" transliteration=\\\"tone4\\\" charType=\\\"tone\\\"}\\n\\n:::\\n\\n## The Tone Rules Matrix\\n\\nHere's the key insight: **the same tone mark produces different tones depending on consonant class**.\\n\\n### Live Syllables (Open or ending in m, n, ng, w, y)\\n\\n| Mark | Middle Class | High Class | Low Class |\\n|------|--------------|------------|-----------|\\n| None | Mid | Rising | Mid |\\n| ◌่ (mái èek) | Low | Low | Falling |\\n| ◌้ (mái thoo) | Falling | Falling | High |\\n| ◌๊ (mái dtrii) | High | (not used) | (not used) |\\n| ◌๋ (mái jàt-dtà-waa) | Rising | (not used) | (not used) |\\n\\n### Dead Syllables (Ending in p, t, k or short vowel + stop)\\n\\nDead syllables have more limited options:\\n\\n| Mark | Middle Class | High Class | Low Class |\\n|------|--------------|------------|-----------|\\n| None (short) | Low | Low | High |\\n| None (long) | Low | Low | Falling |\\n| ◌่ | — | — | — |\\n| ◌้ | — | — | — |\\n\\n**Key**: Dead syllables usually don't take tone marks; their tone is determined by vowel length and class.\\n\\n## Understanding Each Tone Mark\\n\\n### ◌่ Mái Èek (First Mark)\\n\\nThe most common tone mark. Effects:\\n- **Middle/High class**: Creates LOW tone\\n- **Low class**: Creates FALLING tone\\n\\nExamples:\\n- ก่า (gàa) — middle-class + mái èek = low\\n- ข่า (khàa) — high-class + mái èek = low\\n- ค่า (khâa) — low-class + mái èek = falling\\n\\n### ◌้ Mái Thoo (Second Mark)\\n\\nExamples:\\n- ก้า (gâa) — middle-class = falling\\n- ข้า (khâa) — high-class = falling\\n- ค้า (kháa) — low-class = HIGH\\n\\n**Surprise**: Low-class + mái thoo gives HIGH tone, not falling!\\n\\n### ◌๊ Mái Dtrii (Third Mark)\\n\\n**Only used with middle-class consonants** to create HIGH tone:\\n- ก๊า (gáa) — high tone\\n- จ๊ะ (jáʔ) — exclamation\\n\\nYou'll almost never see ◌๊ with high or low-class consonants.\\n\\n### ◌๋ Mái Jàt-dtà-waa (Fourth Mark)\\n\\n**Only used with middle-class consonants** to create RISING tone:\\n- ก๋า (gǎa) — rising tone\\n\\nThis is the rarest tone mark because:\\n- Middle-class consonants can get rising tone this way\\n- But rising tone is more often from high-class consonants or ห-lifting\\n\\n## Common Patterns to Memorize\\n\\n### Pattern 1: High-Class Default Rising\\nHigh-class consonants (ข ส ห etc.) naturally produce rising tone:\\n- ขา (khǎa), สี (sǐi), หา (hǎa)\\n\\n### Pattern 2: Mái Èek Makes Things Lower\\n- Middle/High: → Low tone\\n- Low: → Falling tone (even lower!)\\n\\n### Pattern 3: Mái Thoo's Low-Class Surprise\\nLow-class + mái thoo = HIGH, not falling:\\n- ค้า (kháa) = high tone\\n\\n### Pattern 4: ๊ and ๋ Are Middle-Class Only\\nSee ก๊ or ก๋? It's definitely middle-class.\\nSee ค๊? Something's wrong — low-class doesn't use ◌๊.\\n\\n## Practice Examples\\n\\n| Word | Consonant | Class | Mark | Result |\\n|------|-----------|-------|------|--------|\\n| มา | ม | Low | none | Mid |\\n| ม่า | ม | Low | ◌่ | Falling |\\n| ม้า | ม | Low | ◌้ | High |\\n| หมา | หม | (lifted) | none | Rising |\\n| กา | ก | Middle | none | Mid |\\n| ก่า | ก | Middle | ◌่ | Low |\\n| ก้า | ก | Middle | ◌้ | Falling |\\n| ก๊า | ก | Middle | ◌๊ | High |\\n| ก๋า | ก | Middle | ◌๋ | Rising |\\n\\n## Why Is This So Complex?\\n\\nHistorical sound changes! Originally:\\n- Voice quality (breathy, creaky, etc.) determined tone\\n- When voice quality was lost, Thai compensated with marks\\n- Different consonant classes had different starting points\\n\\nThe result: a system that seems arbitrary but is actually quite regular once internalized.\\n\\n## Memory Strategies\\n\\n1. **Learn by word**: Don't calculate — recognize ม้า as \\\"horse\\\" with high tone\\n2. **Class first**: Always identify consonant class before looking at marks\\n3. **High-class default**: Remember they naturally rise\\n4. **Mái thoo surprise**: Low + ◌้ = HIGH is the big exception\\n5. **Practice common words**: ที่ ไม่ ก็ ค่ะ ครับ — learn their tones by ear\\n\\n## Key Points\\n\\n1. **Four marks, five tones**: Mid tone needs no mark\\n2. **Class matters**: Same mark = different tone by class\\n3. **◌๊ and ◌๋ are middle-only**: High/low don't use them\\n4. **Mái thoo exception**: Low-class + ◌้ = high (not falling)\\n5. **Dead syllables are simpler**: Tone from class and vowel length\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"tone-1-mark-recognition\\\" type=\\\"matching\\\" title=\\\"Tone Mark Recognition\\\" skill=\\\"character-recognition\\\" tests=\\\"mai-ek,mai-tho,mai-tri,mai-chattawa\\\" objectiveId=\\\"obj-tone-mark-recognition\\\"}\\n\\n**Question:** Match each tone mark to its name and effect on middle-class consonants\\n\\n- ◌่ (mái èek)\\n- ◌้ (mái thoo)\\n- ◌๊ (mái dtrii)\\n- ◌๋ (mái jàt-dtà-waa)\\n\\n**Answer:**\\n\\n- ◌่ → Low tone (mái èek - first mark)\\n- ◌้ → Falling tone (mái thoo - second mark)\\n- ◌๊ → High tone (mái dtrii - third mark)\\n- ◌๋ → Rising tone (mái jàt-dtà-waa - fourth mark)\\n\\n**Explanation:** On middle-class consonants, each tone mark produces a different tone. The marks are named \\\"first, second, third, fourth\\\" in Thai.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-1-class-interaction\\\" type=\\\"multiple-choice\\\" title=\\\"Tone Mark and Class Interaction\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"mai-tho\\\" objectiveId=\\\"obj-tone-class-interaction\\\"}\\n\\n**Question:** The word ค้า (kháa) has a high tone. Why?\\n\\n**Options:**\\n- Because ค is high-class\\n- Because of mái thoo (◌้) on a low-class consonant\\n- Because of mái dtrii (◌๊) on a low-class consonant\\n- Because it's a dead syllable\\n\\n**Answer:** 2\\n\\n**Explanation:** This is the \\\"mái thoo surprise\\\"! ค is low-class, and mái thoo (◌้) on a low-class consonant in a live syllable produces HIGH tone, not falling. This is the key exception to remember.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-1-tone-prediction\\\" type=\\\"fill-in-blank\\\" title=\\\"Tone Prediction Practice\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"mai-ek\\\" objectiveId=\\\"obj-tone-reading\\\"}\\n\\n**Question:** Predict the tone for these words:\\n\\n- กา (middle-class ก, no mark)\\n- ขา (high-class ข, no mark)\\n- คา (low-class ค, no mark)\\n- ก่า (middle-class ก, mái èek)\\n- ค่า (low-class ค, mái èek)\\n\\n**Answer:**\\n\\n- กา → Mid tone (middle-class default)\\n- ขา → Rising tone (high-class default)\\n- คา → Mid tone (low-class default in live syllables)\\n- ก่า → Low tone (middle-class + mái èek)\\n- ค่า → Falling tone (low-class + mái èek)\\n\\n**Explanation:** The consonant class determines the base tone when no mark is present. Mái èek (◌่) lowers the tone: middle/high → low, low → falling.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 12, you'll learn **Thai numbers and symbols** — the final pieces for complete literacy.\\n\""],"names":["lesson11"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}