振り仮名(Ruby) - Juna-Idler/Titalyver2 GitHub Wiki
まず最初にルビ指定記号設定@タグ(Ruby_Parent
Ruby_Begin
Ruby_End
)で「ルビ指定記号」を設定します。例えば
@ruby_parent=|
@ruby_begin=(
@ruby_end=)
とすると、
|青春(ブルー)
と書かれている歌詞が、HTMLのRubyタグで表現するところの
青春<ruby>青春<rt>ブルー</rt></ruby>
と読み込まれます。
各@ruby_XXXの後の"="の後には指定記号だけを記述します。終端の改行以外は空白も入れられません。 記号と書いていますが、文字列で判定するため、=の後から改行までの文字列が指定記号になります。 @タグ名は大文字小文字を区別しません
実装依存になる可能性もありますが、基本的に@Ruby_XXX指定は一つの指定で全文を走査します。 歌詞の途中で指定を変更して、記号を使い分ける。ということは出来ません。 このアプリでは最後の指定で変換します。
実験的実装ですが@ruby_set=[|][《][》]
と一行で設定できるようにもしてあります
[]で囲った三つをparent begin endの順に当てはめます。指定記号に[
と]
は使えません
現状このアプリではタイムタグごとルビ処理をするのでカラオケタグの場合は実質機能しません。 行同期用の後付けルビ振りとなっています。
@Ruby=[青春][ブルー]
見たまんまです。 @タグ名「Ruby」部分は大文字小文字を区別しません。
モノルビにはパラメーターを用いて対応出来ます。
@Ruby=[青春]0,1[せい]
@Ruby=[青春]1,1[しゅん]
コンマ区切りで、
最初の数字が親文字オフセットで、後の数字が長さです。
1行目[青春]の0(+1)文字目から1文字に[せい]
2行目[青春]の1(+1)文字目から1文字に[しゅん]
という指定になります。
HTMLのRubyタグ的にはこんな感じ
青春<ruby>青<rt>せい</ruby><ruby>春<rt>しゅん</ruby>
上記の「ブルー」と「せいしゅん」は同じ「青春」を対象としているため、同時には使用できません。
先に定義した方が有効となります。
これを回避するためには、前後の文脈もまとめて指定してパラメーターで限定するか、
どちらか、または両方を歌詞内での直接指定にすることです。
@Ruby=[未来のこと]0,2[さき]
@Ruby=[未来][みらい]
先により長い、限定された方を指定しないといけません。
@タグのテキスト内での位置は問いません。 テキストの先頭でも、最後でも、タイムタグ行に挟まれた行でも。 ただし@Rubyの位置関係によって検索順位が変わる点だけ注意。(先に定義したものほど先に検索)