▼ Mr.XRAYさん
> てなわけで,フォントの TCharSet に SHIFTJIS_CHARSET を指定してみました.
マスター、、、第5引数は文字セットじゃなく、AForceTTF なんです。
function SetFont(const AName: RawUTF8; ASize: Single;
AStyle: TFontStyles; ACharSet: integer=-1; AForceTTF: integer=-1;
AIsFixedWidth: boolean=false): TPdfFont; overload;
AForceTTFはこのようにコメントされています。
// an existing true type font has been specified
推測ですが、これは文字列でフォント名を指定するリスクを避けるための
オプションなんじゃないでしょうか。
とりあえず、等幅フォント問題の原因の端緒はつかめました。
文字のデフォルト幅が正しく取得できていないようです。
これは厳しいです。アドバンス幅についてはパッチの影響を受ける範囲が
今まで問題が発生してたケースだけなので気楽だったんですが…。
ピンポイントで根本原因を特定できなければアウトっぽいです。
今度は「デフォルト幅」についてお勉強です。。。。
|