Cairo::FontExtentsクラス

フォントのメトリック(距離)情報を持つクラスです。現在のユー ザ空間座標システムでの値になります。

フォント・メトリックがユーザ空間座標なので、全てではありませ んが、多くの場合、現在の変換行列とは独立しています。もし、 context.scale(2.0, 2.0)とすると、テキストは2倍の大きさ で描画されますが、取得されたテキストの範囲は2倍になっていませ ん。範囲はヒント(Cairo::HintMetricsのこと)によって少し変 わる(そのため、メトリックが変換行列から独立していると仮定す ることはできません)でしょうが、そうでなければ変わらないでしょ う。

オブジェクト階層

インタンスメソッド

ascent
フォントがベースラインより上に広げる距離。この値が常に フォントの全てのグリフの範囲の最大値と同じになるわけで はないことに注意してください。そうではなくて、どのよう にフォントをベースライン上の要素と並べるべきかというフォ ントデザイナの意図を表現するために取り出します。
descent
フォントがベースラインより下に広げる距離。多くのフォン トはベースラインの下の部分を含みますが、そのようなフォ ントではこの値は正になります。この値が常にフォントの全 てのグリフの範囲の最大値と同じになるわけではないことに 注意してください。そうではなくて、どのようにフォントを ベースラインより下の要素と並べるべきかというフォントデ ザイナの意図を表現するために取り出します。
height
指定したフォントでテキストの連続的な線を設定したときに 推奨される縦方向のベースライン間の距離です。この値は行 ピッチや行間(external leading)として知られる量のおか げでascent + descentよりも大きいです。空白がとて も需要が多い場合、多くのフォントは線の間のascent + descentの距離だけが設定されます。
max_x_advance
X方向の最大の距離。基点はフォントの中の全てのグリフによっ 進化します。
max_y_advance
Y方向の最大の距離。基点はフォントの中の全てのグリフによっ 進化します。普通のフォントを横書きにする場合は0になりで しょう。(東アジアの文字はときどき縦書きになります。)
to_s

参考

変更履歴