tag:linuxfr.org,2005:/tags/sanskrit/publicLinuxFr.org : les contenus étiquetés avec « sanskrit »2013-03-26T19:45:52+01:00/favicon.pngtag:linuxfr.org,2005:News/340282013-03-23T09:00:43+01:002018-10-07T18:28:40+02:00DChars, pour lire/écrire et modifier des caractères unicodes complexesLicence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<div><p>Dans le cadre d'un projet, j'ai eu besoin d'un module pour analyser et modifier les caractères complexes de certains systèmes d'écriture, en particulier en hébreu, grec ancien ou sanskrit. Mon code commence à devenir utilisable, je le publie donc sous une licence GLPv3 : <a href="http://94.23.197.37/dchars/">DChars</a> est un module pour Python3.</p>
<p>J'ai essayé de coller à certains principes facilitant le travail en communauté ainsi que l'écriture de code lisible : tests unitaires, code et commentaires écrits en anglais, surveillance de la qualité du code par Pylint, documentation fournie et écrite avec Sphinx.</p>
<p>Concrètement, je cherche d'autres personnes susceptibles d'utiliser ou d'améliorer mon module. Si vous utilisez les langues concernées, dites-moi si ce que j'ai fait vous convient ! En particulier, si certains connaissent très bien la norme <a href="https://fr.wikipedia.org/wiki/ISO_15919" title="Définition Wikipédia">ISO 15919</a>, je suis preneur… De façon générale, n'hésitez pas à faire remonter vos remarques, je n'attends que ça, surtout si elles sont négatives !</p>
</div><ul><li>lien nᵒ 1 : <a title="http://94.23.197.37/dchars/doc/fr/index.html" hreflang="fr" href="https://linuxfr.org/redirect/85729">DChars</a></li></ul><div><p>Concrètement DChars est un module qui substitue au type <em>str</em> d'autres types, par exemple DStringGRC pour le grec ancien :</p>
<pre><code class="python"><span class="o">>>></span> <span class="kn">from</span> <span class="nn">dchars.languages.grc.dchars</span> <span class="kn">import</span> <span class="n">DStringGRC</span>
<span class="o">>>></span> <span class="n">string</span> <span class="o">=</span> <span class="n">DStringGRC</span><span class="p">(</span><span class="s2">"μῆνιν ἄειδε θεὰ Πηληϊάδεω Ἀχιλῆος"</span><span class="p">)</span>
<span class="o">>>></span> <span class="k">print</span><span class="p">(</span><span class="n">string</span><span class="p">)</span>
<span class="s2">"μῆνιν ἄειδε θεὰ Πηληϊάδεω Ἀχιλῆος"</span></code></pre>
<p>La chaîne peut être translittérée (pour le grec ancien, j'ai implémenté trois méthodes différentes, l'une des trois étant choisie par défaut), mais il peut tout aussi bien s'agir <strong>d'un fichier entier</strong>, ce qui peut être fort pratique :</p>
<pre><code class="python"><span class="o">>>></span> <span class="n">string</span><span class="o">.</span><span class="n">get_transliteration</span><span class="p">()</span>
<span class="s2">"m/\ênin )/aeide the</span><span class="se">\a</span><span class="s2"> Pêlêi:/adeô )Akhil/\êos"</span></code></pre>
<p>À partir de là, il est facile d'inspecter la chaîne…</p>
<pre><code class="python"><span class="o">>>></span> <span class="n">string</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tonos</span>
<span class="s2">"περισπωμένη"</span></code></pre>
<p>… et de la modifier en profondeur :</p>
<pre><code class="python"><span class="o">>>></span> <span class="n">string</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tonos</span> <span class="o">=</span> <span class="s2">"ὀξεῖα"</span>
<span class="o">>>></span> <span class="k">print</span><span class="p">(</span><span class="n">string</span><span class="p">)</span>
<span class="s2">"μήνιν ἄειδε θεὰ Πηληϊάδεω Ἀχιλῆος"</span> <span class="c1"># notez le deuxième caractère !</span></code></pre>
<p>J'espère que mon code vous intéressera : merci à ceux qui m'auront lu !</p>
</div><div><a href="https://linuxfr.org/news/dchars-pour-lire-ecrire-et-modifier-des-caracteres-unicodes-complexes.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/97774/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/dchars-pour-lire-ecrire-et-modifier-des-caracteres-unicodes-complexes#comments">ouvrir dans le navigateur</a>
</p>
Xavier Faurebaud123claudexBenoît Sibaudpatrick_gXavier Teyssierhttps://linuxfr.org/nodes/97774/comments.atom