スクリプト

枠内自動フィット_H

概要

枠に収まる最大のフォントサイズで文字を出す

詳細説明

枠内自動フィット_H

指定した枠(幅 × 高さ)に収まるいちばん大きいフォントサイズを自動で決めて、文字を表示するカスタムオブジェクトです。
文字数が増えれば小さく、減れば大きくなります。最小サイズでも収まらないときは、字間・行間を詰めて収めることもできます。

  • Script/枠内自動フィット_H.obj2(v1.10)

テキストオブジェクトではなく、文字を画像として作るカスタムオブジェクトです。
テキストオブジェクトに掛ける効果として作ると、決めたサイズで文字を描き直せないため、この形になっています。

インストール

  1. Script\枠内自動フィット_H.obj2 を配置する
  2. AviUtl2 を再起動する

使い方

  1. オブジェクトの追加メニューで、ラベル HexScript の中にある「枠内自動フィット_H」(カスタムオブジェクト)を置く
  2. テキスト に文字を入れる(複数行にできる)
  3. 枠の幅 / 枠の高さ を、文字を収めたい領域の大きさにする
  4. 最小フォントサイズ / 最大フォントサイズ で、自動で決めるサイズの範囲を決める
  5. 位置を合わせるときは 枠を表示 を ON にすると、枠の輪郭が白い線で出る。合わせ終わったら OFF に戻す(線は映像にも出る)

オブジェクトの大きさは常に「枠の幅 × 枠の高さ」です。枠の中のどこに文字を置くかは 文字揃え で決めます。

例: 字幕枠に、長さの違うセリフを同じ枠で入れる

項目 値
枠の幅 1600
枠の高さ 160
最小フォントサイズ 24
最大フォントサイズ 72
調整方法 サイズ+字間
文字装飾 縁取り文字
ほか 初期値

短いセリフは 72 まで大きくなり、長いセリフは枠に収まるまで小さくなります。24 でも収まらないときだけ字間を詰めます。

パラメータ

文字

項目 範囲 初期値 説明
テキスト - ここに文字を入力 表示する文字。複数行にできる。空にすると何も表示しない
フォント - Yu Gothic UI フォント

枠

項目 範囲 初期値 説明
枠の幅 10 ~ 4000 600 枠の幅(px)。オブジェクトの幅もこれになる
枠の高さ 10 ~ 4000 200 枠の高さ(px)。オブジェクトの高さもこれになる
枠を表示 ON / OFF OFF ON で枠の内側に幅 2 px の白い線を引く。調整用
収まらない時に枠を赤くする ON / OFF OFF ON なら、文字が枠(内側の余白を除いた範囲)に収まらなかったときに枠の線を赤にする。枠を表示が OFF のときは隠れる

調整

項目 範囲 / 選択肢 初期値 説明
最小フォントサイズ 4 ~ 400 12 自動で決めるサイズの下限
最大フォントサイズ 4 ~ 400 100 自動で決めるサイズの上限。最小より小さくすると、2 つを入れ替えて使う
調整方法 サイズのみ / サイズ+字間 / サイズ+字間+行間 サイズのみ 最小フォントサイズでも収まらないときに、ほかに何を詰めるか(下の「サイズの決まり方」)
収まらないときは枠からはみ出す ON / OFF OFF OFF なら、収まらない文字は枠の外で切れる。ON なら、収まらないときだけオブジェクトを広げて切らずに表示する

詰め

項目 範囲 初期値 説明
字間の下限 -50 ~ 0 -10 字間をどこまで詰めてよいか。調整方法が サイズのみ のときは隠れる
行間の下限 -50 ~ 0 -10 行間をどこまで詰めてよいか。調整方法が サイズ+字間+行間 以外のときは隠れる

余白

項目 範囲 初期値 説明
内側の余白 0 ~ 200 0 枠の内側に空ける余白(px、上下左右とも同じ)。文字は「枠 − 余白 × 2」に収まるように決まる

体裁

項目 範囲 / 選択肢 初期値 説明
文字色 - ffffff 文字の色
影・縁色 - 000000 影付き・縁取りのときの影と縁の色
文字装飾 標準文字 / 影付き文字 / 影付き文字(薄) / 縁取り文字 / 縁取り文字(細) / 縁取り文字(太) / 縁取り文字(角) 標準文字 文字の装飾
太字 ON / OFF OFF 太字
斜体 ON / OFF OFF 斜体
文字揃え 下の表 中央[中] 枠の中での文字の置き方と、横書き / 縦書き

文字揃え の選択肢は 18 個です。

[上] / 上段 [中] / 中段 [下] / 下段
横書き・左 左寄[上] 左寄[中] 左寄[下]
横書き・中央 中央[上] 中央[中] 中央[下]
横書き・右 右寄[上] 右寄[中] 右寄[下]
縦書き・右 縦書 上段[右] 縦書 中段[右] 縦書 下段[右]
縦書き・中 縦書 上段[中] 縦書 中段[中] 縦書 下段[中]
縦書き・左 縦書 上段[左] 縦書 中段[左] 縦書 下段[左]

横書きの「左寄[上]」なら枠の左上、縦書きの「縦書 上段[右]」なら枠の右上に文字を寄せます。
寄せる位置は内側の余白の内側です。

サイズの決まり方

  1. 字間・行間を 0 のまま、最小 ~ 最大フォントサイズの中で、枠に収まるいちばん大きいサイズ(整数)を探す
  2. 最小フォントサイズでも収まらず、調整方法が サイズ+字間 以上なら、最小フォントサイズで字間を 0 から 字間の下限 まで詰めて、収まるところを探す。そのあと 1 をやり直す
  3. それでも収まらず、調整方法が サイズ+字間+行間 なら、行間も同じように 行間の下限 まで詰める
  4. どうしても収まらなければ、最小フォントサイズ(と詰めた字間・行間)で描く
  • 字間・行間を詰めるのは、最小フォントサイズでも収まらないときだけです。収まる間はサイズだけが変わり、字間・行間は 0 のままです
  • 字間・行間を広げる項目はありません(詰める向きだけ)
  • 縦書きでは字間が高さ、行間が幅を動かします。どちらの向きを見て詰めるかは自動で判断します
  • 毎フレーム決め直すので、テキストや枠の大きさを変えると追従します。サイズは整数なので、枠の大きさを動かすと文字の大きさは段々に変わります

注意

  • オブジェクトの大きさは常に枠の大きさです(枠を表示の ON / OFF や文字数で変わらないので、位置がずれません)。
    そのため、最小フォントサイズでも収まらない文字は枠の外で切れます。切りたくないときは 収まらないときは枠からはみ出す を ON にします
  • 枠を表示の線は映像にも出ます。書き出す前に OFF にしてください
  • 文字揃え・調整方法・文字装飾は、選択肢の名前で保存されます。 保存された名前が選択肢に無いと、警告も出ずに初期値
    (文字揃えなら 中央[中])として読まれます(番号で書いても同じ)。文字揃えの名前は組み込みのテキストの「文字揃え」(左寄せ[上] など)と綴りが違う別物なので、
    プロジェクトファイルを手で書き換えて値を移すときは気をつけてください
  • オブジェクトの大きさは本体の最大画像サイズで頭打ちになります