HPDFMeasureBaseFontWidths
ロード済み単純フォントのフォールバックパス向けに、デコード済み Unicode の送り幅を計測します
宣言
function HPDFMeasureBaseFontWidths(const BaseFont: AnsiString;
const CodePoints: array of Cardinal; var Widths: array of Double): Boolean;
動作
この HPDFBaseFontMetrics 関数は、入力と出力の配列長の小さい方までを最大値として書き込みます。単位は 1/1000 em です
書き込み対象のすべての文字が正規の標準送り幅を持つ場合、代替フォントのロードや参照なしで計測が成功します
そうでなければ、計測はまず既存のプラットフォームバックエンドを呼び出し、その成否結果を保持します。バックエンド呼び出しが成功した後、対応する正規文字は標準送り幅を受け取り、その他の文字はバックエンドの結果を保持します
Windows は既存の GDI メトリクスバックエンドを、Linux は既存の fontconfig と TrueType メトリクスバックエンドを、これらのフォールバック文字と非正規フォント名に使います
False の結果は出力値が無変更であることを保証しません。バックエンドが失敗したら、呼び出し元は計測結果を破棄してください
HPDFBuildFontDecoder がこのフォールバックを呼ぶのは、フォントディクショナリにパース済みの /Widths 配列がない場合だけです。明示的な幅と埋め込みフォントのデコードパスが引き続き権威です