ベストアンサー
このベストアンサーは投票で選ばれました
どのような字幕なのか不明ですが、カラオケ字幕の場合で説明しますね。 そのテンプレートは"template syl"をつかっていますね。template sylでは改行は使えません。改行コードを入れても機能しません。なぜかというと、template sylでは1つのカラオケ行を音節単位に分けてfx行を出力するからです。 例えば、{\k10}あ{\k10}い{\k10}う\N{\k10}え{\k10}お のようなカラオケ行がある場合、template sylでは {\k10}あ {\k10}い {\k10}う\N {\k10}え {\k10}お のように1行1音節になるように出力されます。 みためは全体が1行のように表示されますが、各音節でそれぞれ独立した行です。 なので”う”の後ろにある改行コードは”う”以外のことは感知しません。 1行を音節に分解せずにそのまま1行として出力する"template line" や "template pre-line"なら改行\Nは機能します。ですが、ルビ付きにする場合はtemplate sylを使わないといけませんのでルビ付きのカラオケ字幕では改行は使えないってことになります。 ではどうすればいいかというと。改行を入れるのでなくて改行しなくていいような短い長さの2行としてつくります。その2行の開始時間と終了時間を同じにします。 そして、2行目の先頭に1行目の時間分の空白のダミー音節をいれます。 例えば {\k10}あ{\k10}い{\k10}う{\k10}え{\k10}お {\k50}{\k10}か{\k10}き{\k10}く\N{\k10}け{\k10}こ こんな感じになります。2行は同じ開始時間と終了時間にします。2行目の先頭に{\k50}のように1行目の長さ分の空白の音節をいれます。 2行が同じ位置に表示されないようにそれぞれに異なるマージンを割り当てます。 タイムコードの右側に3つの 0 0 0 がありますね。左マージン、右マージン、垂直マージンです。これはスタイルで定義したマージンとは別のマージンを行ごとに個別に割り当てるためのものです。 下段にはスタイルのマージンを使うようにすれば上段だけ設定すればいです。 そういった面倒なことを全部自動でやってくれるマクロがありますので参考にしてください。 https://youtu.be/HsAZAV_bjIM なにか質問があればyoutubeのほうでコメントなりPMなりおくってください。
この回答はいかがでしたか? リアクションしてみよう