人間の言語固有の数字を取得する方法は?


9

TL; DR:アラビア語で書くときにヒンディー語(١٢٣ ...)をどのように使用できますか?


Emacsは間違いなく最高のエディターとして認められていますが、執筆の文脈で数字を使用することに関しては、Microsoft Wordによって提供される問題、つまり文脈上の数字の執筆と比較して、多言語ユーザーにとってこの問題に対する満足のいく解決策はありません。

Microsoft Word 2010では、ドロップダウンメニューに移動します-> [その他のコマンド]-> [詳細設定]-> [ドキュメントの内容を表示]の下でcontext、数字(アラビア語、ヒンディー語、コンテキスト、またはシステム)から選択できます。コンテキストオプションを使用すると、英語の数字がアラビア語の 場合、文章のコンテキストに従って数字を書くことができます1,2,3,4,5,6,7,8,9,0-奇妙に聞こえます!しかし、それはそのように名前が付けられており(多分誤称かもしれません)、アラビア語で書くと、数字は次のように書かれたヒンディー語になります。
ここに画像の説明を入力してください

Windowsのinput-method場合、Emacsで多言語のドキュメントを作成する場合、筆記中の変更は英語とアラビア語またはまったく異なるアルファベットのその他の言語を使用する場合に行う方法であることがわかりました。Windows IMHOの言語バーから言語またはキーボードレイアウトを変更しても、Emacsエディターのすべてのキーバインディングが破壊されるため(特に英語とアラビア語のような2つの異なる言語の場合)、同じ効果は得られません。解決策はこちらに投稿されています

Microsoft Wordでは、数字をコンテキストに設定した後、アラビア数字でシームレスに英語を書くことができ、(ALT+ R SHFT)を循環してアラビア語で書くようにシフトすると、下の画像に示すように、ヒンディー語数字でアラビア語テキストをすぐに書くことができます。Emacsでinput-methodアラビア語にシフトした後も、数字はアラビア語(1、2、3など)のままで、希望するヒンディー語の数字ではありません。

ここに画像の説明を入力してください

地域設定の言語を変更するとWindowsインターフェースの数字も変更され、システム全体に望ましくない影響が及ぶため、この問題の解決策はMicrosoft Windowsに関連しているとは思いません。

Emacsの拡張の可能性がこの問題の鍵を握っていると私は信じています。具体的には; Emacsがを検出し、input-methodアラビア語の場合は、すべてのアラビア数字をヒンディー語に自動的に再マッピングすることをお勧めします。 または 、アラビア数字の代わりにヒンディー語を使用するようにアラビア語キーボードレイアウトをカスタマイズしています。

リストされた打撃はこの問題に関連するいくつかの投稿ですが、これらの情報をこの投稿の詳細に適した実際の解決策に変換できませんでした:

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

以下は、Emacsでインプットメソッドを拡張するアプローチです。 https://emacs.stackexchange.com/a/3404/2443

ヒンディー語の数字を1つずつ入力する場合、ヒンディー語の数字を入力するのは面倒な作業になる可能性があります。C-x 8 RETこれらの数字は、Unicodeで次のコードにマッピングされます。 4、番号5の場合は0665など。

質問
Microsoft Wordが提供するシームレスなコンテキストによる書き込み体験を再現するために、Emacs 24を最もよくカスタマイズし、キーストロークを最も短くするにはどうすればよいですか?


私はここでいくつかの混乱があると思います、あなたがヒンディー語と呼んでいる数字は実際にはアラビア数字です!
Iqbal Ansari 2014

@IqbalAnsariこんにちは、皮肉なことではありません-初めて混乱するように思えるかもしれませんが、Microsoft Wordユーザーでアラビア語で書くと、すぐにこの専門用語に慣れるでしょう。Microsoft Wordをお持ちの場合は、チェックアウトできます。
博士号を取得

1
余談ですが、一部のアラビア語圏の国のパブリケーションノルムは、エジプトなどのヒンディー語数字(١٢٣ ...)がデフォルトですが、レバノンなどのアラビア語数字(123 ...)がデフォルトです。
ダン

@ダン、エジプト、レバノンはどちらもアラビア語圏の国であり、出版物やその他の文章でヒンディー語を使用する必要があります。これに基づいて、Emacsのデフォルトのアラビア語レイアウトは、数字をアラビア語からヒンディー語に変更した方がよいでしょう。
博士号

彼らがすべきこと、すべきでないことは、彼らが実際に行うことほど重要ではありません。そして、その価値のために、主要なオンライン出版物はほとんどアラビア数字を使用しています-cf. アルジャジーラアルハヤット(毎日パンアラブ)、アルナハール(毎日旗艦レバノン)、アルアハラム(毎日旗艦エジプト)。私はヒンディー語の数字の美学も好みquailますが、アラビア数字もデフォルトであるように見えるので、アラビア数字もデフォルトであるように見えます。
ダン

回答:


10

したがって、要件は次のとおりです。arabic入力メソッドを使用していて、数字を入力するとき、Emacsにその数字のヒンディー文字を挿入させます。

これを行うために、次のように入力メソッドを拡張するためにリンクされたアプローチを適応させることができます。

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

次に、C-uC-\ arabic(またはC-\それがデフォルトの場合のみ)を使用して数字を入力すると、代わりに指定された翻訳が挿入されます。


すごい!問題が修正されました。Emacsは本当に最高のエディターです。
博士号
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.