textPs=は、フォントサイズを自動的に調整してテキスト領域を最適に埋め、オーバーフローを回避しながら下の余分なスペースを最小限に抑える独自のコピーフィッティングアルゴリズムを実装します。
コピーフィットは、個々のテキスト範囲に対しても、段落単位で、テキストレイヤー全体に対して一括して有効化および制御できます。
最小フォントサイズは\fs
で、最大フォントサイズは\copyfit
で指定します。 同じRTF文字列では、任意の数の範囲を指定できます。 すべての範囲のサイズは縦横比を維持したまま変化するので、希望のフォントサイズ比が維持されます。
\copyfit
は、文字書式コマンドと見なされ、およびのようなスコープルール \fs
を持ち \b
ます。
\fs
で指定したサイズ以下のサイズで\copyfit
を指定すると、コピーフィットは無効になります。
フォントサイズの範囲を指定するだけでなく、コピーフィットアルゴリズムの動作は、\copyfitlines
または\copyfitmaxlines
コマンドを使用してさらに制御できます。これにより、アルゴリズムが生成する行数が制限されます。 どちらのコマンドも、行数パラメータを受け取るか、0を受け取ります。コピーフィット領域の行数は制限されません。
\copyfitlines
指定した行数に収まらない場合に、追加の行にテキストをオーバーフローできます。コピーフィットするテキストセグメント内の明示的な改行は、常に使用されます。
\copyfitmaxlines
alwaysは、指定された制限を超える余分な出力行を切り捨てます。明示的な改行が存在する場合でも、指定した行数を超えることはありません。 このリリースの画像サービングでは、N-1 \line
マーカー以下が、テキスト範囲に合わせて配置されます。 この制限を超えた場合の動作は未定義です。
次の例では、テキストの本文に$A$、$B$、$C$という名前の変数があることを前提としています。
範囲内でフォントサイズの比率を同じにします。
{\fs10\copyfit100 $A${\fs20\copyfit200 $B$}$C$}
$B$ は、常にテキストの残りの部分の2倍の大きさにレンダリングされます。多くのテキストが指定されると、$A$と$C$は\fs10
と$B$と共に\fs20
と共にレンダリングされます。 テキストが少ない場合、$A$と$C$は\fs100
と$B$ \fs200
を使用します。
少量のテキストのみが描画される場合は、一般的な大きいフォントサイズに収束します。
{\copyfit100\fs10 $A${\fs20 $B$}$C$}
範囲の最も小さい端で$B$が\fs20
と共にレンダリングされ、$A$と$C$の2倍の大きさが\fs10
にレンダリングされます。 すべてのテキストは、範囲の反対側の\fs100
(50ポイント)に描画されます。
レンダリングされるテキストの量が多い場合は、一般的な小さいフォントサイズに収束します。
{\fs10\copyfit100 $A${\copyfit200 $B$}$C$}
すべてのテキストは\fs10で範囲の小さい端に描画されますが、最大の$A$と$C$は\fs100
と$B$で\fs200
によって描画されます。
内側のテキスト範囲に対するコピーフィットを無効にします。
{\fs10\copyfit100 $A${\fs50\copyfit0 $B$}$C$}
$A$と$C$のフォントサイズは10 ~ 100の間で異なる場合がありますが、$B$は常に\fs50
でレンダリングされます。
縦のスペースがある場合でも、出力を1行に制限します。ただし、1行に収まるように指定されたテキストが多すぎる場合は、次の行にオーバーフローすることを許可し \fs10
ます。
{\fs10\copyfit100 \copyfitlines1 $A$}
縦のスペースが多い場合でも、出力を1行に制限します。指定したテキストが多すぎて\fs10
の1行に収まらない場合は、次のように切り捨てられます。
{\fs10\copyfit100 \copyfitmaxlines1 $A$}