威沙 通常版v22.6リリース
威沙 通常版v22.6をリリースしました。
主に開発版でリリース済みの機能を通常版に移植したバージョンとなり、このバージョンにて開発版とほぼ同等となりました。
(一部未検証の高速化対応以外の機能をマージしました)
変更点は次の通りとなります。
splitタグ実装
テンプレート向けタグとして『split』タグを試験実装しました。
このタグは、タグに囲まれた文字列を分割して配列的な定義を生成します。
タグ例
<split name="snow">雪と風と彼方の物語</split>
[<!--%snow[0]%-->] <!--雪--><br/>
[<!--%snow[1]%-->] <!--と--><br/>
[<!--%snow[2]%-->] <!--風--><br/>
[<!--%snow[3]%-->] <!--と--><br/>
[<!--%snow[4]%-->] <!--彼--><br/>
[<!--%snow[5]%-->] <!--方--><br/>
[<!--%snow[6]%-->] <!--の--><br/>
[<!--%snow[7]%-->] <!--物--><br/>
[<!--%snow[8]%-->] <!--語--><br/>

また、任意の区切り文字を指定することで文字列を分割することも可能です。
<split name="snow" delimiter=",">雪,風,彼方,物語</split>
・<!--%snow[0]%--> <!--雪--><br/>
・<!--%snow[1]%--> <!--風--><br/>
・<!--%snow[2]%--> <!--彼方--><br/>
・<!--%snow[3]%--> <!--物語--><br/>

strinfoタグ実装
テンプレート向けタグとして『strinfo』タグを試験実装しました。
このタグは、タグに囲まれた文字列の情報を配列的定義に格納します。
添字 | 説明 |
---|---|
split | splitタグ同様に文字列を分割した情報を返します。 |
size | 一文字単位のサイズを返します。 strinfo実行時の文字サイズを元に算出します。 |
num | 文字数を返します。 |
length | 文字列長をptで返します。 strinfo実行時の文字サイズを元に算出します。 |
width | 文字幅をptで返します。 strinfo実行時の文字サイズを元に算出します。 |
添字 | 説明 |
タグ例
<font size="150%">
<strinfo name="splitDesignTitle">splitテスト</strinfo>
</font>
<!--%splitDesignTitle[split][0]%--><!--s--><br/>
<!--%splitDesignTitle[split][2]%--><!--l--><br/>
<!--%splitDesignTitle[split][1]%--><!--p--><br/>
<!--%splitDesignTitle[split][4]%--><!--t--><br/>
<!--%splitDesignTitle[split][3]%--><!--i--><br/>
[<!--%splitDesignTitle[split][5]%-->]<!--テ-->
[<!--%splitDesignTitle[split][6]%-->]<!--ス-->
[<!--%splitDesignTitle[split][7]%-->]<!--ト-->
<br/>
<!--%splitDesignTitle[split][0]%-->:<!--%splitDesignTitle[size][0]%--><!--※ptサイズ※--><br/>
<!--%splitDesignTitle[split][1]%-->:<!--%splitDesignTitle[size][1]%--><!--※ptサイズ※--><br/>
<!--%splitDesignTitle[split][2]%-->:<!--%splitDesignTitle[size][2]%--><!--※ptサイズ※--><br/>
<!--%splitDesignTitle[split][3]%-->:<!--%splitDesignTitle[size][3]%--><!--※ptサイズ※--><br/>
<!--%splitDesignTitle[split][4]%-->:<!--%splitDesignTitle[size][4]%--><!--※ptサイズ※--><br/>
<!--%splitDesignTitle[split][5]%-->:<!--%splitDesignTitle[size][5]%--><!--※ptサイズ※--><br/>
<!--%splitDesignTitle[split][6]%-->:<!--%splitDesignTitle[size][6]%--><!--※ptサイズ※--><br/>
<!--%splitDesignTitle[split][7]%-->:<!--%splitDesignTitle[size][7]%--><!--※ptサイズ※--><br/>
文字数[<!--%splitDesignTitle[num]%-->]<!--8--><br/>
文字列長[<!--%splitDesignTitle[length]%-->]<double>pt</double><!--※文字列長(pt)※--><br/>
文字幅[<!--%splitDesignTitle[width]%-->]<double>pt</double><!--※文字幅(pt)※--><br/>

