前回の課題にあげたMac版に、ほんのり対応しました。 OS XのFireFoxで試したものの、WYSIWYGモードでは入力したMac機種依存文字が文字化けしていた(ソースモードでは機種依存文字が正しく表示される)状態ながら、一応検出されていると思われるので、ver.0.2で公開します。 *Mac版の品質フィードバックをいただけるとうれしいです。
使い方
- x-charactercode-validator.0.2.zipをダウンロード
(最新版はhttp://typista.it-creates.com/wp-content/uploads/x-charactercode-validator.zipです) - プラグインディレクトリに解凍
- ダッシュボードからアクティベート
今後の対応
Mac版で不具合があれば、その対応。 検知した場合に置換してしまうオプション設定が可能となるような機能拡張。
補足
WYSIWYGは、FCKEDITOR2.4.1を利用しています。標準のWYSIWYGなら文字化けしないのかも試してみたいと思いますが、少し時間がかかると思いますので、どなかた試された方からの報告をいただけると幸いです。 それとMacの機種依存文字をJavaScriptで配列化するために、機種依存文字一括変換辞書にある「MAC機種依存→共通.txt」を利用しました。 このファイルはSJIS保存だったため、Mac版のチェック用JavaScriptファイルは、
charset="Shift_JIS"
でのインクルードです。
2008.06.06追記(バグ報告)
WYSIWYGにFCKEDITOR2.4.1を使っている場合に、1度検知された機種依存文字を削除しても、記事を保存することができないことがわかりました。 <textarea id="content">の値が、onLoad時に取得したままの状態で更新されないことが要因です。 「保存」「公開」ボタンを押したときの
target = document.getElementById( "content" );
を取得するように試行錯誤中です。 取り急ぎの回避策としては、WordPressデフォルトのWYSIWYGエディタに戻し、かつ記事編集後、逐一「ビジュアル」→「HTML」→「ビジュアル」の切り替えが必要です。(この結果、target.valueが更新されるため、機種依存文字チェックが正しく機能します。)
2008.06.06追記(バグ回避策)
デフォルトのWYSIWYGエディタの場合のみ、苦肉ですが以下のバグ回避策を講じました。
→ x-charactercode-validator.0.3.zip からダウンロードしてください。
FCKEDITORは、まだ回避策が見つかりません。
if ( ( ‘undefined’ == typeof wpTinyMCEConfig ) || ‘tinymce’ == wpTinyMCEConfig.defaultEditor ) { switchEditors.go(‘content’);
}
同時に、機種依存文字の検出ロジック(の流用元)を見直し、従来は機種依存文字をターゲットに検索していましたが、機種依存しない文字(共通文字)の範囲にあるかをチェックする方式に変更しています。
No comments
Trackbacks
By submitting a comment you grant typista a perpetual license to reproduce your words and name/web site in attribution. Inappropriate and irrelevant comments will be removed at an admin’s discretion. Your email is used for verification purposes only, it will never be shared.