PDFにネパール語で書かれたテキストをローカルのエディタに貼り付けると文字化け?するのでどうにかしたいという話。
まずはFontの話だと考えて、Fontを導入してみる。Wikipediaで調べたところ、ネパール語はデーヴァナーガリーという文字で書かれるらしい。
対応するフォントを調べると、Mangal、Arial Unicode MS、Google Notoの Devanagari 辺りが対応しているっぽいので、PCにインストール、再度貼り付けを試してみるも文字化けは解決せず。
実際に使われているフォントを確認するため元になったPDFに埋め込まれているフォントを確認すると、Preetiというフォントが埋め込まれている。このフォントをインストール、設定したエディタで再度貼り付けを試してみると文字化けしなくなる。ただし、その文字を別の場所に貼り付けるとやっぱり文字化け。
更に確認していくと、どうもPreetiというのが対応しているエンコーディングはUnicodeではないらしい。なるほど…。
じゃぁ、どうにかしてPreetiで記述された文字コードをUnicodeに変換せねばとググってみると当たり前のように色々と見つかる。これらのサービスを使ってPreetiからUnicodeに変換してみると、当たり前のようにコピペもできるようになった。
Preetiについて
今回は目的が達成できたので良いのだけど、Preetiを少し調べてみる。
Preeti to Unicode converterはjQury単体で動作してローカルでも動作するような変換プログラムなので、そのうちの変換ルールの部分(all_rules.js)を見てみる。
見てみると、要するにラテン語系の文字を置換してUnicodeの文字に変更しているだけっぽい。なので、よく分からないど、そういう入力をする方法があってPreetiはそれに合わせたフォントっぽい。
これ系の文字の入力方式には、InScriptという標準104キーボードあるいは標準105キーボードを用い、インド系文字(ブラーフミー系文字)を入力するための公認キー配列があるようで、それの入力結果なのかとも思ったけど、そこら辺はよくわからなかった。