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?


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.


Ótimo! problema resolvido. O Emacs é realmente o melhor editor.
— doctorate
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.