[H8-ML(3664)] Re: H8でグラフィック液晶表示で困っています。
From: Kengo Jinno <kengo@xxxxxxxxxxxx>
Date: 2003年08月04日(月)19時35分31秒
神野です。

Mon, 04 Aug 2003 17:44:38 +0900 ごろに
<JS20030804174438.30603365@xxxxxxxxxxx> の
"[H8-ML(3663)] Re:H8でグラフィック液晶表示で困っています。" のメールで
hiikosan_y_man@xxxxxxxxxxx さんは書きました。

> ご指摘の通りです。今私の使っている HEW(Ver1.0Ar7)
> では、2バイト文字を見るとエラーにしてくれます。
> 新しいHEWは解りませんが。
> ですから、2バイト文字をJISコードにするのは、自作すると思います。
> いつになるかは解りませんが・・・できないかもしれない・・・

    khyo_910("面積", 0, 0);

を

    khyo_910("\x4c\x4c\x40\x51", 0, 0);

に置き換えてしまうフィルタをかけてからコンパイルする、
ということでしょうか? そういう前提なら私もそうするかもしれません。
コメントは変換せずにそのまま残したいところですが、
コメントなのか文字列なのかまで判定させるのは面倒かも。

> 韓国の人から貰ったコード表では、0x3021 から 0x5f7e がハングル文字
> コードなんですが、実際は、0xb0a1 から 0xdffe で使用しているようです。
(snip)
> と言うわけで、日本語は、JISコードを採用しております。

使用する文字は、せいぜい数十文字程度ですよね?
内部で使うだけのコードですから、あまり「(規格化された)文字コード」に
こだわる必要はないのでは?

0x01    日本語の面
0x02    日本語の積
...
0x81    ハングルの面
0x82    ハングルの積
...

みたいに、「そのプログラム専用」にコードを割り振ってしまうのは
どうなんでしょう?

外部にも出力する、例えば、
・RS232Cで接続されたパソコンに出力するデータに使う
・ファイル(CF等)にロギングする
等であれば、独自のコードではなく、相手が理解できるコードを使う
必要があります。相手は「0x01が面」だなんて知りませんから。
そこは、例えば FontDataType にメンバー変数を追加して、
「外部に出力するコード」を書いておけば、変換は簡単にできるでしょう。

そういう独自のコードを使う場合、ソース上では

    khyo_910("面積", 0, 0);

とは書けず、

    khyo_910("\x01\x02", 0, 0);

とする必要があるため、メンテナンス性に劣るかもしれませんが、
そこは
・コメントで回避する
・フィルタで置き換えるようにする
とか。

マクロでもいいかもしれません。

#define CHAR_JP_MEN     "\x01"
#define CHAR_JP_SEKI    "\x02"
#define CHAR_KR_MEN     "\x81"
#define CHAR_KR_SEKI    "\x82"

    khyo_910(CHAR_JP_MEN CHAR_JP_SEKI, 0, 0);

みたいに。

-- 
神野健吾 <kengo@xxxxxxxxxxxx>
スレッド概略
[表示中](起点)
 ├[3665(1)]
 └[3666(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]