Source code for cltk.phonology.non.phonology


from typing import List

from cltk.phonology.non import syllabifier as ons
from cltk.phonology.non import transcription as ont
from cltk.phonology.non import utils as ut
from cltk.phonology.syllabify import Syllabifier

__author__ = ["Clément Besnier <>"]

[docs]class OldNorseTranscription: """ Phonological transcriber for Old Norse """ def __init__(self): self.transcriber = ut.Transcriber( ont.DIPHTHONGS_IPA, ont.DIPHTHONGS_IPA_class, ont.IPA_class, ont.old_norse_rules, )
[docs] def transcribe(self, word: str) -> str: """ >>> non_transcriber = OldNorseTranscription() >>> non_transcriber.transcribe("Óðinn") '[oːðinː]' :param word: word to transcribe :return: transcribed word """ return self.transcriber.text_to_phonetic_representation(word)
def __repr__(self): return f"<OldNorseTranscription>" def __call__(self, word: str) -> str: return self.transcribe(word)
[docs]class OldNorseSyllabifier: """ Syllabifier for Old Norse """ def __init__(self): self.syllabifier = Syllabifier(language="non", break_geminants=True) self.syllabifier.set_invalid_onsets(ons.invalid_onsets)
[docs] def syllabify(self, word: str) -> List[str]: """ >>> non_syllabifier = OldNorseSyllabifier() >>> non_syllabifier.syllabify('Miðgarðr'.lower()) ['mið', 'garðr'] :param word: word to syllabify :return: syllabified word """ return self.syllabifier.syllabify(word)
def __repr__(self): return f"<OldNorseScanner>" def __call__(self, word: str) -> List[str]: return self.syllabify(word)