神野です。
Mon, 04 Aug 2003 14:31:44 +0900 ごろに
<JP20030804143144.19028761@xxxxxxxxxxx> の
"[H8-ML(3661)] Re:H8でグラフィック液晶表示で困っています。" のメールで
hiikosan_y_man@xxxxxxxxxxx さんは書きました。
> 最終的には、
> khyo_910("面積", 0, 0);
> で、表示ができるようにしていきたいと思っています。
> (本当にできるかな・・・)
まず、文字列として日本語を使えるかどうかはコンパイラに
依存しますので、その確認が必要です。
使えるとしたら、そういうコーディングも可能だとは思いますが、
今度は文字コードが問題になります。
Shift-JISで格納されるのかEUCで格納されるのか。
# もしかしたらJISかも。
仮にShift-JISだとしたら、
"面積" で 0x96 0xca 0x90 0xcf 0x00 というバイナリに展開される
はずなので、khyo_910() 側では渡された第1引数を unsigned int * に
キャストして読み出していけばいいわけです。
で、注意するのがエンディアンの問題ですが、H8 はビッグエンディアンの
はずなので、0x96ca 0x90cf として読み出せるはずです。
# と思ったんですが、奇数アドレスからワードアクセスすると
# アドレスエラーになるかもしれません。
# その場合は1byteずつ読み出さないといけません。
ここまで来たら文字コードがわかったので、後はこれまで通りの要領です。
ソース中にハングルを埋め込めるかどうかはわかりません。
最悪、
khyo_910("\xb8\xe9\xc0\xfb", 0, 0); // ハングル "面積"
みたいな記述になるでしょうか。
この時、日本語(Shift-JIS/EUC/JIS)の領域と重ならないか?も心配です。
重なることがあるのなら、コードだけでは日本語/ハングルを識別できません
から、日本語と解釈するのかハングルと解釈するのかフラグが必要に
なるでしょう。
# まぁその辺は、メニューなりDIP-SWなりで言語を選択するんでしょうから、
# それを持っておけばいいだけかも。
--
神野健吾 <kengo@xxxxxxxxxxxx>