ChangeLog
威沙(通常版)に添付している更新履歴ファイルの転記になります。
□■ 2025/02/03版
■ バグ修正
・indentタグ中で改ページされた場合に正しくインデントが動作しない(通常版のみ再修正)
2024年9月に修正したindentタグ途中での改ページで正常に動作しない問題ですが、
開発版での修正後、通常版へのマージが正しく行われておらず、正常に動作しない
状態となっており、再度修正を適用しました。
□■ 2025/01/03版
■ 機能追加
・IMG2TNF追加
これまでJPEGファイルリストのTNFファイルを生成するアプリ『JPEG2TNF』を添付
していましたが、メンテナンスがされていない古いコードのままとなっていました。
直近で問題も報告されましたが、他にも機能的な制限が多かったため、現代の
威沙関連ソフトウェアのコードをベースに改修して『IMG2TNF』を作成しました。
IMG2TNFはJPEG2TNFと比較して、以下のように改修・機能強化を行いました。
* HiDPI対応
* 日本語フォルダ・ファイル対応
* 対応画像追加(JPEG/PNG/BMP)
* 出力TNF更新
* 設定パラメータ追加
・16ページ折り本機能実装
これまで8ページ、4ページの折り本機能を実装してきましたが、今回16ページの
折り本出力の機能をサポートしました。
A4で16ページ折り本を作る場合、1ページがA8サイズとなるため、かなり小さくなります。
(所謂豆本サイズ)
なお、16ページ用折本プロファイルはA8想定のデータで作成しています。
もちろんA6サイズで16ページ折り本ということも可能ですが、印刷用紙がA2となりますので、
現実的では無いかと思いますのでご注意ください。
・表紙・口絵・裏表紙付与機能追加
表紙・口絵・裏表紙が指定されていた場合、出力PDFに反映するオプションを
追加しました。
これはこれまで電子書籍向けモード以外の出力形式では表紙・口絵・裏表紙を
付与しない仕様になっていましたが、折り本などで表紙を付与したい場合には
対応出来ていませんでした。
このため、電子書籍向けモード以外でも付与を有効にする設定を追加しました。
(電子書籍向けモードでは付与で固定されます)
コマンドライン版では『-A』オプションを追加して対応しています。
■ 仕様変更
・チラシ向けプロファイル追加
A4二段組みプロファイルをベースに調整したチラシ向けのプロファイルを追加しました。
(作者がイベント向けに作成しているチラシ用のプロファイルになります)
■ バグ修正
・出力形式名称修正
出力形式の名称は過去の経緯から誤ったままになっていました。
(マニュアルなどのとの記載の整合のため)
しかし、誤ったままとなっていたため、威沙で該当の出力ができないと
考えられているようですので、本リリースより修正いたします。
修正前 修正後
中綴じ > 1/4平綴じ
平綴じ > 中綴じ
折り重ね綴じ > 平綴じ
以前のドキュメントでは読み替えていただくようお願いいたします。
・単位変換ツールおよび単位変換処理の計算ミスの修正
単位変換ツールの『ポイント⇒インチ』の計算式が誤っており、10分の1の
値が表示される不具合があり修正しました。
また、mmからの変換とポイントからの変換に誤差があったため、誤差を抑制
するように計算式を変更しました。
これに合わせ、威沙本体のサイズ指定時のmm/cm/in/Q/emの計算式を確認し、
emの値の誤りを修正、またポイントへの変換後の値を単位変換ツール準拠に
調整しました。
・テキスト⇒PDF変換時の変換エラーの修正
テキストから直接PDF変換を行う際に不可解なTNFエラーが発生する問題を
修正しました。
テキストファイルからPDF変換前のTNFデータを生成する際にファイルパスの
取り扱いに不適切な処理があり、データ化けが発生、TNF変換時に構文エラー
が発生する状態になっていました。
また、コマンドライン版威沙の方でもファイルパスの扱いに不適切な処理があり、
こちらも修正いたしました。
□■ 2024/11/03版
■ バグ修正
・ページテンプレート展開処理がエラーとなる問題の修正
ページテンプレートの展開結果がデータ無しとなった場合にシステムエラーが
発生する問題があり修正しました。
一部テンプレートやカスタムテンプレートにてノンブルや柱をOFFにした場合に
発生する可能性がありました。
□■ 2024/10/16版
■ バグ修正
・nopagenum・section仕様変更に伴うバグ
2023/11に修正したnopagenumおよびsectionタグへの仕様変更により、
改ページ直後にこれらタグが終了した場合の挙動に誤りがあったため、
修正いたしました。
本来は改ページ直後にタグが終了した場合はタグの処理は終了している
ことが正しい挙動でしたが、これが解除されず、次ページまで処理が
続いていました。
これにより、PreTNFの『#挿絵:此#』などは次ページにノンブル・柱が
配置されないという問題が発生していました。
・エラーメッセージのファイル名・行番号不整合修正
TNFタグが不整合になった場合にエラーメッセージに表示される行番号が
エラーの場所とはかけ離れた場所を示す場合があった問題を修正しました。
タグ不整合=入れ籠になっているタグの順番誤りや終了タグが先に来ているなど
□■ 2024/9/1版
■ バグ修正
・indentタグ挙動修正
indentタグ中に改ページされた場合にインデントが正常に動作しない問題を修正
しました。
□■ 2024/7/29版
■ バグ修正
・アップデートダイアログ表示修正
GUI版起動時に表示されるアップデート通知ダイアログがメインウィンドウ
の裏側に隠れてしまう現象を修正しました。
(Windows側でダイアログ表示の仕様変更があった模様です)
■ 機能追加
・split/strinfoタグ実装
テンプレート向けタグとして、split及びstrinfoタグを試験実装しました。
split:タグに囲まれた文字列を分割して配列的な定義を生成。
strinfo:タグに囲まれた文字列の情報を配列的定義に格納。
splitタグ例
<split name="snow">雪と風と彼方の物語</split>
<!--%snow[0]%--> <!--雪-->
<!--%snow[1]%--> <!--と-->
<!--%snow[2]%--> <!--風-->
<!--%snow[3]%--> <!--と-->
<!--%snow[4]%--> <!--彼-->
<!--%snow[5]%--> <!--方-->
<!--%snow[6]%--> <!--の-->
<!--%snow[7]%--> <!--物-->
<!--%snow[8]%--> <!--語-->
また、任意の区切り文字を指定することで文字列を分割することも可能です。
<split name="snow" delimiter=",">雪,風,彼方,物語</split>
<!--%snow[0]%--> <!--雪-->
<!--%snow[1]%--> <!--風-->
<!--%snow[2]%--> <!--彼方-->
<!--%snow[3]%--> <!--物語-->
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-->
<!--%splitDesignTitle[split][2]%--><!--l-->
<!--%splitDesignTitle[split][1]%--><!--p-->
<!--%splitDesignTitle[split][4]%--><!--t-->
<!--%splitDesignTitle[split][3]%--><!--i-->
<!--%splitDesignTitle[split][5]%--><!--テ-->
<!--%splitDesignTitle[split][6]%--><!--ス-->
<!--%splitDesignTitle[split][7]%--><!--ト-->
<!--%splitDesignTitle[split][8]%--><!---->
<!--%splitDesignTitle[split][9]%--><!---->
<!--%splitDesignTitle[split][10]%--><!----><br/>
<!--%splitDesignTitle[size][0]%--><!--※ptサイズ※-->
<!--%splitDesignTitle[size][2]%--><!--※ptサイズ※-->
<!--%splitDesignTitle[size][1]%--><!--※ptサイズ※-->
<!--%splitDesignTitle[size][4]%--><!--※ptサイズ※-->
<!--%splitDesignTitle[size][3]%--><!--※ptサイズ※-->
<!--%splitDesignTitle[size][5]%--><!--※ptサイズ※-->
<!--%splitDesignTitle[size][6]%--><!--※ptサイズ※-->
<!--%splitDesignTitle[size][7]%--><!--※ptサイズ※-->
<!--%splitDesignTitle[num]%--><br/><!--8-->
<!--%splitDesignTitle[length]%--><br/><!--※文字列長(pt)※-->
<!--%splitDesignTitle[width]%--><br/><!--※文字幅(pt)※-->
これらタグを使って以下のようなマクロを組むと目次の表題とページ番号との間に『…』を並べる
ことが可能になります。
<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[1]%--> </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|:時渡人> 主人公ぽい人
-場面罫線
指定:#拡張:台本:場面# <場面名>
#拡張:台本:場面:終了#
場面間を表す罫線を付与しました。
これに伴い、終了タグが必須となりましたので、ご注意ください。
・異体字セレクタ対応
異体字セレクタに対応しました。
異体字セレクタは多様な字形に対応するために規定された文字コードの拡張
です。
ベースとなる文字の後方に特殊な文字を埋め込むことでプレーンテキスト
でも意図した字形となります。
ただし、サポートしている環境以外では文字の後ろに所謂『豆腐』や見えない
文字が配置されている状態になりますのでご注意ください。
なお、異体字セレクタを使う場合、文字コードはUTF-8+BOM付きとしてください。
異体字セレクタがあると文字コード判別が高確率で失敗するため、BOMの有無を
もってUTF-8と見なす実装にしています。
■ 仕様変更
・読もうコンバータ改修
読もうサイトの仕様変更に追従しました。
・『行末句読点調整』ON/OFF機能追加
組版詳細設定に『行末句読点調整』のON/OFF機能を追加しました。
『行末句読点調整』はこれまでデフォルトで有効になっていましたが、
この処理を有効・無効を変更出来るように改修しました。
行末句読点調整は、半角文字などにより行端が中途半端(行長の残りが
一文字以下)の場合に、
・ON 句読点を詰めて配置。
・OFF ジャスティファイ処理(行揃え)を実行後に句読点を配置
となります。
コマンドライン版では組版パラメータに『PunctuationAdjust』として
設定パラメータを追加しました。
これまでこの処理は常に有効となっていましたが、TNF Parser2実装前と
同様に『括弧を行端にぶら下げたい』というニーズがあるため、
この機能を無効にした状態で、句点文字対象に『」』などを含めることで
同様の組版を実現することができるようになります。
□■ 2024/5/20版
■ バグ修正
・ルビが不正な配置になる問題の修正
禁則処理に伴ってジャスティファイ処理が行われた場合に行の文字情報を
分解する処理が行われますが、この際に分解の必要が無いルビ文字まで
分解が行われてしまうパターンがありました。
これにより分解されたルビが配置されてしまう現象が発生していました。
ルビ文字は分解処理の対象外とする修正を行いました。
・indentタグ+rubyタグの組み合わせで不正な配置になる問題の修正
indentタグのstringモード状態で行頭にルビを配置した際、行頭上限の
ガードが正常に動作しない問題を修正しました。
□■ 2024/3/19版
■ 仕様変更
・出力PDFのアプリケーション名変更
これまで旧来のアプリケーション名『朱鷺魅』のままでしたが、現状の
アプリケーション名である『威沙』と紐付かない状態となっていました。
今後は、
『威沙(朱鷺魅) 開発版 v22.0.0 x64 [default, default(default)]』
などと表記されるようになります。
■ 機能追加
・キーワード設定タグ『keywords』実装
PDFファイルには『キーワード』というファイル検索向けの領域が存在します。
この領域に対して文字列を指定することが出来るkeywordsタグを実装しました。
- TNF
<keywords>キーワード1 キーワード2</keywords>
<keywords>キーワード3</keywords>
複数の指定が行われた場合は、半角スペースを区切りにして数珠つなぎになります。
- PreTNF(テキスト)
#キーワード:開始#
:
#キーワード:終了#
#KEYWORDS:START#
:
#KEYWORDS:END#
動作的にはTNFと同様です。
・柱及びノンブル有効・無効機能追加
ノンブル(各ページのページ番号)及び柱(タイトル・ページタイトル)を
ページに反映させるかを設定する出力設定を追加しました。
コマンドライン版では、これらに対応する『-F』及び『-N』オプションを追加
しました。
デフォルトでは出力は有効のため、これらオプションは無効にするオプション
となります。
-F ノンブル(ページ番号)無効化
-N タイトル・ページタイトル 無効化
昨今ではアンソロジー本向けにPDFを作成する場合は、募集者がデータを
統合・整理する関係で、ノンブルやタイトルを募集者が振り直すため、
これらを無効化したデータが必要とのことで対応しました。
□■ 2024/1/1版
■ 機能追加
・新プロファイル実装
プロファイルを新しいデータに差し替えた新プロファイルを実装しました。
- 行間パラメータ調整
- 小口・ノド調整
- 紙面サイズ微調整
- デフォルトフォント変更
- 旧プロファイル対応実装
- 同梱フォント追加(源暎こぶり明朝・源暎ちくご明朝・IPAex)
旧プロファイルについては『【旧】』という文字を付与して追加しています。
(旧プロファイルのデフォルトを参照するようになっています)
フォント変更に伴い、PreTNF⇒TNF変換時のデフォルトパラメータを以下のように
変更しています。
- 濁点変換を濁点付与外字対応フォント対応をデフォルト化
- ダッシュ⇒罫線置換を無効化
※現時点ではテンプレート側の調整が完了していないため、柱・ノンブルの位置が
小口に合わない状態です。
※当面順次更新される機能となりますので、ご注意ください。
・組版スコアリング処理実装
組版処理で調整や異常組版になった可能性のある箇所でスコア処理を行い、行単位で
組版のスコアを算出する処理を実装しました。
組版処理にて字詰めや禁則処理による調整を行ったことにより、過度の調整が掛かっ
ていたり、また禁則処理で処理しきれなかった異常パターンの検出するために実装
しました。
スコアが高いほど調整が掛かっているということを示します。
現時点ではCSV形式にて結果を出力するように実装しています。
ファイル名は『<変換元ファイル>.csv』というファイルで出力されます。
GUI版:
【詳細設定】⇒【組版設定】⇒【組版スコア出力】
コマンドライン版:
『-C』オプション
■ 仕様変更
・section/newpageタグの改丁・改ページ処理の仕様変更
sectionタグ及びnewpage/newstepタグは、本文がページピッタリで終わった直後に
当該のタグがあった場合、二重に改丁もしくは改ページが行われてしまう実装と
なっていましたが、これを改めました。
section:
sectionタグ到来時に左ページ開始だった場合は、改丁せずそのページから
本文処理を開始します。
また段組時の改丁処理が実質newpage処理となっていたため、改丁処理に改めました。
newpage/newstep:
newpage・newstep到来時にページ開始だった場合は、改ページもしくは改段せず、
本文処理を開始します。
なお、newpage/newstepタグはこれまでと同じ挙動になるよう、forceオプションを
追加しました。
記述例
<newpage force="on"/>
このオプションを使用するとこれまでと同じ挙動になります。
また、テンプレート処理についてはこれまでと同じ挙動になるようにしました。
・nopagenum/sectionタグの挙動変更
『nopagenum』タグ及び『section』タグの挙動を変更しました。
これまでこれらのタグは、「改ページを明示的に行わないと反映されない」という
実装上の制限が仕様となっていましたが、この制限を撤廃し、明示的な改ページなし
で設定が反映されるようになりました。
これまでの挙動ですが、タグの終了と同時に内部処理が終了していたため、例えば
nopagenumタグであれば、ノンブル・柱の非表示処理がその場で終了してしまい、
タグが終了したページ以降は表示となっていたため、改ページが必要となっていま
した。
この部分を改善し、改ページ処理が行われる際にノンブル・柱の非表示処理を終了
させるように変更したため、明示的な改ページ無しに指定が反映されるようになり
ました。
sectionタグもオプションで指定できるページタイトルを同様に改ページ無しで反映
されるようになりました。
以下のパターンの場合、★の箇所の挙動が変更になります
従来:
nopagenum指定(有効)⇒nopagenum終了(無効)★⇒改ページ処理(無効)
nopagenum指定(有効)⇒改ページ指定(有効) ⇒nopagenum終了(無効)
仕様変更:
nopagenum指定(有効)⇒nopagenum終了(有効)★⇒改ページ処理(無効)
nopagenum指定(有効)⇒改ページ指定(有効) ⇒nopagenum終了(無効)
・ルビバランス配置の調整
ルビのバランスモードでの配置時に見栄えの良くない配置になるパターンについて
修正を行いました。
以下のパターンについてバランスが変更されています。
・ベース文字とルビ文字の長さの差が、空白1文字以下の場合は調整を入れない
・ベース文字とルビ文字の長さの差が、空白2文字以下の場合は前後調整のみ適用
□■ 2023/7/9版
■ バグ修正
・組版パラメータ調整機能のパラメータ修正
約物連続のうち、終わり括弧⇒始め括弧、句読点⇒始め括弧について、本来よりも
調整距離が狭い値が設定されていました。
こちらを25%(アキ無し)から50%(文字半分アキ)に修正しました。
また、終わり括弧⇒始め括弧のパラメータが別の値と取り違えられており、こちらも
修正しました。
・PreTNF(テキスト)⇒TNF変換時の問題修正
青空・なろうなどのルビ形式『漢字《かんじ》』の形式にて、ルビ文字が2文字
の場合、正常にルビタグへの置換が行われず、ルビが反映されない問題を修正
しました。
以前行ったカクヨム傍点形式対応時に問題が混入してしまいました。
※《《傍点》》という形式のため、ルビと識別が上手くいかないパターンを
修正した際、逆に2文字のルビが正常に動作しなくなっていました。
■ 機能追加
・画像版疑似小口染め機能追加
画像を用いた疑似小口染めを付与する機能を実装しました。
これに伴い、プロファイルパラメータの内PseudoEdge_typeについて新しい値を
追加しています。
PseudoEdge_type = 0 # 疑似小口染めタイプ
# (0:ノド染無、1:ノド染有、2:画像ノド有、
# 3:画像ノド無、4:複合ノド染無、5:複合ノド染め有)
また、画像を登録するタグ『edge』を追加しています。
以下のような形で指定するとnumberに指定したページに画像疑似小口を配置します。
<edge number="1" src="ped/composite_0001_left.png"/>
<edge number="2" src="ped/composite_0002_right.png"/>
<edge number="3" src="ped/composite_0003_left.png"/>
<edge number="4" src="ped/composite_0004_right.png"/>
<edge number="5" src="ped/composite_0005_left.png"/>
<edge number="6" src="ped/composite_0006_right.png"/>
<edge number="7" src="ped/composite_0007_left.png"/>
<edge number="8" src="ped/composite_0008_right.png"/>
<edge number="9" src="ped/composite_0009_left.png"/>
・
・
・
注意事項:
・画像はページサイズに合わせてトリミングされてから配置及びマスクされます。
・指定した画像の数に対してページ数が不足する場合は1から再開します。
□■ 2023/4/30版
■ 仕様変更
・GUI版UI改善
GUI版のUI周りを改修し、HiDPIに正式対応しました。
-HiDPI正式対応
-GUI挙動の修正
-表示フォントを『Yu Gothic UI』に変更
-表示フォント変更に伴うUIの調整
-アイコンを拡大率に合わせて変更
-スプラッシュウィンドウ廃止
-バージョン情報ウィンドウ差し替え
・テンポラリフォルダ確認・警告表示機能実装
威沙の起動時に規定数以上のテンポラリフォルダが存在している場合に警告を表示する
機能を実装しました。
威沙はperlという言語を使用して開発されていますが、このperlでソフトウェアを配布
するために言語環境一式を同梱しています。
この言語環境をテンポラリフォルダに展開してから実行する仕組みとなっていますが、
このフォルダは新しいバージョンがインストールされるごとに増えてゆき、削除する
仕組みはありません。
以前からこのフォルダを開く機能は提供していましたが、今後は起動時にチェック
するようになります。
■ 機能追加
・組版詳細設定機能パラメータ変更部実装
組版詳細設定機能のパラメータを変更出来るUIをGUI版及びコマンドライン版に実装しました。
GUI版は詳細設定⇒組版設定で、設定ウィンドウが開きます。
コマンドライン版は新オプション『-X』でパラメータファイルを指定できます。
パラメータファイルのサンプルはサンプルフォルダ内『tnfparam.conf』を参照してください。
なお、いずれも実験的領域を出ない機能ですので、使用にあたってはご注意ください。
※今後、プロファイルに統合するなどが行われる可能性があります。
□■ 2023/4/16版
■ バグ修正
・マクロ機能の修正漏れ適用
マクロ機能の開発時に発生していた重大なバグについての修正が通常版に反映されていませんでした。
underタグなどを使用した場合に文字が消えるなどの不具合が発生していましたのでご注意ください。
・カクヨム形式圏点指定対応修正
カクヨム形式の圏点指定『《《~~~~》》』において、テキスト⇒TNF変換時に圏点変換が
ルビ指定と誤認識して正常に行われないパターンがある問題を修正しました。
□■ 2023/2/12版
■ 機能追加
・条件タグifgt/ifge/iflt/ifle/ifeqn/ifnen追加
テンプレート向けタグとして、ifgt/ifge/iflt/ifle/ifeqn/ifnenを追加しました。
他の条件タグ(ifeq等)と同様、オプションにnameとvalueを取り、以下のように判定します。
ifgt nameの値がvalueより大きい場合、真(>)
ifge nameの値がvalue以上の場合、真(>=)
iflt nameの値がvalueより小さい場合、真(<)
ifle nameの値がvalue以下の場合、真(<=)
ifeqn nameの値がvalueと等しい場合、真(==)
ifnen nameの値がvalueと等しくない場合、真(!=)
なお、8進数、16進数も扱える様になっておりますが、これらは内部で10進数に変換してから
比較処理を行います。
また、数値変換できない値が指定された場合は、『0』として扱うようになっていますので、
ご注意ください。
・挿絵トリミングモード実装
挿絵に指定する画像を紙面サイズに合わせて自動的にトリミングする機能を実装しました。
これまでは紙面に収まるようにリサイズして配置していましたが、例えば横長の画像は、
横長のままで配置されていました。
この機能を有効にすると、画像から中央部分を紙面サイズに合わせてトリミングを行ってから
配置するようになります。
当然ながら中央位置に挿絵として意味のある部分が無ければ意味がありませんが、予め
トリミングしなくてもそれなりに収める機能として使えると思います。
設定は、
GUI版:『詳細設定ウィンドウ』⇒画像設定⇒挿絵トリミング有効をチェック
コマンドライン版:オプション『-T』を指定
で有効になります。
なお、内部で画像の加工を行っているため、あまり多数の画像を使用すると処理が遅くなり
ますのでご注意ください。
・BMPファイルサポート実装
BMPファイルを挿絵などに指定することができるようになりました。
内部で『BMP⇒PNG変換処理』を実装することでサポートしていますので、多数のファイルを
指定すると遅くなりますのでご注意ください。
■ 仕様変更
・フォント選択ダイアログ実装
GUI版にて『フォント選択ダイアログ』を実装しました。
これまでWindows標準のファイル選択ダイアログを使用していましたが、このダイアログは
システムフォントを選択することができないという問題がありました。
(Windowsのセキュリティ制限の模様)
そこで威沙側で独自にフォント選択ダイアログを実装することで解決しました。
このフォント選択ダイアログは、威沙標準フォント、威沙環境フォルダに格納されたフォント、
ローカル(変換元ファイルがあるフォルダ)に格納されたフォント、そしてシステムフォントを
認識することができるようになっています。
なお、フォント情報読み出しは時間が掛かるため、起動時に一度データを作成し、それを保存、
参照するようになっています。
威沙環境フォルダとローカルフォルダについては設定変更を認識した時点で情報を再作成しますが、
威沙標準フォントとシステムフォントは『詳細設定ウィンドウ』の『フォント情報クリアボタン』
ボタンを押すことでフォント情報を再作成することができます。
・stringタグにstriptagオプションを追加
内部要素タグが指定された場合、それを除去するオプションをstringタグに追加しました。
これまでPreTNFなどでTNF変換した際、内部要素にタグが含まれてしまい、意図しない
stringタグでのエラーが発生していましたが、これを抑止する対応となります。
また、各テンプレートについてもstringタグに対してstriptagのオプションを有効にして
います。
□■ 2023/1/6版
■ 機能追加
・疑似小口染め機能追加
疑似小口染めを付与する機能を実装しました。
これに伴い、プロファイルに新しい定義が追加されています。
PseudoEdge_type = 0 # 疑似小口染めタイプ(0:ノド染無、1:ノド染有)
PseudoEdge_width = 8 # 疑似小口染め幅(pt)
PseudoEdge_color = "*a91781" # 疑似小口染め色(*RRGGBB)
PseudoEdge_radius = 10 # 疑似小口染め角丸め半径(pt)
コマンドライン版では『-g』オプションを設定することで疑似小口染めが適用されます。
■ 機能追加
・引数付きマクロ機能実装
これまで『&定義名;』でvalueタグと同等の機能を持つようになっていましたが、この記法を
拡張し、引数を付与することが可能になりました。
例:
===========================================
<define name="design_section">
<br/>
<font size="%MACRO_OPT[1]%">★<!--%MACRO_OPT[0]%-->★</font><br/>
<br/>
</define>
<define name="large" value="200%"/>
<define name="big" value="250%"/>
&design_section("でざいんたいとるていぎ", "%large%");<br/>
===========================================
この記載の場合、『&design_section(~~);』は以下のように展開されて処理が行われます。
===========================================
<define name="MACRO_OPT[0]" value="でざいんたいとるていぎ"/><define name="MACRO_OPT[1]" value="200%"/>
<br/>
<font size="%MACRO_OPT[1]%">★<!--%MACRO_OPT[0]%-->★</font><br/>
<br/>
<undefine name="MACRO_OPT[0]"/><undefine name="MACRO_OPT[1]"/>
===========================================
引数はMACRO_OPT[n]と定義され、マクロ内部で定義値として参照することができます。
※なお、undefineタグは本実装に伴い実装された未公開タグです。
(マクロ後に誤作動を防ぐため、明示的に無効化を行っています)
2022/10/15修正:マクロ機能実装時に一部タグでデータが消失するバグが混入したため修正。
■ 仕様変更
・GUI版UI改善
GUI版のUI周りを修正しました。
-GUI挙動の修正
-表示フォントを『游ゴシック』に変更
-表示フォント変更に伴うUIの調整
□■ 2022/12/21版
■ 仕様変更
・imgタグclass="inline"比率指定仕様変更
img class="inline" widthオプションにて比率指定(%)された場合、文字サイズを基準に画像の幅を
決定していましたが、横幅の場合は行間も含めないとバランスが悪いため、
『(文字サイズ+行間)*比率 - 行間』
の計算式に改めました。
なお、比率計算後に行間以下のサイズとなった場合には行間サイズを差し引きません。
□■ 2022/12/04版
■ バグ修正
・textareaタグ内で半角文字を使用した場合エラーとなる問題の修正
textareaタグ内で半角文字を使用した場合、フォント情報が読み出せないというエラーが
発生する問題を修正しました。
□■ 2022/10/25版
■ バグ修正
・プロファイル保存機能で保存したプロファイルがコマンドライン版で使用できない問題の修正
GUI版で保存したプロファイルがコマンドライン版で使用できないという問題を修正しました。
テンプレートバリエーション機能実装当初からのバグが複数存在しており、GUI版でそのまま
使用する場合には問題が発生しませんが、コマンドライン版ではチェック機構が異なるため、
存在しないテンプレートバリエーションが選択されてしまうという問題が発生しました。
立蒼さん、報告まことにありがとうございました!
□■ 2022/7/12版
■ 仕様変更
・『開始ページ番号補正』の下限をマイナス値(-10以上)に変更
詳細設定⇒『開始ページ番号補正』に設定できる値の範囲をこれまでの『0』から下限値を
『-10』に変更しました。
コマンドライン版の範囲も同様に『-10』以上に変更しました。
□■ 2022/5/29版
■ 仕様変更
・設定エラーの詳細表示追加
GUI版のプロファイル・詳細設定についてエラーメッセージが表示されるように改修しました。
これまでエラー項目に赤反転を行ってエラーを示していましたが、詳細が表示されていなかったため、
変換ボタンを押した段階で具体的なメッセージがでるように修正しました。
・Numberタグ仕様変更
Numberタグのformatオプションに『alphanumeric』『normal』バリエーションを追加、
桁数指定オプション『digit』、出力方式指定オプション『mode』を追加しました。
formatオプション追加
※以下のバリエーションの場合、最大数は100000になります。
alphanumeric:横書き数値(配置はhorizontalタグで処理)
normal :縦書き数値(配置はalphabetタグで処理)
digitオプションはalphanumeric・normalバリエーションのみで有効になる桁数指定
オプションです。
例:
<number format="alphanumeric" digit="06.02" value="13.2"/> ⇒ 013.20
modeオプションは数値文字列の出力先を変更します。
modeオプションに"define"を指定すると、nameに指定された値で定義値を設定します。
"define"が指定された場合、数値文字列は文章上に出力されません。
(valueタグや"<!--%..%-->"などで定義展開する必要があります)
例:
<number name="NUMBERSTR" mode="define" digit="06.02" format="normal" value="13.2"/>
【<!--%NUMBERSTR%-->】
⇒ 【013.20】
また、modeオプションが指定された場合は、無名ナンバリングは使用できませんのでご注意ください。
・PreTNF(テキスト)⇒PDF変換時のエラー行番号表示追加
これまでTNF⇒PDF変換時にエラー対象付近のファイル名・行番号を表示していましたが、
PreTNF⇒PDF直接変換時にPreTNFの行番号を表示するようにしました。
(紛らわしいため、TNFとしてのファイル名・行番号は表示しないようにしました)
・デフォルトテンプレートの奥付仕様変更
デフォルトテンプレートの奥付は、これまで各項目が未設定の場合でも、項目の箇所が
空欄としてスペースが空いていました。
これを項目の増減に合わせて配置を調整、スペースが無くなるようにテンプレートを
改修しました。
また囲いの罫線の太さも細めに調整しています。
□■ 2022/3/xx版
■ 機能追加
・palingタグimgモード実装
palingタグのオプションtypeに『img』タイプを追加しました。
type="img"専用のオプション『src="画像ファイル名"』で画像ファイルを指定することで
palingタグの背景に画像を配置することができます。
・例
<paling indentation="10" characterup="7"
type="img" src="img/paling.png">
<font size="150%"><br/> 石の中にいる……<br/><br/></font>
</paling>
なお、配置される画像はplingの領域に合わせて変倍して配置されます。
また、PreTNFでも以下のように実装しています。
・例
#囲:絵:img/paling.png:開始#
石の中にいる……
#囲:終了#
・QRコード画像生成機能実装
img/imageタグに『qrcode』オプションを追加しました。
qrcodeに指定された文字列をQRコードに変換します。
例:
<img width="200%" class="inline" qrcode="テストQRコード,http://tokimi.sylphid.jp"/>
『\n』または『,』で区切ると改行を入れることができます。
□■ 2022/2/21版
■ バグ修正
・フォントエラー発生時に動作不能になる問題の修正
破損したフォントファイルをGUI版で指定すると異常状態になり、以後正常に動作しなくなる
問題がありました。
この問題を修正し、破損したフォントファイルを読み込んでもエラーを出力して動作を継続
できるように修正しました。
□■ 2022/4/17版
■ 仕様変更
・分離禁則処理シナリオ修正
分離禁則処理で連続ダッシュがダッシュ置換(罫線で置換済み)の場合の処理シナリオを
修正しました。
これまでは行に詰め込む処理になっていましたが、改行した方がよいパターンが多いため、
処理シナリオを変更しました。
■ バグ修正
・禁則文字が連続していないにも関わらず連続禁則として扱われてしまうパターンの修正
連続禁則文字処理が禁則文字が連続していないパターンでも反映されてしまう場合があり、
その修正を行いました。
例えば行末に"『ファファファ』"という文字列があった場合が該当します。
("『"と"ァ"は行頭禁則文字ですが、途中で"フ"が入っているため本来連続扱いにはならない)
・タグオプションの数値が正常に取得できないパターンの修正
numやsizeなどで整数値の入力を想定しているオプションに小数点を含んだ数値を指定
した場合、正常に値を取得できない問題を修正しました。
(例えば"10.11"と指定されると"10"ではなく"11"として扱われていました)
□■ 2022/3/21版
■ バグ修正
・imageタグのサイズ指定が正常に動作していない問題の修正
imageタグにてサイズ指定を行った場合、画像が正常に処理されず、該当PDFページが
破損した状態になってしまう問題を修正しました。
・00_A6_bygプロファイルのテンプレート指定の問題修正
00_A6_bygプロファイルのデフォルトテンプレート指定が不正な値になっていたため修正
しました。
・定義名に特定の記号が含まれているときに不正な動作となる問題の修正
定義名に"["や"("などの文字が含まれていた場合に正常に動作しないパターンがありました。
これらの文字が含まれていても正常に動作するように修正しました。
□■ 2022/2/20版
■ バグ修正
・GUI版にてPNGファイル指定を含んだTNFファイルの変換時にエラーが発生する問題
PNGファイルが含まれたTNFファイルをGUI版で変換する際にエラーが発生する問題について
修正を行いました。
(これに伴い配布ファイルのサイズが増えております)
■ 仕様変更
・行末ルビ配置の改善対応
ルビのベース文字が行末を越え、かつ行の残り文字数が1文字以下でルビ配置がされる
パターンについて、行送りを実施するように修正しました。
送られたルビは次行で展開され、前行については1文字分均一配置を行う処理としました。
□■ 2022/1/22版
■ 機能追加
・Identity対応
PDFの出力文字集合に『Identity』が追加されました。
PDFJのIdentity対応パッチの取り込みとそれに伴う改修を実施しています。
Identity対応に伴い、
- しっぽり明朝などのIdentity以外では動作しないフォントの対応
- KindleなどのIdentityの文字集合にしか対応していない端末への対応
- Unicode定義済み絵文字の対応(※フォントによって対応がマチマチですが)
- フリーフォントで対応されている濁点付与外字の対応
これらが実現出来るようになりました。
GUI版:『詳細設定ウィンドウ』⇒『文字コード』で「Identity」を選択
コマンドライン版:オプション『-c』で「Identity」を指定
なお、今回の改修に伴い、コマンドライン版で指定することが出来る文字集合を予めチェックするように修正しています。
(以前はチェックしておらず、そのまま出力ライブラリに渡してしまっていたので、そこでエラーとなる可能性がありました)
・濁点・半濁点付与外字対応
テキスト⇒TNF変換時に『○゛』("゛"は濁点もしくは半濁点文字)と列んでいる場合に、これまではoverlapタグまたはbindタグ
で置換する処理となっていましたが、bindタグのパターンの場合に、外字を使用するかを設定することが出来るようになりました。
現時点では、『源暎こぶり明朝』・『源暎ちくご明朝』、『しっぽり明朝』で動作を確認しています。
なお、外字サポート範囲外の文字が指定された場合は、bindによる合成に切り替える処理になっています。
これら濁点外字サポートのフォント以外では該当する外字が実装されていないため文字化けしたファイルが生成されますので、ご注意ください。
(GUI/コマンドライン版ともにガード処理は現時点では実装していません。Web版は使用されるフォントがサーバ側にあるためガードしています)
- GUI版
詳細設定⇒テキスト変換設定⇒『濁点・半濁点置換設定』でbindモードと外字モードが選択することができます。
- コマンドライン版
テキスト変換オプション『-m』の『DM:』パラメータに0/1の他に2が追加しています。
0:overlapモード、1:bindモード、2:外字・bind併用モード
・ベンチマークモード実装
コマンドライン版に変換速度を計測するためのベンチマークモードを実装しました。
オプション『-B』を付けると有効になり、変換処理後に開始時間と終了時間、
時間差分を表示するようになります。
・imgタグにclass="inline"を実装
imgタグに文中・行中に画像を差し込める新しいモードclass="inline"を実装しました。
width/heightオプションによりサイズを指定するとそのサイズで画像を配置します。
なお、サイズ指定が無い場合は残り文書領域に合わせたサイズで配置されます。
※width/heightオプションはclass="inline"専用となります。
※指定されたサイズが文書領域を越える場合には範囲に収まるように縮小されます。
これに伴い、PreTNFにもclass="inline"に対応する以下のタグが追加されました。
#IMG:I#
#挿絵:文#
#IMG:I:<サイズ>#
#挿絵:文:<サイズ>#
サイズ指定がある場合、widthオプションが文字との比率で指定されたと同等となります。
変換イメージ
#挿絵:文:5# img.jpg
↓
<img class="inline" src="img.jpg" width="500%"/>
・PNGファイルの処理高速化
PNGファイルに対する処理を高速化しました。
これまで挿絵などでPNGファイルを指定するのは処理が遅いため非推奨としていましたが、
今後は現実的な速度でPDFへ組み込むことが可能となりました。
・画像データの重複排除対応
PDFファイルに取り込まれる画像データの重複を防ぐ対策を行いました。
これまで同ファイル・同配置サイズの画像データは同じデータを使い回してPDFを生成
することにより、PDFファイルの肥大化を防いでいましたが、異なる配置サイズの場合は
同じデータとして見なさないため、重複してPDFに取り込まれていました。
この仕様について、異なる配置サイズでも同じ画像データを参照することにより、PDF
ファイルの肥大化を防ぐ対策を実装しました。
■ バグ修正
・imageタグでの画像サイズの不正問題修正
テンプレート向け画像配置タグimageにおいて、width/heightの指定されていない場合は、
画像サイズをポイントとみなして処理を行う仕様でしたが、これが正常に動作していません
でした。
この問題を修正、width/heightが指定されていなくても画像が配置されるようになりました。
□■ 2021/12/25版
■ バグ修正
・行末に連続禁則文字がある場合に組版が不正になる問題の修正(再修正)
前回同件を修正しましたが、修正方法に問題があり、別の問題が発生していました。
修正方法を見直し、再度修正を行いました。
■ 機能追加
・4ページ折本モード実装
主にA4用紙を二つ折りにすることで4ページの折本を作成するモードを追加しました。
コマンドライン版では出力形式オプション(-O)に『4』を指定してください。
□■ 2021/12/05版
■ バグ修正
・font/marginタグのcoordinateのgobalとlocalの扱いが逆転している問題の修正
font/marginタグテンプレート向けのオプション『coordinate』の取り扱いが
逆転している問題があったため修正いたしました。
・行末に連続禁則文字がある場合に組版が不正になる問題の修正(再修正)
前回同件を修正しましたが、修正方法に問題があり、別の問題が発生していました。
修正方法を見直し、再度修正を行いました。
■ 機能追加
・4ページ折本モード実装
主にA4用紙を二つ折りにすることで4ページの折本を作成するモードを追加しました。
コマンドライン版では出力形式オプション(-O)に『4』を指定してください。
□■ 2021/11/25版
■ バグ修正
・行末に連続禁則文字がある場合に組版が不正になる問題の修正
行末に連続的に禁則文字が列んでいた場合、禁則処理が不正になる問題がありましたので、
修正を行いました。
(現象発生時は文字と禁則文字との間に空白が空きます)
・stringタグのalign及びvalignオプションで配置が不正になる問題の修正
stringタグのalign="center"またはvalign="middle"指定時に中心位置からずれた位置に
配置される問題が報告されたため、修正を行いました。
(これに伴いこれまで『中心』となっていた場所からは、ずれますのでご注意ください)
□■ 2021/07/25版
■ バグ修正
・文字属性指定時の不具合修正
TNFParser2以降、文字に対して『属性』を指定することが出来るようになっていますが、
属性として指定した文字と実際の文字が異なる場合(半角文字に全角文字属性を割り当てるなど)、
組版が正常に行われない問題があり、これを修正しました。
・sideline/strikeの波線指定が動作しない問題の修正
sideline/strikeの波線指定がTNFParserNG開発時のミスにより動作しない状態となっていました。
これを修正しています。
■ 機能追加
・背景矩形配置無効化対応
背景色に『1』もしくは『#ffffff』を指定した場合、背景色を実現する為に配置している矩形を
配置しないPDFを生成するように修正しました。
・palingタグ追加
文中へテキストボックス状に文面を配置するタグ『paling』タグを実装しました。
このタグで囲まれた範囲は、指定された値で字下げ、字上げされ、また罫線による囲いを指定
することが出来ます。
<paling indentation="5" characterup="3">囚われの文面</paling>
オプション説明
indentation 字下げの数を指定します。
characterup 字上げの数を指定します。
indentationとcharacterupの組み合わせで文面の配置が決まります。
つまり『行長 - indentation - characterup』がtextboxで囲まれた文章の行長となります。
上記の例では行長が42文字の場合、6文字目から開始、34文字までとなります。
なお、元の行長から3分の1以下の長さとなる場合はエラーとしています。
type 線の種別を指定します。指定無しの場合は直線が引かれます
『dotted(破線)』『double(二重線)』『wave(波線)』『none(線無し)』
を指定することができます。
width 線の太さを指定します。デフォルトは0.5ptになっています。
color 線の色、もしくは線の濃さを指定することができます。
デフォルトは0(黒)です。
palingタグ前後で改行処理を行うため、不自然な空行が入る場合がありますが、仕様ですのでご了承ください。
・『囲/PALING』PreTNFタグ追加
palingタグに対応するPreTNFタグを追加しました。
○指定方法(日本語)
#囲:開始# or #囲:<種別>:開始#
***
#囲:終了#
※種別は:『二重』・『波』・『点』・『無』が指定できます。
○指定方法(欧文タイプ)
#PALING:START# or #PLAING:<TYPE>:START#
***
#PALING:END#
※TYPEは:『double』・『wave』・『dotted』・『none』が指定できます。
■ 仕様変更
・ファイル更新チェック処理修正
GUI版のプロファイルファイル監視及び常駐モードのファイル監視について、監視属性の仕様を変更し、
ファイルサイズと更新時間のみ参照するように変更しました。
最近のWindowsでは、ユーザ側の更新が無くても更新したと情報を返すパターンがあるため、
監視対象を絞り込むことで不要なリロードを防ぐようにしました。
□■ 2021/03/09版
■ バグ修正
・禁則処理により文字が重なる場合がある問題の修正
行の大半を禁則文字で埋まっている場合に禁則処理による調整で文字が重なったり、過大なアキが
出来てしまう問題を修正しました。
・indentタグが正常に機能しない場合がある問題を修正
indentタグにて全角スペースによるインデントを行っている場合、禁則処理の行頭全角空白削除機能により
削除されてしまい、正常に動作しなかった問題を修正しました。
また、インデント中の改ページ時にインデントが反映されない問題も修正しました。
・ttcフォントファイルが正常に取り扱えない問題を修正
プロファイルにてttcフォントが指定されていた場合、正常に読み込めなかった問題を修正しました。
ttcに関するGUIの表示処理も修正も行い、プロファイルリロード時にプロファイルの設定値に戻らない
パターンについても修正を行いました。
また、プロファイル保存機能についても、ttcのフォント番号を取り扱えるように修正を行いました。
※全てGUI版に関しての修正となります。
■ 仕様変更
・デフォルトテンプレートバリエーション『ページタイトル上方左右・ページ番号下部左右配置』を追加
デフォルトテンプレートに『ページタイトル上方左右・ページ番号下部左右配置』バリエーションを追加しました。
タイトルは天左右、ノンブルは地左右に配置されます。
□■ 2021/02/21版
■ バグ修正
・ベース文字サイズ変更時、ルビの配置が正しくならない問題の修正
ベース文字を拡大・縮小した際、その範囲内にあるルビについて明示的に指定されていない場合は
ルビサイズ及びルビ位置を自動調整する実装していますが、このうちルビ位置の計算式が誤っており、
意図しない配置となる場合があるため修正を行いました。
□■ 2021/02/13版
■ バグ修正
・青空文庫変換が正常に動作しない問題の修正
TNFParser2実装時に行った修正に問題があり、青空文庫フォーマットの変換処理が正常に動作しない問題を修正しました。
■ 仕様変更
・詳細設定ウィンドウのフィールドにTips(マウスオーバーで表示されるヘルプメッセージ)を追加。
詳細設定ウィンドウの入力ボックの一部にTipsによるヘルプが記載されていなかったものがありました。
開始ページ番号補正や隠しノンブル、常駐モード、目次ファイル出力などに記載を追加しています。
□■ 2021/02/06版
■ バグ修正
・行頭禁則文字が不正に配置される問題の修正
行末で行頭禁則文字が連続した場合の補正処理に不備があり、正しい文字配置にならない問題を修正しました。
□■ 2021/02/02版
■ 仕様変更
・TNFParser2実装版へ切り替え
TNFParser2実装の開発版を通常リリースに移行しました。
これまでの『通常リリース』を使用したい場合は、メンテナンスリリースをご利用ください。
メンテナンスリリース版との大きな変更点は、このChangeLogの『2020/10/14版』『2021/01/18版』をご参照ください。
□■ 2021/01/18版
■ 仕様変更
・最終ページ出力モード実装
出力ページ設定に本文の最終ページのみ出力する『最終ページ出力』の機能を追加しました。
この機能を有効にすると、出力形式が1ページ単位、付加情報の目次・奥付が無効になり、本文最終ページのみのPDFが出力されます。
常駐モードで出力結果を確認しながら執筆する際に出力ページ数を削減して変換速度を高速化するために実装しました。
なお、コマンドラインモードでも出力モード指定オプション『-O』で"L"を指定することにより、最終ページ出力モードとなります。
・変換完了通知ON/OFF(常駐モード)
常駐モードにて変換完了後にバルーンが表示されていましたが、小まめに保存・変換しているとかなり邪魔であることが分かったため、
バルーンによる通知を詳細設定でON/OFFすることができるようにしました。
また、常駐モードでの変換処理時にタスクトレイのアイコンにアニメーションを追加し、変換中であることを認識できるようにしました。
■ バグ修正
・テキスト⇒TNF変換時にルビマッピング無効の場合、傍点タグ変換が行われない問題の修正
ルビマッピング処理を無効に設定した状態でテキスト(PreTNF)⇒TNF変換を行った場合、傍点指定("***")が、
TNFタグ変換が行われず、そのまま出力されてしまう問題を修正しました。
・フォントパスに日本語が含まれている時エラーが発生する場合がある問題の修正
フォントファイルのパスに特定日本語文字(例えば『ー』)が含まれている場合、フォントファイルのチェック処理が失敗して、
例外エラーが発生していた問題を修正しました。
□■ 2020/12/07版
■ 仕様変更
・-Rオプション追加
コマンドライン版にてPDF出力ページ範囲を指定するオプション『-R』を追加しました。
例:
> Izuna_cmd.exe -f sample\zan01_sample.tnf -i -k -t -R 5-10,12,22,31
□■ 2020/12/03版
■ バグ修正
・起動時のプロファイルチェック処理修正
起動時にプロファイルを読み出しを行う際、フォントが見つからない場合にエラーメッセージのダイアログが大量に出力される問題を修正しました。
また、起動時のプロファイルチェック処理を一括して行うように修正することで、起動速度が若干向上しました。
□■ 2020/10/14版
■ 仕様変更
・新組版システムTNFParser2を実装しました。
長らく開発中となっていたTNFParser2を開発版に反映しました。
主に以下の点が変更されています。
-禁則処理
行頭禁則の"」"などがそのままぶら下がってしまう実装となっていたものを字詰めを行ってから配置するようになりました。
行頭禁則の記号"!"などが字詰めされて配置されるようになりました。(以前は禁則処理対象外としていました)
分離禁則の処理を改善し、ダブルダージの途中で改行される場合は字詰めを行って配置するようになりました。
句読点の禁則処理を見直し、通常はこれまで通り行端外に配置しますが、行にアキがある場合は行端に詰める処理になりました。
-連続約物処理
"「「"や"」」"などの連続約物を詰める処理が標準で実装されました。
-行頭空白処理
1文中(明確な改行指示(~やbrタグ)まで)の2行目以降で空白が行頭に配置される場合は、空白を除去するようになりました。(段落誤読防止)
-行頭始め括弧のアキ除去
1文中(明確な改行指示(~やbrタグ)まで)の2行目以降で始め括弧が行頭に配置される場合は、アキを除去して配置するようになりました。
-行揃え処理
約物詰め処理などにより行端がバラバラとなってしまわないよう、行端を調整する処理を実装しました。
・エラーメッセージ強化
TNFのエラー発生時に発生箇所の行番号が表示されるようになりました。
なお、PreTNF(テキストファイル)ではTNF変換後の行番号が表示されますので、ご注意ください。
・stressタグ仕様変更
圏点タグstressの実装が変更され、stressタグ内にタグを入れ籠で書くことが出来るようになりました。
・alertタグ実装
テンプレートデバッグ向けにalertタグを実装しました。
nameで指定した定義値を展開して表示、もしくはタグの要素で囲まれた内容を表示することができます。
例:
<alert name="DATA1"/>
<alert>あらーと!</alert>
<alert><!--%STEP1%-->あらーと!</alert>
コメントタグによる定義の展開も可能ですので、デバッグ用途で使えると思います。
なお、GUI版ではダイアログが表示されますが、連続表示を避ける為、キャンセルを押すと以降のアラートは表示しない実装になっています。
(OKを押すと次回も表示します)
コマンドライン版ではそのまま標準エラー出力に表示します。(-qの影響は受けません)
・bindタグ仕様変更
bindタグが拡張され、バインドする文字の配置や色指定が可能になりました。
フォント指定:name="fontname" ※fontmapで指定した名前
色指定 :color="*FFAABB"
文字方向指定:direction="V" or "H"
縦位置指定 :valign="top/middle/under"
横位置指定 :align="left/center/right"
文字前後指定:depth="1" "-1" "-2"...etcetc
□■ 2020/10/4版
■ バグ修正
・underタグが正常に動作しない問題の修正
underタグで指定した文字列が正常に地付きにならない問題を修正しました。
・<img class="char">(画像外字指定)のruby指定が無い場合でも、ruby付与処理が動作する問題の修正
画像外字指定『<img class="char">』使用時、rubyオプションによるルビ指定が無い場合でも全角空白のルビが付与されていた問題を修正しました。
・停止ボタンが動作しない問題の修正
GUI版にて変換処理中に停止ボタンが押せず、中断が出来ない問題を修正しました。
また、停止するタイミングによって中断メッセージではなく、終了メッセージが表示される場合がありましたので、合わせて修正しています。
・目次ファイルが無限増殖する問題の修正
目次ファイル生成が有効となっている状態で常駐モードに設定すると、PDF変換後に生成される目次ファイルが『<PDFファイル名>_index.txt』
であるため、このファイル自体が変換対象となってしまい、PDF変換と目次生成を無限に実行してしまうという問題を修正しました。
『<PDFファイル名>_index.txt』を監視対象外とすることで対応しています。
■ 仕様変更
・PreTNFの挿絵指定に『C』or『字』を追加
これまで挿絵指定は『右(R)』『左(L)』『次(N)』『此(H)』でしたが、これに『字(C)』を追加しました。
この『字(C)』は、文字の代わりに画像を配置します。
■ 指定例
文字画像置き換え『
#挿絵:C# img/04_mikoto_50_03.jpg
#挿絵:字# img/04_mikoto_50_03.jpg
』
■ TNF展開例
文字画像置き換え『
<img class="char" src="img/04_mikoto_50_03.jpg" />
<img class="char" src="img/04_mikoto_50_03.jpg" />
』~
□■ 2020/7/21版
■ バグ修正
・プロファイル保存機能で保存したプロファイルが文字化けする問題の修正
プロファイル保存機能を使用して、カスタムプロファイルのファイルを新規作成した場合、文字化けを起こしてしまう問題を修正しました。
(既に存在しているファイルに追記する場合には問題ありませんでした)
以前プロファイルファイルの文字コードをSHIFT JIS以外に対応する改修をしたときに新規作成時の考慮が漏れていたためでした。
・フォントファイルサーチエラー問題修正
GUI上で指定したプロファイルのフォントファイルのパスに日本語が混じっていた場合、正常に動作しない問題があったため、修正を行いました。
■ 仕様変更
・色指定オプション仕様変更
これまでfontタグなどの色指定オプションは『#FFFFFF』形式となっていましたが、プロファイルのカラー指定同様『*FFFFFF』の
形式を受け付けるように変更しました。(以降プロファイルと指定形式が同じとなる『*FFFFFF』の指定を推奨します)
仕様変更タグ:font/sideline/strike/centerline/line/box/ring/bind
・文字列参照置換処理の仕様変更
これまで文字列参照置換(&xxxx;形式)は、小文字のみ、かつアンダーバーが『対象外』としていました。
これを改め、大文字とアンダーバーを許容するように仕様を変更を行いました。
・PreTNFの挿絵指定に『H』or『此』を追加
これまで挿絵指定は『右(R)』『左(L)』『次(N)』でしたが、これに『此(H)』を追加しました。
この『此』は、この挿絵指定が出現したページへ挿絵を配置します。
■ 指定例
#挿絵:H# img/04_mikoto_50_03.jpg
#挿絵:此# img/04_mikoto_50_03.jpg
■ TNF展開例
<nopagenum><img src="img/04_mikoto_50_03.jpg" /><newpage /></nopagenum>
<nopagenum><img src="img/04_mikoto_50_03.jpg" /><newpage /></nopagenum>
なお、指定の特性上、本文途中で指定した場合は"本文の背景"となりますので、ご注意ください。
・プロファイル定義値参照機能追加
本文及びテンプレートからプロファイルの定義値を参照する機能を追加しました。
プロファイルに定義している名称に接頭子『PROFDEF_』をつけた定義名で参照することができます。
例:BaseSize_X(1ページの横幅)
<value name="PROFDEF_BaseSize_X"/>
<!--%PROFDEF_BaseSize_X%-->
プロファイルに直接定義されていない、定義されていても使いにくい一部値については以下の定義で読み出すことができます。
PROFDEF_Nodo :ノド(横幅-小口-(フォントサイズ+行間)*行数)
PROFDEF_Footer_M :地(縦幅-天-(フォントサイズ*行文字数))
PROFDEF_StepsNum :段数(Stepsの前の値)
PROFDEF_StepsHeight:段間サイズ(Stepsの後ろの値)
・テンプレートバリエーション機能仕様変更
テンプレートバリエーション機能の仕様を一部変更しました。
これまではテンプレート設定ファイルで『TMPLDEF_』が付与されている定義をテンプレートから読み出せる仕様となっていましたが、
プロファイル定義値参照と仕様を揃えることとし、
- テンプレートだけでなく本文でも定義値を参照可能に変更
- 『TMPLDEF_』が付与されていない定義も『TMPLDEF_』を付与することで参照可能に変更
のように仕様を変更しました。
・青空文庫/なろう形式のルビ処理の仕様変更
青空文庫・なろうのルビ形式は、
|ベース文字《ルビ文字》 ⇒ <ruby text="ルビ文字">ベース文字</ruby>
漢字《ルビ文字》 ⇒ <ruby text"ルビ文字">漢字</ruby>
ですが、
漢字|《ルビにしない文字》 ⇒ 漢字《ルビにしない文字》
という、《》をルビに変換しない指定形式がありましたので、追加で対応しました。
(|《の間に文字が無い場合のみ機能しますのでご注意ください)
■ 読もうコンバータ更新
・データ取得失敗時の対応
読もうからデータが取得出来なかった場合にアプリが例外で落ちないように修正しました。
・縦中横追加対応
2桁の数値については縦中横になるようにしました。
また、一桁の半角英数字についても横倒しではなく、縦になるように変更しました。
・圏点変換
読もうの圏点指定(ベース文字分に『・』を割り当てている指定)について、威沙の圏点タグ(stress)に
置き換えるように変更しました。
・ルビ変換
読もうのHTMLベースのルビタグを威沙のルビタグ形式置き換えるように変更しました。
□■ 2020/5/3版
■ バグ修正
・アップデート機能修正
アップデートファイルのダウンロード時にプログレスバー(進捗表示)が正常に動作していなかった問題を修正しました。
・defaultテンプレートの目次配置バグ修正
defaultテンプレートの目次の二段目八番目の座標定義名称に誤記があり、正常に配置されていなかった問題を修正しました。
・青空形式ルビ変換処理修正
ルビベース文字の前に『“』があった場合、この記号もルビベース文字として誤認識してしまい、ルビマッピングが正常に処理されず、
生成したTNFをPDF変換するとエラーとなってしまう問題がありました。
『“』及び『”』をルビベース文字の対象外とすることで問題を回避するように修正しました。
(PreTNF⇒TNF、青空⇒TNF双方を修正しています)
■ 仕様変更
・defaultテンプレートの項目無効化対応
タイトルや作者名、イラストレーター名などに全角空白『 』(一文字)を設定することで、該当の項目を出力を無効にする修正を行いました。
(default以外では展開の予定はありません)
※これは実質、Web版にて項目を無効にする場合の対応となります。
・隠しノンブル仕様変更
隠しノンブルは通常のノンブルと別扱いとしていましたが、Web版威沙で問題があったことと、元々紛らわしい実装であったため、
これを取りやめ、通常ノンブルと隠しノンブルは連動するように変更しました。
これに伴い、隠しノンブルの開始番号指定は削除となり、詳細設定およびコマンドライン版のオプションから削除しました。
また、通常ノンブルと一致するようになったことに伴い、電子書籍モード・1ページモード以外でも隠しノンブルが動作するように修正しました。
□■ 2020/1/31版
■ 仕様変更
・動作環境更新
perlのバージョンを5.30にアップデートしました。
また周辺ライブラリも合わせて更新しています。
□■ 2019/12/31版
■ バグ修正
・PDFライブラリ内でのエラー発生後にGUI版が動作しなくなる問題の対応
威沙はPDF出力ライブラリ『PDFJ』を使用していますが、エラー発生時に例外を投げるため、エラーメッセージ出力後に
GUIが正常に動作しなくなるという問題がありました。
そこで威沙側で例外をハンドリングしてエラーが発生してもGUIが制御不能にならないガードを追加しました。
・underタグとfontタグの組み合わせ順によって意図しない配置となる問題の修正
underタグとfontタグ(サイズ指定)の指定順番によって意図しない配置となる問題を修正しました。
以下の例で、『1』は意図通りの配置(2行目が地付き)になりますが、『2』の指定では意図しない組版となる場合がありました。
1
<font style="chapter">タイトル前半、</font>~
<under><font style="chapter">タイトル後半</font></under>~
2
<font style="chapter">タイトル前半、</font>~
<font style="chapter"><under>タイトル後半</under></font>~
■ 仕様変更
・隠しノンブル出力指定仕様変更
出力形式が『電子書籍向け』もしくは『1ページ単位』以外の場合では隠しノンブルの番号を出力しないように変更しました。
隠しノンブルはPDFのページ番号を出力する仕様のため、元々上記の出力形式以外ではページ番号と不一致となってしまうのは
避けられません。これは紛らわしい仕様でしたので、出力を無効にするようにしました。
・開始ページ番号指定名称変更
詳細設定ウィンドウ⇒ページ設定の『開始ページ番号指定』ですが、厳密には開始番号の『補正値』を入力する項目ですので、
『開始ページ番号補正』に名称を変更しました。
・隠しノンブル位置補正対応
これまで隠しノンブルは左もしくは右下の仕上がり領域内に配置するようになっていましたが、仕上がり線ギリギリだと、
印刷所によっては断ち切れてしまう場合があるため、これを補正するための機能を追加しました。
仕上がり線からの距離をptで指定することで隠しノンブルの配置を変更することが出来ます。
(10ptなら概ね3.5mm程度位置が移動します)
GUI版は詳細設定ウィンドウ、コマンドライン版は『-H』オプションに指定を追加しています。
□■ 2019/10/22版
■ バグ修正
・ルビ途中での改ページされた場合不正な組版となる問題の修正
ルビ途中にて改ページに一部の文字が前ページの存在しない行に配置されてしまうという現象に対して修正を行いました。
以前行ったルビ途中での改行時にバランスの悪い配置となる問題の修正に伴って発現してしまった問題でした。
・行末にimg class="char"が来た場合、不正な組版になる問題の修正
行末にimgタグのclass="char"が来た場合、正常に組版されない(行からはみ出て配置される)という現象に対して修正を行いました。
・行末でimg class="inline"が来た場合、不正な組版になる問題の修正
正式には未公開となっているimgタグのclass="inline"が行末に場合、正常に組版されない(画像のサイズがおかしな大きさになる)
という現象に対して修正を行いました。
※inlineは現時点では非公開オプションのため、ご注意ください。
□■ 2019/08/12版(開発版)
■ バグ修正
・テンプレート機能サンプルの名称修正
テンプレート機能サンプル『templatetest』のフォルダ名が『tempatetest』になっていたため、修正しました。
■ 仕様変更
・隠しノンブル開始番号変更
隠しノンブルはこれまでPDFのページ番号と連動するようになっていましたが、開始番号を任意に変更できるように機能を変更しました。
デフォルトではこれまで通り『1』から開始となっています。マイナス値も指定できますので、出力PDFを切り貼りして他のPDFと合成する場合にも有用だと思います。
設定は、GUI版は詳細設定ウィンドウから設定を行い、コマンドライン版は『-H <サイズ>,<濃度>,<開始番号>』と既存のオプションにカンマ区切りで指定してください。
■ 機能追加
・テンプレートバリエーション機能実装
テンプレートバリエーション機能を実装しました。
これまで多少の変更でもテンプレートセットをまるごと作らなければなりませんでしたが、テンプレートコンフィグファイル『template.conf』の
機能を拡張することで、プロファイルのようにバリエーションを定義することが可能となりました。
※記載方法については『default』テンプレートの『template.conf』を参照してください。
これに伴い、『default』テンプレートを多少修正したようなテンプレートについては、『default』へ統合する方向としました。
『default』へ統合されたテンプレート
1paper_8page_book
B6template
sironeri
また、これまで『default』ではノンブル・タイトルの配置が微妙だったA4複数段組については、『default』のバリーションで座標調整したものを適用するようにしました。
・計算タグ『formula』タグ実装
演算を行って定義値を更新するタグ、formulaタグを実装しました。
基本的な四則演算を行い、その決算結果を返します。
※現時点ではまだ試験実装であるため、使用にはご注意ください。
記載例:
<formula name="RESULT" expression="1+1"/>
<define name="X" value="20"/>
<formula name="RESULT"/>
15*(%X%+10)
</formula>
<formula name="TEMP" expr="1.5*20"/>
機能サンプルテンプレート『templatetest』のindex.tnfに対して、これまで力技で並べていた目次をループ処理で展開するようにしたバージョンに更新しました。
いずれ『default』テンプレートもこちらの方式に切り替えて行く方針です。
□■ 2019/07/01版
■ バグ修正
・常駐モード監視タイマエラー対策
常駐モード使用時、ファイルを変換中に常駐解除を行った場合、エラーが発生する時がある問題を修正しました。
なお、常駐解除時に変換途中だった場合は、変換を中断させるように仕様を変更しています。
また、変換対象より変換先PDFファイルが新しい場合には変換処理を行わない対応も合わせて行っています。
・ルビ配置問題修正
『3文字以上のルビが付く1文字が行末に来た場合、ルビとベース文字が別れてしまう』現象について修正を行いました。
表示上では行末の何も無いところにルビが配置され、ベース1文字とルビ2文字目以降が次行に配置されてしまっているように見えます。
これは内部的にはルビのバランス処理が適用されており、その調整用空白にルビが振られている状態となっていました。
そこでこの条件に当てはまる場合は、バランス処理による空白付与は無効にする対応を行いました。
■ 仕様変更
・インストール関連修正
生成バイナリを工夫することで配布パッケージの容量を削減しました。
技術的にはIzuna.exeに他のプログラム(unit.exe等)を集約して含んでおり、このハードリンクを作成することで
配布パッケージとディスク容量の削減をしています。(見た目では簡単には分からないです)
・defineタグ仕様変更
defineタグの仕様を変更し、defineで定義した内容が実際に展開されるまで、その内容が評価されないように仕様を変更しました。
※『評価』とは、define内に存在する『%XXXXX%』や『<!--%XXXXX%-->』などの置き換えが行われないと考えてください。
これにより、従来では意図した動作にならなかった、
<define name="macroBig">
<font size="130%"><!--%SECTITLE%--></font>
</define>
<define name="SECTITLE" value="初めてのタイトル"/>
<value name="macroBig"/>
という記法が有効になります。
※これまでの仕様では『%SECTITLE%』が先に展開されてしまうため、『macroBig』が定義された時点での内容(未定義なら空)で展開されてしまうだけでした。
□■ 2019/02/09版
■ バグ修正
・カクヨム形式テキスト⇒TNF変換時に傍点が付与されない問題の修正
カクヨム形式の傍点記法(《《***》》)使用時、対象となる文字が1文字の場合には適用されない問題を修正しました。
□■ 2019/01/01版
■仕様変更
・新GUIへ変更
GUIを新しい構成へ移行しました。
今後はこの画面イメージで機能追加を行う予定です。
・スプラッシュウィンドウ表示
機能追加の『設定状態保存機能』の実装に伴って、起動時間が延びてしまったため、起動時に
スプラッシュウィンドウを表示するようにしました。
・プロファイル保存機能フォントパス仕様変更
これまでプロファイル保存機能で保存したデータのフォントパスはフルパスとなっていましたが、
移行時の可用性が悪いため、マスタフォルダ(インストールフォルダ)・個別環境フォルダ・
ローカルフォルダの順でフォントをサーチし、この中で相対パスで検索できる場合には相対パスで
保存するように機能を修正しました。
(なお、検索できない場合にはこれまで通り絶対パスで保存します)
これに伴い、個別環境フォルダまたはローカルフォルダに『fonts』フォルダを作成してこの中に
フォントのファイルを格納することを推奨します。
(fontsフォルダ以下にあることを想定して検索を行うように実装しているためです)
・ファイル指定起動時の挙動変更
既にGUI版が起動している状態でファイルが指定されて再度起動された場合に限り、既存のプログラム
を終了して指定されたファイルで起動するように修正しました。
ファイルが指定されない場合は、これまで通り既存のプログラムをウィンドウ復帰させる動作となります。
・濁点・半濁点対応仕様変更
これまでテキスト⇒TNF変換時、濁点・半濁点をoverlapタグで置き換える処理となっていましたが、
こちらをstyle+bindタグに置き換える処理に変更しました。
これはフォントや文字によっては単純な重ね合わせによる対応では意図しない配置になるため、
これをカスタマイズ出来るようにするため、文字単位でスタイルを定義するように変更しました。
※ このため、微調整を行う場合には一度TNFにコンバートしてからとなります。
なお、互換性のため、以前の動作(overlapタグ)との切替も出来るようになっていますので、詳細設定画面より変更してください。
■ 機能追加
・設定状態保存機能実装
終了時に設定状態を保存、次回起動時に復旧させる状態保存機能を実装しました。
初期化したい場合は、詳細設定の設定状態保存機能の状態保存機能有効のチェックを外して、
再起動してください。
ローカルプロファイル機能拡張で特定フォルダにプロファイル・テンプレートを纏めておく
機能を実装する予定ですが、この保存機能でフォルダを指定しておくことが可能となる予定です。
なお、設定がおかしくなってしまった場合は、『reset』と引数を付けて実行すると初期化された
状態で起動するようになっています。
・隠しノンブル付与機能実装
隠しノンブル付与機能が実装されました。
基本出力設定にて付与のON/OFFが指定でき、詳細設定でサイズを変更することが出来ます。
(デフォルトでは4pt、濃度0(黒)に設定されています)
コマンドライン版では、新しく『-H』オプションを追加して対応しています。
指定形式:Izuna_cmd.exe -H <size>,<shade>
指定例1:Izuna_cmd.exe -H 4.5 -f sample.tnf
指定例2:Izuna_cmd.exe -H 4.5,0.4 -f sample.tnf
・個別環境フォルダ機能実装
指定したフォルダへプロファイルやテンプレート、フォントファイルなどを格納しておくと、
威沙から標準的に使用することが出来るようになる機能『個別環境フォルダ』を実装しました。
トラブルが起きやすいProgram Files(x86)配下のファイルを書き換えなくても常にカスタマイズした
プロファイル・テンプレートを使用することが出来るようになります。
また、バージョンアップ時にインストーラによってカスタマイズテンプレートなどを削除されることも
無くなりますので、これまでより使い勝手が良くなると思います。
コマンドライン版についても、個人環境フォルダ指定オプション『-E』追加されました。
また、環境変数『IZUNAENVDIR』(仮称)を設定することでも個人環境フォルダが指定することが可能です。
指定形式:Izuna_cmd.exe -E <path>
指定例 :Izuna_cmd.exe -E c:\Users\name\Documents\威沙オリジナル設定フォルダ -p 101_A5_2STEPS_R2 -f sample.tnf
または
set IZUNAENVDIR=c:\Users\name\Documents\威沙オリジナル設定フォルダ
Izuna_cmd.exe -p 101_A5_2STEPS_R2 -f sample.tnf
・常駐モード実装
指定したフォルダを監視し、格納されているファイルを自動的にPDF変換を行う『常駐モード』を実装しました。
常駐モードボタンを押すとフォルダ指定ウィンドウが開きますので、こちらから監視したいフォルダを指定してください。
常駐モード時はタスクトレイに威沙が常駐します。
解除する場合はタスクトレイのアイコンをクリックしてください。
・テキストファイルでの縦中横対応
テキストファイル(PreTNF)にて『^』で囲った箇所を縦中横タグへ変換する処理を実装しました。
これまで!!や!?などは自動変換していましたが、明示的に『^~~^』で囲うことで指定することが可能となります。
なお、二文字ではdoubleタグを、三文字以上ではhorizontalタグを使用するようになっています。
また、既存の連続感嘆符(!)・疑問符(?)の縦中横変換も3文字以上に対応するようになりました。
例:
[M|メシエ]^42^ ⇒ <ruby text="メシエ">M</ruby><double>42</double>
・B6プロファイル追加
これまでB6対応のプロファイルは標準で導入されていませんでしたが、立蒼様よりB6プロファイルを提供して
いただけたため、追加することが出来ました。
また、調整を行った専用テンプレートが追加されています。
ご提供ありがとうございました。
□■ 2018/11/20版
■仕様変更
・よもうコンバータ、ムーンライトノベルズ・ミッドナイトノベルズ対応
よもうコンバータにムーンライトノベルズ・ミッドナイトノベルズ対応を追加しました。
実際にはメニューが増えただけで内部処理は何も変わっていません。
(ムーン・ミッドナイトはノクターンとURLが同じで入り口が違うだけです)
■ バグ修正
・よもうコンバータ修正
なろうのHTMLが変更されたためデータが正常に取得出来ない状態になっていたのを修正しました。
・細かな修正
TNFParserNG開発時に検出した細かな問題を修正しています。
動作には影響はありませんが、コーディング上良く無い部分を修正しています。
・ダッシュサイズ未適用問題修正
テキスト⇒TNF変換時にダッシュのサイズ(太さ)が正常に適用されていなかった問題を修正しました。
(style機能実装後に出力TNFの形式を変更した以降誤ったままになっていました)
また、波線置換についても太さがダッシュと同じ値が反映されるように修正しました。
・バランス指定未適用問題修正
テキスト⇒TNF変換時にルビベース文字が同一となった場合にバランス指定が反映されない問題を修正しました。
並びにルビバランス指定が、ルビマッピングOFF時に反映されていなかったため、こちらも合わせて修正しました。
□■ 2018/09/10版
■ 機能追加
・空ページ用テンプレート追加
主に目次と本文間に入るページ数調整のための空白ページをテンプレートでデザインすることが
出来るようになりました。
各テンプレートの定義ファイルに『empty_page』という定義が追加されています。
※なお、後方互換性のためこの定義が無い場合はこれまで通りに動作するようになっています。
これに伴い、背景指定backgourndタグのtypeに『emptypage』が追加されました。
(これに合わせてテキスト⇒TNF変換には、『EMPTYPAGEBACKGROUND』『空頁背景』を追加しました)
空ページに背景を設定して他のページとデザインを合わせるなど行うことが出来ます。
なお、空ページ1種類しか設定出来ませんので、ページ調整で複数ページが追加される場合は、
同じデザインとなりますのでご注意ください。
■ バグ修正
・ルビ機能修正
検証中にルビ機能について以下の問題を検出したため、修正を行いました。
(全般的にルビ途中にて改行された場合における挙動)
1 ベース文字に対して長い半角文字列を含んだルビが途中で改行される時にルビ配置が異常になる
2 半角文字を含んだルビが行頭に来た場合の配置補正処理が意図しない挙動になる
3 半角文字を含んだルビが途中改行される一部パターンが配置不正となる
4 ベース文字に対して長い全角文字のみのルビの場合行末以降の文字が欠ける
(balance off時のみ)
5 アルファベットルビ且つ行跨ぎ時に単語区切りが有効に機能しない
6 balance on(半角ルビ対応処理)時にindent処理が適用されていなかった
これら問題について以下のように対応しました。
1 実装当初からルビ長の算出アルゴリズムに不備があったのが原因、
アルゴリズムを変更して改行前後のルビ長を正確に求まるように修正
2 行頭からルビが飛び出さないように行頭を基準にルビを配置するように修正
3 ベース文字のみ途中改行の処理を行うように修正することで対応
4 予めルビの行突破を検出するようにして、該当する場合には強制的に
『balance on』で処理するように修正
5 ベース文字長へのバランス比率を掛け合わせて空白位置をサーチするように修正
6 indentタグ処理中且つバランスルビで改行された場合にインデント処理を行うように修正
ルビを多用される方は組のバランスにご注意ください。
□■ 2018/04/12版
■ バグ修正
・見開きPDF不正修正
Adobe Reader以外のビューワにて見開きが正常に行えていなかった問題を修正しました。
■仕様変更
・プロファイル追加・修正
次のプロファイルについて実物の本を採寸した結果を適用しました。
ただし、紙面にノギスを当てて計った結果を基にしていることもあり、誤差が大きいため参考程度としてください。
- 講談社ラノベ文庫
- ガガガ文庫
- F地味F文庫
- 電撃文庫
- GA文庫
- MF文庫
- 美少女文庫
また、次のプロファイルを追加しました。
- メディアワークス文庫
□■ 2017/12/24版
■ バグ修正
・img class="inline"の座標割りだし不正問題
imgタグのclass="inline"にて画像サイズを算出する方式が領域最小値ではなく、最大値となってしまい、
正常な大きさで配置されていなかったため、修正を行いました。
・アイコンドロップ指定時の不具合修正
GUI版威沙のデスクトップアイコンにファイルを直接ドロップした場合、ローカルテンプレートのリストが
更新されないことがあった不具合を修正しました。
・値指定の単位に『pt』が使用できなかった不具合修正
fontなどのsizeオプションに対して、mmやinchが指定することが出来る実装となっていましたが、
デフォルトの単位系であるポイントについて、明示的にptを指定する場合に問題がありましたので、
修正いたしました。
・波罫線(取り消し線・傍線)のデフォルト値修正
波罫線系のデフォルト値が他の罫線系で使用しているデフォルト値と異なり、極端に細い値が設定されていたため、
これを修正し、『現在フォントサイズ*0.05』という他の罫線と同じ算出式を使うように修正しました。
また、仕様変更にて説明しますが、波罫線系の演算式を変更し、線の太さを極端に大きな値に変更した場合に線が
破綻することがないように計算式を見直しました。
・口絵指定時に余分な空白ページが追加される問題
口絵ページが奇数の場合にページ数あわせの空白ページが余分に追加される問題がありましたので、
これを修正いたしました。
■仕様変更
・波罫線の計算式変更
波罫線の計算式を変更し、フォントサイズと指定された線幅に合わせて波の振幅・波長を調整しました。
また極端に太いサイズが指定された場合に破綻をきたしてしまう現象も波長を再算出することで対応しました。
(線幅に合わせて波長を調整していなかったため、線幅が波長を超えてしまうと線同士が重なってしまい、
波線として成立していなかった)
デフォルト値の修正を含め、以前よりも綺麗な波線になっていると思います。
・グレイスケールバー/ファイル名・ページ番号付与ON/OFF対応
前回のトンボ機能拡張で実装したグレースケールバー(グレーパターン)及びファイル名・ページ番号付与機能
について予告通り、付与の有効無効を設定する事が出来るようになりました。
GUI版については『詳細設定』にて、コマンドライン版については『-G』及び『-P』オプションを追加しました。
・読もうコンバータサポート機能追加
読もうコンバータへ以下の対応を追加しました。
濁点変換の方式変更
引用符変換追加
¨による濁点表現の再現
罫線をダッシュ置換
□■ 2017/11/12版
■ 機能追加
・トンボ機能拡張
トンボ付与時にグレーパターン及びファイル名・ページ番号をトンボの外に配置する機能を実装しました。
現時点では個別指定が出来ませんが、GUI側の対応ができ次第対応する予定です。
・bindタグ仮実装
自由度の低いoverlapタグに変わる文字合成タグとしてbindタグを仮実装しました。
キラッ<bind x="-60%" y="20%" size="80%" char="ミ">★</bind><double>!!</double>
などと記載することで、星の横に流れる効果を付与する事が出来ます。
また、bindを重ねて指定する事が出来ますので、星の回りに★を散りばめることも可能です。
元々overlapによる濁点対応がフォントによる位置・サイズ調整が出来ないことから実装したタグとなります。
・文字列参照置換機能拡張
defineタグにて定義した値を『&~~;』の形式で展開する機能を実装しました。
例えば次のように記載すれば、『&Heart;』の位置にIPAexフォントによるハートが展開されるようになります。
※ 当然ながらフォントは別途必要です。
■ 記載例
<fontmae name="ipaex" file="ipaexm.ttf"/>
<define name="heart"><font name="ipaex">♥</font></define>
は~と&heart;
■ 仕様変更
・デフォルトテンプレートに郵便番号・住所記載のカスタマイズを適用
『詳説テンプレート』に掲載した郵便番号及び住所の奥付への記載するカスタマイズを適用しました。
defineタグにて『POSTALCODE』で郵便番号を、そして『ADDRESS』で住所を定義することで反映されます。
なお、これらの定義が無い場合はこれまで通りの動作となります。
・全角空白行削除ON/OFF
全角空白行削除機能についてON/OFFが出来るように仕様を変更しました。
GUI版では詳細設定から、コマンドライン版ではTNF変換パラメータオプション-mにFWSDを追加しています。
・波線罫線置換ON/OFF
ダッシュ置換同様に波線置換機能についてもON/OFFが出来るように仕様を変更しました。
GUI版では詳細設定から、コマンドライン版ではTNF変換パラメータオプション-mにWCを追加しています。
・テンプレート及び本文エラー発生時の挙動変更
左右ページのテンプレートにてエラーが発生した場合は連続的にエラーが発生してしまいますが、
これをエラー発生後即中断することが出来るように修正しました。
また、本文変換時にエラーが発生した場合も、これまでは極力続行する処理となっていましたが、
こちらについてもエラー発生後は極力早く中断するように修正を行いました。
■ バグ修正
・縦書き時に半角カンマ・コンマが正常に配置されない問題の修正
縦書き時、半角カンマ・コンマを半角数値前後に使用した場合、正常に配置されない問題が報告され、
修正を行いました。
・doubleタグなどでの不正組版問題対応
doubleタグやalphabetタグなどにてページもしくは段の最終行末尾にこれらタグが来た場合にこれらタグに、
囲まれた内容が不正な位置に配置される問題が報告されたため、修正を行いました。
具体的には次ページの存在しない行(17行設定なら18行目)に配置されるという現象でした。
※以前rubyタグで同様の現象が発生していたのですが、他のタグへの展開がされていませんでした。
・読もうコンバータhttps対応
なろう系サイトにてhttps対応が行われた関係で読もうコンバータが機能していなかった問題を修正しました。
また、一部タグが変更されていた事に伴って正常にパースできて居なかったパターンを修正も実施しています。
□■ 2017/8/27版
■ 機能追加
・ルビバランス設定ON/OFF切替対応
テキスト⇒TNF変換時にルビのバランス設定をON/OFFすることが出来るようにしました。
『詳細設定』タブの『ルビバランス』のチェックを外すとバランスがOFFになります。
(rubymapまたはrubyタグのbalanceがoffで定義されます)
■ バグ修正
・GUI版ファイル指定起動時のローカルプロファイル未反映
威沙のアイコンにドラッグ&ドロップでファイルを指定して機動した場合、ローカルプロファイル及びローカルテンプレート
の自動検索が動作していなかったため、修正を行いました。
・TTCフォント指定不能
GUI版にてGUI上からTTCフォントを指定した場合、どのフォントを指定しても必ずエラーとなってしまい実質使用できない
状態になっていました。
以前実装した威沙で使用できないフォントを弾くガード処理にてTTCへの考慮が漏れていたことが原因でした。
・コマンドライン版 テキスト⇒TNF詳細設定パラメータ不適用修正
コマンドライン版にてテキスト⇒TNF詳細設定パラメータ(mオプション)がTNFファイルへの出力時のみ適用されており、
直接PDFへ出力する場合には適用されていなかった問題を修正しました。
・プロファイル保存機能修正
プロファイル保存機能にて日本語フォルダを含んだフォントパスが正常に保存できていなかった問題があったため、
修正を行いました。
■ 仕様変更
・ファイルパスサーチ順変更
フォントファイルや画像ファイルの検索順が威沙の起動フォルダ⇒ローカルフォルダ(本文ファイルがあるフォルダ)の
順番でしたが、ローカルプロファイル・テンプレートの実装に伴い、ローカルを優先すべきであるため、サーチ順を変更
しました。
□■ 2017/06/17版
■ 機能追加
・Pixivタグサポート
テキスト⇒TNF変換にてPixiv形式のタグをサポートいたしました。
現在Pixivでサポートされている全てのタグをサポートしていますが、挿絵とリンクについてはサポートしようがないため、
コメントアウトに変換するようになっています。
-改ページ [newpage]
-ルビ(ふりがな)[[rb:pixiv > ピクシブ]]
-章タイトル [chapter:章タイトル]
-挿絵 [pixivimage:イラストID] ※コメントアウト
-小説内リンク [jump:リンク先ページ番号] ※コメントアウト
-小説外リンク [[jumpuri:タイトル > リンク先URL]] ※コメントアウト
・全角空白行削除
全角空白(全角スペース)のみで記述された行をテキスト⇒TNF変換時に無視をするようにしました。
これはWeb小説向けなどに書かれたテキストファイルを出来るだけそのまま変換するための対応です。
(横書きは縦に比べて行間が詰まって見えるため、これに対応したWeb小説は多いのです)
執筆時に縦書き時には削除して欲しい行に全角空白を記述すればTNF変換時にその行は削除されます。
※全角スペースのみ1文字以上あればその行を削除します。
□■ 2017/5/12版
■ バグ修正
・フォントサーチが失敗する場合がある問題の修正
標準のfonts以外にフォントを配置した場合にルビ用フォントのパス処理に不具合があり、エラーが発生するようになっていました。
・GUI版のフォントパス処理を修正
fonts以外の場所にフォントが配置されたプロファイルを読み込んだ場合、エラーが発生してフォント情報が取れない問題がありました。
フォントを本文TNFファイルと同じ場所に置く場合などに発生する可能性がありました。
・パス関連もエラーハンドリング修正
上記パス問題の水平展開として、テンプレートファイルが見つからない場合などに不正なエラーメッセージとなっていた箇所を
修正しました。
このファイルパス問題は順次見直しを行って行く予定です。
■ 機能追加
・源ノ明朝サポート実装
従来のPDF出力ライブラリのPDFJでは源ノ明朝のOTFを正常に処理することが出来ませんでしたが、処理を修正・追加して
正常に出力出来るようにしました。
フォーマット解析がまだ不十分な面があると思われるため、β扱いの機能となりますので読み込めないOTFがありましたら
ご連絡ください。
■ 仕様変更
・コマンドライン版オプション修正
コマンドライン版にて『仕上がり線』(-k)または『トンボ』(-t)オプションが有効となった場合、自動的に『余白』(-M)
オプションも有効にするように修正しました。
これまでは、-Mオプションが無い状態で-kまたは-tを指定した場合は余白が無いため実質機能していないように見えていました。
・マニュアル整理
記述内容が古いままだったコマンドライン版のマニュアルを更新しました。
また、同様に記載が古い、また現在では不要になったマニュアルを削除しました。
README.txtも一部記載を更新しました。
□■ 2017/2/4版
■ バグ修正
・ルビ途中での改行処理問題修正
ルビ途中に改行が行われた場合にあった二件の問題を修正しました。
- balance有効時にルビ途中改行不具合
balance有効時にルビ途中改行が発生した場合において、バランス配置用の空白のみ前行に残り、
その空白にルビが割り当てられるため、ルビが置いてきぼりにされているように見えるパターンがありました。
このため、バランス時に途中改行される場合は、ベース文字列に付与したバランス調整用の先頭空白を後方へ
再分配することで改行前の行にベース文字列が不在にならないように修正しました。
- ベース文字長とルビ文字長の差異が大きい場合の不具合
改行前のベース文字の範囲に全てのルビ文字が収まってしまう場合、次行にルビが割り当てられず、
改行後の文字列にはルビが無い状態になるパターンがありました。
ルビ配置前に改行が行われるかの判定を行い、改行が行われる場合にはルビをベース文字との割合で分割を行い、
改行前後の行に対してルビがベース文字長に比例して分配されるように修正を行いました。
■ 仕様変更
・テキスト⇒TNF変換、及び青空⇒TNF変換時のファイル確認
テキスト又は青空文庫データの変換を行う際に、出力先TNFが存在した場合は上書きするかの確認ダイアログを
表示するようにしました。
□■ 2017/1/29版
■ バグ修正
・行途中のunderタグの不正組版修正
行の途中でunderタグを使用して地付きを行った場合、かつ現在位置と地付き文字列の長さが行に収まらない場合に、
正常な組版が行われない問題を修正しました。
このパターンの場合は改行してから再度地付きを適用するようになります。
(こちらが当初意図していた動作です)
■ 仕様変更
・多重起動防止機能追加
これまでの威沙は多重起動に対するガードは施していませんでしたが、アップデート機能実装に伴い、多重起動されていると
正常にアップデート出来ない場合が存在していました。
このため、多重起動をガードする処理を威沙本体及びJpeg⇒tnf変換・読もうコンバータ・単位変換に追加しました。
既に起動済みの場合には、ウィンドウを復帰するように実装しています。
また、アップデート時には威沙以外のプログラムも終了させるように仕様を変更しています。
□■ 2016/12/19版
■ バグ修正
・禁則処理直後のルビタグの挙動修正
行頭禁則(句読点)の処理が行われた後にrubyタグ及びstressタグがあった場合、意図しない
字下げが行われる問題を修正しました。
※ 再修正を行いました。rubyタグの後にbrタグが来た場合に正しく動作しない現象が発生したためです。
□■ 2016/12/13版
■ 機能追加
・プロファイル保存機能
GUI上で修正したプロファイルの内容を保存する機能をようやく実装いたしました。
指定した*.confファイルに保存することが出来、文書ファイル(*.txt or *.tnf)と同じ場所にあれば、
20161106版にて実装したローカルプロファイル機能により呼び出すことが可能となります。
なお、プロファイル識別子またはプロファイル名が重複した場合はエラーを表示するようになっています。
(識別子が重複してしまうとデータが不整合になり、またプロファイル名が被った場合は判別が出来なくなるためです)
□■ 2016/12/12版
■ 機能追加
・アップデートチェック機能追加
GUI版威沙起動時にインターネットを介してバージョン情報を取得し、新しいバージョンが存在した場合、
インストールファイルのダウンロード、インストーラの起動までを行う機能を実装しました。
まだテスト段階の機能となりますので、何か問題がありましたらご連絡ください。
□■ 2016/11/06版
■ 機能追加
・BOM無視対応
UTF-8には本来BOMは付与されるべきではありませんが、一部のエディタは強制的にBOMを付与してしまう実装となっており、
これらエディタで編集したTNFを変換すると本文先頭に意図しない空白が含まれてしまうという問題がありました。
そこでBOMを無視する対策を実装しました。
・青空文庫踊り文字対応
青空文庫フォーマット対応にて『/\』と記載すると踊り文字記号である『〳〵』に置換する処理を実装しました。
・inlineTNF対応
テキスト(PreTNF)変換⇒TNF変換にinlineTNF機能を実装しました。
以下のように##TNF:START##~##TNF:END##で囲まれた範囲はそのまま出力TNFに反映されます。
■ 例
##TNF:START##
<font size="250%">でっかい文字</font>
##TNF:END##
テキスト内で『この部分だけはTNFを使ってもいいから意図した組版を実現したい』という局所的に使用することが出来ます。
・プロファイル名称定義『DEF_PROFILE』追加
テンプレートから現在選択されているプロファイル名称を取得するための定義『DEF_PROFILE』を追加しました。
選ばれているプロファイルによってテンプレートの挙動(座標の微修正など)を行いたい場合に使用できます。
・ローカルプロファイル対応(GUI版)
ようやくローカルプロファイルに対応しました。
指定した変換対象のファイル(*.tnf/*.txt)があるフォルダに『*.conf』というファイルがある場合、
それらファイルをプロファイルファイルとして読み込む処理を実装しました。
拡張子が『.conf』が付いたファイルは全て読み込みます。
このローカルプロファイルのフォーマットは既存のプロファイルファイル(Tokimi.conf)と同じですが、
次の制限(ガード)がありますのでご注意ください。
- defaultプロファイルは無視されます
defaultプロファイルはTokimi.confに記載されたもののみが有効となる実装としています。
- 重複したプロファイルは無視されます。
例えばTokimi.confにある『03_A4_4STEPS』と同じプロファイルがローカルプロファイルにあったとしても、
先に読み出されているTokimi.confの定義が有効になります。
このような先勝ちの実装となっていますので、複数のローカルプロファイルがあった場合は、Tokimi.confを
含めて先に読み出された定義は有効となり、上書きやマージはされません。
重複プロファイルを検出した場合にはどのファイルのどのプロファイルを無視したかのエラーメッセージが
表示されます。
- 重複したプロファイル名は無視されます。
プロファイルの表示名となる『Profile』に定義した名称が重複した場合も、プロファイル重複と見なされます。
※内部的には別物でも表示名が一緒となってしまうと分けが分からなくなってしまいますので、それを防ぐ為の
ガードとなっています。
・ローカルプロファイル対応(コマンドライン版)
コマンドライン版もローカルプロファイルに対応しました。
GUI版と同様に『-f』オプションで指定されたファイルがあるフォルダに『*.conf』がある場合、
それらファイルをプロファイルファイルとして読み込む処理となっています。
拡張子が『.conf』が付いたファイルは全て読み込みます。
※ 『-s』オプションで明示的にプロファイルファイルを個別に指定する必要が無くなっています。
※ 重複検出の条件はGUI版と同様です。
・ローカルテンプレート対応(GUI版)
ようやくローカルテンプレートに対応しました。
指定した変換対象のファイル(*.tnf/*.txt)があるフォルダに次のようなフォルダ構成がある場合、
それらフォルダをテンプレートセットとして認識する処理を実装しました。
template\temp1\template.conf
temp2\template.conf
※それぞれtemp1及びtemp2というテンプレートとして認識します。
このようにテンプレート定義ファイル『template.conf』が存在しているフォルダ全てが対象となります。
ローカルテンプレートには次の様な制限(ガード)が存在します。
- 重複したフォルダ名(テンプレート識別子)は登録出来ません。
例えば
temp1\template.conf
template\temp1\template.conf
のようにフォルダの深さが違っていてもtemplate.confがある場所のフォルダ名が一緒の場合には
同一のテンプレートとして見なします。
- 重複したテンプレート名称は登録出来ません。
テンプレート定義ファイル『template.conf』の定義名『Name』が重複した場合もテンプレート識別子重複と
同様に重複排除されます。
・ローカルテンプレート対応(コマンドライン版)
コマンドライン版もローカルテンプレートに対応しました。
GUI版と同様に『-f』オプションで指定されたファイルがあるフォルダに次のようなフォルダ構成がある場合、
それらフォルダをテンプレートセットとして認識する処理を実装しました。
template\temp1\template.conf
temp2\template.conf
※それぞれtemp1及びtemp2というテンプレートとして認識します。
このようにテンプレート定義ファイル『template.conf』が存在しているフォルダ全てが対象となります。
※ テンプレートの指定はこれまで同様『-e』によって指定します。
※ 重複検出の条件はGUI版と同様です。
・コマンドライン版進捗表示機能実装
コマンドライン版でも変換中に棒グラフとパーセント、処理内容が表示されるようになりました。
画面横サイズが70桁以上あることを前提にしていますので、コマンドプロンプトの横幅が足りないと
おかしな表示になる可能性がありますのでご注意ください。
これに伴って新しいオプション『-q』を実装しており、このオプションを付与するとこの進捗表示を
抑止することが出来ます。
■ 仕様変更
・コマンドライン版実行エラー戻り値設定対応
コマンドライン版威沙はこれまでエラー時もコマンドプロンプトに対してエラーコードを返していませんでした。
このためエラー発生・未発生をバッチファイルなどから確認することが出来ませんでしたが、今回よりエラーコードを
返すように修正しました。
例えばバッチファイルでエラー発生時のみpauseを呼ぶように記述すれば、通常変換時には変換後はそのまま終了、
エラー発生時には一時停止し、エラー内容を確認することが出来るということも可能になります。
□■ 2016/8/16版
■ バグ修正
・img class="char"のバグ修正
以前修正を行った『座標計算処理』の改修に漏れがあり、imgタグのクラス『char』時にsize/pointの値を
適正な値へコンバートする処理が適用されておらず、極端に小さなサイズで組版されてしまう問題を修正しました。
・fontmapのバグ修正
前回適用した『フォント処理修正』に改修漏れがあり、fontmapにてフォントファイルが指定されない場合、
意図しないエラーを出力して異常終了してしまう問題を修正しました。
□■ 2016/8/8版
■ バグ修正
・コマンドライン版のヘルプにあった修正漏れや誤記を修正。
コマンドライン版のヘルプメッセージに過去の記載がそのまま残っていたり、誤っていた箇所が
ありましたので、全体的にメッセージを見直し・修正を行いました。
・textareaタグの座標計算問題修正
destinationオプションに"H"(横書き)を指定した場合の座標計算が意図しないものとなっていましたので、
修正しました。
また、これに合わせて配置バランスを修正しましたので、使用している場合にはご注意ください。
■ 機能修正
・フォント処理修正
第三水準・第四水準の文字を含まないフォントを指定した場合に適切なエンコードを選択するよう修正しました。
(これまでもAdobe Readerなどでは内部で良きに計らってくれたようで表示出来ていた場合がありました)
なお、これらフォントを使用した場合、ルビが出ないなどの問題が発生します。
(圏点記号は第三水準以降の文字となっています)
・読もうコンバータにセリフ前後の空行削除機能を追加。
読もうコンバータにセリフ(「****」)前後にある空行を削除するオプションを追加しました。
横書きで書かれているWeb小説はセリフの前後を開けるフォーマットが一般的ですが、縦書きにすると
不格好に見えてしまうため、この空行を削除する機能となります。
※ 以前テスト実装していた機能でしたが適用しない方がよい作品もあったため、オミットしていました。
・PNG処理改善再適用
以前PDF出力ライブラリの問題切り分けのため、独自に適用していたPNGの処理速度改善の修正を一旦オミット
しましたが、この修正の問題では無かったため再適用しました。
・目次ページ複数化対応
標準テンプレート(default)の目次ページを複数化対応を適用し、20個を超える目次が設定された場合、2ページ目を
生成するようにテンプレートを書き直しました。
現在では3ページ(60個)まで対応していますが、front.tnfを修正すればそれ以降も簡単に増やせるようにしています。
また、defaultテンプレートと目次の構成が同じテンプレートについても同様の対応を盛り込んでいます。
□■ 2016/6/7版
■ 機能修正
・小説を読もうコンバータ修正
ノクターンのサイトアクセス時にYES/NOのcookie認証を行うようになったため、データ取得NGとなっていました。
コンバータ内部で認証処理を行うようにすることで対処しました。
・フォントチェック機能追加
第三水準・第四水準の文字を含まないフォントを本文などに指定した場合にエラーメッセージを表示し、
変換処理が停止するようにガード処理を追加しました。
威沙においてはJIS X 0213以降のコード体系が含まれていないフォントは本文に使用する事は出来ません。
またこれに伴って文字列長算出処理に存在した不適切な処理を見直しています。
□■ 2016/4/11版
■ バグ修正
・座標計算処理修正
フォントサイズなどに小数点以下の中途半端な値を指定した場合において、正常に配置処理が行われない問題の修正しました。
追加された『A5二段組み 改』はこの問題を検証するためのプロファイルとなります。
※ なお、この修正は座標算出処理に対してかなりの修正を行っているため、問題が残っている可能性があります。
・PreTNF修正
PreTNFにおいてstyle指定のプリセットが使用されていないタグが存在していたため、使用するように修正しました。
※『;』や『'~~~~'』など
■ 機能修正
・一部の欧文文字を全角判定に修正
『×』や『÷』などの欧文では半角として定義されていながら、日本語フォントでは全角として実装されている一部字形について
威沙上では全角として処理するようにPDF出力ライブラリPDFJを含めて修正しました。
■ 機能追加
・stringタグにmaxlengthオプションを追加
これまでautolengthによる文字列長の自動調整は実装されていましたが、autolengthは座標系の幅もしくは高さを
基準に最大長を決定しており、同一行に複数のstringタグが並んだ場合には効果がありませんでした。
今回追加したmaxlengthタグは文字列の最大長を任意に指定することが出来る機能となります。
-例
<string x="30%" y="20%" direction="V" link="%INDEX_NUM_LINK_00%" coordinate="local" maxlength="75%" autolength="on"><!--%INDEX_00%--></string>
この例の場合、文章領域座標系の最大高の75%を最大長とする自動調整が設定されたこととなります。
なお、maxlengthはautolengthと組み合わせる必要があります。(autolengthへのパラメータという意味合いです)
このオプション実装に伴い、各テンプレートのindex.tnfを修正しています。
(maxlength適用及びそれに伴う若干のデザイン変更)
□■ 2016/3/14版
■ 機能追加
・カクヨム記法対応
テキスト変換にてカクヨムで使用されているルビ指定「~~《ルビ》」・「|~~《ルビ》」、及び
傍点指定である「《《~~》》」形式に対応しました。
□■ 2016/3/1版
■ バグ修正
・indentタグの問題修正
ページ中の最終行にてindentタグ内で改行タグ(br)を使用した場合、次ページに遷移した後の行配置が意図しない場所と
なっていた問題を修正しました。
□■ 2016/2/29版
■ バグ修正
・stringタグのvalignオプションの配置不正の修正
テンプレート用タグのstringタグ対して、destinationオプションに『H』、valignオプション『under』を指定した場合、
文字列自体の高さを差し引いておらず、範囲外に配置されてしまう問題を修正しました。
□■ 2016/1/27版
■ バグ修正
・sectionタグのincludeオプション及びincludeタグのファイルパス問題修正
include処理にてファイルパスに日本語が使えない、パスサーチが他の処理と互換性が無いという問題を修正しました。
以前行ったファイルパス関連処理の修正対応がこれらinclude系には適用していませんでした。
・stringタグのlinkオプション修正
linkオプションが有効、かつ横書き指定時にリンク座標が意図しない場所に配置されていた問題を修正しました。
横書き時のリンク動作の検証が漏れており、正しい座標値を使用していないことに気が付いていませんでした。
□■ 2015/12/28版
■ 機能修正
・styleタグのオプション展開サポート
styleタグに定義した値に%~~%による定義展開が含まれていた場合でも展開を行うように機能を修正しました。
(これまでは展開を行わないようになっていました)
・テンプレート全般
テンプレートドキュメントを作成中に見つけた不要な記載などを削除、修正しました。
未公開テンプレートタグの不具合を修正しました。
□■ 2015/12/12版
■ 機能追加
・スタイル機能実装
新タグstyleを実装しました。
簡単に言うとHTMLでいうcssのような使い方が出来るタグであり、既存のタグで使用できるオプションを
予め定義しておくことが出来ます。
例:
<style>
font.big { size:150%; } /* 大サイズ */
strike.dash { type:single; } /* ダッシュ置き換え */
.large { size:200%; } /* 汎用巨大サイズ */
strike { type:wave; } /* strikeのデフォルト変更 */
</style>
<font style="big">大きいテキスト</font><strike style="dash"> </strike><br/>
<font style="large">巨大テキスト</font><br/>
<strike>デフォルトが波線</strike>
これに合わせて、テキスト(PreTNF)⇒TNF変換及び青空⇒TNF変換で出力されるTNFもstyle対応を行いました。
(fontタグのbigスタイルなどが追加されています)
特に青空文庫変換は古い仕様のTNFをベースにしていたため、タグにオプションを指定する関係を全面的に
最新仕様に改修しました。
・イラストレータ/目次/奥付/本文ページへの背景指定機能実装
イラストレータ・目次、及び奥付ページに背景を指定することが可能になりました。
新タグbackgroundタグのtypeに'illustrator'・'index'・'publisher'・'rightpage'・'leftpage'を指定することで
設定出来ます。
これに伴い、イメージ専用テンプレート『none』を追加しました。
このテンプレートは中表紙・イラストレータ・目次・奥付は指定された画像のみ展開されるテンプレートとなっており、
予め画像データで各ページをデザインした場合に使用する事ができます。
(それ以外はデフォルトテンプレートと変わりません)
また、PreTNF側にも新指定命令が追加されています。
・#中表紙背景#/#MIDDLEBACKGROUND# (#中表紙#と実質同等です)
・#絵師背景#/#ILLUSTRATORBACKGROUND#
・#目次背景#/#INDEXBACKGROUND#
・#右ページ背景#/#RIGHTPAGEBACKGROUND#
・#左ページ背景#/#LEFTPAGEBACKGROUND#
・#奥付背景#/#PUBLISHERBACKGROUND#
・拡張定義処理実装
テンプレートへ任意の値を定義し、それを引き渡す機能を拡張・公開しました。
以下のタグ・テンプレートタグが新規実装・機能修正されています。
define/value/ifdef/ifndef/ifeq/ifnq
※これらテンプレート機能は複雑であるため、これら機能を使用しているサンプル用テンプレート『templatetest』
を用意しました
- define
テンプレートに引き渡したい値を定義します。
nameオプションは定義値の名称を指定します。
valueオプションには定義する値を指定します。
targetオプションは反映させたいターゲットを指定します。(global(全体)/text(本文)/page(ページ))
これを指定することで任意のページで実際に反映される値を決定することができるようになっています。
targetが指定されない場合はglobalが指定されたと見なされます。
例
<define name="test" value="test1"/>
<define name="testtext" value="test1" target="text"/>
<define name="testpage" value="test1" target="page"/>
- value
nameオプションに指定された定義名の値を展開します。
主にテンプレートにて使用しますが、本文中で特定文字列を毎回記述したい場合などに使用する事も出来ます。
<!--%定義値名%-->と機能的には同等です。
- ifdef/ifndef
nameオプションに指定された名称の定義の存在/非存在をチェックし、条件が満たされた場合は、このタグで囲まれた
範囲を適用します。
- ifeq/ifneq
nameオプションに指定された名称の定義とvalueオプションに指定された値を比較して一致/不一致をチェックし、
条件が満たされた場合は、このタグで囲まれた範囲を適用します。
・印刷所指定タグ追加
奥付に印刷所のフィールドを追加し、印刷所していタグprintshopを追加しました。
作者名・イラストレーター名同様「<printshop>印刷所名</printshop>」という指定で設定します。
これに伴い、各テンプレートの奥付に印刷所のフィールドが追加されています。
またPreTNF側にも『#印刷所#/#PRINTSHOP#』命令が追加されています。
・トンボデザイン変更
トンボの太さ・濃さを調整しています。
(プロファイルの値を調整しただけですので、プロファイル・画面上から修正可能です)
・単位計算ツール同梱
2015年正月前後に限定配布していた単位計算ツールunit.exeを同梱しました。
このツールは指定された数値を「pt ⇒ mm/inch/Q」「mm ⇒ pt/inch/Q」へ算出した数値を表示します。
■ バグ修正
・GUI関連
エラー表示(入力フィールドの赤反転)が変更順によってはエラーが残ったように見える現象を修正しました。
また一部の手順を行うと出力イメージの画像が表示されない現象を修正しました。
□■ 2015/10/28版
■ 機能追加
・紙面出力設定改修
ユーザさんからのフィードバックに基づき、紙面出力系の機能を修正しました。
出力紙面サイズは出力サイズ+余白と再定義され、余白が無効の場合にはトンボが設定することが出来ません。
これに伴ってプロファイル設定に余白指定『TrimMark_margin』が追加されています。
また『仕上がり線出力機能』を正式サポートしました。
・ページ逆順出力機能
最終的に出力するPDFを逆順で出力する設定を追加しました。
※ 単純に逆転させているだけですのでご注意ください。
■ 仕様変更
・ペーパーサイズ定義値無効
トンボ関連の仕様変更に伴ってプロファイル定義値『PaperSize_X』及び『PaperSize_Y』の値が無効となりました。
紙面サイズは『ベースサイズ+余白サイズ』と再定義されました。
(ベースサイズを4面必要とする出力形式の場合は、4面分のサイズ+余白サイズとなります)
・JPEG2000サポート廃止
以前よりJPEG2000のサポートをしておりましたが、現在使用しているJPEG2000ファイルの解析処理が特定のコンバータからの
出力でしか正常に動作しないことが判明したため、2015/10/18版よりサポートを廃止しました。
(前回の更新履歴に書き漏れました)
現状、使用頻度が低いフォーマットですので、これ以降もサポートする予定は今のところありません。
□■ 2015/10/18版
■ 仕様変更
・圏点サイズ設定独立化
これまで圏点サイズはIPAフォントのバランスに合わせて、ベース文字サイズと同じサイズ、配置に関しては
rubyの配置位置に補正を加えた物を内部にて指定していましたが、分かり難いと判断し、独立した値を設定
ファイルから指定することが出来るよう仕様を変更しました。
デフォルトの値はこれまで計算値で求められていた値と同じになるように設定をしています。
また本文・トンボ設定のタブから設定変更も出来るようになっています。
・トンボデザイン改修
トンボのデザイン及び太さ・濃さのデフォルト値を調整しました。
・バッファリング対応
外面的な動作変更ではありませんが、内部処理を変更し、メモリ上にあるデータに対しても変換が
出来る改修を適用しました。
・data URL対応
イメージ関連タグにてdata URL形式に対応しました。
これによりTNFファイルやテンプレートファイル本体にイメージデータを格納出来るようになります。
PNG処理をPDFJオリジナル+バグ修正版に再配置しました。
・重複イメージの統合化
これまでは指定された挿絵などの画像イメージは全て別物として処理していましたが、背景などで同じ
画像を使う場合は、全て重複データとしてPDF出力されてしまうため、ファイルサイズの肥大化を招い
ていました。
同一ファイル・サイズ指定の場合は同じ画像データを使用するように改修を行い、ファイルサイズの
肥大化を防止するように改修しました。
・禁則文字任意変更対応に向けた予備改修
禁則文字を任意に変更出るようにするための改修に着手していますが、これに伴い、GUI関係のソースコードを
UTF-8へ移行しました。
■ バグ修正
・青空変換バグ修正
青空変換機能にて同一行に複数の傍点指定がある場合は正常に動作しない問題がありましたので修正しました。
また、同様の構造が傍線にもありましたのでこちらも合わせて修正しました。
・nc2tnf取得不能問題修正
小説を読もうからデータを取得する処理に問題があり、特定パターンのデータが取得出来ないという問題が
ありましたので、修正しました。
□■ 2015/07/24版
■ 仕様変更
・サイズオプションへの単位指定仕様追加
fontタグやrubyタグのsizeオプション、罫線系のwidthオプションでは、これまで直値(pt)指定もしくは
比率(%)指定のみ受け付けておりましたが、cm(センチメートル)・mm(ミリメートル)・in(インチ)を
受け付けるように機能拡張いたしました。
特に単位を指定しない場合はこれまで通りポイント(pt)として扱われます。
■ バグ修正
・two_dimensionsテンプレート修正
登場人物紹介ページのテンプレートの修正及びサンプルデータを修正しました。
実質未公開機能なのですが、いずれちゃんと説明を行う予定の機能です。
・README誤記修正
README.txtファイルに記載されていたURLのドメインに脱字がありましたので、修正いたしました。
□■ 2015/07/13版
■ バグ修正
・タグ解析処理修正
aタグの要素内にhorizontalタグが含まれていた場合、タグの解析が失敗する現象が発生していました。
これは入れ籠タグの解析処理にてマッチングが『部分一致』となっていたため、horizontalの"a"が
マッチしてしまい、タグを誤判定していたことによる現象でした。
□■ 2015/07/05版
■ 仕様変更
・同一ページ複数目次対応
これまでの仕様では、段組構成も含めて1ページに1個の目次しか設定出来ませんでしたが、
複数の目次を設定しても反映されるように改修を行いました。
・開始ページ番号指定対応
本文ページ番号を任意の番号から開始出来る機能を詳細設定に追加しました。
本文の開始ページの番号指定となっていますので、例えば10ページと指定した場合には、
中表紙・目次などの有無に関わらず、10ページから開始されます。
・目次情報ファイル出力機能
目次指定を行ったページが何ページに配置されているかをファイル出力するオプションを
詳細設定に追加しました。
威沙が持っている標準の中表紙・目次などを使用せず、独自に目次を作る場合の目安として
使用することを意図しています。
(基本的に目次奥付出力OFF時に使用する事になると思います)
ファイルは変換元ファイルが置かれたところに『<元ファイル名>_index.txt』という形式
にて出力されます。
- 出力例
index,page
プロローグ,0010
第1話 夜空に舞うもの,0011
あとがき,0060
・beautiful_young_girlテンプレート修正
beautiful_young_girlテンプレートを修正し、目次ページが2ページに渡らない場合は、
1ページで収めるように修正しました。
■ バグ修正
・目次リンク処理修正
電子書籍モード及び1ページモード時に目次へリンクを付与していますが、これら以外のモードでも無効な
リンクが生成されてしまっていたため、これを抑止する修正を行いました。
・しおり修正
しおりの指し示す座標が意図しない場所となっていたため、これを修正しました。
□■ 2015/6/7版
■ バグ修正
・『“~~”』置き換え対応問題修正
一行中に複数の『“~~”』が存在する場合において正常にタグ置換出来なかった問題を修正しました。
(”~~”の形式が先に判定されてしまうため、『“~~”』の”同士が判定されてしまい、
中途半端に置換されてしまうという現象でした)
□■ 2015/5/16版
■ バグ修正
・禁則文字追加
2015/5/10版にて禁則文字を追加しましたが、全角括弧『(』及び『)』が抜けていることが分かりましたので、
対象文字に追加いたしました。
現時点での禁則対象文字
- 行頭禁則文字
)}、〕〉》」』】〙〗〟’”⦆»ゝゞーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇷㇺㇻㇼㇽㇾㇿ々〻‐゠–〜~‼⁇⁈⁉・。
- 行末禁則文字
({〔〈《「『【〘〖〝‘“⦅«
■ 仕様変更
・Liberation fontsアップデート
半角英数文字用フォントとして添付している『Liberation fonts』のバージョンをアップデートしました。
□■ 2015/5/10版
■ 仕様変更
・縦中横処理『horizontal』タグ仕様変更
horizontalの配置挙動が変更され、全角英数字時にプロポーショナル配置を行うように改修しました。
なお、新オプション『type』に『plain』を指定するとこれまでと同じベタ配置挙動になります。
・禁則文字追加
禁則処理を行う対応文字を追加しました。
これに伴いこれまでのデータでは若干配置の挙動が変わる可能性がありますので、ご注意ください。
- 行頭禁則文字
}、〕〉》」』】〙〗〟’”⦆»ゝゞーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇷㇺㇻㇼㇽㇾㇿ々〻‐゠–〜~‼⁇⁈⁉・。
- 行末禁則文字
{〔〈《「『【〘〖〝‘“⦅«
なお、禁則判定処理の高速化を合わせて行っています。
・PreTNFの〝~~〟置き換えに『“~~”』対応
PreTNFにて縦書き用引用符『〝~~〟』へ置き換える対象に『“~~”』を追加しました。
・PreTNFルビ判定処理修正
『|』(全角縦棒)についてもルビ処理の対象に含める改修を行いました。
|ベース文字≪ルビ文字≫
という記載が可能となります。
(これまでは半角縦棒のみでした)
・テンポラリフォルダ表示
バージョン情報にキャンセルボタンを追加しました。
このボタンを押すと威沙が展開されているテンポラリフォルダが表示されます。
この配下にあるcache-XXXXXXXXXXXXXXXXXXというフォルダを削除すると古いバージョンのテンポラリを削除することが可能です。
※ 現在のバージョンを含めて全て削除してしまっても次回起動時に再展開しますので問題ありません。
起動している威沙が使用しているフォルダを削除する場合はエラーが発生しますので、一度威沙を停止してから削除してください。
・処理高速化
TNF解析処理の各所を若干見直し、処理速度を改善しました。
大きいデータの場合には多少の高速化が体感出来ると思います。
□■ 2015/4/11版
■ バグ修正
・フォントパス問題修正
ファイルパスに全角文字が含まれていた場合、PDF生成に失敗するバグを修正しました。
(Mac版開発時に対応した処理に問題があり、デグレしてしまいました)
□■ 2015/2/27版
■ バグ修正
・末尾挿絵未挿入
段組構成かつページ内挿絵を使用した場合、さらに挿絵のみのページが最終ページに配置されるという状態
となったときにその挿絵を含んだページが配置されないという問題を修正しました。
※ 相当パターンが限定されるのでこれまで発現していなかったようです。
・文字コードテーブル欠損修正
PDFJ内部に持たせているJIS X 0213のコードテーブルに欠損があり、一部の文字が出力出来ていませんでした。
□■ 2015/1/19版
■ バグ修正
・stressタグsize/point修正
2014/12/30版にて仕様変更を行った修正に問題があったため、再修正を行いました。
■ 仕様変更
・英数文字列組版仕様変更無効化
2014/12/02版にて実装した英文文字のバランス調整機能ですが、これまでと組版イメージが変わってしまい、
データの後方互換性的に問題があったため、この機能はデフォルト無効としました。
■ 機能追加
・縦中横処理『horizontal』タグ追加
縦中横処理を行う新タグ『horizontal』を追加しました。
既存のdoubleタグは3文字以上の配置は出来ませんでしたが、このタグではその制限はありません。
また、オプションには『align』があり、右寄せ(right)・左寄せ(left)・中央(center)を指定することが出来ます。
デフォルトはcenterです。
□■ 2014/12/30版
■ バグ修正
・欧文処理修正
英数字文字列がページにまたがって配置される場合に、改ページが有効に機能せず、
行が1行多くページに配置されてしまう現象が発生したため、これを対処しました。
・TTCフォント指定時のエラー
拡張子が大文字のTTCフォントファイルを指定した場合に正常に動作しなくなる問題がありましたので、
これに対処しました。
・小説をよもう!コンバータ修正
キャプション単位で小説データをTNFファイルに集約する処理が動作しない現象について対処しました。
なお、ルビの中に『―』(ダッシュ)や『!?』などの自動タグ置換文字列が含まれている場合に、
PDF変換出来ない問題が存在することを確認しています。
これはrubyタグ内にはタグを指定出来ない仕様による影響のため、現時点では修正しておりません。
いずれ何らかの対応を考えたいと思います。
■ 仕様変更
・stressタグsize/point仕様変更
stressタグのsize/point指定はtypeが指定されないと有効に機能しない実装になっていましたが、
これを修正し、type指定の如何に関わらず、設定が適用されるようになりました。
また、size/point指定に比率(%)が出来るようになりました。比率の基準となる値はルビサイズ及び
ルビポイント(位置)になります。
・imgタグ機能拡張
imgタグに『align="step"』を追加しました。
『class="illustration"』時に段組内に挿絵を挿入する動作を行います。
また、『position』オプションも有効ですので、段中の左右に割り当てるなども
可能になっています。
・サーチパス関連修正
表だっての機能ではありませんが、指定されたファイルを探査するパスに実行ファイルが存在している場所を含め、
さらにフォントのサーチパス処理を修正しました。
コマンドライン版威沙リリースに向けた対処になります。
・sectionタグincludeオプション仕様変更
以前はincludeオプションにて『テキストファイル』の指定も可能でしたが、テキストは未サポートとしました。
(元々出力設定が曖昧になっており、意図通りの結果にならないパターンが存在したためです)
・ベースシステムを移行
ベースシステムをperl 5.20へ移行しました。
■ 機能追加
・insnoteタグ追加
割注を文中に入れることが出来るタグinsnoteを実装しました。
例:
<insnote>ただしこれは状況に応じて変化する</insnote>
なお文字数が4で割り切れない場合には空白にて4の倍数に補正されます。
また英数文字は縦置きで1文字ずつ配置されます。
・B5三段組みプロファイル追加
白練(@Siro_neri)さんから提供されたB5・三段組み構成のプロファイル及び専用テンプレートを追加しました。
※ 提供を快諾してくださった白練さんに感謝いたします。
・コマンドライン版威沙リリース
コマンドライン版威沙を同梱しています。
コマンドライン版は手元では以前から存在していましたが、主に実装テストを繰り返すために使用していただけのため、
実際に使用するには難点が多く、外部へのリリースはしていませんでした。
ファイルパスのサーチ関係を見直しすることで、容易にエディタへの組み込み、バッチ処理で使えるようになっています。
□■ 2014/12/02版
■ 仕様変更
・英数文字列組版仕様変更
英数文字列はプロポーショナル配置されるようになっていますが、字詰めの調整をこれまで行って居なかったため、
ジャスティファイ(行頭行末の位置合わせ)が守れていない状態でした。
この仕様を改め半角英数文字が使用された場合でも行頭・行末が極力揃う補正を行う処理を実装しました。
※ ただし、行中でフォントサイズを変更した場合の追従は現時点では行っていません。
・strike/sidelineタグ仕様追加
新しいオプション『width』を追加しました。
これまで線の太さはそれぞれの線の種別に合わせて、内部の固定パラメータと装飾する文字のフォントサイズ
との割合で固定計算されていましたが、これを直接指定することが出来るようになりました。
指定しない場合はこれまでと同じパラメータが適用されます。
widthには固定的にサイズをポイントで指定する方式とフォントサイズに合わせて比率で指定する方式の二つが使用出来ます。
<strike width="1">取消線</strike>
<strike width="1%" type="single">取消線</strike>
これに伴い、テキスト⇒TNF変換時のダッシュ代替空白取消線の太さを任意に変更する機能が実装されました。
『詳細設定』タブにダッシュ変換線幅という項目が追加されており、ここに線分の太さの割合を指定すること
が出来ます。
(フォントサイズとの割合となります)
□■ 2014/10/29版
■ 仕様変更
・centerタグ
これまでcenterタグ内ではタグを使用することが出来ませんでしたが、center_pageタグと同じ実装を使用する
ことにより、この制限を撤廃しました。
これにより、
<center><ruby text="だいごわ">第五話</ruby></center>
というような記述が可能になります。
・imgタグ
新しいオプション『position』を追加しました。
例えば『position="upper"』と指定するとページ上段に挿絵が配置され、下段に本文が割り当てられます。
配置位置には『upper』『under』『left』『right』が指定出来ます。
(left/rightは左もしくは右半分が挿絵の領域になります)
□■ 2014/08/17版
■ 仕様変更
・正式版リリース
これまでこのバージョンは開発版としてきましたが、本バージョンより正式版といたします。
・イメージキャラクター変更
これまでの桃髪妖精こと『シルフィード』から『時堂威沙』に変更し、名実共に(?)『威沙』となりました。
(ただし『小説を読もう!コンバータ』などはこれまで通り、シルフィードのアイコンとなっています)
□■ 2014/08/05版
■ 仕様変更
・numberタグの仕様変更
テスト実装されていたnumberタグのオプションを全面的に見直しました。
以前よりも若干使い勝手が良くなったと思います。
・PreTNF修正
章立て指定にて出力されるTNFを若干修正しました。
・Helpアイコン削除
Helpが同梱されていますが、こちらは現在全くメンテナンスされていないため、
一時的に撤去しました。
また公開出来る状況になったら復活するかもしれません。
・リファレンス修正
TNF及びPreTNFのリファレンスを全面的に見直しました。
TNFリファレンスマニュアルでは、出力例を画像で載せるようにしたため、PDFの
ファイルサイズが、かなり大きくなっていますのでご注意ください。
□■ 2014/07/15版
■ バグ修正
・小説を読もう!コンバータ修正
一部の形式が中途半端にしか取り込めていなかった問題を修正しました。
■ 仕様変更
・新PreTNF形式更新
PDF版のリファレンスマニュアルに変更しました。
□■ 2014/07/05版
■ 仕様変更
・インターフェース変更
機能追加に伴ってウィンドウが狭くなった為、横に幅を拡げることにしました。
それに伴い、タブの統廃合を実施しています。
(基本的な機能はそのままです)
・新PreTNF形式更新
カバータグ対応などを行いました。
また、新PreTNF用のドキュメントを追加しました。
・numberタグ機能追加
numberタグのtype指定にローマ数字(rome)を追加しました。
ただし、1~10(I~X)までしか対応していません。
□■ 2014/06/03版
■ バグ修正
・特殊文字が化ける現象の修正
ファイルの文字コードがUTF-8以外で、①などの特殊文字を使用した場合に出力されたPDF上の該当文字が化けてしまう現象について
修正を行いました。
※ 文字コードがShiftJISと判定された場合は、拡張文字が使用できるCP982という文字コードとして処理する修正となっています。
□■ 2014/04/30版
■ バグ修正
・リファレンスサンプル修正
リファレンスマニュアルの章立て事に置いてあるサンプルファイルの一部にファイル名などの間違いがあったため修正しました。
■ 仕様変更
・開発版明記
実行ウィンドウ及び情報に開発版リリースであることを明示するようにしました。
■ 機能追加
・numberタグ
連番生成タグ"number"をテスト実装しました。
このタグをtnf上に記載すると全角数値もしくは漢数字に変換し、自動採番を行います。
なお、名前が指定されない場合は無名番号となります。
例1:
<number/><br/>
<number/><br/>
↓
1<br/>
2<br/>
例2:
<number name="kan" type="kanji"/><br/>
<number name="kan"/><br/>
↓
一<br/>
二<br/>
□■ 2014/04/10版
■ 仕様変更
・GUI改修
画面上からプロファイルで定義出来る値の大半が調整可能となりました。
(トンボや紙面サイズについては現時点では実装方針の検討中です)
■ バグ修正
・段組処理修正
3段以上の段組処理において正常にレイアウトが行われず、意図しない挿絵の配置や段の消失が発生していた不具合について
修正を行いました。
・ファイルパス不具合修正
日本語ファイル名・フォルダ名が含まれたファイルパスが指定された場合にファイルが参照出来なかった問題を修正しました。
□■ 2014/02/10版
■ 仕様変更
・GUI改修
外観では殆ど変化はありませんが、内部処理を見直して、画面表示関係の処理を改善しました。
・内部処理見直し
各オブジェクト(文字列・画像・罫線など)について描画レイヤーの属性を付与しました。
外見では殆ど影響ありませんが、背景ありのページに文字列や画像を重ね合わせた場合において、
確実に表側へ描画されるようになります。
(以前はタグ指定の順番などに影響されて、不確実な場合はありました)
変換処理の中断処理実装しました。
変換を途中でキャンセルしたい場合、変換中に表示されるボタンをクリックすることで中断することが出来ます。
一部テンプレートで使用しているタグの機能強化を行っています。
・小説を読もう!→TNF変換ツール挿絵対応改修
出力TNFのimgタグについてオプションを見直し、未公開オプションclass="inline"を適用するように修正しました。
現状ではまだ不確定要素の多い機能のため未公開としているinlineモードですが、読もうからの変換の場合は、
行中に自動展開されるこの機能を使用した方がよさそうなので適用しました。
□■ 2014/01/02版
■ バグ修正
・折り本用テンプレート修正
折り本用テンプレート『1paper_8page_book』にミスがあり、イラストレーターのページが中表紙と被ってしまうという
現象が発生していました。
■ 機能追加
・小説を読もう!→TNF変換ツール挿絵対応
小説を読もう!にて公開されている小説内に挿絵があった場合、その挿絵を取得する機能を追加しました。
テキストでは挿絵位置を指し示すだけですが、tnfでは挿絵として挿入されるようになります。
(ただし、元々Web閲覧を前提としているデータを変換しているため、単純変換では思ったような配置がされない場合があります)
□■ 2013/12/25版
■ バグ修正
・PDFJ GSUB対応パッチ修正
最近のフォントで縦書き用字形を使用するためにGSUB対応を独自に行っていますが、このGSUBテーブルが無いフォント
を使用した場合に不正終了することがありましたので、GSUBテーブルが無い場合は処理をキャンセルするように修正しました。
■ 機能追加
・しおり付与機能実装
しおり(アウトライン)を付与する機能を実装しました。
出力設定にて『しおり 付与』のチェックを入れると、目次に対応したしおりが追加されます。
なお、この機能はPDFページと1対1となる『電子書籍向け』と『1ページ単位』のみ機能します。
(他の出力形式を選ぶと無効化するようにしてあります)
・小説を読もう!→TNF変換ツール(旧小説家になろう→TNF変換ツール)
小説を読もう!からデータを取得し、TNFファイル化するツールnc2tnfにテキストファイルを生成する機能を追加しました。
また、最近の『読もう』から一部小説情報が取得できていなかった問題を修正しました。
(『読もう』の仕様が一部変わったようです)
□■ 2013/12/12版
■ バグ修正
・Text->TNF及び青空->TNF変換使用不能
前回モバイル向け出力設定を廃止しましたが、これに伴って行ったコード削除ミスがあり、各種TNF変換が動作しない
状態になっていました。
コード修正を行い、機能するように修正しました。
※ hayatoさん、報告ありがとうございました。
・rubyタグバランスモードでの誤配置修正
rubyタグにバランス指定がonとなっていた状態で、ルビベース文字先頭時点で改行される場合に、
ルビのみが前行末に置き去りになり、ベース文字が次の行先頭に配置され、ルビとベース文字が完全に
別れてしまう問題を修正しました。
上記の条件を満たさないは問題が起きませんので、かなり条件が限定しますが、テストで使用した青空のデータが
見事に引っ掛かってくれました。
また、バランス指定でルビ途中で改行する場合についてもバランス調整を行いました。
しかし、計算だけでは綺麗に配置することは難しいので、ルビ途中で改行する場合は、バランスをoffで使用した方が
無難と思われます。
■ 機能追加
・tracking/kerningタグ追加(テスト実装)
字詰め・字送り調整を行うタグtracking及びkerningを実装しました。
ただし、現段階ではテスト実装ということで、以降仕様変更の可能性があることも考慮してご使用ください。
また、sizeに-99%などを指定した場合は当然文字が重なりますので、ご注意ください。
※ そもそも約物に対して使用することしか考慮していないため、それ以外の文字での挙動は不定です。
- tracking
例えば"「「「「「"や"」」」」」"のように約物が連続した場合、これまではベタで組版されたため、アキが多く、
バランスが良くありませんでした。
trackingタグを使うことで、このように約物が連続した場合などで、字詰めを行って調整することが出来ます。
例:<tracking>「「「「「</tracking>えっ<double>!?</double><tracking>」」」」」</tracking>
なお、tracking後に文字列が続く場合を考慮しているため、trackingタグの後ろにはバランス調整の空白が挿入される場合が
あります。
- kerning
動作的にはtrackingと似ていますが、こちらは自分自身を調整するか、次の文字を調整するかの指定をする方式になります。
例えば『<kerning>、</kerning>』と指定すると、次の文字はアキ無しで読点直後に配置されます。
また、『<kerning target="self">「</kerning>』とすると、"「"自体が半文字分前の位置に配置されます。
※ なお、オプション無しのデフォルトの挙動は『target="next"』です
改行後、最後の一文字だけ次の行になってしまう場合に、どうしても一行で収めたい時に、約物を詰めて調整するなどに使えると思います。
双方のタグとも、sizeオプションが存在し、『size="-50%"』『size="10"』などと指定出来ます。
デフォルトでは『size="-50%"』が指定されており、約物の調整を前提とした値になっています。
※ 意味的には文字送りを50%(文字サイズの半分)に削減するということになります。
・全角ダブルクオティーション置換
テキスト→TNF及び青空→TNF変換時、全角ダブルクオティーションで囲まれた文字列を『斜線型ダブルクオティーション』に置換する
処理を実装しました。
二重引用符に囲まれた縦書き文章はこちらが使われることが多いですが、単純な漢字変換ではこれら文字が出てこないこともあり、
ツール側で対応してみました。
例:『”****”』→『〝****〟』
テキスト・青空からの変換時のみ有効となりますので、TNF内で『”**”』を使用している箇所はそのままとなります。
・連続約物trackingタグ対応
テキスト・青空→TNF変換にて、"「"や"」"などの約物が同一で連続する場合に自動的にtrackingタグを付与する機能を実装しました。
現時点での対象約物は以下の通りです。
「」『』【】[]{}《》〔〕、。()
同一の約物が連続する場合のみですので、"「『"などの場合にはタグは付与されません。
■ 仕様変更
・beautiful_young_girlテンプレート修正
beautiful_young_girlを若干修正(各ページに付与されていたページタイトルを削除)しました。
このテンプレートについては参考にしたデザインに近づける修正を継続して行う予定です。
□■ 2013/10/29版
■ 仕様変更・改修
・モバイル向け出力設定廃止
2013/08/19版にて実装した『モバイル向け出力』を廃止しました。
PDFの文字コード変更を行うことによって問題を回避できることが判明しましたので、以下の制限事項を解除しました。
- JIS X 0213追加文字使用不能
- 青空文庫出力の第三・第四水準の文字置き換え処理停止
今のところ、以下のモバイル機器向けビューアにて表示を確認しています。
・Adobe Reader(Android版)
・Sony Reader(Android版) ※ ただし、非常に重くて実用に耐えません
・i文庫HD(iPhone)
これに伴い、出力文字コードは『UniJIS2004-UTF16』から『UniJIS-UTF16』に変更しました。
無印と2004の差は、『字形変更』と『10文字の字形変更文字の追加』となっております。
一般的な使い方ではあまり気になるものではありませんので、この際『UniJIS-UTF16』をデフォルトしました。
なお、文字コードについては以下が参考になると思います。
JIS X 0213 http://ja.wikipedia.org/wiki/JIS_X_0213
・出力文字コード体系選択機能追加
モバイル向け出力設定廃止、及び文字コード体系の『UniJIS-UTF16』への変更に伴い、『フォント設定』タブに、
『文字コード』コンボボックスを追加しました。
このコンボボックスで選択することにより、JIS X 0213(UniJIS-UTF16)及びJIS X 0213:2004(UniJIS2004-UTF16)を
切り替えることが出来ます。
なお、前述の通りデフォルトは『JIS X 0213(UniJIS-UTF16)』となっています。
・テンプレート修正
各テンプレートにて目次ページの修正を行いました。
目次用テンプレートには目次20個分の配置場所が予め確保されていますが(新書版を除く)、目次が埋まらない場所には
空白が埋まるようになっていました。
しかし、一部ビューアではこの空白がリンクであるため、薄く見えてしまうという現象が出ることを確認しましたので、
目次が無い場所には空白も入れないように修正を行いました。
□■ 2013/08/19版
■ 仕様変更・改修
・8ページ折本対応関連修正
A4用8ページ折本プロファイルの設定値が誤っており、A4出力が正常に出来ないデータとなっていたため、修正しました。
また、実際に折本を作るにあたって、既存のデフォルトテンプレートではバランスが悪いため、A4用8ページ折本向けに
調整したテンプレートも合わせて同梱しました。
・モバイル向け出力設定項目追加
出力設定に『モバイル向け出力』の設定チェックボックスを追加しました。
これはiPad(i文庫HDなど)、Android(Android版Adobe Readerなど)では威沙で生成したPDFが読めない問題への対策です。
このチェックを有効にすると、出力するPDFで使われる文字コードを変更します。
生成されたPDFは先に挙げたソフトウェアで読み込むことが出来ますが、以下の制限が付きます。
- JIS X 0213追加文字使用不能
いわゆる第三水準・第四水準の文字、そして追加された記号(圏点記号『﹅』)が使用できません。
(傍点指定で使われる圏点は『・』に置き換えられます)
- 青空文庫出力の第三・第四水準の文字置き換え処理停止
青空文庫出力にて第三・第四水準の文字置き換え処理を行っていますが、第三水準・第四水準の文字が使えなくなるため、
この機能が停止するようにしました。
この問題は各ビューワがJIS X 0123サポートのため使用している文字コード体系『UniJIS2000-UTF16』に対応しないため発生しています。
(PC版のAdobe Readerは大丈夫なので、単純にサポートしていないだけと思われます)
なお、この機能実装に伴い、設定ファイルの『Code』設定が不要となりましたので、項目を削除しています。
■ バグ修正
・Windows XPにてインストール不能問題修正
インストーラの問題により、Windows XPにてインストールが出来ない問題がありました。
(インストーラ画面で使用している一部の画像がWindows XP上では正常に処理出来ない模様です)
□■ 2013/07/31版
■ 機能追加
・8ページ折本対応
8ページ折本の出力形式をサポートしました。
なお、どのプロファイルでも指定することは可能ですが、A4用紙へ印刷する形式の専用プロファイルも合わせて追加しました。
・リンク機能搭載
リンクタグ『a』を追加しました。指定方法はHTMLと互換性がある形式にしています。
(リンク元:<a href="link1">~~~</a> リンク先:<a name="link1">~~~~</a>)
なお、目次リンク機能と同様、電子書籍モードまたは1ページモードの出力形式のみ機能が有効になります。
■ 仕様変更・改修
・テンプレート修正
8ページ折本対応に伴って、小さい紙面で構成された場合に『目次』の文字が重なってしまう問題が分かりましたので、
defaultテンプレートの目次ページを修正しました。
・挿絵余白指定
8ページ折本対応に伴い、挿絵に余白を持たせる機能を追加しました。(Image_Space設定)
厳密には挿絵を転写する領域を指定された値分縮小させることにより実現しています。
・トンボタブ変更
トンボタブのデザインを変更し、挿絵に余白領域を指定した場合の値が表示されるようになりました。
(Image_Spaceの値を表示)
・fontmap/fontタグ機能追加
fontmapにてfontタグ同様にsize/space/colorなどが指定出来るようになりました。
フォントファイル指定であるfileオプションが必須ではなくなり、字飾りのみ指定すること可能となりましたので、
特定の字飾りをfontmapで一括設定出来ます。(例えばリンクなどの字飾りなど)
・sideline/strikeに色指定オプション追加
これらタグにcolorオプションを追加し、文字と傍線・取り消し線の色を分けて指定することが可能となります。
・リファレンスマニュアル更新
aタグ追加及びコメントアウト、font/fontmap仕様変更、sideline/strike仕様変更について加筆修正を行いました。
□■ 2013/07/01版
■ 仕様変更・改修
・コード整理
- 処理内容を見直し、共通化できる機能をまとめるなどのシェイプアップを実施しました。
- perlに存在する過去の経緯からの互換性問題で起きていた性能劣化を修正しました。
- 座標変換処理を簡略化し、処理を高速化しました。
- 文章解析器の処理を改善し、処理速度を高速化しました。
・サンプル変更
- サンプルファイルの画像形式をjpgに戻しました。
JPEG2000の場合、純正Adobe Readerでも一部表示がおかしい箇所があり、また処理が重いので元に戻すことにしました。
・傍線などの調整
- 傍線の太さを調整しました。
- 矩形処理実装に伴い、傍線『囲み』を罫線4本から矩形指定に変更しました。
・テンプレート関係
- テンプレート選択方式変更
テンプレートはこれまでプロファイルに紐付いていましたが、個別に使用したいテンプレートが選択できるようになりました。
『テンプレートタブ』から選択する事が出来ます。
これに伴い、テンプレートの仕様が変更されています。
■ 機能追加
・テンプレート関係
- テンプレート用タグの追加
テンプレートで使用するタグに矩形・円形のタグを追加しました。
- リンク処理
目次に対し、リンクを付与することが出来るようになりました。
これにより目次の文字列をクリックすることで、該当ページに飛べるようになります。
・インストーラー
インストーラー付きにしました。
□■ 2013/04/04版
■ 機能追加
・小説家になろう to TNFコンバータ添付
『小説家になろう』から小説データを取得し、TNFへコンバートするツール『nc2tnf.exe』を追加しました。
小説家になろうに公開されている小説のIDを指定することでTNFを取得する事が出来ます。
なお、出力されたTNFはルビタグがHTMLのものそのままになるため、本バージョン以降の威沙でないと変換出来ませんのでご注意を。
※ まだ試験実装中であるため、問題がありましたらご連絡ください。
■ バグ修正
・設定項目の誤記再修正
2012/11/05版にて修正した文字コード指定の機能ですが、処理そのものが誤字によって動作していなかった
ことが分かり、修正いたしました。
■ 仕様変更
・rubyタグ仕様変更
rubyタグにてHTML形式のruby指定の読込をサポートしました。
例:『<ruby><rb>噤</rb><rp>(</rp><rt>つぐ</rt><rp>)</rp></ruby>』(※rp部は無視されます)
・プロファイル追加
『電子書籍向けプロファイル』を更新し、モバイル端末などでの閲覧向けに調整しました。
具体的には小口・ノドを縮小し、横幅を削減することで文字が大きめに読めるようにしております。
□■ 2013/03/31版
■ 仕様変更
・perl 5.16系へ移行
動作バージョンをperl 5.16系に移行しました。
これにより起動速度及び変換速度が向上し、GUIのデザインが若干変化しています。
・imgタグalignオプションの仕様追加
classオプションがillustration指定時に設定出来るalignオプションへleft/rightに加えてnextが指定出来るようにしました。
このオプションが指定された場合、imgタグが指定された次のページに配置するようになります。
・imgタグにpointオプションを追加
classオプションがchar指定時に設定出来るpointオプションを追加しました。
rubyオプション指定時にルビ位置を変更することが出来ます。(rubyタグのpointオプションと同等のものです)
・テキスト・青空→TNF変換ファイルのフォーマット変更
以前の改修にて変換後のTNFにリファレンスを付与していましたが、これを見直してシンプルなものに戻しました。
その代わり、新たに作成したリファレンスマニュアルを添付するようにしました。
■ バグ修正
・indentタグで正常に改行されなかった問題を修正
indentタグ内でdouble及びoverlapタグが行端に来た場合、正常に禁則処理が行われず、
意図しない場所に文字が配置されてしまう問題を修正しました。
□■ 2012/12/13版
■ ソースファイル公開
威沙のソースコードを配布するようにしました。
以前にもコードを配布していた時期があったのですが、GUIを付けた以降は環境構築・ビルド手順が面倒過ぎたため、
公開していませんでした。
現在はCPANにて割と簡単に環境が作れるようになったため、ビルド手順書を付けた上で配布いたします。
- Build.txt ビルド手順書
□■ 2012/11/18版
■ バグ修正
・Drag&Drop文字化け対処
前回のバージョンにてD&D処理のライブラリを変更しましたが、日本語コードの扱いが変更されていたため、
日本語名のフォルダのファイルをD&Dで指定すると文字化けを起こす現象が発生しており、これを修正しました。
・傍点(圏点)変換処理問題対処
PreTNF->TNF変換時、『""』で囲まれた範囲を傍点タグに置き換えますが、この処理に問題があり、
タグ前の一文字が消失するという現象が発生しており、これを修正しました。
■ 仕様変更
・波線対応
PreTNF->TNF変換時、『~』記号が4連続(『~~~~』)存在した場合、自動的に
『全角空白+取り消し線(波線指定)タグ』に置き換える処理を実装しました。
・波線間隔変更
strikeタグ・sidelineタグのオプション『type="wave"』時に出力される波線の粒度を下げました。
既存では粒度が高すぎるため、PDFが重くなる・縮小時に見栄えが良くないことがあり、
粒度を調整しました。
□■ 2012/11/05版
■ バグ修正
・設定ファイルの誤記修正
前回追加した新しい設定タグ『Code』ですが、設定値は"UniJIS2004-UTF16" "UniJIS-UTF16"が正常値であり、
'UTF16'が抜けていました。
※ 機能自体は内部処理が強制的に"UinJIS2004-UTF16"を設定されていたため動作していました。
■ 仕様変更
・Drag&Drop処理ライブラリ変更
外見では変化がありませんが、これまで使用していたDrag&Dropの処理ライブラリはいずれサポートされなくなる
見込みのため、新しいライブラリを使用するように置き換えました。
□■ 2012/10/25版
■ 仕様変更
・『小説家になろう』のルビタグ対応
テキスト->TNF変換機能にて『小説家になろう』で使用されているルビタグ形式をサポートしました。
(わたし自身が投稿し始めたためなのですが……)
形式は『|ベース文字《ルビ文字》』の形式が認識出来ます。
(青空文庫のルビ指定と似ていますが、|が半角であるなどちょっと違いますのでご注意を)
・PDF出力文字集合変更
20121015版にて変更した文字集合ですが、UniJIS2004に戻すことに致しました。
ただし、設定ファイル(Tokimi.conf)に新しい設定項目を追加し、UniJIS2004またはUniJISを変更出来るようにしました。
Android版Adobe Readerに対応する場合には、この新しい設定項目に対し『UniJIS』を指定するようにしてください。
新しいタグは『Code』となっており、"UniJIS2004" "UniJIS"を指定することが出来ます。
UniJIS以外が設定された場合は、強制的に『UniJIS2004』となりますのでご注意ください。(デフォルトはUniJIS2004)
□■ 2012/10/15版
■ 仕様変更
・PDF出力文字集合変更
PDFの出力文字集合をUniJIS2004(JIS X 0213:2004)からUniJIS(JIS X 0213)に変更しました。
Android版Adobe Readerにて威沙で生成したPDFが正常に読み込めなかった対応になります。
ただし、UniJISとUniJIS2004では字形の変更、文字の追加が行われていますので、
不都合がある方もおられることを考慮し、任意文字集合を切り替えられるバージョンを考えております。
□■ 2012/9/30版
■ 仕様変更
・TNF変換機能修正
テキスト・青空→TNF変換にて出力されるTNFファイルにコメントやタグ例を追加し、
リファレンスとして使用可能な形のものを出力するようになりました。
・サンプルファイル追加
拙作『夢の残照』第一話を実用例として添付しました。
□■ 2012/9/17版
■ 仕様変更
・ドキュメント整理
古いもしくは不要なドキュメントファイルを削除しました。
また、README.txtを追加しました。
・サンプルファイル変更
サンプルで使用しているJPEG 2000の画像ファイルの圧縮率を変更しました。
□■ 2012/9/15版
■ バグ修正
・アイコン修正
Windows XPにて一部アイコンが正常に表示されていなかった問題を修正しました。
■ 仕様変更
・バージョン情報変更
バージョン情報表示に威沙が使用しているテンポラリフォルダ名が出力されるようになりました。
このテンポラリフォルダは威沙が起動で使用するファイルが展開されていますが、バージョンアップを繰り返すとこのフォルダがその分増えてしまい、ディスク領域を圧迫してしまいます。
このため定期的にこのフォルダを削除することにより容量を確保することが出来ます。
(表示されるテンポラリフォルダの一つ上から対象フォルダを消すと良いでしょう。以前のバージョンのフォルダも残っていますのでそちらも消すことが出来ます)
なお、最新版を消してしまっても再び実行ファイル『Izuna.exe』を起動すれば再展開されますので問題ありません。
□■ 2012/9/12版
■ 仕様変更
・GUI変更
ユーザインターフェースを大幅に変更しました。
以前よりも取っつきやすいデザインになった・・・と思います・・・
※ なお、現時点ではGUI上からのプロファイルデータ変更はサポートしていません。
・起動速度改善
GUI変更に伴って機動遅延の原因となっていたライブラリを使用しない実装に変更しました。
以前よりも若干ですが、画面が出るまでの速度が速くなったと思います。
また、コード上に残っていた不要コードを削除し、全体的にシェイプアップしました。
・ページタイトルとページ番号のフォント設定を分離
ページタイトルとページ番号に使用されるフォントの設定を分離しました。
一部フォント設定においての不都合を解消するために変更しました。
具体的には半角フォントとして使用できないフォントを指定した場合に、ページ番号のフォントが正常に動作しない問題がありました。
(IPAフォントのように半角フォントとして指定しても問題無いフォントもありますが)
また、生成されたPDFの肥大化の原因となっていたIPAフォントをページ番号フォントに使用するのをデフォルトから外しました。
・不要設定定義削除
以前から互換性のために残っていた一部設定を削除しました。
動作に影響があるものはありませんので、使用時に問題はありません。
□■ 2012/8/26版
■ 仕様変更
・電子書籍向け出力形式変更
1ページ目が表紙扱いで単独表示になり、2ページ目以降から見開きとなるように改修しました。
・ルビバランス配置機能修正
ルビベース文字のバランス配置機能を使用した場合、行端が不揃いになりやすい問題があったため、
ベース文字をバランス配置時にベタ組みのバランスを維持するように修正しました。
これにより、前後の文字間隔が広く空きすぎる場合がありますが、行全体としてはバランスが良くなったと思います。
・目次・奥付機能デフォルト有効
目次・奥付の機能がデフォルトで設定されるようにGUIを変更しました。
チェックをオフにすれば以前と同様です。
・オーナーパスワードとユーザ権限チェック連動修正
認証機能のオーナーパスワードが設定されないとユーザ権限が有効になりませんが、これがGUI上連動していなかったため、
わかりにくいと判断し、オーナーパスワード又はユーザ権限がオンになった場合、どちらもオンに設定する様に修正しました。
・レスポンス強化
プログラム全体にレスポンスを改善する修正を施しました。
ほんの少しですが変換時のレスポンスが上がっています。
(残念ながら体感できるほどでは無いのですが)
・青空文庫対応タグ追加
一部のタグ対応を追加しました。
□■ 2012/7/22版
■ 機能追加
・JPEG 2000対応
JPEGよりも画質の良い画像を高圧縮で生成出来るフォーマットであるJPEG 2000に対応しました。
JPEG 2000は圧縮率が悪いですが可逆圧縮にも対応していますので、印刷レベルのファイルを生成する場合に利用できると思います。
前述の通り、JPEGよりも高い圧縮が出来ることもあり、ファイルサイズの縮小化も可能です。
(サンプルファイルもJPEG 2000化しました)
■ バグ修正
・テキスト->TNF変換の問題修正
rubyタグへの変換時にstressタグへの誤変換が行われてしまい、不正なTNFが生成されてしまう問題を修正しました。
(テキスト->PDFへの直変換でも内部処理が共通のため、同様の問題が発生します)
□■ 2012/6/22版
■ 機能修正
・テンプレート用タグstringにオプションautolength追加
テンプレート用タグであるstringタグに文字列長自動調整用オプションautolengthを追加しました。
指定されている座標系(local/global)に応じてその座標系の最大幅を基準に文字列のフォントサイズを調整します。
主にタイトルなどで想定外に長い文字列などが設定された場合に自動調整することを目的としていますが、
如何せん完全な調整は難しいため対処療法的な調整のみ行っています。
・テンプレート修正
stringタグのautolength対応の適用、beautiful_young_girlテンプレートのミスを修正しました。
・プロファイル追加
文庫版プロファイルを新たに追加しています。
デフォルトプロファイルにbeautiful_young_girlテンプレートを適用したプロファイルと、
デバイス上で閲覧する向けに調整したテストプロファイルを追加しています。
□■ 2012/6/3版
■ 機能修正
・ルビにてベース文字バランス配置対応
ルビタグにてルビがベースとなる文字列よりも長い場合に、ベース文字をバランス配置する機能を追加しました。
rubyタグまたはrubymapタグにbalance="on"を指定することにより機能します。
(付与しない場合は既存と同じ動作をします)
なお、テキスト・青空文庫変換機能によって出力されるTNFファイルでは、有効になります。
・青空文庫フォーマット追加対応
傍点・傍線・地上げ・字下げの対応を追加しました。
また、青空文庫フォーマット対応マークアップ例ファイルをドキュメントに追加しました。
『青空文庫対応タグ例.txt』
(そのまま威沙で変換することが出来るファイルとなっています)
・indentタグ機能修正
indentタグ同士を入れ子にして使用することが出来るようになりました。
またsizeオプションを新設し、指定範囲内の文章全体を字下げするモードを追加しました。
(こちらが本来の意味での字下げとなります)
・設定ファイル記述方法追加
ドキュメントに『設定ファイル記載方法.txt』を追加しました。
実は以前から用意していたのですが、リリースファイルに含めるのを忘れていました。
■ バグ修正
・傍線処理の不具合修正
傍線処理が有効状態にてspacerタグやunderタグを使用すると、空いている空白部まで傍線が引かれてしまう問題がありました。
・青空変換不具合修正
一部タグで余計な改行などが含まれるパターンを修正しました。
□■ 2012/5/5版
■ 機能修正
・デフォルトテンプレートバランス調整
デフォルトテンプレートのデザインバランスを以前のバージョンと合わせる方向に修正しました。
(中表紙や各ページの配置に若干差異があったため)
■ バグ修正
・改段及び改頁処理修正
段組プロファイル使用時、挿絵を一枚以上挿入した場合、以降の改頁及び改段処理が正常に行われない問題を修正しました。
段組状態でも挿絵には一ページが自動的に割り当てられる処理になっておりますが、この処理時に内部的には段数分の改段を行わなければならないにも関わらず、
一段分の改段しか行っておらず、その結果以降のページ数確認が正常に行われていませんでした。
□■ 2012/3/11版
本バージョンよりこれまで開発版としていた開発メイントランクからのリリースとなります。
しばらくはこのトランクからリリースいたします。
また大幅な改良が加えられる場合には、安定版と開発版とで切り分ける方針です。
■ 機能追加
・塗り足し指定機能
トンボ使用時、挿絵に対して『塗り足し』を付与する機能を追加。
挿絵領域をconfファイルに指定したサイズ分増加させることにより、裁ち切り線からはみ出せる機能です。
指定したサイズが左右上下に適用されますので、例えば『5』を指定すると、縦10px、横10px領域が拡張されます。
・新書サイズプロファイルとテンプレートを追加
新書向けプロファイルと専用テンプレイート『two_dimensions』を追加しました。
18行40文字1段構成を取っており、またページ単位にもテンプレートが適用できる例として実装しています。
□■ 2012/1/17版
■ 機能追加
・TTC対応
TypeType Font Collectionに対応しました。
□■ 2012/1/5版
■ 機能追加
・テンプレート機能搭載
中表紙・目次・奥付などをカスタマイズ出来るテンプレート機能を実装しました。
※ 本文ページのデザインもカスタマイズ出来ます。
■ バグ修正
・リリース版での修正適用
リリース版で修正済みの問題は全て適用されています。
□■ 2011/8/10版
■ 仕様変更
・center_pageタグの処理精度改善2
center_pageタグで囲まれた行の行数算出に先行組版処理による組版予測機能を実装することより、
配置精度を改善しました。
・地付きタグ"<under>"を追加
地付きタグunderを追加しました。
タグオプションnumを指定すると、地から何文字上げという指定も可能です
・青空文庫フォーマット対応強化
青空文庫フォーマットのタグ認識を追加修正を実施しました。
・威沙用フォント同梱
試験的にですが、TakaoEX明朝をベースにしたIzunaEx明朝フォントを同梱しました。
ベースのフォントに対し、ボールド処理を施しております。
※ デフォルトでは使用しないようになっておりますが、Tokimi.confのFontTypeを変更すれば使用可能です。
■ バグ修正
・sectionタグ再修正
sectionタグの改丁処理実行中に挿絵挿入実施された場合、正常に改丁出来ない問題を修正。
・傍線処理修正
以前取り消し線のバランス修正を行った際、傍線処理のバランスまで変更してしまっており、
適正な太さの線が出ないようになっていたため、これを以前のバランスに戻しました。
□■ 2011/6/16版
■ 仕様変更
・center_pageタグの処理精度改善
center_pageタグで囲まれた行の行数算出に行長加算を実施することにより、追従精度を改善しました。
行が短いプロファイルを使用する場合にセンターリングのバランスが改善します。
■ バグ修正
・sectionタグ修正
sectionタグの動作がデグレってしまっていたので、処理を再修正しました。
□■ 2011/6/1版
■ 仕様変更
・sectionタグの改丁処理を先行型に変更しました。
セクションタグにて以前までは後方に改丁処理が動作するようになっていましたが、
これを改め、先に改丁処理を実施してからセクション処理が行われるように仕様を変更しました。
・newpageタグ仕様変更
newpageタグはこれまで改頁=改段となっており、段組構成時には段が変わる処理となっていましたが、
これを改め、本当に改頁する処理に変更しました。
※ 段組構成でない場合は、これまでと動作は変わりません。
なお、改段を行いたい場合にはnewstepタグを新設しましたので、こちらを使用してください。
※ 段組構成でない場合は、newpageと動作は変わりません。
■ 機能強化
・対応フォント強化
従来PDFJの制限により、Vista以降に付属のMSフォントや新しいIPAフォント及びIPAexフォント等にて、
縦組みを使用することが出来ませんでしたが、PDFJを改良し対応するコードを追加しました。
これにより上記フォントを使用することが出来るようになりました。
・newstepタグ追加
前述の通り、newpageタグの代わりに段組構成時に段を切り替えるためのタグnewstepタグを追加しました。
・メモリ使用量削減
PNG対応に伴って、処理性能を上げるためにメモリをかなり確保する実装を行っていましたが、
あまりにもバッファを取りすぎていたため、これを一律削減することにしました。
PNG展開時の処理性能が下がりますが、使用頻度から鑑みて高品質のJPEGファイルを使用した方が無難と考えています。
■ バグ修正
・sectionタグの改丁処理
改丁処理が正確に行われず、仕様とは逆の位置に配置される問題がありましたので、
これを修正しました。
・青空文庫タグの『改丁』の修正
[#改丁]について処理をサボっており、newpageで誤魔化していた処理を空sectionタグに置き換えることにより、
意図した動作になるように変更しました。
□■ 2011/2/17版
■ 機能強化
・文字代替イメージにルビが付与できる機能を実装
<img class="char" src="textimg.jpg" ruby="ルビ"/>
などとすることにより、文字の代わりに埋め込んだ画像に対してもルビを振ることが出来ます。
・一部タグエラーについてのメッセージ強化
まだ対応は不完全ですが、タグエラーの箇所が特定しやすくしました。
他のエラーについても随時対応しようと思います。
・青空文庫フォーマットのサポート強化
青空文庫のフォーマットからの変換機能について、サポートする注釈を増加させました。
また、第三水準以降の文字については画像置き換えのタグを生成するようにしました。
※ 外字ファイルは青空文庫で配布されています。
・リソースファイルの圧縮
威沙内部で表示用に使用している画像データをRLE圧縮にて大きさを削減しました。
■ バグ修正
・画像比率計算のバグ修正
縦横の比率によっては紙面上の大きさを超えてサイズ変換が行われてしまう場合が存在したバグの修正です。
アスペクト比の計算時に縦横の大きい方で比率を求めていましたが、求めた比率を小さい方に適用した場合にそのサイズが紙面サイズを超えているかどうかの判定をしていなかったのが原因でした。
・fontタグなどのsizeオプションにて数値が正常に取得できない場合があるバグ修正
おそらく最初期から存在していた大問題。(ぉ
サイズに小数点を用いた場合、サイズが不正になってしまうという問題です。
この修正により、7.5・5.1などの小数点を含んだサイズが正常に適用されるようになります。
□■ 2011/1/12版
・perlを5.8.8から5.12.2にアップデート
・PNG対応
・いくつかのバグ修正
□■ 2010/9/23版
・TNF Parserの高速化
内部で使用している正規表現をツールで生成したものに置き換えました。
・実体参照(<>&"')対応
実体参照の&/</>/"/'に対応しました。
□■ 2010/8/20版
・デフォルトの出力モードが変更
・電子書籍向けの対応機能及びタグが追加
表紙・裏表紙・口絵指定(電子書籍モードのみ有効)
<cover type="front" src="画像ファイル名"/><!-- 表紙絵 -->
<cover type="back" src="画像ファイル名"/><!-- 裏表紙絵 -->
<frontispiece src="画像ファイル名1"/><!-- 口絵1 -->
<frontispiece src="画像ファイル名2"/><!-- 口絵2 -->
<frontispiece src="画像ファイル名3"/><!-- 口絵3 -->
・ページセンターリングタグ(囲まれた範囲をページ中心に展開)
<center_page>~</center_page>
・電子書籍用コンフィグファイルTokimi_d.confを同梱
標準のTokimi.confをバックアップし、Tokimi_d.confをTokimi.confに変更してから、
設定リロードもしくは威沙を再起動してください。
□■ 2010/6/20α版
・プロファイルリロードボタンを押しても、選択済みプロファイルが消えない限り、選択が維持するように改修
・新ルビ処理実装
・Perl 5.12環境向けのパッチ投入
■ 新ルビ処理について
新しいルビ処理は以下のような実装になっています。
・既存処理と新処理の切り替えポイント
ルビもしくはルビベース文字に一文字でも半角英数文字が含まれていた場合、新ルビ処理に切り替わります。
・ルビはベースに対し中央配置
これまでの全角専用ルビ処理と違い、中央配置のみの実装になっています。
これは英数文字が含まれているルビ文字のバランス処理が不可能に近いためです。
(数値上は配置出来ますが、見た目が良いかは別問題)
・ルビベース文字中での改行
ルビが振られるベース文字が途中で改行した場合、
・ルビに空白がある
空白でルビを切り離し、次の行に処理を続行します。
・ルビに空白がない
分離不能と判断し、行末を終端としてルビを配置します。
・ルビ文字が行頭を越える場合
ルビ文字が行頭を越えている場合は、行頭に合わせるように位置を修正します。
・ルビ文字が行末を越える場合
ルビ文字が行末を越えている場合は、行末に合わせるように位置を修正します。
□■ 2010/5/12版
・jpegファイルからTNFファイルを生成する『jpeg2tnf』を同梱
・nopagenumタグ追加
このタグに囲まれた範囲はページ番号が表示されなくなります。
□■ 2010/5/1版
・ラインサイズの補正・設定データの修正
□■ 2010/4/23版
・PreTNFのコメント機能のバグを修正したバージョンをリリースしました。
□■ 2010/3/24版
・段組時の挿絵挿入機能のバグ修正
・iPad向け(?)設定追加
□■ 2010/3/6
・indetタグ処理時に禁則文字が末尾にくる場合に改行が余分に実装される問題の修正
・禁則処理+改行+改ページが複合する条件時に不正な組版が行われる問題の修正
・Windows7にて終了できないことがある問題の修正
・アルファベット&インデント機能使用時、改行処理が正常に行われない問題の修正
・アイコン修正
・面区点→UNICODEライブラリ機能追加
・改行幅修正
□■ 20100124版
・出力ページ指定実装
・設定ファイル仕様変更
・出力形式表示実装
・ヘルプ関連テスト実装(まだ中身が無いです)
・段組機能正式実装
□■ 20091227版
・DLE処理見直し
・右挿絵自動挿入対応
・欧文フォント変更機能使用時の高負荷問題対応
□■ 20091217版
・フォント変更機能実装(欧文)
・DLE/PLE実装
・設定ファイル項目変更
・未実装処理実装
・罫線濃度変更