PB-100の宇宙の中の人
PBロッキーの日記

pbListImageMaker をアップデートしました

お久しぶりです、PBロッキーです.

このたびは、PB List Image Maker を修正しましたのでご報告いたします.

pbListImageMaker をPB-100の宇宙で使い始めました
pbListImageMaker の関連記事

その前に PB List Image Maker って?

PB-100 と FP-12T

PB List Image Maker はブラウザ上で PB-100 用プログラムリストを表示することができる、というツールです.素晴らしいですね!

PB-100 のキャラクタセットは非アスキーで特別なキャラクタを含みます.PB List Image Maker は、このような特殊文字を含むプログラムリストを、Web上で正確に流通させることができます.

しかも、まるで FP-12T 等のサーマルプリンタで出力したような見栄えで表示してくれます.

ie で正しく表示できない問題を修正

さて、前回の記事では正式公開に向けてまずは手元で使う、ということでしたが、案の定、問題を発見しました.

ie では画像のようにリストが崩れてしまう、という不具合が発生していました.

これは html 中の改行の扱いがブラウザによって異なる、というのが原因でした.

html 中の改行情報が ie では失われてしまう

ie ではブラウザによって改行が半角スペースに変換されていました.このためにリストの行の終わりを調べることができません.

ちなみに <pre> タグ内のテキストについては半角スペースに変換せず改行情報を保持しています.諸般の理由で <pre> で囲むのをやめたのですが、ie でのチェックをしないままにリリースしてしまったのが直接の原因でした.

この問題については、<br> タグを検出して改行を取得するようにしました.

連続するスペースが ie ではひとつにまとめられてしまう

この問題は、ie と他のブラウザで PB List Image Maker のステップ数カウント機能が示す値が異なるので気付くことができました.

半角スペースが連続する場合、&nbsp; を使うようにしないと、複数の半角スペースがひとつにまとめられてしまいます.(画面の見栄えだけでなく js から取得できるテキスト情報からすでに.)

特殊文字コード表
もしかして常識? IEは改行をノードとして扱わない

どうして空白ノードが入るのかというと、HTMLブラウザ等でソース中の改行を半角スペースに勝手に置き換えるという機能があり、そのときの仕様をいまだに継承してしまっているのです。

以上の問題は以前の記事を公開してまもなく気付きましたが、多忙にかまけてズルズルと放置してしまいました.(>o<)

今回、盆休みということでえいゃっと修整しましたが、文字コード周りには苦しめられました.<pre> が使えないケースがあったり、使えるケース・使えないケースに両対応するとなると途端に厄介になるみたいです.

この状態でしばらく様子を見たのちに、正式リリースしようと思います.

ではでは~