漢直用ローマ字をQwertyからDvorakに変換する小技

| コメント(0) | トラックバック(0)

q2d.pl

 漢直用のローマ字テーブルをQwerty配列からDvorak配列に変換するperlスクリプトです。

#
# q2d.pl - Qwerty配列用のローマ字テーブルをDvorak配列用に変換する
#
# 使い方: perl q2d.pl < qwerty-table > dvorak-table
#
%q2d = (
	'1', '1',	'2', '2',	'3', '3',	'4', '4',	'5', '5',
	'6', '6',	'7', '7',	'8', '8',	'9', '9',	'0', '0',
	'q','\'',	'w', ',',	'e', '.',	'r', 'p',	't', 'y',
	'y', 'f',	'u', 'g',	'i', 'c',	'o', 'r',	'p', 'l',
	'a', 'a',	's', 'o',	'd', 'e',	'f', 'u',	'g', 'i',
	'h', 'd',	'j', 'h',	'k', 't',	'l', 'n',	';', 's',
	'z', ';',	'x', 'q',	'c', 'j',	'v', 'k',	'b', 'x',
	'n', 'b',	'm', 'm',	',', 'w',	'.', 'v',	'/', 'z',
#
#	'google-ime_tutc-kigo.utf'で、
#	ストローク内の【 】を【'】で代用している箇所を【-】に置換する
#
	'\'', '-',
);

while (<>) {
	chop;
	if (/^([\x20-\x7e]+)\t(.+)$/) {
		($stroke, $kanji) = ($1, $2);
		@a = split(//, $stroke);
		$stroke = "";
		for $x (@a) {
			if (defined($q2d{$x})) {
				$stroke .= $q2d{$x};
			} else {
				$stroke .= $x;
			}
		}
		printf("%s\t%s\n", $stroke, $kanji);
	} else {
		printf("%s\n", $_);
	}
}

(※) Google日本語入力のローマ字テーブルの書式に合わせています。他の書式の場合は適当に変更してお使いください。


 この記事は漢直 Advent Calendar 2015のために書いたものです。

トラックバック(0)

トラックバックURL: http://homeposition.net/mt/mt-tb.cgi/1094

コメントする

カレンダー

<   2015年12月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

最近のツイート

このページについて

このページは、m(as)mが2015年12月11日 09:00に書いたブログ記事です。

ひとつ前のブログ記事は「仮名入力に漢直をじわじわ混ぜていく方法」です。

次のブログ記事は「DvorakJとGoogle日本語入力の連携による各種キー配列への対応」です。

最近の記事はメインページで、過去の記事はアーカイブで閲覧できます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。
Powered by Movable Type 4.261