void *syBtFntGet( num )
Uint32 num
num 制御用番号
BootROM内のフォントデータの先頭アドレス
ブートロム内フォントデータの格納アドレスを取得します。この関数で取得したフォントデータの先頭アドレスと以下の定数を用いて、 必要なフォントのアドレスを求める必要があります。
●セクションの先頭データへのオフセット
定義 意味 SYD_BT_FNT_ASCII_24_OFS ASCII 8ビットコード前半 SYD_BT_FNT_WEST_24_OFS ISO 8859-1 海外用8ビットコード後半 SYD_BT_FNT_JISX_24_OFS JIS X 0201 国内用8ビットコード後半 SYD_BT_FNT_KANA_24_OFS Shift JIS part1 全角日本語非漢字部分 SYD_BT_FNT_LVL1_24_OFS Shift JIS part2 日本語漢字第一水準部分 SYD_BT_FNT_LVL2_24_OFS Shift JIS part3 日本語漢字第二水準部分 SYD_BT_FNT_GAIJ_24_OFS GAIJI 特製外字 SYD_BT_FNT_VMSICON_OFS VMデフォルトラベルアイコン
●セクションのデータサイズ
定義 意味 SYD_BT_FNT_ASCII_24_SIZE ASCII 8ビットコード前半 SYD_BT_FNT_WEST_24_SIZE ISO 8859-1 海外用8ビットコード後半 SYD_BT_FNT_JISX_24_SIZE JIS X 0201 国内用8ビットコード後半 SYD_BT_FNT_KANA_24_SIZE Shift JIS part1 全角日本語非漢字部分 SYD_BT_FNT_LVL1_24_SIZE Shift JIS part2 日本語漢字第一水準部分 SYD_BT_FNT_LVL2_24_SIZE Shift JIS part3 日本語漢字第二水準部分 SYD_BT_FNT_GAIJ_24_SIZE GAIJI特製外字 SYD_BT_FNT_VMSICON_SIZE VMデフォルトラベルアイコン
●各セクションでの代表的な文字コード(2バイト日本語はシフトJISコード)
定義 意味 SYD_BT_FNT_CODE_ASCII_MIN アスキーの初めのコード SYD_BT_FNT_CODE_ASCII_MAX アスキーの最後のコード SYD_BT_FNT_CODE_8BIT_MIN 8ビットコードの初めのコード SYD_BT_FNT_CODE_8BIT_MAX 8ビットコードの最後のコード SYD_BT_FNT_CODE_KANA_MIN 2バイトコードの最初のコード SYD_BT_FNT_CODE_KANA_MAX 日本語非漢字部分の最後のコード SYD_BT_FNT_CODE_LVL1_MIN 漢字第一水準の最初のコード SYD_BT_FNT_CODE_LVL1_MAX 漢字第一水準の最後のコード SYD_BT_FNT_CODE_LVL2_MIN 漢字第二水準の最初のコード SYD_BT_FNT_CODE_LVL2_MAX 漢字第二水準の最後のコード SYD_BT_FNT_GAIJ_MIN 外字の最初のコード SYD_BT_FNT_GAIJ_MAX 外字の最後のコード SYD_BT_FNT_ICON_MIN ビジュアルメモリアイコンの最初のコード SYD_BT_FNT_ICON_MAX ビジュアルメモリアイコンの最後のコード
#define SMD_WRK_ADDR (0x0c020000) main() { void *smFntAddr, *smTheFntAddr; void *smWrkAddr; Uint8 smTheCode; smFntAddr = syBtFntGet(SYD_BT_FNTINI); smWrkAddr = (void *)SMD_WRK_ADDR; smTheCode = '?'; /* evaluate the font address in Boot ROM */ smTheFntAddr = (void *)((Uint8)smFntAddr + SYD_BT_FNT_WORK_ASCII_24_OFS + (smTheCode - SYD_BT_FNT_CODE_ASCII_MIN) * SYD_BT_FNT_24_SIZE_HAN ); /* font semaphore check */ if( syBtFntChkSmph() == SYD_BT_FNT_SMPH_SUCCESS ) { /* copy 1 letter to work RAM from Boot ROM */ memcpy( smWrkAddr, smTheFntAddr, SYD_BT_FNT_24_SIZE_HAN ); /* font semaphore clear */ syBtFntClrSmph(); } }
制御用番号numには現在SYD_BT_FNTINIを入れて置く必要があります。セマフォを獲得せずにフォントデータの取得を行った場合には、不定の値が戻る可能性があります。
この関数はアドレスを取得するものであって、フォントデータをアプリケーション内に取り込むものではありません。 フォントデータのアプリケ−ションへのコピーは、アプリケーション自身が行うようにしてください。