- 追加された行はこの色です。
- 削除された行はこの色です。
- Subtitle へ行く。
#code(nonumber){{
Subtitle(clip clip, string text, int x, int y, int first_frame, int last_frame, string font, int size, int text_color, int halo_color, int align, int spc)
#code{{
Subtitle (clip, string text, int "x", int "y", int "first_frame", int "last_frame", string "font", float "size", int "text_color", int "halo_color", int "align", int "spc", int "lsp", float "font_width", float "font_angle", bool "interlaced")
}}
#code(nonumber){{
Subtitle(clip clip, string text)
#code{{
Subtitle (clip, string text)
}}
Subtitleフィルタは、1行のアンチエイリアスされたテキストを、ある範囲のフレームに追加します。2つ以上の字幕(subtitle)や2行以上の字幕を使いたいなら、いくつかのSutitleフィルタを連鎖(chain)させなければなりません。このフィルタは、時折使う程度以上のことには、明らかに適していません。私も、時折、使用しています。'''text'''の後ろのパラメータは、すべてオプション扱いで、省略することも、'''name=value'''シンタックス((訳者註: 名前付き引数))を使って(引数の)順番に関係なく指定することもできます。
Subtitle フィルタは、ある範囲のフレームにアンチエイリアス((訳者註: 参考: [[アンチエイリアス:http://www.apec.aichi-c.ed.jp/project/joho/jissyuu/art/art.files/anti.htm]]、[[アンチエイリアスとは:デジカメ画像のためのphotoshop講座:http://retouch-weblab.com/photo/anti/index.html]]、[[「アンチエイリアス」について:http://www.geocities.co.jp/Hollywood/9313/atelier/info.html]]))されたテキストを追加します。2 つ以上の字幕が必要なら、いくつかの Subtitle フィルタをつなげ合わせることによってこれを実現することも可能です。'''text''' 以降のパラメータはすべてオプションで、省略したり、'''名前'''='''値''' というシンタックス((訳者註: この「名前=値」という形式で指定される引数は、「名前付き引数」や「キーワード引数」と呼ばれます。))を使って順番に関係なく指定することができます。
''パラメータ''
'''text'''は、'''first_frame'''のフレームから'''last_frame'''のフレームまで、クリップの上に重ね(overlay)られるテキストです。'''font'''は、そのテキストのフォントです(現在のコンピュータにインストールされているすべてのフォントが利用できます。それらのフォントは、あなたの'windows\fonts'((訳者註: Windows2000の場合は、'WINNT\Fonts'。))フォルダにあります)。'''size'''はテキストのサイズです。(x,y)はテキストの位置です。パラメータ'''x'''と'''y'''が-1に設定されると、水平方向、または、垂直方向の中心座標を自動的に算出して、使用することができます。'''text_color'''と'''halo_color'''は、HTMLと同様に、16進数のRGB値として与えられます -- #の代わりに$からはじまるということを除いて(コメントを挿入するために、すでに#を使っています)。
'''text''' は、'''first_frame''' から '''last_frame''' までの範囲でクリップの上にオーバーレイされるテキストです。
'''align'''パラメータは、(x,y)の位置と連動して、'''text'''をどこに配置するかを設定することを可能にします。以下のようなテンキーパッドに基づいています:
('''x''', '''y''') は、テキストの位置です。水平または垂直方向の中心座標を自動的に算出して使用するために、パラメータ '''x''' と '''y''' を -1 に設定することができます。
|~ |~left&br;('''x'''で始まる)|~center&br;('''x'''の中央)|~right&br;('''x'''で終わる)|
|~top&br;('''y'''と揃えられた'''text'''の上部)|7|8|9|
|~baseline&br;('''y'''と揃えられた'''text'''のベースライン)|4|5|6|
|~bottom&br;('''y'''と揃えられた'''text'''の底部)|1|2|3|
'''font''' は、テキストのフォントです(現在のコンピュータにインストールされているすべてのフォントが利用可能です。それらのフォントは、「windows\fonts」 ((訳者註: Windows2000 の場合は、「WINNT\Fonts」。))フォルダにあります)。
注: '''y'''の中央揃えの設定はありません。
'''size''' は、テキストのサイズ(0.125 単位)です。
'''spc'''パラメータは、文字の間隔を修正することを可能にします(0=変更なし)。値がプラスであればテキストを広く、マイナスであれば狭くすることができます。このタスクを実行する関数のVisual C++のドキュメントによると、この値は'''論理単位で、もっとも近いピクセル((訳者註: 物理単位))に丸められます'''。これは、PCの代表的なフォントを、通常は同じ高さでもより幅が広い、映画やテレビのクレジット((訳者註: 映画やドラマの冒頭と(または)最後に流される、出演者やスタッフなどの名前の表示。謝辞。))で使われるフォントに調和させることや、固定した文字ごとの調整で、スペースにちょうどフィットさせたり、スペースを埋めたりすることを試みるのに役立ちます。
'''text_color''' および '''halo_color''' は、16 進数値($AARRGGBB((訳者註: $AARRGGBB で表される色は、それぞれ AA = 透明度、RR = 赤、GG = 緑、BB = 青に相当します。)))として指定されます。これは HTML と似ています -- # の代わりに $ から始まる((訳者註: AviSynth では、# は すでに 1 行コメントの開始を意味する記号として使用されています。))ことと、4 番目のオクテット((訳者註: オクテットは情報の単位の 1 つで、1 オクテットは 8 ビットに相当します。ここでは、「4 番目のオクテット」は $AARRGGBB の AA の部分を指してます。参考: [[オクテット - Wikipedia:http://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%AF%E3%83%86%E3%83%83%E3%83%88]]))がアルファ透明度を指定することを除けば。$00RRGGBB は完全に不透明、$FF000000 は完全に透明です。この色を選択することによって、テキストの縁の色を無効化することができます。色の指定に関する詳しい情報は、[[こちら>Colors]]を参照してください。
代替的な短い書式は、字幕が見られさえすれば、その見た目はまったく気にしないというときに、役に立ちます -- たとえば、あるフレームのいくつかのバージョンを一度に表示するために、[[StackVertical>Stack]]やその同種のフィルタを使っていて、どれがどれかを覚えておくために、それらにラベルを付けたいときに。
'''align''' パラメータは、テキストが (x,y) の位置に対して相対的にどこに配置されるのかを設定することを可能にします。次のようなテンキーに基づいています:
このフィルタは、AviSynthの内部で、[[Version]]コマンドやエラーメッセージの報告用に使われます。また、Subtitleの装置は、[[ShowFrameNumber>Showframes]]でも使われます。
|<左> 7 <上>|<中央> 8 <上>|<右> 9 <上>|align=7,8,9 はテキストの上端を y の位置に揃える|
|<左> 4 <ベースライン>|<中央> 5 <ベースライン>|<右> 6 <ベースライン>|align=4,5,6 はテキストのベースラインを y の位置に揃える|
|<左> 1 <下>|<中央> 2 <下>|<右> 3 <下>|align=1,2,3 はテキストの下端を y の位置に揃える|
|align=1,4,7 は x から始まる|align=2,5,8 は x の中央に|align=3,6,9 は x で終わる||
''デフォルト値''
注: 垂直方向の中央揃えの設定はありません。
-'''clip'''
--last((訳者註: 最後に処理したクリップ。))
'''spc''' パラメータは、文字の間隔を変更することを可能にします(0=変更なし)。テキストの間隔を広くするには正の値を、狭くするには負の値を指定することができます。このタスクを実行する SetTextCharacterExtra() 関数に関する Visual C++ のドキュメント((訳者註: 参考: [[SetTextCharacterExtra 関数:http://msdn.microsoft.com/ja-jp/library/cc428725.aspx]]))によると、この値は論理単位((訳者註: 参考: [[論理単位とデバイス単位について:http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200208/02080001.txt]]))であり、0.125 単位で最も近いピクセルに丸められます。これは、PC の典型的なフォントをフィルムや映画のクレジット((訳者註: 映画やドラマの冒頭と(または)最後に流される、出演者やスタッフなどの名前の表示。謝辞。))で使用されるフォント(通常、同じ高さでも幅が広い)に調和させたり、固定した文字ごとの調整によって空白を入れたり空白を埋めたりするのに役立ちます。
-'''text'''
--デフォルトなし。指定が必要。
「\n」を使った複数行の文字列が v2.57 で追加されました。これは、'''lsp''' (行間)パラメータが設定された場合に使用されます。'''lsp''' パラメータは、0.125 ピクセル単位で 2 つの行の間に追加の行間を設定します。
-'''x'''
--'''align'''=1,4,7、または、指定なしの場合: 8
--'''align'''=2,5,8の場合: -1
--'''align'''=3,6,9の場合: width((訳者註: '''clip'''の幅。))-8
'''font_width''' パラメータは、CreateFont() 関数((訳者註: 参考: [[CreateFont 関数:http://msdn.microsoft.com/ja-jp/library/cc428368.aspx]]))に関する Visual C++ のドキュメントによると、文字グリフのアスペクト比を 0.125 単位で変更することを可能にします。これは、GDI((訳者註: 参考: [[GDI(ジーディーアイ。Graphics Device Interface):RBB TODAY (ブロードバンド辞典):http://dictionary.rbbtoday.com/Details/term2470.html]]、[[GDIとは 【Graphic Device Interface】 - 意味・解説 : IT用語辞典:http://e-words.jp/w/GDI.html]]、[[Graphics Device Interface - Wikipedia:http://ja.wikipedia.org/wiki/Graphics_Device_Interface]])) のデフォルトのアスペクト比と選択されたフォント本来のアスペクト比によって、'''size''' パラメータに関連付けられています。
-'''y'''
--'''align'''=4,5,6、または、指定なしの場合: '''size'''
--'''align'''=7,8,9の場合: 0
--'''align'''=1,2,3の場合: height((訳者註: '''clip'''の高さ))-1
'''font_angle''' パラメータは、テキストのベースラインの角度を反時計回りに 0.1 度ずつ変更することを可能にします。
-'''first_frame'''
--0
'''interlaced''' パラメータが有効化されると、インターレースディスプレイ上の急激な垂直方向のトランジションからフリッカ((訳者註: 一般にフリッカ(flicker)とは、画面のちらつきのことを指します。ここでは、Subtitle で追加された字幕がインターレースディスプレイでちらつくことを指していると考えられます。参考: [[フリッカー - Wikipedia:http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AA%E3%83%83%E3%82%AB%E3%83%BC]]))を低減します。アンチエイリアスフィルタが上下のラインからピクセルの重みの 0.5 を含めるようにウィンドウを拡大することによってこれを実現し、軽い垂直方向のぼかしを効果的に適用します。
-'''last_frame'''
--framecount('''clip''')((訳者註: '''clip'''の総フレーム数))-1
見られさえすれば字幕の見た目はまったく気にしないというとき(たとえば、
あるフレームのいくつかのバージョンを同時に表示するために [[StackVertical>Stack]] やその同種のフィルタを使用していて、どれがどれか覚えておくためにラベルを付けたいとき)には、代替的な短い書式((訳者註: このページの冒頭に示されているシンタックスの 2 つ目、「Subtitle (clip, string text)」を指しているものと考えられます。))が役に立ちます。
-'''font'''
--"Arial"
このフィルタは、AviSynth の内部で [[Version]] コマンドやエラーメッセージの報告に使用されています。字幕を付ける装置は、[[ShowFrameNumber>Showframes]] やその仲間のフィルタでも使われています。
-'''size'''
--18
''デフォルト値''
-'''text_color'''
--$FFFF00 <黄>
|'''clip'''|last((訳者註: 最後に処理したクリップ。))|
|'''text'''|デフォルトなし。必須。|
|'''x'''|align=1,4,7 または 指定なし: 8。align=2,5,8: -1。align=3,6,9: width((訳者註: clip の幅。))-8|
|'''y'''|align=1,2,3: height((訳者註: clip の高さ。))-1。align=4,5,6 または 指定なし: size。align=7,8,9: 0|
|'''first_frame'''|0|
|'''last_frame'''|framecount(clip)((訳者註: clip の総フレーム数。))-1|
|'''font'''|"Arial"|
|'''size'''|18.0|
|'''text_color'''|$00FFFF00 <完全に不透明な黄色>|
|'''halo_color'''|0 <完全に不透明な黒>|
|'''align'''|通常: 4 <左&ベースライン>。x=-1: 5 <水平方向の中央&ベースライン>|
|'''spc'''|0 <フォント間隔変更なし>|
|'''lsp'''|<複数行無効>|
|'''font_width'''|0 <システムデフォルト>|
|'''font_angle'''|0.0 度|
|'''interlaced'''|false|
-'''halo_color'''
--0 <黒>
-'''align'''
--通常: 4 <左&ベースライン>
--x=-1の場合: 5 <水平方向の中央&ベースライン>
-'''spc'''
--0 <フォント間隔変更なし>
''使用例''
#code(nonumber){{
# テキストをクリップの中央に
#code{{
# クリップの中央に「Hello world!」:
AviSource("D:\clip.avi")
Subtitle("Hello world!", align=5)
}}
#code(nonumber){{
# 指定されたフォントとサイズと色のテキストをクリップの右上隅に
#code{{
# 指定されたフォント、大きさ、色(赤)で
# クリップの右上隅に「Hello world!」:
AviSource("D:\clip.avi")
Subtitle("Hello world!", font="georgia", size=24, text_color=$ff0000, align=9)
Subtitle("Hello world!", font="georgia", size=24, \
text_color=$ff0000, align=9)
}}
''特定のバージョンの情報''
#code{{
# 縁なしのテキストを複数行表示:
BlankClip()
Subtitle( \
"1行目のテキスト\\nこのテキストも1行目\n" + \
"2行目のテキスト", \
lsp=10, halo_color=$ff000000, font="MS Pゴシック")
}}
-v1.00
--x=-1に設定すると、水平方向の中央と中央揃えを使用する(v2.07より前は説明書に記載なし)。
これは、以下のようになります((訳者註: 1 つ目の \n は、直前の \ でエスケープされているため、改行されることなく、文字そのものとして表示されます。)):
-v2.07
--'''align'''と'''spc'''パラメータの追加。
--y=-1に設定すると、垂直方向の中央を算出する(アラインメントには影響なし)。
--'''x'''と'''y'''のデフォルト値は'''align'''に左右される(以前は、x=8, y='''size''')。
#pre{{
1行目のテキスト\nこのテキストも1行目
2行目のテキスト
}}
''更新履歴''
|v2.58|font_width、font_angle、interlaced の各パラメータと色のアルファブレンド((訳者註: ここでは、アルファ値を使って文字の色と縁の色の透明度を設定することを指す。詳しい指定方法は、上述の text_color と halo_color の説明を参照。参考: [[アルファブレンドとは 【alpha blend】 - 意味・解説 : IT用語辞典:http://e-words.jp/w/E382A2E383ABE38395E382A1E38396E383ACE383B3E38389.html]]))を追加。|
|v2.57|複数行のテキストと行間(lsp)パラメータを追加。|
|v2.07|align パラメータと spc パラメータを追加。&br;y=-1 に設定すると垂直方向の中央を算出する(アラインメントに影響なし)。&br;x と y のデフォルト値はアラインメントに左右される(以前は x=8、y=size)|
|v1.00|x=-1 に設定すると、水平方向の中央と中央揃えを使用する(v2.07 より前はヘルプに記載されていなかった)|
#hr
註: このページは、http://www.avisynth.org/Subtitleの日本語訳です。
註: このページは、AviSynth 2.5.8 RC3 に同梱されている英語版ヘルプの日本語訳です。原文は、AviSynth をインストールしたフォルダ内の Docs/english/corefilters/subtitle.htm にあります。なお、このページのテキストおよび画像のライセンスは、オリジナルのそれに準じます。詳しくは、[[AboutLicense]] を参照してください。