Text Layout(テキストレイアウト)
ローカルフォント参照から glyph 配置済みの `TextLayout` 構造を生成するノード
中級
Since P00
入力ポート
Text(テキスト)
未接続時は `text` パラメータを使う
出力ポート
Layout(レイアウト)
glyph 単位の位置・行情報・解決フォントを含む構造化テキストレイアウト
Character Count(文字数)
生成したレイアウトの文字数。v1 では glyph 数 = ほぼ 1文字数
パラメータ
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
| 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 を確認できます
TextRevealByGlyphやTextAnimateByGlyphの結果も、同じTextLayout出力として同じ表示で確認できますtranslateやscaleはデバッグ用の近似 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