Jump to content

Module:Auphen/YAQ-HE: Difference between revisions

From Yezur Wiki
Khurouan (talk | contribs)
Create Ancient Hertic (YAQ-HE) Auphen data: script map + 10-rule pronounce set
 
Alompan (talk | contribs)
Header comment: the sets table is not empty (flag 48a)
 
(3 intermediate revisions by one other user not shown)
Line 4: Line 4:
--  ipa_rules : Hertic script glyph -> IPA sound (the "initial transposition")
--  ipa_rules : Hertic script glyph -> IPA sound (the "initial transposition")
--  pronounce : the pronunciation-estimation ruleset (orthography -> phonetics)
--  pronounce : the pronunciation-estimation ruleset (orthography -> phonetics)
--  sets      : named grammar/derivation rulesets (none yet)
--  sets      : named grammar/derivation rulesets (noun declensions F, M1, M2)
--
--
-- The script is a 24-letter Greek-style alphabet; <ο> is read as /ɔ/ by default
-- The script is a 24-letter Greek-style alphabet; <ο> is read as /ɔ/ by default
Line 15: Line 15:
     ['[K]'] = {'p','t̪','k'},
     ['[K]'] = {'p','t̪','k'},
     ['[G]'] = {'b','d̪','g'},
     ['[G]'] = {'b','d̪','g'},
     ['[Front]'] = {'i','e','ɛ'},
     ['[F]'] = {'i','e','ɛ'},
     ['[Nasal]'] = {'m','n','ŋ'},
     ['[N]'] = {'m','n','ŋ'},
     ['[Velar]'] = {'k','g','x'},
     ['[W]'] = {'k','g','x'},
   },
   },
   ipa_rules = [[
   ipa_rules = [[
Line 50: Line 50:
   pronounce = [[
   pronounce = [[
x/h/#_
x/h/#_
n/ŋ/_[Velar]
n/ŋ/_[W]
k/ʈʂ/_[Front]
k/ʈʂ/_[F]
[K]/[G]/[Nasal]_
[K]/[G]/[N]_
[K]/[G]/[V]_[V]
[K]/[G]/[V]_[V]
x/ɣ/[V]_[V]
x/ɣ/[V]_[V]
Line 60: Line 60:
ɒː/oʊː/_#
ɒː/oʊː/_#
]],
]],
   sets = {},
   sets = {
    -- Noun declension. Citation form = NOM SG; each set rewrites its ending.
    -- Cases: NOM / ACC / OBL (oblique) / GEN, each SG & PL. The definite
    -- article is added by the display template, not here.
 
    -- Class F (feminine): citation -ι
    ['F-nom-sg'] = 'ι/ι/_#',
    ['F-nom-pl'] = 'ι/υ/_#',
    ['F-acc-sg'] = 'ι/ιξ/_#',
    ['F-acc-pl'] = 'ι/υδες/_#',
    ['F-obl-sg'] = 'ι/ε/_#',
    ['F-obl-pl'] = 'ι/υεν/_#',
    ['F-gen-sg'] = 'ι/εν/_#',
    ['F-gen-pl'] = 'ι/υν/_#',
 
    -- Class M1 (masculine, first): citation -αν. Plurals prefer the -ιαν
    -- variant (ι-stems) before the plain -αν rule; order matters.
    ['M1-nom-sg'] = 'αν/αν/_#',
    ['M1-nom-pl'] = 'ιαν/ιο/_#\nαν/ιο/_#',
    ['M1-acc-sg'] = 'αν/αξ/_#',
    ['M1-acc-pl'] = 'ιαν/ιδες/_#\nαν/ιδες/_#',
    ['M1-obl-sg'] = 'αν/αεν/_#',
    ['M1-obl-pl'] = 'ιαν/ιν/_#\nαν/ιν/_#',
    ['M1-gen-sg'] = 'αν/ην/_#',
    ['M1-gen-pl'] = 'αν/ιην/_#',
 
    -- Class M2 (masculine, second): citation -ουξ
    ['M2-nom-sg'] = 'ουξ/ουξ/_#',
    ['M2-nom-pl'] = 'ουξ/ω/_#',
    ['M2-acc-sg'] = 'ουξ/ουτ/_#',
    ['M2-acc-pl'] = 'ουξ/ωεσ/_#',
    ['M2-obl-sg'] = 'ουξ/ουν/_#',
    ['M2-obl-pl'] = 'ουξ/ων/_#',
    ['M2-gen-sg'] = 'ουξ/ην/_#',
    ['M2-gen-pl'] = 'ουξ/ωην/_#',
  },
}
}

Latest revision as of 20:09, 28 July 2026

This is the documentation for Module:Auphen/YAQ-HE, the Ancient Hertic sound data for the Yezur wiki. It holds no code: Module:Auphen/frame loads it whenever Template:Auphen is given the registry code YAQ-HE and passes its contents to the engine in Module:Auphen. {{auphen|word|YAQ-HE}} estimates a pronunciation from the spelling; {{auphen|word|YAQ-HE|ruleset}} runs one of the named rulesets below.

Fields

Field Purpose
ipacats The category sets the rules refer to: [C] consonant, [V] vowel, [K] voiceless stop (/p/, /t̪/, /k/), [G] voiced stop (/b/, /d̪/, /g/), [F] front vowel (/i/, /e/, /ɛ/), [N] nasal (/m/, /n/, /ŋ/), [W] velar obstruent (/k/, /g/, /x/).
ipa_rules The glyph-to-sound map. The frame supplies it to the engine only for pronunciation estimation, where it is applied to the word before pronounce runs.
pronounce The pronunciation-estimation ruleset.
sets The named rulesets, one per cell of the noun declension.

[K] and [G] are declared in matching order, so the rules that map one onto the other pair them off position by position. [C] and [V] also list sounds that no glyph spells and only the ruleset produces — /h/, /ɣ/, /ŋ/, /o/, /ə/, /oʊː/ — so that later rules still match them.

Orthography

Ancient Hertic is written in an alphabetic script. ipa_rules gives each glyph one sound; the rules apply in the order listed below, down the left column and then the right, so the digraphs ⟨ου⟩ and ⟨αε⟩ are matched ahead of the letters they are written with.

Spelling Sound Spelling Sound
ου /ʉ/ ζ /ʐ/
αε /ä/ χ /x/
σ /s/ κ /k/
λ /l/ γ /g/
ν /n/ υ /u/
ρ /r/ ι /i/
φ /ɸ/ ο /ɔ/
μ /m/ ε /ɛ/
π /p/ η /e/
β /b/ ω /ɒː/
θ /θ/ α /ɑ/
ψ /ð/ ξ /kʂ/
τ /t̪/ ς /ʈʂ/
δ /d̪/

⟨ξ⟩ and ⟨ς⟩ each yield a two-symbol sequence, which [C] lists as a single consonant; ⟨ω⟩ is long. ⟨ο⟩ enters the ruleset as /ɔ/ — its /o/ value is an allophone produced by the rules, not a spelling distinction.

Pronunciation

pronounce holds ten rules, applied in order to the word once ipa_rules has transposed it.

Rule Effect
x/h/#_ /x/ is /h/ word-initially.
n/ŋ/_[W] /n/ assimilates to /ŋ/ before a velar.
k/ʈʂ/_[F] /k/ becomes /ʈʂ/ before a front vowel.
[K]/[G]/[N]_ Voiceless stops voice after a nasal.
[K]/[G]/[V]_[V] Voiceless stops voice between vowels.
x/ɣ/[V]_[V] /x/ becomes /ɣ/ between vowels.
ʐ/r/[V]_[V] /ʐ/ becomes /r/ between vowels.
ɔ/o/_[C]#|_[C][V] /ɔ/ raises to /o/ before a single consonant, whether word-final or followed by a vowel.
ɛ/ə/_# Final /ɛ/ reduces to /ə/.
ɒː/oʊː/_# Final /ɒː/ becomes /oʊː/.

The | in the raising rule separates two alternative environments; either is enough to trigger it, and it distinguishes ολ/ol/ from ολλα/ɔllɑ/.

Order matters. Palatalisation runs before both voicing rules and so claims /k/ before a front vowel outright: ακα/ɑgɑ/ but ακη/ɑʈʂe/. Nasal assimilation runs before palatalisation, so it still sees the velar that palatalisation then replaces: ανκη/ɑŋʈʂe/. Voicing after a nasal does not depend on that assimilation, since /n/ is itself a member of [N]: ανπα/ɑnbɑ/. Further examples: Χερτεχι/hɛrt̪ɛɣi/, κηχυζι/ʈʂeɣuri/, ταπε/t̪ɑbə/.

Named rulesets

sets covers the noun declension: four cases (nominative, accusative, oblique, genitive) in two numbers across three classes. Names take the form class-case-numberF-nom-sg, M1-acc-pl, and so on. These rulesets run on the spelling rather than on the sounds: the frame withholds ipa_rules when a ruleset is named, so they take the headword in the Hertic script and return the declined form in the same script, leaving pronunciation to a separate call. The page declares no orthographic category set of its own, and the declension rules name no categories.

Each ruleset rewrites the citation ending, and every rule is anchored to the end of the word; a word that does not end in its class's citation ending comes back unchanged. The nominative singular of each class is an identity rule, so a table can call all eight cells the same way.

Form F (feminine, citation ) M1 (first-declension masculine, citation -αν) M2 (second-declension masculine, citation -ουξ)
NOM SG -αν -ουξ
NOM PL -ιο
ACC SG -ιξ -αξ -ουτ
ACC PL -υδες -ιδες -ωεσ
OBL SG -αεν -ουν
OBL PL -υεν -ιν -ων
GEN SG -εν -ην -ην
GEN PL -υν -ιην -ωην

Three of the M1 plurals carry two rules, matching -ιαν before plain -αν so that an ι-stem does not double its ι: φιανφιο, not φιιο. M1-gen-pl carries only the plain rule, and so returns φιιην.

Notes

Entries do not normally call these rulesets directly. The declension tables come from Template:YAQ-HE-decl-F, Template:YAQ-HE-decl-M1 and Template:YAQ-HE-decl-M2 over Template:YAQ-HE-decl/core: the wrappers pass the class, the gender label and the definite-article forms, and the core reads the headword from the page name unless word= overrides it. Only the three noun classes have rulesets here; no other part of speech is covered yet.

The rule notation is the engine's, not this page's — it is described at Module:Auphen, and its behaviour and divergences are logged on Module talk:Auphen. A misspelt ruleset name yields a visible error and files the calling page into Category:Auphen errors. Worked examples for the engine live at Template:Auphen/testcases.


-- Module:Auphen/YAQ-HE -- sound data for the Ancient Hertic language (registry
-- code YAQ-HE). Pure data, loaded by [[Module:Auphen/frame]].
--   ipacats   : IPA-scope categories used by the ruleset
--   ipa_rules : Hertic script glyph -> IPA sound (the "initial transposition")
--   pronounce : the pronunciation-estimation ruleset (orthography -> phonetics)
--   sets      : named grammar/derivation rulesets (noun declensions F, M1, M2)
--
-- The script is a 24-letter Greek-style alphabet; <ο> is read as /ɔ/ by default
-- (its [o] value is an allophone produced by the ruleset). Digraphs <ου>=/ʉ/,
-- <αε>=/ä/; single-letter clusters <ξ>=/kʂ/, <ς>=/ʈʂ/; <ω>=/ɒː/ (long).
return {
  ipacats = {
    ['[C]'] = {'kʂ','ʈʂ','t̪','d̪','ɣ','ŋ','s','l','n','r','ɸ','m','p','b','θ','ð','ʐ','x','k','g','h'},
    ['[V]'] = {'oʊː','ɒː','ʉ','ä','u','i','ɔ','ɛ','o','e','ɑ','ə'},
    ['[K]'] = {'p','t̪','k'},
    ['[G]'] = {'b','d̪','g'},
    ['[F]'] = {'i','e','ɛ'},
    ['[N]'] = {'m','n','ŋ'},
    ['[W]'] = {'k','g','x'},
  },
  ipa_rules = [[
ου/ʉ
αε/ä
σ/s
λ/l
ν/n
ρ/r
φ/ɸ
μ/m
π/p
β/b
θ/θ
ψ/ð
τ/t̪
δ/d̪
ζ/ʐ
χ/x
κ/k
γ/g
υ/u
ι/i
ο/ɔ
ε/ɛ
η/e
ω/ɒː
α/ɑ
ξ/kʂ
ς/ʈʂ
]],
  pronounce = [[
x/h/#_
n/ŋ/_[W]
k/ʈʂ/_[F]
[K]/[G]/[N]_
[K]/[G]/[V]_[V]
x/ɣ/[V]_[V]
ʐ/r/[V]_[V]
ɔ/o/_[C]#|_[C][V]
ɛ/ə/_#
ɒː/oʊː/_#
]],
  sets = {
    -- Noun declension. Citation form = NOM SG; each set rewrites its ending.
    -- Cases: NOM / ACC / OBL (oblique) / GEN, each SG & PL. The definite
    -- article is added by the display template, not here.

    -- Class F (feminine): citation -ι
    ['F-nom-sg'] = 'ι/ι/_#',
    ['F-nom-pl'] = 'ι/υ/_#',
    ['F-acc-sg'] = 'ι/ιξ/_#',
    ['F-acc-pl'] = 'ι/υδες/_#',
    ['F-obl-sg'] = 'ι/ε/_#',
    ['F-obl-pl'] = 'ι/υεν/_#',
    ['F-gen-sg'] = 'ι/εν/_#',
    ['F-gen-pl'] = 'ι/υν/_#',

    -- Class M1 (masculine, first): citation -αν. Plurals prefer the -ιαν
    -- variant (ι-stems) before the plain -αν rule; order matters.
    ['M1-nom-sg'] = 'αν/αν/_#',
    ['M1-nom-pl'] = 'ιαν/ιο/_#\nαν/ιο/_#',
    ['M1-acc-sg'] = 'αν/αξ/_#',
    ['M1-acc-pl'] = 'ιαν/ιδες/_#\nαν/ιδες/_#',
    ['M1-obl-sg'] = 'αν/αεν/_#',
    ['M1-obl-pl'] = 'ιαν/ιν/_#\nαν/ιν/_#',
    ['M1-gen-sg'] = 'αν/ην/_#',
    ['M1-gen-pl'] = 'αν/ιην/_#',

    -- Class M2 (masculine, second): citation -ουξ
    ['M2-nom-sg'] = 'ουξ/ουξ/_#',
    ['M2-nom-pl'] = 'ουξ/ω/_#',
    ['M2-acc-sg'] = 'ουξ/ουτ/_#',
    ['M2-acc-pl'] = 'ουξ/ωεσ/_#',
    ['M2-obl-sg'] = 'ουξ/ουν/_#',
    ['M2-obl-pl'] = 'ουξ/ων/_#',
    ['M2-gen-sg'] = 'ουξ/ην/_#',
    ['M2-gen-pl'] = 'ουξ/ωην/_#',
  },
}