超漢字屋敷 >> 開発
「TAD >> フォントサイズ」

 前回はTADから情報を読み出してウィンドウ上に表示しました。 ですが、文字の大きさや色などの情報を反映できなく、ノーマルの文字だけ。 今回は文字の大きさを反映できるようにしてみましょう。

文字の大きさを変更してTADの中身を見てみるとこうなっています。


[/SYS/USR]% tp -r2 -x TAD実験文章
0000: ffe0 0006 0000 0002 0122 ffe1 0018 0000
0010: 0000 0000 0000 0000 0000 0000 0000 ff88
0020: ff88 0021 0000 ffa0 000e 0000 057b 03e0
0030: 005e 0046 006c 0055 ffa0 000a 0100 005e
0040: 0076 006c 0055 ffa0 0022 0300 ffa0 0002
0050: 0800 ffa1 0004 0000 8000 ffa1 0002 0101
0060: 215d ffad 0004 0000 00c8 215d ffa0 0004
0070: 0400 8000 000a ffa2 0004 0200 8180 2422
0080: 2424 2426 2428 242a ffa2 0004 0200 80c0
0090: 000a ffa2 0004 0200 8300 242b 242d 242f
00a0: 2431 2433 ffa2 0004 0200 80c0 000a 000a

00b0: ffe2 0000
[/SYS/USR]%

今までなかった情報が現れました。FFA2 0004 0200 (data) ←文字サイズのデータ
仕様書によると「文字サイズ指定付箋:基本レベル」とのこと。
HTML的に表示させるなら

<改行>
<文字の大きさ="19"> あいうえお <文字の大きさ="10"><改行>
<文字の大きさ="38"> かきくけこ <文字の大きさ="10"><改行>
<改行>

こんな感じ。(文字の大きさの場合、終了タグのようなものはありません)
解析しなくても、基本文章編集の表示を原稿モードにしていれば一目瞭然ですけどね…

文字の大きさを変更する場合は

fontspec = {{TNULL}, FTC_DEFAULT, 0, {16, 16}};

をいじると反映されます。いじる部分は {16, 16} です。
だからといって

fontspec = {{TNULL}, FTC_DEFAULT, 0, {38, 38}};

このようにすると、コンパイラに文句言われます。

fontspec.size.v = 38;
fontspec.size.h = 38;

と部分的に指定してください。(FSSPEC:フォントセット
代入後は gset_fon():文字フォントの指定 を実行。これで文字サイズが変更されます。


ソース/Makefileはいつものを利用し、いつもの二箇所を変更してください。

これで文字サイズが反映されるようになりました。
でもやっぱり黒一色では面白くないですね。次回は文字色を反映できるようにしましょう。

-------------------- メモ --------------------
製作してたとき、上に述べたことがわからず思いっきりコンパイラから文句言われてペースダウン。
OS@2ch掲示板「暇つぶしにBTRONプログラミングでもするかー」に大感謝。
2ちゃんねるは偉大だ。
------------------------------------------------