=== Force Wave Dash === 作者: lilyfan タグ: wave-dash, wavedash, tild, fullwidth-tild, unicode, utf8, japanese 必須バージョン: 2.0 テスト済: 2.9 安定版: 1.0.0 「Force Wave Dash」は、いくつかの Unicode 文字を正規化するプラグインです。 例えば、「全角チルダ」文字の代わりに「波ダッシュ」文字を強制します。 == 説明 == Unicode を日本語で使うとき、「波ダッシュ問題」「全角ハイフン問題」など、 似た字体で異なったコードの文字が複数使われているという問題があります。 以下に、不正 (左側) と好ましい (右側) の組を並べます。 * "〜" U+FF5E FULLWIDTH TILD -> "〜" U+301C WAVE DASH * "―" U+2015 HORIZONTAL BAR -> "—" U+2014 EM DASH * "-" U+FF0D FULLWIDTH HYPHEN-MINUS -> "−" U+2212 MINUS SIGN * "¢" U+FFE0 FULLWIDTH CENT SIGN -> "¢" U+00A2 CENT SIGN * "£" U+FFE1 FULLWIDTH POUND SIGN -> "£" U+00A3 POUND SIGN * "¬" U+FFE2 FULLWIDTH NOT SIGN -> "¬" U+00AC NOT SIGN 例えば、「波ダッシュ」と呼ばれる約物は以下のようにいろいろと使われます。 * 語尾を伸ばす (例: 「え〜」) * 2つの単語の範囲を示す (例: 「東京〜大阪」) * タイトルの飾り (例: 「〜〜波ダッシュとは〜〜」) しかし、Unicode 文字セットには、波形の文字に対して2つの異なったコードがあります。 1つは U+301C "〜" の "WAVE DASH"、もう1つは U+FF5E "〜" の "FULLWIDTH TILD" です。 さらに、Microsoft Windows は主に U+FF5E を使い、他の環境 (Mac OS X, Linux, Perl, PHP, Java など) は主に U+301C を使います。 「波ダッシュ問題」とは、Unicode のテキストにこの異なった波形の文字が混ざってしまう 現象です。 例えば、以下のような例があります。 1. Mac OS X や Linux のユーザーが、Windows マシンを借りてブログを更新したら、 全角チルダが紛れ込んでしまった!! (理由: Windows は全角チルダを使うから) 2. Windows を使っていて自身のブログに全角チルダを使っている人が、携帯電話から 投稿したら、波ダッシュが含まれてしまった。 (理由: 日本語メールの ISO-2022-JP エンコーディングを PHP 関数 mb_convert_encoding() で変換したら WAVE DASH になるから) このプラグインは、投稿、ページ、コメント、カテゴリー、タグ、ブログロール (ブックマーク) などを、作成・編集・表示するときに、全角チルダ (FULLWIDTH TILD) 文字を波ダッシュ (WAVE DASH) に置き換えることで、この問題を解決しようとします。 諸悪の根源は、Microsoft Windows が「波ダッシュ」ではなく「全角チルダ」を使って しまうためです。正しいと思われる文字「波ダッシュ」でしょう (他の環境はそれを使っているから)。 このプラグインは、全角チルダを波ダッシュに変換して、これを使うよう強制できます。 以下もご参照ください。 Wikipedia 日本語版: 波ダッシュ http://ja.wikipedia.org/wiki/%E6%B3%A2%E3%83%80%E3%83%83%E3%82%B7%E3%83%A5 WAVE DASH問題縁起 http://slashdot.jp/%7Eyasuoka/journal/357074 波ダッシュはチルダではない http://www.asahi-net.or.jp/%7Ewq6k-yn/code/wavedash.html == 動作環境 == * WordPress 2.0 以降。 * PHP 4.3 以降。 * ブログの文字コードが UTF-8 であること (EUC-JP, Shift_JIS では、このプラグインは無意味です) == 設置方法 == プラグインを展開し、force-wave-dash フォルダーをサーバーのプラグインディレクトリー (wp-content/plugins/) に転送します。 そして、プラグイン管理パネルから、このプラグインを有効にします。 == よくある質問 == * ブログ DB にすでに存在する全角チルダは、それを編集するときのみ変更されます。 全角チルダを一括して置換する機能はありません。 すべての全角チルダを波ダッシュに変更したいならば、いったんウェブログをエクスポート し、テキストエディターで置換してインポートしてみてください。 * このプラグインは、ブログタイトル、ブログスローガンを編集したときでも、全角チルダ の変換は行なわれません。(フィルターフックがないため) * ウェブログ検索をするとき、波ダッシュや全角チルダを含むような検索語を使うと、 思い通りに検索できない可能性があります。これは、ウェブログ DB に残っている全角 チルダは検索対象外になるためです。 * Microsoft Windows XP 以前の環境では、波ダッシュが美しい字形になっていません。 したがって、このプラグインを入れると、一見「波形文字が汚くなる」ように見えます。 Windows Vista か Windows 7 を使ってください。 * 一部の携帯電話や PDA では、波ダッシュが「?」「・」や「□」などに文字化けするこ とがあります (特に Windows CE や Windows Mobile)。それらの機器で波ダッシュの フォントが入っていないためです。 == 改版履歴 == = 1.0.1 (2010-04-xx) = * 言語リソースのディレクトリー名を「lang」から「languages」に変更しました。 = 1.0.0 (2010-01-22) = * 配布サイトを公式プラグインディレクトリーに変更しました。 * カテゴリー、タグ、ブログロールを作成・編集したときに全角チルダを変換するようにしました。 * ブログタイトル、ブログ説明 (スローガン) を表示するときに全角チルダを変換するようにしました。 * mb_ereg_replace() の代わりに preg_replace() を "u" 修飾子付きで使うようにしました。 * MySQL 4.1 以降において、投稿を作成、編集するときの変換で文字化けしないようにしました。 * 全角チルダ以外に、ハイフン系の文字や一部の通貨記号も変換するようにしました。 = 0.81 (2008-03-23) = * カテゴリー名、タグ名を表示するとき、全角チルダを変換するようにしました。 = 0.80 (2007-11-20) = * 投稿の抜粋・コメント投稿者・コメント本文にある全角チルダも波ダッシュに置換するようにしました。 * 検索文字列に全角チルダがある場合、波ダッシュに変換して検索するようにしました。 * プラグイン本体を Jedit や TeraPad などのテキストエディタで開いても壊れないように、 波ダッシュや全角チルダのバイナリーを入れるのをやめました。 = 0.73 (2007-03-29) = * PHP の内部エンコーディングが UTF-8 であるかのチェックをやめ、変換時だけ強制的 に UTF-8 エンコーディングを使うようにしました。 = 0.72 (2007-03-13)= * タイトルにある全角チルダも修正・変換対象としました。 * 他に本文の内容を修正するようなプラグイン (拙作の Ktai Location 等) と併用した とき、正しく動作しないバグを修正しました。 = 0.71 (2007-03-07) = * 配布場所を WordPress Plugins/JSeries に変更しました。 * PHP の内部エンコーディングが UTF-8 のときのみ動作するようにチェックを入れました。 = 0.70 (2007-03-01) = 新規リリース。まだまだアルファ版レベルです。