■吉里吉里/KAG/TJS雑談質問スレ■その21
■ このスレッドは過去ログ倉庫に格納されています
0315名前は開発中のものです。
2010/07/07(水) 01:05:51ID:oyqeFVJbオレが前に書いたコードだとこんな感じだったけど。(KAGではなくTJSとして実行)
// フォントリスト作成
var fonts = font.getList(fsfNoVertical);
var use_fonts = [];
/* use_fontsに日本語文字の含まれるフォントを登録する
細かく調べるのが面倒なのでとりあえず『フォント名に日本語が含まれている』奴を */
for(var i=0; i<fonts.count; i++){ if( /[^a-zA-Z 0-9!-@&\[-`{-~]+/.test(fonts[i]) ) use_fonts.add(fonts[i]); }
var currentFont = use_fonts.find(sf.fontFace) | 0; // 現在選択済になっているフォントをその中から探す。ここで見つかるのはフォント名ではなく、use_fonts配列の中の「何番目にあるフォントが指定されているか」という情報
// 現在選択済フォント名(例: MS明朝とか)はsf.fontFaceに記憶させる
あとは「次のフォント」もしくは「前のフォント」ボタンを押した時に、上記のuse_fontsを参照して
if(currentFont < 0) currentFont = use_fonts.count-1;
if(currentFont > (use_fonts.count-1)) currentFont = 0;
sf.fontFace = use_fonts[currentFont];
for(var i=0; i<kag.fore.messages.count; i++){
kag.fore.messages[i].comp.setDefaultFont(%[face:sf.fontFace]);
kag.fore.messages[i].comp.decideSizeChange();
kag.back.messages[i].comp.setDefaultFont(%[face:sf.fontFace]);
kag.back.messages[i].comp.decideSizeChange();
}
みたいな具合に「選択されたフォントをすべてのメッセージレイヤに適用する」処理を書いてやればよろしいんじゃないかしら。
ちゃんと動くかどうかは知らないけど
■ このスレッドは過去ログ倉庫に格納されています