1
0

Compare commits

..

2 Commits

Author SHA1 Message Date
f872a57af8 more work the mosici grammar 2026-02-04 09:50:53 +01:00
40bcb02286 great respelling 2026-01-28 21:37:19 +01:00
12 changed files with 124 additions and 116 deletions

View File

@ -1,7 +1,7 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "Entec R. Tzietz")
#show: conf.with(page-title: "Entec R. Tsiets")
%dict %word
= Mosici <mos>
@ -10,6 +10,6 @@
#mos-pro[ɛ̃dɛx aɐ̯ dʑɛdz]
=== Proper Noun <mos-1-proper>
%mos/proper
#mos-cit("  ")
#mos-cit("  ")
1. Enderjed, the man, the myth, the legend
#mos-n("  ", pl: false)
#mos-n("  ", pl: false)

View File

@ -1,7 +1,7 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "cirts")
#show: conf.with(page-title: "cirtss")
%word %dict
= Mosici <mos>
%mos
@ -10,7 +10,7 @@ From [[/worlds/Asteron/Classical Nyelaf]] #wl("/dict/cihyty", sn[],
#mos-pro[ceɐ̯ts]
=== Noun <mos-1-noun>
%mos/noun
#mos-cit("")
#mos-cit("")
1. Writing, text
2. Document, book
#mos-n("")
#mos-n("")

View File

@ -1,15 +0,0 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "contseila")
%word %dict
= Mosici <mos>
%mos
From #wl("/dict/contse", sn[], "mos-1-noun") #low[contse] + #wl("/dict/ila", sn[], "mos-1-verb") #low[ila]
=== Pronunciation <mos-1-p>
#mos-pro[qõtsiʎa]
=== Verb <mos-1-verb>
%mos/verb
#mos-cit("")
1. To present, to announce
#mos-v("")

View File

@ -1,7 +1,7 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "contse")
#show: conf.with(page-title: "contsse")
%word %dict
= Mosici <mos>
%mos
@ -10,7 +10,7 @@ From [[/worlds/Asteron/Classical Nyelaf]] #wl("/dict/contysse", sn[
#mos-pro[qõtsɛ]
=== Noun <mos-1-noun>
%mos/noun
#mos-cit("")
#mos-cit("")
1. Novelty, innovation
#mos-n("")
#mos-n("")

15
src/dict/contsseila.typ Normal file
View File

@ -0,0 +1,15 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "contsseila")
%word %dict
= Mosici <mos>
%mos
From #wl("/dict/contsse", sn[], "mos-1-noun") #low[contse] + #wl("/dict/ila", sn[], "mos-1-verb") #low[ila]
=== Pronunciation <mos-1-p>
#mos-pro[qõtsiʎa]
=== Verb <mos-1-verb>
%mos/verb
#mos-cit("")
1. To present, to announce
#mos-v("")

View File

@ -1,16 +0,0 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "ilamócirts")
%dict
%word
= Mosici <mos>
%mos
From #wl("/dict/ilamós", sn[], "mos") #low[ilamós] + #wl("/dict/cirts", sn[], "mos") #low[cirts]
=== Pronunciation <mos-1-pro>
#mos-pro[eʎamuceɐ̯ts]
=== Noun <mos-1-noun>
%mos/noun
#mos-cit("")
1. Grammar (book)
#mos-n("")

16
src/dict/ilamócirtss.typ Normal file
View File

@ -0,0 +1,16 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "ilamócirtss")
%dict
%word
= Mosici <mos>
%mos
From #wl("/dict/ilamóss", sn[], "mos") #low[ilamóss] + #wl("/dict/cirtss", sn[], "mos") #low[cirtss]
=== Pronunciation <mos-1-pro>
#mos-pro[eʎamuceɐ̯ts]
=== Noun <mos-1-noun>
%mos/noun
#mos-cit("")
1. Grammar (book)
#mos-n("")

View File

@ -1,16 +1,16 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "ilamós")
#show: conf.with(page-title: "ilamóss")
%dict
%word
= Mosici <mos>
%mos
From #wl("/dict/ila", sn[], "mos") #low[ila] + [[/worlds/Asteron/Classical Nyelaf]] #wl("/dict/mōssy", sn[], "cln") #low[mōssy] (see also #wl("/dict/mósnier", sn[], "mos") #low[mósnier])
From #wl("/dict/ila", sn[], "mos") #low[ila] + [[/worlds/Asteron/Classical Nyelaf]] #wl("/dict/mōssy", sn[], "cln") #low[mōssy] (see also #wl("/dict/móssnier", sn[], "mos") #low[ssnier])
=== Pronunciation <mos-1-p>
#mos-pro[eʎamus]
=== Noun
%mos/noun
#mos-cit("")
#mos-cit("")
1. Grammar, language rules
#mos-n("")
#mos-n("")

