Force Wave Dash (波ダッシュ矯正)

初出日: 2007年2月21日 | 最終更新日: 2010年12月15日
投稿者: ゆりこ | パーマリンク

概要

「Force Wave Dash」は、「全角チルダ」文字の代わりに「波ダッシュ」文字を強制するフィルタープラグインです。

日本語では、「波ダッシュ」と呼ばれる約物がいろいろと使われます。

  • 語尾を伸ばす (例: 「え〜」)
  • 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 が「波ダッシュ」ではなく「全角チルダ」を使ってしまうためです。正しいと思われる文字「波ダッシュ」でしょう (他の環境はそれを使っているから)。このプラグインは、全角チルダを波ダッシュに変換して、これを使うよう強制できます。

波ダッシュ問題の詳細については以下のサイトをご覧ください。

ダウンロード

安定版
バージョン 1.0.0: force-wave-dash.1.0.0.zip
開発版
今のところありません。

1.0.0 より前のバージョンの入手は リリースファイル・リストで可能です。

動作環境

  • 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 では、波ダッシュが「?」「・」や「□」などに文字化けすることがあります (WX310K や W-ZERO3 等)。それらの機器で波ダッシュの扱いが不正なことが原因ですので、あきらめてください ;-)
  • 一部の携帯電話や PDA では、波ダッシュが「?」「・」や「□」などに文字化けすることがあります (特に Windows CE や Windows Mobile)。それらの機器で波ダッシュのフォントが入っていないためです。

更新履歴

ver 1.0.0 (2010-01-22)
  • 配布サイトを公式プラグインディレクトリーに変更しました。
  • カテゴリー、タグ、ブログロールを作成・編集したときに全角チルダを変換するようにしました。
  • ブログタイトル、ブログ説明 (スローガン) を表示するときに全角チルダを変換するようにしました。
  • mb_eref_replace() の代わりに preg_replace を “u” 修飾子付きで使うようにしました。
  • MySQL 4.1 以降において、投稿を作成、編集するときの変換で文字化けしないようにしました。
  • 全角チルダ以外に、ハイフン系の文字や一部の通貨記号も変換するようにしました。
ver 0.81 (2008-03-23)
  • ページタイトル、カテゴリー名、タグ名にある全角チルダも波ダッシュに置換するようにしました。ただし、カテゴリー名、タグ名は、表示時のみ処理で、管理画面での入力時は処理されません。このため、データベースには全角チルダのまま保存されます。
  • 波ダッシュが2つ連続したときは、いわゆる強波ダッシュ「〰」(U+3030) に置換するようにしました。
ver 0.80 (2007-11-20)
  • 投稿の抜粋・コメント投稿者・コメント本文にある全角チルダも波ダッシュに置換するようにしました。
  • 検索文字列に全角チルダがある場合、波ダッシュに変換して検索するようにしました。
  • プラグイン本体を Jedit や TeraPad などのテキストエディタで開いても壊れないように、コードの書き方を工夫しました。
ver 0.73 (2007-03-29)
  • PHP の内部エンコーディングが UTF-8 であるかのチェックをやめ、変換時だけ強制的 に UTF-8 エンコーディングを使うようにしました。これにより、より多くの環境で動作するようになりました。
ver 0.72 (2007-03-13)
  • タイトルにある全角チルダも修正・変換対象としました。
  • 他に本文の内容を修正するようなプラグイン (拙作の Ktai Location 等) と併用したとき、正しく動作しないバグを修正しました。
ver 0.7.1 (2007-03-07)
  • 配布場所を WordPress Plugins/JSeries に変更しました。
  • PHP の内部エンコーディングが UTF-8 のときのみ動作するようにチェックを入れました。
ver 0.7.0 (2007-03-01)
  • 新規リリース。まだまだアルファ版レベルです。

作者のウェブログ記事