MessageLayer.tjs を改造して [deffont]
タグを italic に対応します。
基本的には defaultBold の実装をコピペするだけでOKかと思われます。
//class MessageLayer冒頭
/*CS*/var defaultBold = true; // デフォルトでボールドで描画するか
/*CS*/var defaultItalic = false; // デフォルトでイタリックで描画するか
~
//function resetFont()内
lineLayer.font.bold = bold = defaultBold;
lineLayer.font.italic=defaultItalic;
// ※↑の実装は既にあるので追記でなく改造してください。
~
//function setFont(elm)内
if(elm.bold == 'default')
lineLayer.font.bold = defaultBold;
else if(elm.bold !== void)
lineLayer.font.bold = +elm.bold;
if(elm.italic == 'default')
lineLayer.font.italic = defaultItalic;
else if(elm.italic !== void)
lineLayer.font.italic = +elm.italic;
// ※↑の実装は既にあるので追記でなく改造してください。
~
//function setDefaultFont(elm)内
defaultBold = +elm.bold if elm.bold !== void;
defaultItalic = +elm.italic if elm.italic !== void;
~
//function internalAssign(src, copyvisiblestate)内
defaultBold = src.defaultBold;
defaultItalic = src.defaultItalic;
~
//function store()内
dic.defaultBold = defaultBold;
dic.defaultItalic = defaultItalic;
~
//function restore(dic)内
defaultBold = dic.defaultBold if dic.defaultBold !== void;
defaultItalic = dic.defaultItalic if dic.defaultItalic !== void;
MessageLayerが改造版で他にもdefaultBoldを操作している箇所があれば同様に対応します。
また,過去のセーブデータの互換を重視するのであれば,最後のrestore
関数内の実装は
defaultItalic = dic.defaultItalic !== void ? dic.defaultItalic : false;
の方が良いかもしれません。 (現在のデフォルトがイタリック状態で,過去のバージョンのイタリック情報がないデータをロードしたときにイタリックを解除する実装になります)
なお,
/*C*/var bold; // ボールドで描画するか
の変数がありますが,こちらのitalic対応版は特に必要ない(bold自身が参照されている箇所がなさそうなので)かと思われます。