View File

@ -1,7 +1,7 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "mósnier")
#show: conf.with(page-title: "móssnier")
%dict %word
= Mosici <mos>
%mos
@ -9,7 +9,7 @@ From [[/worlds/Asteron/Classical Nyelaf]] #wl("/dict/mōssy", sn[],
=== Pronunciation <mos-1-p>
#mos-pro[musɲiɐ̯]
=== Noun <mos-1-noun>
#mos-cit("")
#mos-cit("")
1. Convention, custom
2. Rule (of a game)
#mos-n("")
#mos-n("")

View File

@ -1,7 +1,7 @@
#import "/templates/base.typ": *
#import "/templates/utils/dict.typ": *
#import "/templates/utils/lang-mos.typ": *
#show: conf.with(page-title: "óasonela")
#show: conf.with(page-title: "óassonela")
%word %dict
= Mosici <mos>
%mos
@ -10,6 +10,6 @@ From [[/worlds/Asteron/Classical Nyelaf]] #wl("/dict/ōas", sn[], "cln"
#mos-pro[wasõnɛʟa]
=== Verb <mos-1-verb>
%mos/verb
#mos-cit("")
#mos-cit("")
1. To discover
#mos-v("")
#mos-v("")

View File

@ -106,30 +106,30 @@ called the #sn[] 〈sitrapaóha〉.
#figure(caption: [Poliahr for Mosici], table(
columns: 5,
[*Letter*], [*Transliteration*], [*Value (IPA)*], [*Name*], [*Name (IPA)*],
sn[], [p], [/p/], sn[], [[pe]],
sn[], [o], [/o/], sn[], [[us]],
sn[], [l], [/ʟ/], sn[], [[ʟɔ̃]],
sn[], [i], [/e/], sn[], [[iɐ̯nɛ]],
sn[], [a], [/a/], sn[], [[ɔ̃ɸ]],
sn[], [p], [/p/ /p/], sn[], [[pe]],
sn[], [o], [/o/ /o/], sn[], [[us]],
sn[], [l], [/ʟ/ /l/], sn[], [[ʟɔ̃]],
sn[], [i], [/e/ /i/], sn[], [[iɐ̯nɛ]],
sn[], [a], [/a/ /ɑ/], sn[], [[ɔ̃ɸ]],
sn[],
[h],
[/∅/#footnote[Lengthens a preceding vowel] <fn-script-h>],
[/∅/#footnote[Lengthens a preceding vowel] <fn-script-h> /x/],
sn[],
[[apfɛ]],
sn[],
[r],
[/ʀ/],
[/ʀ/ [ɣ]],
sn[ #footnote[Literally "sounded hapfe"] <fn-script-sounded>],
[[fasteɕɛx apfɛ]],
sn[], [c], [/k/], sn[], [[kaẅ]],
sn[], [n], [/n/], sn[], [[nɔẅ]],
sn[], [e], [/e/], sn[], [[istaẅ]],
sn[], [s], [/z/], sn[], [[ɕpaẅ]],
sn[], [f], [/v/], sn[], [[fasoː]],
sn[], [m], [/m/], sn[], [[miʎɔ]],
sn[], [t], [/t/], sn[], [[tɛɟjo]],
sn[], [c], [/k/ /k/], sn[], [[kaẅ]],
sn[], [n], [/n/ /n/], sn[], [[nɔẅ]],
sn[], [e], [/ɛ/ /e/], sn[], [[istaẅ]],
sn[], [s], [/z/ /s/], sn[], [[ɕpaẅ]],
sn[], [f], [/v/ /f/], sn[], [[fasoː]],
sn[], [m], [/m/ /m/], sn[], [[miʎɔ]],
sn[], [t], [/t/ /t/], sn[], [[tɛɟjo]],
))
#figure(caption: [Digraphs], table(
columns: 3,
@ -194,18 +194,18 @@ the following sequences are thus respelled
== Examples <ex-ortho>
#sn[] ⟨tráihéinss⟩ "fox"
#sn[] ⟨tráihéinss⟩ "fox"
- \*/tʀɔiːɛins/
- \*/tʀ#high[øːi]ns/ #low[Coalescence 1]
- /tʀ#high[yː]ns/ #low[Coalescence 2]
- [d#high[ʁʏ̃ː]s] #low[Allophony]
#sn[] ⟨mosséceec⟩ "of islands"
#sn[] ⟨mosséceec⟩ "of islands"
- \*/mosikɛɛk/
- /mosik#high[i]k/ #low[Coalescence]
- [mosi#high[c]i#high[ç]/ #low[Allophony]
#sn[] ⟨an·nielvc⟩ "of Nyelaf"
#sn[] ⟨an·nielvc⟩ "of Nyelaf"
- \*/annjɛʟvk/
- /a#high[n]jɛʟvk/ #low[Particle shenanigans]
- [#high[ã]njɛ#high[]v#high[ɣ]] #low[Allophony]
@ -240,7 +240,7 @@ locative.
They are 7 patterns for the simple cases based on the the coda consonant(s) of
the agent form: the concatenative pattern, and the 6 substitutive patterns
(#sn[], #sn[], #sn[], #sn[], #sn[], #sn[])
(#sn[], #sn[], #sn[], #sn[], #sn[], #sn[])
#table(
columns: 8,
@ -248,16 +248,16 @@ the agent form: the concatenative pattern, and the 6 substitutive patterns
[],
[*C*],
[*Sub* #sn[]],
[*Sub* #sn[]],
[*Sub* #sn[]],
[*Sub* #sn[]],
[*Sub* #sn[]],
[*Sub* #sn[]],
[*Sub* #sn[]],
[*Sub* #sn[]],
[*Agent*], [], sn[], sn[], sn[], sn[], sn[], sn[],
[*Sub* #sn[]],
[*Agent*], [], sn[], sn[], sn[], sn[], sn[], sn[],
[*Patient*], table.cell(colspan: 7, sn[]),
[*Genitive*], table.cell(colspan: 7, sn[]),
[*Dative*], table.cell(colspan: 2, sn[]), sn[], sn[], sn[],
sn[], sn[],
[*Dative*], sn[], sn[], sn[], sn[], sn[],
sn[], sn[],
[*Ablative*],
table.cell(colspan: 3, sn[]),
table.cell(colspan: 2, sn[]),
@ -280,8 +280,8 @@ subject of an active intransitive clause.
)
#ex(
caption: [Agent case in an active intransitive clause],
txt: [#high[] #high[] ],
translit: ([#high[loarne]], [i], high[mazealn], [vionreor.]),
txt: [#high[] #high[] ],
translit: ([#high[loarne]], [i], high[masealn], [fionreor.]),
phono: (bl + high[ʟɔɐ̯nɛ], [e], high[mazɛ̃ẅ], [vjõʀøɐ̯] + br),
morphemes: (
high[Loarne.#sc[age]],
@ -302,8 +302,8 @@ the subject of a stative intransitive clause.
caption: [Patient case in a transitive clause#footnote[Note that while the
pronoun is dropped thanks to the verb conjugation, but the clause is still
transitive]<fn-pat-trans>],
txt: [#high[] ],
translit: (high[nriiht], [vionreef.]),
txt: [#high[] ],
translit: (high[nriiht], [fionreeff.]),
phono: (bl + high[nʁiːθ], [vjõʀiɸ] + br),
morphemes: (high[grain#sc[.pl.pat]], [eat#sc[.prs.1s]]),
translation: [I eat #high[grains]],
@ -312,8 +312,8 @@ the subject of a stative intransitive clause.
#ex(
caption: [Patient case in an intransitive clause],
txt: [#high[] ],
translit: (high[rent], [oítas.]),
txt: [#high[] ],
translit: (high[rent], [oítass.]),
phono: (bl + high[ʀɛ̃ð], [ytas] + br),
morphemes: (high[house#sc[.pat]], [be\_tall#sc[gno.3si]]),
translation: [#high[The house] is tall],
@ -337,8 +337,8 @@ Note: Compounding is not subject to coalescence.
)
#ex(
caption: [Qualificative genitive case],
txt: [#high[] ],
translit: (high[áhioc], [isove]),
txt: [#high[] ],
translit: (high[áhioc], [isofe]),
phono: (bl + high[øːx], [esovɛ] + br),
morphemes: (high[fiction.#sc[gen]], [job#sc[.age]]),
translation: [a #high[fictional] job],
@ -347,8 +347,8 @@ Note: Compounding is not subject to coalescence.
#ex(
caption: [Compounding],
txt: [],
translit: ([#sn[]\ áhio-], [#sn[]\ isove]),
txt: [],
translit: ([#sn[]\ áhio-], [#sn[]\ isofe]),
phono: (bl + [øː-], [esovɛ] + br),
morphemes: ([fiction-], [job#sc[.age]]),
translation: [a fictional job],
@ -363,8 +363,8 @@ verbs of movement towards something, for those use the patient case (see
@case-patient) instead, the dative instead indicates the means of displacement.
#ex(
caption: [Dative in ditransitive clauses],
txt: [#high[]  ],
translit: (high[elsi], [rent], [siehíef]),
txt: [#high[]  ],
translit: (high[elssi], [rent], [ssiehíeff]),
phono: (bl + high[ɛẅɕ], [ʀɛ̃ð], [ɕjɛːf] + br),
morphemes: (high(sc[2s.dat]), [house#sc[.pat]], [give.#sc[pres.1s]]),
translation: [I give #high[you] a house],
@ -373,7 +373,7 @@ verbs of movement towards something, for those use the patient case (see
#ex(
caption: [Dative as means of displacement for verbs of movement towards],
txt: [ #high[] ],
translit: ([an·sialmosécet], high[foítztselasi], [oisailin.]),
translit: ([an·ssialmossécet], high[ffoítstsselassi], [oissailin.]),
phono: (bl + [ãɕaẅmosicɛθ], high[fydztsɛʟaɕ], [øsɛʎẽ] + br),
morphemes: (
[#sc[ppn-]Sialmoséce#sc[.dat]],
@ -570,13 +570,19 @@ stacked for more specific meanings
Here is a (eventually but not yet) exhaustive list of such affixes: #low[(all of
them are prefixes)]
==== Conditionals, irrealis <morph-verbs-cond>
==== Conditional <morph-verbs-cond>
The conditional #sn[] ⟨ffói-⟩ indicates that the action of a verb is an hypothetical, or unreal situation.
==== Imperfective, durative, iterative <morph-verb-npfv>
==== Perfective, terminative <morph-verb-pfv>
==== Desiderative, Optative, Hortative <morpho-verb-opt>
==== Imperative <morph-verb-imp>
The imperative, contrary to all the other moods, is expressed with a particle #sn[] ⟨o⟩ after the verb complex. If you need an affix form for @morph-verb-other reasons, you should use the hortative (see @morpho-verb-opt) instead.
==== Causatives <morph-verb-cau>
Mosici has two causatives: the purposeful and the accendental.
@ -589,10 +595,13 @@ is cased by the agent in unintentionally or accidentally.
Both change the valency of the verb. the cause is expressed as the agent, what
would the agent of the root verb is expressed as the patient, and what would
have been the patient of the root verb is expressed in the dative, the verb
agrees with it's new agent (unless further modified). ====
Passive <morph-verb-pas>
agrees with it's new agent (unless further modified).
==== Passive <morph-verb-pas>
The passive affix #sn[] ⟨na-⟩ makes a transitive verb agree with its
patient instead of its agent. ==== Negation <morph-verb-neg>
patient instead of its agent.
==== Negation <morph-verb-neg>
The negation prefix is #sn[] ⟨ta-⟩. It negates whatever component of the
verb is immediately following it.

View File

@ -36,13 +36,13 @@
}
#let mos-cit(t) = [#sn(t) #html.span(class: "low", mos-translit(t))]
#let mos-nstem(w) = {
if w.ends-with("") { (w.clusters().slice(0, -2).join(), "") } else if w.ends-with("") {
(w.clusters().slice(0, -2).join(), "")
} else if w.ends-with("") { (w.clusters().slice(0, -2).join(), "") } else if w.ends-with("") {
(w.clusters().slice(0, -2).join(), "")
} else if w.ends-with("") { (w.clusters().slice(0, -1).join(), "") } else if w.ends-with("") {
(w.clusters().slice(0, -1).join(), "")
} else { (w, "") }
if w.ends-with("") { (w.clusters().slice(0, -3).join(), "") } else if w.ends-with("") {
(w.clusters().slice(0, -2).join(), "")
} else if w.ends-with("") { (w.clusters().slice(0, -3).join(), "") } else if w.ends-with("") {
(w.clusters().slice(0, -2).join(), "")
} else if w.ends-with("") { (w.clusters().slice(0, -2).join(), "") } else if w.ends-with("") {
(w.clusters().slice(0, -1).join(), "")
} else { (w, "") }
}
#let mos-vstem(w) = w.clusters().slice(0, -1).join()
@ -90,18 +90,17 @@
table(
columns: 5,
[], base.sc[*prs*], base.sc[*pst*], base.sc[*fut*], base.sc[*gno*],
base.sc[*1s*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*1s*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*2s*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*3sa*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*3si*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*3si*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*1pi*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*1pe*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*1pe*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*2p*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*3pa*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*3pi*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*inf*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*pcp.sg*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*pcp.pl*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*3pi*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*nf.sg*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
base.sc[*nf.pl*], c(s + ""), c(s + ""), c(s + ""), c(s + ""),
)
})
}
@ -118,17 +117,17 @@
table(
columns: 6,
[], base.sc[*age*], base.sc[*pat*], base.sc[*gen*], base.sc[*dat*], base.sc[*abl*],
base.sc[*1s*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*1p*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*2s*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*2p*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*3sa*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*3pa*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*3si*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*3pi*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*dem.sg*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*dem.pl*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*q*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*1s*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*1p*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*2s*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*2p*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*3sa*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*3pa*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*3si*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*3pi*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*dem.sg*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*dem.pl*], c(h: true, ""), c(""), c(""), c(""), c(""),
base.sc[*q*], c(h: true, ""), c(""), c(""), c(""), c(""),
)
})
}