SSブログ

ラテン表記サンスクリット変換 [Linux]

ラテン表記で記述されたサンスクリットUTF-8テキストファイルを
デーヴァナーガリーのUTF-8ファイルに変換するアプリを作ってみました。
なお、デーヴァナーガリーの表示はAp梵字悉曇弐式にしてあります。
LatinaToDevanagari_003.jpg
起動画面。
LatinaToDevanagari_004.jpg
メニューは、ファイルからの読み込み、データ変換、ファイルへ書き込み、終了です。
LatinaToDevanagari_005.jpg
参考として光明真言のラテン表記ファイルを読み込みました。
LatinaToDevanagari_006.jpg
Applyでデーヴァナーガリーに変換された結果をAp梵字悉曇弐式で表示します。
変換結果をUTF-8形式でファイルに保存できます。
UTF-16ならunicodeのままで扱いやすいのですが、UTF-8は英語圏
優先しすぎ。1バイト文字から6バイト文字まで有って処理が面倒です。
LatinaToDevanagari_007.jpg
あのテキストも、
LatinaToDevanagari_008.jpg
こんな感じに。まだ不完全な部分発見。
LatinaToDevanagari_009.jpg
修正しました。
LatinaToDevanagari_003.jpg
バイナリをそのままnatureOS 3.0にコピーして動作確認。
DebianベースとUbuntuベースの互換性は高いようです。
Arch系とかRedHat・Gentooならコンパイルするだけで動くかな。

VirtualBox_Manjaro1702_10_06_2017_14_44_12.jpg
Manjaro 17.02 pre6ではコンパイルするだけで動作しました。
ただし、まだフォントを入れてなかったので通常デーヴァナーガリーです。

Sabayonにはgccが入ってない?Gentooは基本ソース導入なんじゃ?
あぁ、マジか。sudo equo i gcc が実行できている。
VirtualBox_Sabayon1705_10_06_2017_14_59_42.jpg
gccを導入。gtk+も無いのでしょうか?そう言えばGIMPが入ってない。
VirtualBox_Sabayon1705_10_06_2017_15_14_36.jpg
動作確認。

VirtualBox_Fedora251_10_06_2017_15_20_14.jpg
fedora25にはgtk+-3.0がないらしい。
VirtualBox_Fedora251_10_06_2017_15_23_54.jpg
入れてみる。gtk3-develの方か。
VirtualBox_Fedora251_10_06_2017_15_30_47.jpg
動作確認。

VirtualBox_openSUSE422_10_06_2017_15_38_41.jpg
openSUSEにもgtk+-3.0がないらしい。
VirtualBox_openSUSE422_10_06_2017_15_43_46.jpg
導入しようとするとYaST2が落ちます。orz
動作が不安定になったので中止。


LatinaToDevanagari_010.jpg
改造しました。表示フォント指定機能が付きました。
LatinaToDevanagari_011.jpg



さて、このプログラムの一般的な使用方法。

Wikipediaの「真言」を検索すると結構な数の真言が記述されています。
デスクトップ1_012.jpg
しかし、残念ながらそこにあるのはその読みとローマ字表記。梵字はないのです。
デスクトップ1_019.jpg
そこでWikiから見たい真言をCopy and Pasteで複写します。
デスクトップ1_001.jpg
メニューの「Convert」を実行すれば、これがデーヴァナーガリーに変換されます。
デスクトップ1_005.jpg
さらにメニューの「Apply」でフォントを変更します。
デスクトップ1_006.jpg
これで目的の真言が梵字悉曇で表示されます。
保存すればデーヴァナーガリーテキストファイルとして残せます。
デスクトップ1_007.jpg
また、ここからCopy and PasteでOfficeソフトへ複写も出来ます。

LatinaToDevanagari_004.jpg
メニューを改善しました。

あれ?MinGWとgtk+ for Windowsを使ったらWindowsでも動くのか?

KonaLinux 4.0 Pro上でLibreOffice Writer 5.2.7.2 で源ノ明朝を指定して
印刷すると一部飛んだり化けたりするのは何故だろう。他のフォントや
源ノ角ゴシックは全く問題ないのに。

gtk_font_selection_dialog_new()を使うと親ウィンドウの指定がないから
コンソールにwarningが出力されてしまいます。指定できないなら別の
関数を使ってみようかとgtk_font_chooser_dialog_new()に変えてみました。
LatinaToDevanagari_004.jpg
こちらは妙なwarningが出たりしません。