変換後、~Bgスタイルを有効にし、ルビと漢字の色変化同期を確認。「漢字」の「漢」が色変化開始するフレームでルビ「かんじ」の「か」が色変化開始し、「漢」が終わりきるフレームで「ん」が終わりきり、「字」の変化が始まる瞬間「じ」の変化が始まり...というふうに。同期がおかしいときは、通常、t-clipの「空間側」を調整する。最初の3項目はASSの普通の機能なので説明略。これまでの半自動縦カラオケの説明だった。v0.1.1.2以降では、上記のステータスバー部分を直接右クリックで切り替えることもできる。(v0.1.1.0より前では、上記区画にDialogueの番号が表示されていたが意味ないので変更した。)基本的にはそれで問題ないのだが、字間をマウスで正確にポイントするのは、拡大鏡を見ながらでも結構面倒だ。マウスは細かい動きには適さない。マウスカーソルを移動させると良い。ある機能だが、縦カラオケでは非常に役立つ。Y位置を取得するのに「右クリック」しなければいけなかった。[Pause]キー([Break]キーとも言う。右クリックと同じ意味になるようにした。好みのエディタに切り替えてVKara1リストを完成させる。エディタに切り替えたら極力、キーボード(移動は矢印キーなど)だけで操作し、マウスは触らないようにする。フォーカスを戻したとき、前の位置にマウスカーソルが残っていて都合がいい。ルビの位置・時間決めをきれいにできるIDEなどもともとない。ある程度のエフェクトに進むとき、ASSの直接編集は避けて通れない道だ。(VKara1作業は、本来、文字イメージのスキャンで完全自動化できるのだが、ここを自動化しても、たいして作業効率は上がらない。)上記テンキー使用により、ピクセル精度での位置決めが楽にどんどんできる。漢字とルビの色変化も既に同期している可能性が高くなり、手動修正の必要も減る。雑にやると、後から手動修正がいっぱい必要になって逆に作業が増える。同期の調整は、ルビと親文字の色変化のスタート、エンドが一致していない場合に行う。やっておけば、大半は修正なしで既に合っており、ずれている場合も、ずれは1フレーム程度で済むことが多い。実用カラオケ目的では、漢字とルビの完全同期は取らなくてもいいだろう。合っている方が美しい。実用カラオケでも限度の問題で、例えば「漢字」の「漢」が変化していないときに、ルビは「かんじ」の「じ」まで進んでいる...といった状態がまずいのは説明不要だろう。ビデオをアンロードして、無地の背景上でやる。ビデオ上でやると背景によっては色変化の詳細が見にくい。t-clipの性質上、時間と空間のどちらからも制御が可能だ。t値を大きくしてエフェクト開始時刻を遅らせるという方法がある。コントロールするのは、一般には見通しが悪い。なく「色変化が早すぎたのはスタートラインが前過ぎたか、ゴールラインが遠すぎた」つまり「その時間枠での色変化の場所が長すぎた」というふうに空間側で考えたほうが、たいていうまくいくし、検証も修正も容易だ。多くの場合、clipを1ピクセル変えるだけでうまくいく。「色変化が遅すぎる」場合も同様。漢字の変化が遅すぎるのか、ルビの変化が早すぎるのか両方の可能性を考慮しなければならない。それをリファレンスとして画面のどこかに表示しておいて、漢字もルビもそれに合わせる...という方法もある。怪しい方から、テンキー&Pauseで「ここが制御点になるはず」という位置を取り直し、対応するt-clipがその値になっているか見る。2ピクセル(以上)ずれていたら、それが原因だろう。漢字もルビも位置決めは正しいときは、上記のように1ピクセル調整してみる。同じ時間枠でより長距離を変化させるようにしてみる(要するに色変化速度をアップさせる)。スタートラインが測定上、合っているとしても、それをずらす必要がある場合もある。フレームのt値は細かい端数があるので、「このフレームで色変化開始」と思うそのフレームは相対時刻0ではない。t-clipの空間座標が、1ピクセル(色変化の速度が早い場所では2ピクセル以上)ずれることがある。時間的な制御点と少しずれたタイミングのフレームで、空間的な制御をかけていることが起きる。分からないときは、ルビ側・漢字側のどちらでも調整しやすい側で、同期させてしまえばいい。ms程度のチートなので、カラオケのスウィング幅で吸収できる。しても空間側からいじりにくいときだけ、次の手として時間座標をいじるといいようだ。(本当に厳密なアプローチは、Kの引数の単純加算でない正しいt値を使うことだろうが。技術的には恐れる必要ない(漢字とルビがt-clipを共有するやり方のときは、まずいが)。読みやすさのため、あまりハングしない方がいいので、適当に少し字間をあけるのがいいだろう。ルビ末端と次の漢字の始端はほぼ接触していたり、場合によっては、わずかに重なってしまっても構わない。日本語の文字として普通に見た場合、間延びして、いまいちになる可能性がある。いって、あまりに接近していたり、重なりすぎているのも、読みにくい。ルビの有無と関係なく、必要に応じて、全角の10分の1程度のスペースを挿入する。t-clipは空間的に手前側で制御する。前の文字が変化したとき副作用で次の文字の頭が着色してしまう。その間に休符があったり、スタッカートでは、特にまずい。その逆に、前の文字が端まで変化しきらないで、次の文字の変化のとき変化完了するパターンに持ち込んでおくと、比較的自然に見える。姑息な回避はせずに正攻法で...という場合は次の「t-clipで色変化のオーバーハングを直接避ける方法」を参照。色変化が中途半端になったり、まだ色変化してほしくない次の文字まで前の文字の色変化の副作用で色変化してしまうことがある。手っ取り早い回避法は文字間をあけること(\fsp)。文字のバランスが崩れて見栄えが悪くなる可能性もある。重なっている後続文字のほうは、本来の色変化時間になるまで別の\tタグで全透明にして隠しておく方法がある。要するに、普通のKカラオケのように、オーバーハングしていても文字単位で変化(文字の端が斜めの線なら色変化境界が斜め)ということ。^縁だけでない縁ワイプ、シャドウのあるt-clip2009-02-10縁ワイプという概念にとらわれすぎてはいけない。縁ワイプ風にやるときも、フェイスカラーも多少変化させた方が視認性が上がる。「多少」に限らず、場合によっては、縁とフェイスの両方をはっきり色変化させてしまってもいい。t-clipだからシャドウをつけられない、ということも全然ない。一般に多少シャドウをつけた方が視認性が上がる。^レイヤー化した字幕のアルファ、特にフェイド2009-02-10レイヤーでアルファを使うときの一般的問題だが、半透明にするときは、下のレイヤーの色を考えて設計する。下のレイヤーのせいで、きれいな半透明にならない。非レイヤーのフェイドといっしょにフェイドアウトするときは、0.6程度の加速度を指定するか、または下のレイヤーのフェイドを早くして先に全透明に到達させておく。後から出る側の字幕の影の透過度が異常になることがある。ハードサブは影響を受けない。4aバグと回避」参照。回避支援ツールが搭載された。^更新履歴2009-03-19初版。1.1「字幕のリップシンクの閉口側について」に「字幕の文字数が多過ぎる場合」と「シーンチェンジとの関係」を追記。1.2「\tを使ったフェイドでは「オーバーラン」に注意」追加。小さい文字で長めの注釈などは均等割付した方がすっきりすることもある。\Nで改行地点を指定し、表示行ごとに処理する。fsp+小数を表示各行ごとに変える方式。簡単で目的によっては効果的でもある。日本語などの分かち書きしない言語で特に便利だろう。VirtualDubプラグインのTextsub.vdfでは、この引数は整数しか使えない。したがってこの方法でVSFilter用に均等割付してもTextsub.vdfでレンダリングすると意図通りに動作しない。よる均等割付ができない。{\fscx})を入れる方法がある。これが最善かどうかは場合による。文字間ではなく、単語間のスペースで均等割付をすることもできる。文字間のカーニングやリガチュールを変えたくないときは単語間で調整するといいかもしれない。デフォルトの文字間(半角スペース)が狭いフォントでは、単語間のスペースを大きくすることで均等割付する方が読みやすいことがある。単語間だけでは不自然になる可能性もある。文字間方式と単語間方式の違いに注意する。タグのfscxはなぜかwcstolで読まれるので小数点以下は無視される)。したがってフォント幅の1%未満の微調整が必要な場合は、別途行う必要がある。1%単位では粗い場合は、カンマやピリオドの後ろを臨時でちょっと広くして調整するといいだろう。カシーダ方式アラビア語系の均等割付には独特の部分がある。似た発想はンコ文字やモンゴル文字にもあるようだが、アラビア語の場合がいちばん一般的のようだ。最後のピリオドなどは、RLMを追加して対処する。方式の方がいいと思われる(最終的な表示は、どちらでも基本的には同じ)。ベースで余白は適当に調整。コードポイントを決定するよりもっと前の段階のフォントマッチングで必要になる。多くのフォントはたまたま西欧語も表示できるので、漫然と0のままでも見掛け上は動作するが。境界が狂ってしまい操作が難しい。アラビア語の均等割付では、単語間などのスペースを調整するより、連結線を少し長くする方法(カシーダ、別名タトウィル)が一般的。ここでもそのアプローチを使おう。この方法でKashidaを挿入した単語は、余計な「1文字」が追加され単純な方法では検索がヒットしなくなるので注意)。Kashidaを挿入する場所として、ここでは次の文字に連結して書かれるシーン、スィーン、サーッド、ダーッドの直後を選択する。これは絶対条件ではなく、横線がつながっている場所なら一応どこでもいい。挿入可能点の全部にKashidaを入れると長くなり過ぎるときは、一部だけ使う。適当に不自然でない場所を追加する(ただし1語で1カ所まで)。Kashidaが挿入されると、横棒が長くなることに注目。壊れてしまってやっかいだ。Kashidaのグリフ単位でしか調整ができない。1ピクセルやサブピクセルの調整はできない。必要なら、最後の1単語なり、カンマの前後なりでレイヤー化して物理配置を使うことで、分からない程度に文字間を調整することで微調整も可能だ。RLMを推奨しておいて結局物理配置というのが中途半端だが...。編集は慣れないと戸惑うことが多い。インターフェイスが微妙だ。カーソル位置さえおかしく挿入どころでないものが多い。機能は限られているし原始的なようだが、Windows付属のメモ帳を使うといい。フォントビューアーのエディットボックスで編集している。いう作業の場合、ただのエディットボックスでも一般的なエディタよりまし。)英語圏などでは、文字の方向が右から左であること自体で混乱する人もいるようだ。日本語圏では「漫画を読むときの読み方」「漫画のコマと同じ」と言えばアラビア語の方向自体は一瞬で理解完了すると思われる。自然なアラビア語の均等割付が実現される。要は横棒を長くして行を長くしているだけ。均等割付なしとありでどこが変わるか見比べてみよう。一つ目がカシーダなし、二つ目がカシーダあり。見本は画像とテキストの両方で示す。一般にカシーダが入ると水平方向に少し長くなることに注意。5.5で用いた実装に準拠した。明確化のために、スィーンとシーンのように文字のつながり方としては同一であるものもなるべく個別に取り上げた。カシーダを挿入してもしなくても発音上や文法上は何も変わらない。正則アラビア語を中心にするが、音写では語末のターマルブータは無視した。実際には語頭・語尾以外にも現れるため、紛らわしいので避けた。説明salṭa「サラダ」。スィーンの開始形の後ろにカシーダを挿入する例。ʿalaykum「こんにちは」。スィーンの中間形の後ろにカシーダを挿入する例。šukrān「ありがとう」。シーンの開始形の後ろにカシーダを挿入する例。ʿašara「(数の)十」。シーンの中間形の後ろにカシーダを挿入する例。サーッドの開始形の後ろにカシーダを挿入する例。naṣr「救助、勝利」。サーッドの中間形の後ろにカシーダを挿入する例。ḍaḥika「笑う」。ダーッドの開始形の後ろにカシーダを挿入する例。(女性に)「お願いします」。ダーッドの中間形の後ろにカシーダを挿入する例。前からつながるターマルブータ、ハー、ダール、ザール。説明thalātha「三」。ターマルブータの終了形の直前にカシーダを挿入する例。tāʾih「迷った、さまよえる」。ハーの終了形の直前にカシーダを挿入する例。wāḥid「(数の)一、ある人」。ダールの終了形の直前にカシーダを挿入する例。ザールの終了形の直前にカシーダを挿入する例。前からつながるアレフ、ター、ザー、ラーム、カーフ、ガーフ。アレフの終了形の直前にカシーダを挿入する例。laqaṭa「集める」。ターの終了形の直前にカシーダを挿入する例。baẓẓa「噴き出す」。ザーの終了形の直前にカシーダを挿入する例。qabila「受け入れる」。ラームの終了形の直前にカシーダを挿入する例。カーフの終了形の直前にカシーダを挿入する例。ガーフ(アラビア語ではまれ)の終了形の直前にカシーダを挿入する例。更新履歴2009-06-30初版。2009-07-03「カシーダ挿入位置の例示」(第1~第3優先)を追加。2009-08-09文字間調整方式について「互換性についての注意」を追加。問題を回避する代替手段にも触れた。nこのページに関するご連絡は、下記メールアドレスへお願いします。このウェブサイトは、都合により、まもなく終了します。書いてあった情報は、特に断り書きがない限り、自由に使ってください。そのまま転載しても、書き換えたりして再利用してもかまいません。修正が必要と思われる点がありましたら、お気軽にお知らせください。