半角/全角変換モディファイアプラグイン

昨日(6月21日)、WebSig24/7 MT4分科会が開催されました。
6つのテーブルに分かれてワークショップを行いましたが、私は「簡単なプラグインの作成」というテーブルを担当させていただきました。

このテーブルで「半角と全角の変換を行うモディファイア」のプラグインを作成しました。
その成果を元に、若干機能拡張を行ったものを公開します。

1.ダウンロード

プラグインは以下からダウンロードすることができます。

ConvertHanZen_1_00.zip

ダウンロードしたファイルを解凍すると、「extlib」と「plugins」のフォルダができます。
このうち、「plugins」フォルダを、Movable Typeのインストール先ディレクトリにアップロードします。

2.Unicode::Japaneseモジュールのインストール

このプラグインでは、半角/全角の変換を行うために、山科氷魚氏作の「Unicode::Japanese」というモジュールを利用しています。
以下のいずれかの方法で、このモジュールをインストールします。

2-1.cpanでインストール

cpanでモジュールをインストールできる方は、cpanを起動して「install Unicode::Japanese」とすることで、このモジュールをインストールすることができます。
この方法でインストールすると、半角/全角変換の処理にはコンパイルされたライブラリが使われますので、次に述べる方法よりも高速に動作します。

2-2.Japanese.pmファイルをコピー

cpanを使えない方は、解凍してできた「extlib」フォルダを、Movable Typeのインストール先ディレクトリにアップロードします。

3.conv_hzモディファイアの使い方

このプラグインをインストールすると、「conv_hz」というモディファイアが追加されます。
<MTHogehoge conv_hz="○">のように書くことで、タグの文字列の中の半角/全角を変換することができます。
「○」に以下の文字を指定して、変換方法を選びます。

文字変換元変換先
Aすべての半角文字全角
aすべての全角文字半角
N半角数字全角
n全角数字半角
L半角アルファベット全角
l全角アルファベット半角
S半角記号全角
s全角記号半角
K半角カナ全角
k全角カナ半角
H全角カタカナ全角ひらがな
h全角ひらがな全角カタカナ

例えば、「<MTEntryTitle conv_hz="A">」とすると、ブログ記事のタイトルの中にあるすべての半角文字が全角に変換されます。

「conv_hz="○"」の「○」に複数の文字を指定することもできます。
例えば、「<MTEntryTitle conv_hz="nsl">」とすると、ブログ記事のタイトルの中にある全角数字/アルファベット/記号が半角に変換されます。

4.問題点

変換対象の文字列にHTMLのタグが含まれている場合、それも変換されてしまいます。
例えば、「<MTEntryBody conv_hz="A">」としてブログ記事の本文を全角に変換する場合、記事内にHTMLのタグが含まれているとそれも全角に変換されてしまい、表示が正しくなくなります。

5.ライセンス

このプラグインはMITライセンスで公開します。

MT Cloud Starter Kit
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください