You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

325 lines
15 KiB

2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
  1. #import "annwan-grammar.typ": *
  2. #import "@preview/leipzig-glossing:0.3.0": *
  3. #let gl = gloss.with(numbering: true, label-supplement: [Example])
  4. #let sc = smallcaps
  5. #let nh = it => text(font: "Nahan", size: 1.5em, it)
  6. #show: it => conf(
  7. title: "The Mosici Language: A Comprehensive Grammar",
  8. clong-title: "Mosécéc an-ila: Opinaloila Sineap",
  9. main-font: (font: "Minion3"),
  10. clong-font: nh,
  11. it
  12. )
  13. #set table(stroke: none)
  14. = Sounds and Letters
  15. == Phonology and Phonotactics
  16. Mosici has the following vowels (all of which may be nasalised, for a total of 36) and consonants:
  17. #align(center, grid(columns: 2, gutter: 1em,
  18. table(
  19. columns: 3,
  20. align: horizon + center,
  21. table.vline(x: 1),
  22. [], [*Front*], [*Back*],
  23. table.hline(),
  24. [*Close*], [i y], [u],
  25. [*Close-Mid*], [e ø], [o],
  26. [*Open-Mid*], [ɛ], [ɔ],
  27. [*Open*], [a], [],
  28. ), table(align: horizon+center, columns: 5, table.vline(x: 1),
  29. [], [*Labial*], [*Coronal*], [*Palatal*], [*Dorsal*], table.hline(),
  30. [*Nasal*], [m], [n], [], [],
  31. [*Plosive*], [p], [t], [], [k],
  32. [*Fricative*], [ɸ β], [s z], [ɕ ʑ], [ʀ],
  33. [*Liquid*], [w], [l], [j], [(w)])
  34. ))
  35. The minimal syllable structure is *V* maximal syllable structure is *CCCVCCC*.
  36. Vowel hiatus is not permitted.
  37. == The Nahan Script
  38. Mosici is written in the Nahan script (also know as the Póliahr script). The script is an alphabet composed of the following letters:
  39. #align(center, table(align:horizon+center, columns: 10, table.vline(x: 1),
  40. [*Letter*], nh[p], nh[o], nh[l], nh[i], nh[a], nh[h], nh[r], nh[u], nh[c],
  41. [*Translit.*], [p], [o], [l], [i], [a], [h], [r], [u], [c],
  42. [*Name*], nh[paí], nh[ós], nh[lán], nh[írni], nh[ánta], nh[hapfe], nh[ris], nh[uoc], nh[cal],
  43. [*Name (Translit.)*],[paí], [ós], [lán], [írni], [ánta], [hapfe], [ris], [uoc], [cal],
  44. [*IPA*],[/p/],[/o/],[/l/],[/e/, /j/],[/a/],[∅#footnote[lengthens a preceding vowel]],[/ʀ/],[/w/],[/k/],
  45. table.hline(),
  46. [*Letter*], nh[n], nh[e], nh[s], nh[z], nh[f], nh[v], nh[m], nh[t], [],
  47. [*Translit.*], [n], [e], [s], [z], [f], [v], [m], [t], [],
  48. [*Name*], nh[naol], nh[éstal], nh[sipal], nh[zorel], nh[fasoh], nh[viren], nh[milo], nh[tecio], [],
  49. [*Name (Translit.)*], [naol], [éstal], [sipal], [zorel], [fasoh], [viren], [milo], [tecio], [],
  50. [*IPA*], [/n/#footnote[nasalises a preceeding vowel, isn’t pronounced when followed by a consonant]], [/ɛ/], [/s/], [/z/], [/ɸ/], [/β/], [/m/], [/t/], [],
  51. ))
  52. There is also the following modified letters and common digraphs. The diacritic on the vowels is called the #nh[sitrapaóha] ‹sitrapaóha›.
  53. #align(center, table(align: center+horizon, columns: 3,
  54. [*Letter(s)*], [*Translit.*], [*IPA*], table.hline(),
  55. nh[ó], [ó], [/u/],
  56. nh[í], [í], [/i/],
  57. nh[á], [á], [/ɔ/],
  58. nh[é], [é], [/i/],
  59. nh[si], [si], [/ɕ/],
  60. nh[zi], [zi], [/ʑ/],
  61. ))
  62. #pagebreak(weak:true)
  63. == Vowel Coalescence
  64. Would-be vowel hiatuses are resolved by vowel coalescence. Coalescence happens from both ends of the vowel clusters at the same time (the starting side taking priority) with the following rules:
  65. - If any of the two coalescing vowel is long, the resulting vowel is long
  66. - If the first vowel is nasal, no coalescence happens, instead a /n/ is inserted
  67. - If the second vowel is nasal, the resulting vowel is nasal.
  68. - Repeat until all hiatuses have been resolved
  69. #align(center, table(align: center+horizon, columns: 10, table.vline(x: 1),
  70. table.vline(x: 4), table.vline(x: 7),
  71. [*Second → \ ↓ First*], [*i*], [*y*], [*u*], [*e*], [*ø*], [*o*], [*ɛ*], [*ɔ*], [*a*],
  72. table.hline(),
  73. [*i*], [ji], [jy], [ju], [je], [jø], [jo], [jɛ], [jɔ], [ja],
  74. [*y*], [i], [y], [y], [ø], [y], [ø], [ø], [ø], [ø],
  75. [*u*], [wi], [y], [u], [we], [wø], [wo], [wɛ], [wɔ], [wa],
  76. table.hline(),
  77. [*e*], [i], [ø], [ø], [i], [e], [ø], [e], [ø], [ɛ],
  78. [*ø*], [y], [y], [y], [e], [y], [ø], [e], [ø], [ø],
  79. [*o*], [ø], [ø], [u], [ø], [ø], [u], [ø], [o], [ɔ],
  80. table.hline(),
  81. [*ɛ*], [i], [ø], [ø], [i], [e], [ø], [e], [ø], [ɛ],
  82. [*ɔ*], [ø], [ø], [o], [ø], [ø], [o], [ø], [ɔ], [ɔ],
  83. [*a*], [e], [ø], [o], [ɛ], [ɛ], [ɔ], [a], [ɔ], [ɔ],
  84. ))
  85. *Examples*:
  86. #let x = it => text(fill: color.rgb("#800") ,it)
  87. - #nh[sinea] ‹sinea› \*/ɕn#x[ɛa]/ → /ɕn#[*ɛ*]/
  88. - #nh[tráiheíns] ‹tráiheíns› \*/tʀ#x[ɔeː]ɛĩs/ → \*/tʀ#[*øː*]#x[ɛĩ]s/ → \*/tʀ#x[øː#[*ĩ*]]s/ → /tʀ#[*ỹː*]s/
  89. = Morphology
  90. == Nouns
  91. Noun patterns are referenced by 2 parameters: the vowel categories, which
  92. affects plural formation, and the consonant category which affects case marking.
  93. === Vowel patterns and plurals
  94. There 2 are categories of vowel patterns: plain patterns and accented patterns.
  95. Plain patterns occur when the last vowel of the root of the noun is unmarked (it
  96. doesn’t have a sitrapaóha). The plural in plain patterns is marked by placing a sitrapaóha on the
  97. last vowel of the root of the noun.
  98. Accented patterns occur when the last vowel of the root of the noun already has
  99. a sitrapaóha. The result of pluralisation is dependent of the vowel
  100. Nasalisation is preserved by pluralisation
  101. #align(center, table(columns: 2, [*Root vowel*], [*Plural form*], table.hline(),
  102. nh[ó], nh[uo],
  103. nh[í], nh[íi],
  104. nh[á], nh[o],
  105. nh[é], nh[ie],
  106. ))
  107. === Consonant patterns and cases
  108. There are 3 consonantal patterns: Concatenative, Substitutive I, and Substitutive II.
  109. The concatenative pattern is used when the root of a noun ends in a vowel, or any of the following consonants: /p f v r w l j/, in this case the case marking affix is placed after the root:
  110. #align(center, table(columns: 2, [*Case*], [*Affix*], table.hline(),
  111. [*Nominative*], [∅],
  112. [*Accusative*], nh[-t],
  113. [*Genitive*], nh[-c],
  114. [*Allative*], nh[-si],
  115. [*Illative*], nh[-via],
  116. ))
  117. The Substitutive I pattern is used when a noun root ends in /s/, in this case, the case marking replaces the final consonant:
  118. #align(center, table(columns: 2, [*Case*], [*Affix*], table.hline(),
  119. [*Nominative*], nh[-s],
  120. [*Accusative*], nh[-t],
  121. [*Genitive*], nh[-c],
  122. [*Allative*], nh[-si],
  123. [*Illative*], nh[-via],
  124. ))
  125. #pagebreak(weak: true)
  126. The Substitutive II pattern is used when a noun root ends in /z/, this pattern is similar to the Substitutive I pattern except the nominative and allative are voiced:
  127. #align(center, table(columns: 2, [*Case*], [*Affix*], table.hline(),
  128. [*Nominative*], nh[-z],
  129. [*Accusative*], nh[-t],
  130. [*Genitive*], nh[-c],
  131. [*Allative*], nh[-zi],
  132. [*Ablative*], nh[-via],
  133. ))
  134. In the substitutive patterns if the root ends in a /k/ the genitive is null, and if the root ends in a /t/, the accusative is null.
  135. Here are some examples
  136. #align(center,table(columns: 3, table.vline(x: 1),
  137. [], sc[*sg*], sc[*pl*],
  138. table.hline(),
  139. sc[*nom*], nh[iplesa], nh[iplesá],
  140. sc[*acc*], nh[iplesat], nh[iplesát],
  141. sc[*gen*], nh[iplesac], nh[iplesác],
  142. sc[*all*], nh[iplesasi], nh[iplesási],
  143. sc[*abl*], nh[iplesavia], nh[iplesávia],
  144. ) + [#nh[iplesa] “person” (P/C)])
  145. #align(center,table(columns: 3, table.vline(x: 1),
  146. [], sc[*sg*], sc[*pl*],
  147. table.hline(),
  148. sc[*nom*], nh[tráiheíns], nh[tráiheíins],
  149. sc[*acc*], nh[tráiheínt], nh[tráiheíint],
  150. sc[*gen*], nh[tráiheínc], nh[tráiheíinc],
  151. sc[*all*], nh[tráiheínsi], nh[tráiheíinsi],
  152. sc[*abl*], nh[tráiheínvia], nh[tráiheíinvia],
  153. ) + [#nh[tráiheíns] “fox” (I-A/S-I)])
  154. #align(center,table(columns: 3, table.vline(x: 1),
  155. [], sc[*sg*], sc[*pl*],
  156. table.hline(),
  157. sc[*nom*], nh[naleóz], nh[naleuoz],
  158. sc[*acc*], nh[naleót], nh[naleuot],
  159. sc[*gen*], nh[naleóc], nh[naleuoc],
  160. sc[*all*], nh[naleózi], nh[naleuozi],
  161. sc[*abl*], nh[naleóvia], nh[naleuovia],
  162. ) + [#nh[naleóz] “livestock” (O-A/S-II)])
  163. === Definite Particle #nh[an-]
  164. The definite is marked by the prefix particle #nh[an-] ‹an-› on the head noun.
  165. This particle has a special pronounciation rule where before a vowel it is not pronounced \*/ãn-/ but /ãt-/. This is a hold-over from Middle Mosici where it was /ant/ (from Nyelavi anətə) in all environments.
  166. *Examples*:
  167. - #nh[farein] /ɸaʀĩ/ “mountain”, #nh[an-farein] /ãfaʀĩ/ “the mountain”
  168. - #nh[iplesa] /eplɛsa/ “person”, #nh[an-iplesa] /ãteplɛsa/ “the person”
  169. === Locatives
  170. The spatial locative is formed by expressing the noun in the genitive and following it by the particle #nh[la] ‹la›
  171. The temporal locative is formed by expressing the noun in the accusative and following it by the particle #nh[anop].
  172. *Examples*:
  173. - #nh[sialc la] “in a city”
  174. - #nh[an-vint anop] “on the day”
  175. == Verbs
  176. Mosici verbs are inflected for tense and person by a suffix. The gnomic apersonal is used as the lemma form of verbs
  177. #align(center,
  178. table(columns: 12, table.vline(x: 1), table.vline(x: 5), table.vline(x: 10),
  179. [], sc[*1s*], sc[*2s*], sc[*3sa*], sc[*3si*], sc[*1pe*], sc[*1pi*], sc[*2p*] , sc[*3pa*], sc[*3pi*], sc[*inf*], sc[*pcp*],
  180. table.hline(),
  181. sc[*pst*], nh[-if], nh[-in], nh[-ih], nh[-is], nh[-ív], nh[-ím], nh[-ín], nh[-ír], nh[-íz], nh[-i], nh[-ip],
  182. sc[*prs*], nh[-ef], nh[-en], nh[-eh], nh[-es], nh[-év], nh[-ém], nh[-én], nh[-ér], nh[-éz], nh[-e], nh[-ep],
  183. sc[*fut*], nh[-of], nh[-on], nh[-oh], nh[-os], nh[-óv], nh[-óm], nh[-ón], nh[-ór], nh[-óz], nh[-o], nh[-op],
  184. sc[*gno*], nh[-af], nh[-an], nh[-ah], nh[-as], nh[-áv], nh[-ám], nh[-án], nh[-ár], nh[-áz], nh[-a], nh[-ap]
  185. )
  186. )
  187. Note that the #sc[pst.pl] and the #sc[prs.pl] are pronounced identically in all environments.
  188. #align(center,
  189. table(columns: 12, align: horizon, table.vline(x: 1), table.vline(x: 5), table.vline(x: 10),
  190. [], sc[*1s*], sc[*2s*], sc[*3sa*], sc[*3si*], sc[*1pe*], sc[*1pi*], sc[*2p*] , sc[*3pa*], sc[*3pi*], sc[*inf*], sc[*pcp*],
  191. table.hline(),
  192. table.cell(rowspan: 2, sc[*pst*]), nh[oítif], nh[oítin], nh[oítih], nh[oítis], nh[oítív], nh[oítím], nh[oítín], nh[oítír], nh[oítíz], nh[oíti], nh[oítip],
  193. [ytef], [ytẽ], [yteː], [ytes], [ytiβ], [ytim], [ytĩ], [ytiʀ], [ytiz], [yte], [ytep],
  194. table.hline(),
  195. table.cell(rowspan: 2, sc[*prs*]), nh[oítef], nh[oíten], nh[oíteh], nh[oítes], nh[oítév], nh[oítém], nh[oítén], nh[oítér], nh[oítéz], nh[oíte], nh[oítep],
  196. [ytɛf], [ytɛ̃], [ytɛː], [ytɛs], [ytiβ], [ytim], [ytĩ], [ytiʀ], [ytiz], [ytɛ], [ytɛp],
  197. table.hline(),
  198. table.cell(rowspan: 2, sc[*fut*]), nh[oítof], nh[oíton], nh[oítoh], nh[oítos], nh[oítóv], nh[oítóm], nh[oítón], nh[oítór], nh[oítóz], nh[oíto], nh[oítop],
  199. [ytof], [ytõ], [ytoː], [ytos], [ytuβ], [ytum], [ytũ], [ytuʀ], [ytuz], [yto], [ytop],
  200. table.hline(),
  201. table.cell(rowspan: 2, sc[*gno*]), nh[oítaf], nh[oítan], nh[oítah], nh[oítas], nh[oítáv], nh[oítám], nh[oítán], nh[oítár], nh[oítáz], nh[oíta], nh[oítap],
  202. [ytaf], [ytã], [ytaː], [ytas], [ytɔβ], [ytɔm], [ytɔ̃], [ytɔʀ], [ytɔz], [yta], [ytap],
  203. ) + [
  204. Conjugation table for #nh[oíta] “_to be high_”
  205. ] +
  206. {
  207. let nh = it => text(font: "Nahan", size: 1.25em, it)
  208. table(columns: 12, align: horizon, table.vline(x: 1), table.vline(x: 5), table.vline(x: 10),
  209. [], sc[*1s*], sc[*2s*], sc[*3sa*], sc[*3si*], sc[*1pe*], sc[*1pi*], sc[*2p*] , sc[*3pa*], sc[*3pi*], sc[*inf*], sc[*pcp*],
  210. table.hline(),
  211. table.cell(rowspan: 2, sc[*pst*]), nh[sineif], nh[sinein], nh[sineih], nh[sineis], nh[sineív], nh[sineím], nh[sineín], nh[sineír], nh[sineíz], nh[sinei], nh[sineip],
  212. [ɕnif], [ɕnĩ], [ɕniː], [ɕnis], [ɕniβ], [ɕnim], [ɕnĩ], [ɕniʀ], [ɕniz], [ɕni], [ɕnip],
  213. table.hline(),
  214. table.cell(rowspan: 2, sc[*prs*]), nh[sineef], nh[sineen], nh[sineeh], nh[sinees], nh[sineév], nh[sineém], nh[sineén], nh[sineér], nh[sineéz], nh[sinee], nh[sineep],
  215. [ɕnef], [ɕnẽ], [ɕneː], [ɕnes], [ɕniβ], [ɕnim], [ɕnĩ], [ɕniʀ], [ɕniz], [ɕne], [ɕnep],
  216. table.hline(),
  217. table.cell(rowspan: 2, sc[*fut*]), nh[sineof], nh[sineon], nh[sineoh], nh[sineos], nh[sineóv], nh[sineóm], nh[sineón], nh[sineór], nh[sineóz], nh[sineo], nh[sineop],
  218. [ɕnøf], [ɕnø̃], [ɕnøː], [ɕnøs], [ɕnøβ], [ɕnøm], [ɕnɛø̃], [ɕnøʀ], [ɕnøz], [ɕnø], [ɕnøp],
  219. table.hline(),
  220. table.cell(rowspan: 2, sc[*gno*]), nh[sineaf], nh[sinean], nh[sineah], nh[sineas], nh[sineáv], nh[sineám], nh[sineán], nh[sineár], nh[sineáz], nh[sinea], nh[sineap],
  221. [ɕnɛf], [ɕnɛ̃], [ɕnɛː], [ɕnɛs], [ɕnøβ], [ɕnøm], [ɕnø̃], [ɕnøʀ], [ɕnøz], [ɕnɛ], [ɕnɛp],
  222. )} + [
  223. Conjugation table for #nh[sinea] “_to be complete_”
  224. ]
  225. )
  226. === Tense and Person
  227. === Mood and Aspect
  228. === Stative verbs and verbal nouns
  229. = Numbers
  230. Mosici uses base six numerals. Ordinals are formed by using the number in the genitive. Numbers are notatied using bijecteve positional notation with the letters #nh[m l t f n] and #nh[s] as digits, least significant digit to the left, sometimes written inbetween #nh[()] to limit ambiguity. The ordinal shorthand is a subscript #nh[c] (for example #nh[(mlss#sub[c])] “1525#super[th]”).
  231. #align(center, table(columns: 4,
  232. [*Decimal*], [*Senary*], [*Shorthand*], [*Number*],
  233. table.hline(),
  234. [1], [1], nh[m], nh[mon],
  235. [2], [2], nh[l], nh[lí],
  236. [3], [3], nh[t], nh[tep],
  237. [4], [4], nh[f], nh[vol],
  238. [5], [5], nh[n], nh[nar],
  239. [6], [10], nh[s], nh[sel],
  240. table.hline(),
  241. [7], [11], nh[mm], nh[mon-sel],
  242. [8], [12], nh[lm], nh[lí-sel],
  243. [12], [20], nh[sm], nh[sellí],
  244. [13], [21], nh[ml], nh[mon-sellí],
  245. [18], [30], nh[sl], nh[seltep],
  246. [24], [40], nh[st], nh[selvol],
  247. [30], [50], nh[sf], nh[selnar],
  248. [36], [100], nh[sn], nh[siant],
  249. table.hline(),
  250. [37], [101], nh[ms], nh[mon-siant],
  251. [42], [110], nh[ss], nh[sel-siant],
  252. [43], [111], nh[mmm], nh[mon-sel-siant],
  253. [72], [200], nh[snm], nh[siantlí],
  254. [108], [300], nh[snl], nh[sianttep],
  255. [144], [400], nh[snt], nh[siantvol],
  256. [180], [500], nh[snf], nh[siantnar],
  257. [216], [1000], nh[snn], nh[starel],
  258. table.hline(),
  259. [432], [2000], nh[snnm], nh[starelí],
  260. [648], [3000], nh[snnl], nh[stareltep],
  261. [864], [4000], nh[snnt], nh[starelvol],
  262. [1080], [5000], nh[snnf], nh[starelnar],
  263. [1296], [10000], nh[snnn], nh[pamonstrel]
  264. ))
  265. For larger numbers, series of powers of 1296#sub[DEC] are used. They are of the form #nh[pa]...#nh[strel]. For example:
  266. - #nh[pamonstrel] = 1296#super[1] = 1296
  267. - #nh[palístrel] = 1296#super[2] = 1679616
  268. - #nh[pasiantstrel] = 1296#super[36]
  269. Shorthand is typically divided in groups of four, separated by spaces. For example #nh[(msln ffls nt)] = 40 0244 5301#sub[SEN] = 40 441 573#sub[DEC].
  270. = Syntax
  271. = Sample texts
  272. #dict(data: yaml("dictionnary.yml"), wformat: nh, key: it => {
  273. let alphabet = (p: "a", o: "b", ó: "b", l: "c", i: "d", í: "d", a: "e", á: "e", h: "f", r: "g", u: "h", c: "i", n: "j", e:"k",é:"k",s:"m",z:"n",f:"o",v:"p",m: "q", t:"r","-":" "," ":" ")
  274. let a = ()
  275. for letter in it.w {
  276. a.push(alphabet.at(letter))
  277. }
  278. return a.join()
  279. },
  280. debug: true
  281. )