Mesdames et messieurs, le plan est le suivant:- tout ce que vous vouliez savoir sur l'écriture japonaise, mais aviez peur de demander
- Qu'est-ce qu'un texte rubis
- comment écrire des addons pour libreoffice en python
- comment générer de la lecture pour kanzi
- Tout mettre ensemble dans un furiganiseur!
Le japonais moderne utilise principalement trois systèmes d'écriture.Premièrement, ce sont deux alphabets syllabes: hiragana et katakana. Hiragana est plus arrondi, ressemble à ceci: こ れ は ひ ら が な で す et est, pour ainsi dire, l'alphabet principal .。 Katakana est plus angulaire (カ タ カ ナ デ ス) et est utilisé principalement pour les mots empruntés, en général, l'ensemble des signes pour l'hiragana et le katakana est presque le même. De plus, nous appellerons tout cela simplement «kana». «Alphabet syllabique» signifie qu'au lieu de nos voyelles et consonnes «a», «b» et «c» - seulement des syllabes entières telles que «ka», «sa» et «that». Il y a aussi des voyelles, cependant, il y a cinq morceaux ("a", "et", "y", "e", "o" + "i", "u" et "e") et une seule consonne "n" dans ordre d'exception.C'est pourquoi il est très difficile pour les Japonais de prononcer des mots avec des consonnes successives - ils n'y sont tout simplement pas habitués, mais ce n'est pas important pour nous maintenant. Avec un cana, en principe, vous pouvez écrire n'importe quelle phrase en japonais.Un autre système est celui des personnages empruntés à la Chine, que nous continuerons d'appeler kanji , puis ce qu'ils s'appellent. Après l'emprunt, les kanji japonais, oui sobsno et chinois aussi, ont considérablement changé, et maintenant ils sont assez différents, bien que, d'un autre côté, ils soient en grande partie similaires. Disons simplement qu'en regardant un texte chinois, un japonais peut plus ou moins comprendre de quoi il parle. Les kanji ressemblent à ceci: 友 達 、 日本 酒 、 世界。 Oui, en japonais, c'est un point rond.Voici un point clé pour la compréhension: le japonais et le chinois au niveau de la grammaire ne sont généralement pas liés du tout. Donc, juste comme ça, il était impossible de prendre des caractères chinois et de commencer à les écrire. En fait, avec l'aide du kanji, vous pouvez écrire des mots individuels, plutôt même les bases des mots, et le kana est toujours utilisé pour indiquer les formes grammaticales et la connexion des mots entre eux. Cela ressemble à ceci: 送 り が な は と っ て も 便利 で す. Si vous regardez attentivement, vous pouvez voir que le premier caractère est kanji, suivi de plusieurs signes de kana, etc. Cette astuce facilite la distinction visuelle entre le texte japonais et le chinois, qui sont graphiquement plus «denses» car il n'y a que des kanji. Ce kana, qui est attaché au kanji pour indiquer la forme grammaticale, est appelé "okurigan".Ici, et enfin ... Le nombre de kanji est assez important, et si vous n'êtes pas un robot, se souvenir de tout est difficile. Si le mot est écrit par kanji, il n'est souvent pas évident de savoir comment le lire en personne, malgré le fait que dans la langue parlée le mot pourrait bien être trouvé et que la personne le sait. Pour aider dans cette situation, en particulier pour les kanji rares ou lorsque le texte est destiné aux enfants, aux étrangers ou à d'autres catégories de citoyens mentalement limités - la lecture d'un kanji est signée d'en haut avec un kana. C'est ce qu'on appelle le « furigana ». Il ressemble à l'image au début du post.Fuh, passez au point suivant.Pour ajouter des annotations sur du texte, le soi-disant rubis est utilisé. Cela n'a rien à voir avec le langage de programmation. Comme je viens de l'apprendre de Wikipédia, en russe, on l'appelle «agate»La prise en charge de Ruby est disponible en html à l'aide de la balise ruby:<ruby>
<rt></rt>
</ruby>
Mais maintenant, nous nous intéressons à LibreOffice. En mode manuel, vous pouvez ajouter une annotation rubis au texte via le menu Format -> Guide phonétique asiatique. C'est un peu étrange, car vous pouvez utiliser le champ de frottement non seulement pour la phonétique, mais aussi pour les figues. Si ce n'est pas dans le menu, vous pouvez essayer d'ajouter la prise en charge des langues asiatiques dans Outils -> Options -> Paramètres de langue.Ensuite, nous voulons le faire automatiquement pour le texte sélectionné. LibreOffice est merveilleux en ce que vous pouvez y écrire des macros en Python. Pour ce faire, le module libreoffice-script-provider-python doit être installé (installé via apt-get), ce qui ne vaut pas la valeur par défaut. Oh oui, je fais tout sous Ubuntu, si vous avez un système d'exploitation différent, vous pouvez partager la recette dans les commentaires :)La macro elle-même est écrite comme une fonction régulière sur un Python. Le document est visible à travers une variable globale avec une instance de la classe correspondante et, en fait, toutes les méthodes nécessaires.Voici un exemple simple:def HelloWorldPython():
desktop = XSCRIPTCONTEXT.getDesktop()
model = desktop.getCurrentComponent()
if not hasattr(model, "Text"):
model = desktop.loadComponentFromURL("private:factory/swriter","_blank", 0, () )
text = model.Text
tRange = text.End
tRange.String = "Hello World (in Python)"
return None
g_exportedScripts = HelloWorldPython,
Nous enregistrons dans un fichier, le mettons ou faisons un lien symbolique dans le dossier dans lequel LibreOffice contient les scripts. Dans mon cas, c'est «~ / .config / libreoffice / 4 / user / Scripts / python».Ouvrez LibreOffice Writer (OpenOffice devrait également fonctionner), allez dans Outils -> Macros -> Exécuter la macro et voyez notre script là-bas, si tout a fonctionné.Il reste à écrire un script qui reprendrait les kanji du document et ajouterait leurs lectures en roubles des caractères correspondants. Tout est simple: il existe des programmes spéciaux pour la génération de lecture, nous les exécutons simplement à partir de notre script de macro, via des entrées-sorties standard, exécutons du texte japonais et insérons la sortie dans le document.Un programme appelé kakasi prend du texte japonais et donne une lecture complète, mais ce n'est pas exactement ce dont vous avez besoin, car Je veux distribuer des fragments d'indices phonétiques entre les champs de rubis des personnages correspondants. Pour ce faire, en utilisant mecab, vous pouvez symboliser le texte japonais, et donc déjà le nourrir kakasi en plusieurs parties. En fait, la précision de la génération de lecture à partir de cela se dégrade légèrement, mais la mise en page du document s'améliore. Certains défauts peuvent ensuite être corrigés manuellement.C'est sobsno et c'est tout, mettez apt-get install kakasi, mecab,allez sur github.com/undertherain/furiganize , téléchargez le script maladroit que j'ai écrit à partir de là et qui sanglote, mais ça fait tout. Mettez-le dans le dossier souhaité et profitez-en. Si quelqu'un partage son expérience avec d'autres systèmes d'exploitation - ce sera généralement merveilleux.