Comment obtenir des chiffres spécifiques au langage humain?


9

TL; DR: comment utiliser les chiffres hindi (١٢٣ ...) lors de l'écriture en arabe?


Emacs est sans doute salué comme le meilleur éditeur, mais lorsqu'il s'agit d'utiliser des chiffres dans le contexte de l'écriture, il n'y a pas de solution satisfaisante à ce problème pour les utilisateurs multilingues par rapport à celle offerte par Microsoft Word, à savoir l'écriture numérique contextuelle.

Dans Microsoft Word 2010, allez dans le menu déroulant -> Plus de commandes -> Avancé -> sous afficher le contenu du document, vous pouvez sélectionner contextNuméral hors (arabe ou hindi ou Contexte ou Système). L'option de contexte vous permet d'écrire des chiffres en fonction du contexte de votre écriture, s'il s'agissait de chiffres anglais, ce serait l' arabe 1,2,3,4,5,6,7,8,9,0 - cela semble étrange! mais il est ainsi nommé (un terme impropre peut-être), et si vous écrivez en arabe, les chiffres seront des chiffres hindi , écrits comme ceci:
entrez la description de l'image ici

Pour Windows, j'ai trouvé que changer le input-methodpendant l'écriture est la voie à suivre si je dois écrire un document multilingue dans Emacs, comme l'anglais et l'arabe ou toute autre langue avec un alphabet totalement différent. Changer la langue ou la disposition du clavier à partir de la barre de langue dans Windows IMHO ne vous donnera pas le même effet car cela détruira toutes vos raccourcis clavier de votre éditeur Emacs (en particulier dans le cas de deux langues différentes comme l'anglais et l'arabe). La solution est affichée ici .

Dans Microsoft Word, après avoir mis les chiffres en contexte, vous pouvez facilement écrire l'anglais avec des chiffres arabes, et lorsque vous passez à l'écriture en arabe en parcourant ( ALT+ R SHFT), vous écrirez du texte arabe avec des chiffres hindis en un rien de temps, comme indiqué dans l'image ci-dessous. Dans Emacs après le passage input-methodà la langue arabe, les chiffres seront toujours l'arabe (1,2,3, etc.) et non les chiffres hindi souhaités.

entrez la description de l'image ici

Je ne pense pas que la solution à ce problème soit liée à Microsoft Windows, car la modification de la langue des paramètres régionaux modifiera également les chiffres de l'interface Windows et aura un effet indésirable à l'échelle du système.

Je crois que le potentiel d'extension d'Emacs détient la clé de ce problème. Pour être plus précis; Je suggère qu'Emacs devrait détecter le input-methodet s'il est en arabe, il devrait automatiquement remapper tous les chiffres arabes en hindis. OU en quelque sorte personnaliser la disposition du clavier arabe pour avoir l'hindi au lieu des chiffres arabes.

Voici quelques articles liés à ce problème, mais je n'ai pas pu traduire ces informations en une véritable solution adaptée aux spécificités de cet article:

https://tex.stackexchange.com/q/191040/26295

Vous trouverez ci-dessous une approche pour étendre la méthode d'entrée dans Emacs. https://emacs.stackexchange.com/a/3404/2443

La saisie de chiffres en hindi peut être une tâche fastidieuse dans Emacs si vous souhaitez saisir les chiffres en hindi un par un, C-x 8 RETceux - ci sont mappés en Unicode aux codes suivants: 0661 pour le numéro 1, 0662 pour le numéro 2, 0663 pour le numéro 3, 0664 pour le numéro 4, 0665 pour le numéro 5 et ainsi de suite.

Question
Quelle est la meilleure personnalisation d'Emacs 24 et les raccourcis clavier les plus courts afin de reproduire l'expérience d'écriture contextuelle transparente fournie par Microsoft Word?


Je pense qu'il y a une certaine confusion ici, les chiffres que vous appelez hindi sont en fait des chiffres arabes!
Iqbal Ansari

@IqbalAnsari Salut, ironiquement non - je sais que cela peut sembler déroutant pour la première fois mais si vous étiez un utilisateur de Microsoft Word et que vous écrivez en arabe, vous serez bientôt habitué à ce jargon. Si vous avez Microsoft Word, vous pouvez le vérifier.
doctorat du

1
Soit dit en passant: les normes de publication dans certains pays arabophones sont par défaut des chiffres hindi (١٢٣ ...), comme l'Égypte, tandis que d'autres par défaut sont des chiffres arabes (123 ...), comme le Liban.
Dan

@Dan, l'Egypte et le Liban sont tous deux des pays arabophones, ils devraient utiliser l'hindi dans leurs publications ou tout autre écrit. Sur cette base, la disposition arabe par défaut d'Emacs serait préférable de changer les chiffres de l'arabe en hindi.
doctorat

Ce qu'ils devraient ou ne devraient pas faire n'est pas aussi pertinent que ce qu'ils font réellement. Et, pour ce que ça vaut, les principales publications en ligne utilisent principalement des chiffres arabes - cf. al-Jazeera , al-Hayat (quotidien panarabe), al-Nahar (quotidien phare libanais), al-Ahram (quotidien phare égyptien). Je préfère également l'esthétique des chiffres hindi, mais il semble que cela quailfasse le bon choix pour utiliser par défaut les chiffres arabes, car ils semblent également être ceux par défaut dans le monde arabe.
Dan

Réponses:


10

Donc, l'exigence est la suivante: lorsque j'utilise la arabicméthode de saisie et que je tape un chiffre, je veux qu'Emacs insère le caractère hindi pour ce chiffre.

Pour ce faire, nous pouvons adapter votre approche liée pour étendre une méthode d'entrée comme ceci:

(eval-after-load "quail/arabic"
  '(let ((quail-current-package (assoc "arabic" quail-package-alist)))
     (quail-define-rules ((append . t)) ;; don't clobber the existing rules
                         ("0" "\u0660")
                         ("1" "\u0661")
                         ("2" "\u0662")
                         ("3" "\u0663")
                         ("4" "\u0664")
                         ("5" "\u0665")
                         ("6" "\u0666")
                         ("7" "\u0667")
                         ("8" "\u0668")
                         ("9" "\u0669"))))

Ensuite, lorsque vous utilisez C-uC-\ arabic(ou juste C-\si c'est votre valeur par défaut) et tapez un chiffre, il insère la traduction spécifiée à la place.


Génial! problème résolu. Emacs est vraiment le meilleur éditeur.
doctorat du
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.