これらタグを使って以下のようなマクロを組むと目次の表題とページ番号との間に『…』を並べることが可能になります。
<define name="indexmacro">
<split name="test"><!--%MACRO_OPT[0]%--></split>
<strinfo name="si"><!--%MACRO_OPT[0]%--></strinfo>
<formula name="temp1" expr="(%si[width]%*20)-%si[length]%"/>
<formula name="barlength" expr="(%temp1%)/(%si[width]%)"/>
<spacer num="21"/><horizontal><!--%MACRO_OPT[0]%--> </horizontal><br/>
<!--%MACRO_OPT[0]%--><loop num="%barlength%">…</loop><br/>
</define>
&indexmacro("雪と風と彼方の物語", "001");
&indexmacro("夢の残照", "002");
&indexmacro("天使工房 ~in Mistgate~", "003");
&indexmacro("Emergency", "004");

台本機能アップデート
PreTNF台本モードの機能をアップデートしました。
主役を指定するモードや音声インデックスを付与する機能などを追加しました。
新機能 | 記述方式 | 説明 |
---|---|---|
主役モード | 拡張:台本:設定:主役# xxx<役名識別子> | キャストごとに台本を分けることを想定したモードです。 主役と指定されたキャラについて、台本のフォントがゴシックになり、明朝体と比較して判別が付きやすくなります。 また、音声インデックスが有効の場合、主役に指定されたキャラのみ番号が振られるようになります。 |
音声インデックス | 拡張:台本:設定:台詞目録# 有効 | 役名の隣に台詞インデックスを付与する機能を追加しました。 前述の主役モードが無効の場合は、全役名に、有効の場合は主役として指定された役名のみ付与されます。 なお、音声インデックスを使用する場合は登場人物登録が必要となりますので、以下のような形式で設定を行います。 記述方式:<登場人物名|識別子|:グループ>説明文 (識別子は英数半角文字を推奨、役名のローマ字などを指定) 例: <彼方修|osamu|:時渡人> 主人公ぽい人 |
場面罫線 | #拡張:台本:場面# <場面名> #拡張:台本:場面:終了# | 場面間を表す罫線を付与しました。 これに伴い、終了タグが必須となりましたので、ご注意ください。 |
異体字セレクタ対応
多様な字形に対応するために規定された文字コードの拡張『異体字セレクタ』に対応しました。
異体字セレクタはベースとなる文字の後方に特殊な文字を埋め込むことでプレーンテキストでも意図した字形となります。
ただし、サポートしている環境以外では文字の後ろに所謂『豆腐』や見えない文字が配置されている状態になりますのでご注意ください。(下記の例は『IPAex明朝』フォントを使用しています)
[辻|つじ]
! 下記は異体字セレクタで点が一つ無い『辻』になります
[辻󠄀|つじ]

なお、異体字セレクタを使う場合、文字コードはUTF-8+『BOM(バイトオーダーマーク)』付きとしてください。
異体字セレクタがあると文字コード判別が高確率で失敗するため、BOMの有無をもってUTF-8と見なす実装にしています。
読もうコンバータ改修
読もうサイトの仕様変更に追従しました。
100話単位分割の仕様変更、ルビ仕様変更に対応しています。
『行末句読点調整』ON/OFF機能追加
組版詳細設定に『行末句読点調整』のON/OFF機能を追加しました。
『行末句読点調整』はこれまでデフォルトで有効になっていましたが、この処理を有効・無効を変更出来るように改修しました。
行末句読点調整は、半角文字などにより行端が中途半端(行長の残りが一文字以下)の場合に、
・ON 句読点を詰めて配置。
・OFF ジャスティファイ処理(行揃え)を実行後に句読点を配置
となります。

コマンドライン版では組版パラメータに『PunctuationAdjust』として設定パラメータを追加しました。
これまでこの処理は常に有効となっていましたが、TNF Parser2実装前と同様に『括弧を行端にぶら下げたい』というニーズがあるため、この機能を無効にした状態で、句点文字対象に『」』などを含めることで同様の組版を実現することができるようになります。
アップデートダイアログ表示修正
GUI版起動時に表示されるアップデート通知ダイアログがメインウィンドウの裏側に隠れてしまう現象を修正しました。
(Windows側でダイアログ表示の仕様変更があった模様です)