pict-drupal-module.png 現在のSignwriterモジュールは日本語のテキストに使う場合に若干の不都合(バグではないがうまく動作しない部分)があります。

一番の問題点はオプションで最大幅を指定した場合に日本語テキストだとうまく最大幅で折り返したり(Multiline設定ONの場合)、最大幅に収まるようにフォントサイズを下げるようにする(Multiline設定OFFの場合)のがうまくいかないという点です。

これは、Signwriterモジュールが最大幅の処理をおこなう際にスペースキャラクターを区切りとして処理をおこなうからです。日本語テキストで単語の区切りにスペースキャラクターは使いませんのでうまく折り返しやフォントサイズ調整ができないのです。

ここではその修正をおこなうパッチを公開します。なお、このパッチはサーバーにインストールされているPHPにmbstringというマルチバイト文字を扱うための拡張モジュールがインストールされているという前提に基づいてmbstringの関数を使用しています。日本のレンタルサーバではまずmbstringは含まれているので問題ないと思いますが、海外のサーバを使用している場合にはphp -mコマンドやphpinfo()などで確認をしてください。
この改良では対象となるテキストにマルチバイト文字が含まれていない場合には何も手をつけずにオリジナルのSignwriterの動作と同じになります。日本語(マルチバイト文字)が含まれているテキストが対象の場合にのみスペースでテキストの区切りをつけずに1文字単位て区切りをつけるようになります。

また、このパッチは「Signwriterモジュールを改良する(1)」でおこなった改良も含んでいますのでこのパッチを適応することで(1)と(2)の両方の修正を一度におこなうことになります。

このパッチはSignwriter-6.x-2.0-beta2をベースにしています。それ以外のバージョンの場合にはうまくパッチが当たらない可能性がありますので注意してください(その場合は手作業でソースを修正するしかないです)。このパッチを適応したら、サイトの環境設定>SignwriterのページでSignwriterのキャッシュをクリアしてください。また、ブラウザーのキャッシュも念のためにクリアすれば改良してSignwriterの動作を確認することができます。

AttachmentSize
signwriter-2.0-beta2.patch5.33 KB
Your rating: None Average: 3 (4 votes)