Como obter números específicos da linguagem humana?

9

TL; DR: como posso usar dígitos em hindi (١٢٣ ...) ao escrever em árabe?


O Emacs é considerado o melhor editor, mas quando se trata de usar numerais no contexto da escrita, não há soluções satisfatórias para esse problema para usuários multilíngues, em comparação com o oferecido pelo Microsoft Word, ou seja, a escrita numérica contextual.

No Microsoft Word 2010, vá ao menu suspenso -> Mais Comandos -> Avançado -> em Mostrar conteúdo do documento, você pode selecionar contextpara Numeral de (Árabe ou Hindi ou Contexto ou Sistema). A opção de contexto permite que você escreva números de acordo com o contexto da sua escrita, se os números em inglês forem árabes 1,2,3,4,5,6,7,8,9,0 - soa estranho! mas é assim chamado (talvez um nome impróprio), e se você escrever em árabe, os números serão em hindi , assim:
insira a descrição da imagem aqui

Para o Windows, descobri que mudar o input-methodtempo de escrever é o caminho a percorrer se quiser escrever um documento multilíngue no Emacs, como inglês e árabe ou qualquer outro idioma com um alfabeto totalmente diferente. Alterar o idioma ou o layout do teclado na barra de idiomas do Windows IMHO não causará o mesmo efeito, pois isso destruirá todas as combinações de teclas do seu editor Emacs (especialmente no caso de dois idiomas diferentes, como inglês e árabe). A solução está publicada aqui .

No Microsoft Word, depois de definir numerais para o contexto, você pode escrever perfeitamente em inglês com algarismos arábicos e, quando você alterna para escrever em árabe, alternando com ( ALT+ R SHFT), você escreve texto em árabe com algarismos hindi rapidamente, como mostra a imagem abaixo. No Emacs, depois de mudar input-methodpara o idioma árabe, os números ainda serão árabes (1,2,3, etc) e não os números hindi desejados.

insira a descrição da imagem aqui

Eu não acho que a solução para esses problemas esteja relacionada ao Microsoft Windows, pois alterar o idioma das configurações regionais também alterará os numerais da interface do Windows e terá efeito indesejável em todo o sistema.

Eu acredito que o potencial de extensão do Emacs é a chave para esse problema. Para ser mais específico; Eu sugiro que o Emacs deve detectar o input-methode, se estiver em árabe, deve remapear automaticamente todos os dígitos em árabe para os em hindi. OU de alguma forma, personalizando o layout do teclado árabe para ter números em hindi em vez de algarismos arábicos.

O golpe listado está em algumas postagens relacionadas a esse problema, mas não consegui traduzir essas informações em uma solução real adequada às especificidades desta postagem:

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

Abaixo está uma abordagem para estender o método de entrada no Emacs. https://emacs.stackexchange.com/a/3404/2443

Digitar números em hindi pode ser uma tarefa tediosa no Emacs, se você quiser digitar os dígitos em hindi, um de cada vez, C-x 8 RETeles são mapeados em Unicode para os seguintes códigos: 0661 para o número 1, 0662 para o número 2, 0663 para o número 2, 0663 para o número 3, 0664 para o número 4, 0665 para o número 5 e assim por diante.

Pergunta
Qual é a melhor personalização para o Emacs 24 e as teclas mais curtas, a fim de replicar a experiência de escrita contextual contínua fornecida pelo Microsoft Word?

doutorado
fonte
Eu acho que há alguma confusão aqui, os números que você está chamando de hindi são na verdade algarismos arábicos!
Iqbal Ansari
@IqbalAnsari Olá, ironicamente, não - eu sei que pode parecer confuso pela primeira vez, mas se você fosse um usuário do Microsoft Word e escrever em árabe, em breve estará acostumado a esse jargão. Se você possui o Microsoft Word, pode conferir.
doctorate
11
Como um aparte: as normas de publicação em alguns países de língua árabe são padronizadas com números hindi (١٢٣ ...), como o Egito, enquanto outras são padronizadas com números árabes (123 ...), como o Líbano.
Dan
@ Dan, Egito e Líbano são países de língua árabe e devem usar o hindi em suas publicações ou em outros escritos. Com base nisso, o layout árabe padrão do Emacs seria melhor alterando números de árabe para hindi.
doctorate
O que eles devem ou não fazer não é tão relevante quanto o que realmente fazem. E, pelo que vale, as principais publicações on-line usam principalmente algarismos arábicos - cf. al-Jazeera , al-Hayat (diário pan-árabe), al-Nahar (diário principal do Líbano), al-Ahram (diário principal do Egito). Também prefiro a estética dos números em hindi, mas parece que quailfaz a escolha correta para usar como padrão os algarismos arábicos, pois eles também parecem ser o padrão no mundo árabe.
Dan

Respostas:

10

Portanto, o requisito é: Quando estou usando o arabicmétodo de entrada e digito um dígito, quero que o Emacs insira o caractere Hindi para esse dígito.

Para fazer isso, podemos adaptar sua abordagem vinculada para estender um método de entrada como este:

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

Então, quando você usar C-uC-\ arabic(ou apenas C-\se for o padrão) e digitar um dígito, ele inserirá a tradução especificada.

phils
fonte
Ótimo! problema resolvido. O Emacs é realmente o melhor editor.
doctorate