Text Layout(テキストレイアウト)

ローカルフォント参照から glyph 配置済みの `TextLayout` 構造を生成するノード

中級
Since P00

入力ポート

Text(テキスト)

未接続時は `text` パラメータを使う

`Text`

出力ポート

Layout(レイアウト)

glyph 単位の位置・行情報・解決フォントを含む構造化テキストレイアウト

`TextLayout`
Character Count(文字数)

生成したレイアウトの文字数。v1 では glyph 数 = ほぼ 1文字数

`Int`

パラメータ

名前デフォルト説明
Textテキスト`Text``PixPipeline``text` 入力未接続時の文字列
Source Modeフォント参照`Enum``SystemFamily`システムフォント参照か、フォントファイル参照か
Family Nameファミリ名`Text``Segoe UI`システムフォント名。FontFile 時は任意 override としても使える
Font Fileフォントファイル`FilePath``FontFile` モード時のローカル TTF / OTF / TTC
Fallback Familyフォールバック`Text``Arial`指定フォントが解決できない時に使う fallback
Pixel Size文字サイズ`Int``24`ピクセル単位のフォントサイズ
Tracking字間`Int``0`文字間に追加するピクセル間隔
Line Height行送り`Float``1.0`フォントメトリクスに対する行送り倍率
Align揃え`Enum``Left`自動計算した文字領域内の横方向揃え

技術詳細

  • TextLayout は wire-only formal type で、変数パネルから直接は作らない
  • フォントバイナリは保持せず、font reference + layout 結果のみを保存する
  • glyph 単位は v1 では Rust text.chars() ベースの Unicode scalar 単位
  • character_count は v1 では glyphs.len() をそのまま Int で出す
  • 色やアンチエイリアスや padding は持たず、後段の Text Rasterize v2 側が担当する

デバッグ表示

  • Inspector には 文字レイアウト(デバッグ) セクションが出ます
  • ここでは glyph ごとの index と bbox を確認できます
  • TextRevealByGlyphTextAnimateByGlyph の結果も、同じ TextLayout 出力として同じ表示で確認できます
  • translatescale はデバッグ用の近似 bbox で表示されます

使用例

[Text Input] -> [Text Layout] -> [Text Rasterize v2]
[Text Input] -> [Text Layout] -> [Text Reveal By Glyph]
[Text Input] -> [Text Layout]
                    └-> [文字数] -> [割り算] -> [1文字刻み進行度]

💡 ヒント

  • `TextLayout` は wire-only formal type で、変数パネルから直接は作らない
  • フォントバイナリは保持せず、font reference + layout 結果のみを保存する
  • glyph 単位は v1 では Rust `text.chars()` ベースの Unicode scalar 単位
  • `character_count` は v1 では `glyphs.len()` をそのまま `Int` で出す
  • 色やアンチエイリアスや padding は持たず、後段の `Text Rasterize v2` 側が担当する

関連ノード

text-input
text-rasterize-v2
text-reveal-by-glyph
Text Layout (テキストレイアウト) — PixPipeline ノード解説