MBFpdfでバグを発見した!!バージョンは1.0b。
[“](ダブルクォーテーション)が出力できないというものだ。
307 | $l += $ascii ? $cw [ $c ] : $hwkana ? 500 : 1000; |
上のソースの$cw[$c]の$cにダブルクォーテーションが入ってるのだが、
undefined index ” と言われてしまう…。
そこで、$cwをprint_rで表示してみたら、
array(…,[\”] => 500, …);
という記述を発見。ダブルクォーテーションあるけれど、バックスラッシュでエスケープされてるじゃないか!?まあこれが正しいと仮定した場合、$cw[“]は定義されていないわけだから、$cが[“]の場合、$c = ‘\”‘;にしてしまえばいいんじゃないかと思ったので、mbfpdf.phpに手を入れることを決意!!
MBMultiCellメソッドを修正。
271 272 273 274 275 276 | //Get next character $c=$s[$i]; // 以下3行を追加 if($c === '"'){ $c = '\"'; } |
その後、MBWriteメソッドを修正。
行番号は、上記の作業後なので、この付近と思ってください。
389 390 391 392 393 394 | //Get next character $c=$s[$i]; // 以下3行を追加 if($c === '"'){ $c = '\"'; } |
こうしたところ、ダブルクォーテーションがPDFファイルに出力できた。