- 概要
- ウルドゥー語用ワープロ(簡易DTP)ソフトInPage入力用のユニコードファイルを作成します。
おおざっぱには、InPageのURDU、Phoneticモードにおけるキーストロークをそのままファイルにしたものを入力ファイルにして、それをこのプログラムでユニコードファイルに変換し、InPageのFile-Importコマンドで取り込むためのものです。
「それならそのまま打ち込んだほうが早いじゃないか」。たしかにそうです。が、Excelなど他のウルドゥー語非対応のアプリケーションでウルドゥー語文をこの形でローマ字データとして貯えておいて、それをナスタリーク体ウルドゥー語文に戻すときに、このプログラムを使おうというわけです。
- プログラムはPerlで書かれており、処理が高速です。一応Windowsでしか動作確認をしていないのでWindows用ということにしておきますが、特殊なことはやっていないので、Perlさえ動作するならばOSに依存しないはずです。もっともInPageはWindowsでしか動作しないので、他のOSでは無意味かもしれません。
- 入力は通常のテキストファイルです。すべての文字をInPageのURDU、Phoneticモードにおけるキーストロークとみなして、ユニコードファイルに変換します。
- 出力はInPageのUnicode File(一応テキストファイル)です。InPageのFile-Importコマンドでインポートしてください。
- インストールと実行
- まず、Perlを持っていない人は、どこからか入手してインストールしておいてください。とりあえずはvector (Windows版)が手ごろでしょうか。Perl自体は日本語対応していなくてもかまいません。
- プログラムは本体とデータ定義ファイルに分かれています。
このうち上の2つを同じフォルダ(ディレクトリ)にダウンロード(リンクを右クリック→「対象をファイルに保存」)してください。なお、最後のサンプルファイルをダウンロードする場合は inp.txt という名に変更してください。
- 入力ファイルはinp.txt、出力ファイルはout.uniです。変更することもできますが、できる限りこのままの設定でお使いください。変更する場合は後述の起動オプションで変更します。
- 入力ファイルができあがったら、urd2uni.pl をダブルクリックします。一瞬黒いDOS窓の画面が出てすぐ消えます。そしたらもうout.uniができあがっています。
- 入力ファイルの書式
- 入力ファイルのすべての文字をInPageのURDU、Phoneticモードにおけるキーストロークとみなしてユニコードに変換します。改行、タブなどの制御コードはそのまま入力ファイル中で表現してください。
- ローマ字は以下のものを用いてください。
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
a |
b |
p |
t |
T |
C |
j |
c |
H |
K |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
d |
D |
Z |
r |
R |
z |
X |
s |
x |
S |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
J |
v |
V |
e |
G |
f |
q |
k |
g |
l |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
m |
n |
N |
w |
o |
h |
i |
y |
u |
aa |
- 母音記号は以下のもののみ対応していますが、いくつかの文字との組み合わせにおいてうまく表記されないことがあります。これはInPage側の不具合によるものです。
- ザバル(a)……>
- ゼール(i)……<
- ペーシュ(u)……P
- ドー・ザバル(an)……〜(日本語のキーボードではシフト+^)
- ドー・ゼール(in)……<
- ドー・ペーシュ(un)……P
- タシュディード(子音重複)……=
- ジャズム(母音ナシ)……/
- 英字をまぜることはできません。
- ウルドゥー語の数字をまぜることはできません。数字を書いた場合は左横書きの算用数字になってしまいます(サンプルファイルの最終行を参照)。これはInPageの不具合(仕様?)によるものです。ためしにInPageでウルドゥー語の数字を打って、それをFile-Export All Textでユニコードファイルで保存したあと、それをFile-Inportで読み込んでみてください。みごとに算用数字に化けてしまいます。
- 母音記号などの複合には対応していません(サンプルファイルの最終行を参照)。これもやはりInPageの不具合(仕様?)によるものです。
- InPageでは
など特定の語の特殊スペルに対応しています。alloと打つと勝手に のように変換してしまうわけですが、ユニコードファイルの読み込みでもこの機能が働いてしまいますのでご注意ください。
- _(下線)……まんどぅーかネットのウルドゥー語語彙集データベースの都合で、スペースを出力します。タシュディード記号ではありません。タシュディード記号は=を用いてください。
- 起動オプション
起動時にオプションを指定することができます。その際の起動法は次のとおりです。
perl urd2uni.pl 入力ファイル 出力ファイル データ定義ファイル
オプションを省略した場合は以下に説明する規定値が用いられます。途中のオプションを省略することはできません。たとえば、3番目のオプションを指定する場合は、1番目と2番目のオプションも必ず指定しなければなりません。
また、ファイル名に関するオプションについて、たとえファイル名が同じでフォルダ(ディレクトリ)名だけを変更したい場合も、必ずファイル名まで指定しなければなりません。
- 入力ファイル……規定値 inp.txt
- 出力ファイル……規定値 out.uni
- データ定義ファイル……規定値 u_un.txt
- うまく動かないときは
「プログラムを実行したのに変換が行われていないぞ」というときのほとんどは、定義ファイルや入力ファイルがうまく読み込まれていない、もしくは出力ファイルが思いがけないところにできているというものです。ファイルが読めない場合、実際にはエラーメッセージが出ているのですが、実行が一瞬で終了してしまうためにそのエラーメッセージを読むことができません。
プログラムのアイコンを右クリックして「プロパティ」で、「作業フォルダ」を確認してください。これが何らかの理由でプログラムのあるフォルダ(正確にはデータ定義ファイルのあるフォルダ)になっていないと、データ定義ファイルは読み込まれなかったり、入力ファイルが読み込まれなかったり、出力ファイルが思いがけないところにできたりします。
何らかの理由で入出力ファイルやデータ定義ファイルを、作業フォルダと異なる場所にしたいときは、起動オプションをしっかり指定してください(アイコンを右クリック→「プロパティ」で「リンク先」のところに指定する)。
- サンプルファイルの出力例
サンプルファイルをこのプログラムでユニコードファイルに変換し、InPageのFile-Inportで取り込んだ例です。
- プログラムの著作権について
このプログラムはcopyleftです。転載、改変は自由におこなってください。
|