¿Cómo obtener números específicos del lenguaje humano?

9

TL; DR: ¿cómo puedo usar dígitos hindi (١٢٣ ...) cuando escribo en árabe?


Podría decirse que Emacs es el mejor editor, pero cuando se trata de usar números en el contexto de la escritura, no hay soluciones satisfactorias para este problema para usuarios multilingües en comparación con el que ofrece Microsoft Word, es decir, la escritura contextual de números.

En Microsoft Word 2010, vaya al menú desplegable -> Más comandos -> Avanzado -> en mostrar contenido del documento que puede seleccionar contextpara Numeral fuera de (árabe o hindi o contexto o sistema). La opción de contexto le permite escribir números de acuerdo con el contexto de su escritura si fueran números en inglés sería árabe 1,2,3,4,5,6,7,8,9,0 , ¡suena extraño! pero se llama así (un nombre inapropiado quizás), y si escribe en árabe, los números serán hindi , escritos de esta manera:
ingrese la descripción de la imagen aquí

Para Windows, descubrí que cambiar el input-methodtiempo de escritura es el camino a seguir si tengo que escribir un documento multilingüe en Emacs que diga inglés y árabe o cualquier otro idioma con un alfabeto totalmente diferente. Cambiar el idioma o la distribución del teclado desde la barra de idioma en Windows IMHO no le dará el mismo efecto, ya que eso destruirá todas las asociaciones de teclas de su editor Emacs (especialmente en el caso de dos idiomas diferentes como inglés y árabe). La solución se publica aquí .

En Microsoft Word, después de establecer los números en contexto, puede escribir sin problemas el inglés con números arábigos, y cuando cambia para escribir en árabe recorriendo ( ALT+ R SHFT), escribirá texto árabe con números hindi en muy poco tiempo como se muestra en la imagen a continuación. En Emacs después de cambiar input-methodal idioma árabe, los números seguirán siendo árabes (1,2,3, etc.) y no los números hindúes deseados.

ingrese la descripción de la imagen aquí

No creo que la solución a estos problemas esté relacionada con Microsoft Windows, ya que cambiar el idioma de la configuración regional también cambiará los números de la interfaz de Windows y tendrá un efecto no deseado en todo el sistema.

Creo que el potencial de extensión de Emacs es la clave de este problema. Para ser más especifico; Sugiero que Emacs detecte el input-methody, si está en árabe, debería reasignar automáticamente todos los dígitos árabes en hindi. O de alguna manera personalizar la distribución del teclado árabe para tener hindi en lugar de números arábigos.

Blow enumerado son algunas publicaciones relacionadas con este problema, pero no pude traducir estos bits de información en una solución real adecuada a los detalles de esta publicación:

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

A continuación se muestra un enfoque para extender el método de entrada en Emacs. https://emacs.stackexchange.com/a/3404/2443

Escribir números en hindi puede ser una tarea tediosa en Emacs si desea ingresar los dígitos en hindi uno a la vez, C-x 8 RETestos se asignan en Unicode a los siguientes códigos: 0661 para el número 1, 0662 para el número 2, 0663 para el número 3, 0664 para el número 4, 0665 para el número 5 y así sucesivamente.

Pregunta
¿Cuál es la mejor personalización para Emacs 24 y las pulsaciones de teclado más cortas para replicar la experiencia de escritura contextual sin fisuras proporcionada por Microsoft Word?

doctorado
fuente
Creo que hay algo de confusión aquí, ¡los números que estás llamando hindi son en realidad números arábigos!
Iqbal Ansari
@IqbalAnsari Hola, irónicamente, sé que puede parecer confuso por primera vez, pero si fueras un usuario de Microsoft Word y escribas en árabe, pronto estarás acostumbrado a esta jerga. Si tiene Microsoft Word, puede verificarlo.
doctorado
1
Como comentario adicional: las normas de publicación en algunos países de habla árabe tienen valores predeterminados en números hindi (١٢٣ ...), como Egipto, mientras que otros valores predeterminados en números arábigos (123 ...), como Líbano.
Dan
@Dan, Egipto y Líbano son países de habla árabe que deberían usar hindi en sus publicaciones o cualquier otro escrito. Basado en eso, el diseño árabe predeterminado de Emacs sería mejor cambiar los números del árabe al hindi.
doctorado
Lo que deberían o no deberían hacer no es tan relevante como lo que realmente hacen. Y, por lo que vale, las principales publicaciones en línea utilizan principalmente números arábigos - cf. al-Jazeera , al-Hayat (diario panárabe), al-Nahar (buque insignia del diario libanés), al-Ahram (buque insignia del diario egipcio). También prefiero la estética de los números en hindi, pero parece que quailtoma la decisión correcta de usar los números arábigos, ya que también parecen ser los predeterminados en el mundo árabe.
Dan

Respuestas:

10

Entonces, el requisito es: cuando estoy usando el arabicmétodo de entrada y escribo un dígito, quiero que Emacs inserte el carácter hindi para ese dígito.

Para hacer esto, podemos adaptar su enfoque vinculado para extender un método de entrada de esta manera:

(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"))))

Luego, cuando usa C-uC-\ arabic(o solo C-\si es el valor predeterminado) y escribe un dígito, inserta la traducción especificada.

phils
fuente
¡Excelente! problema fijo. Emacs es realmente el mejor editor.
doctorado