好みのサイズと装置解像度に拡大・縮小したフォントです。 Cairo::ScaledFontは低レベルのフォント使用でもっとも役に立ちま す。例えば、メトリックスの計算を高速化するために拡大・縮小し たフォントをキャッシュしたいライブラリやアプリケーションには 役に立ちます。
Cairo::ScaledFontにはフォントバックエンドに依存したいくつか の種類があります。ただし、rcairoではサポートしていません。
Cairo::ScaledFont.new(font_face, font_matrix, ctm, options)
ctm
extents
font_face
font_matrix
font_options
glyph_extents(glyphs)
グリフの範囲を返します。範囲はグリフをインクで塗る部分 を囲む(ユーザ空間での)四角を示しています。(グリフは Cairo::Context#show_glyphsで描画できます。)さらに、 範囲(Cairo::TextExtents)のx_advanceと y_advanceの値はCairo::Context#show_glyphsが進める 現在の点の合計を示しています。 (Cairo::Context#show_glyphsはグリフを描画すると、描画 した分だけ現在の点を進めます。)
空白のグリフは四角のサイズ(extents.widthと extents.height)に貢献しないことに注意してください。
text_extents(utf8)
テキストの範囲を返します。範囲はテキストをインクで塗る 部分(テキストが描画される部分)を囲む(ユーザ空間での) 示しています。さらに、範囲(Cairo::TextExtents)の x_advanceとy_advanceの値は Cairo::Context#show_glyphsが進める現在の点の合計を示し ています。(Cairo::Context#show_textはテキストを描画す ると、描画した分だけ現在の点を進めます。)
空白文字は四角のサイズ(extents.widthとextents.height) に貢献しないことに注意してください。空白文字は非空白文 字の位置を変更することにより間接的に貢献しています。特 に、テキストの最後の空白文字は四角のサイズには影響を与 えませんが、x_advanceとy_advanceの値には影 響を与えます。
scale_matrix
text_to_glyphs(x, y, utf8)
Since 1.7: UTF-8のテキストをグリフの配列とクラス タ対応に変換します。これらは後でこのCairo::ScaledFontを 使って描画するときに使うことができます。
どのようにクラスタ対応情報が入力のUTF-8のテキストと出力 のグリフを対応付けるかの詳細については Cairo::Context#show_text_glyphsを見てください。
同じCairo::ScaledFontを使う場合は、戻り値はそのまま Cairo::Context#show_text_glyphsや Cairo::Context#show_glyphsなど関連するメソッドで使うこ とができます。
[glyphs, clusters, backward]