.brl形式(NABCC/ASCII点字)の点字をUnicode点字に変換するperlスクリプト、Convert-Brailleモジュールを使って #perl #点字

Convert-Brailleは拡張子が.brlや.bseなど、NABCC(ASCII点字)形式の点字データをUnicode(ユニコード)点字のデータに変換できるperlのモジュールです。

Unicode点字は、WindowsのスクリーンリーダーNVDAに対応した点字ディスプレイで、手で触れられる点字として表示できます。

また画面上も、Unicode文字が表示できる環境であれば、点字の点点として表示されます。



Convert-Brailleモジュールのインストーる

コマンドラインで次のようにするとインストールできます。



●ActivePerlの場合:


ppm install Convert-Braille


●Strawberry Perl ポータブル版の場合:


cpan Convert::Braille


.brlファイルをUnicode点字のテキストファイル(拡張子 .txt)に変換するperlスクリプト

下記がperlスクリプトの例です。

brailleAsciiToUnicodeというのがASCII点字をUnicode点字に変換する関数です。

この次からスクリプトのはじまり:


# スクリプト名: brl2utf8.pl
# 使い方:
# perl brl2utf8.pl filename.brl
# filename.brl.txtというファイル名でUnicode点字のデータが出力されます。

use Convert::Braille;
use utf8;

$in = $ARGV[0];

die ".brlファイルを指定してくださいn" unless $in;

$out = $in . ".txt";

open(IN, "< $in");

open(OUT, "> $out");
binmode(OUT, ":utf8");

while ($ascii_line = <IN>){ # 1

# なぜか3の点と6の点が逆に変換されてしまうので、変換する前に入れ替えておく

$ascii_line =~ tr/',/,'/;

$unicode_line = brailleAsciiToUnicode ( $ascii_line );

print (OUT "$unicode_line");
}

close(IN);
close(OUT);



この上までがスクリプト。



参考




関連投稿