復刻:キーワードガイダンス第6回「組込みシステムとフォント」2014年04月06日 18時46分32秒

初出:技術評論社「組込みプレスVol.8」(平成19(2007)年8月11日発売)

●フォントとは
フォントというのは漢字やアルファベット、数字などを表す文字コードを
実際に目に見える形に表現した字体デザインデータ群のことです。

特定のデザインの文字を出力するためにはあらかじめ文字コードとデザインの対応付けが決まっていなければなりません。
日本語を扱う文字コードの形式としてはマイクロソフトのOSを中心に
普及したShiftJIS、UNIXを中心に使われるEUC、メールシステムで使用するJISコード(ISO-2022-JP)があります。
日本語だけでなく全世界の文字コードを体系的に整理する試みから生まれたUnicodeというコード体系もあります。

●コード変換ルール
例えば日本語のメールを送信する場合にはWindows系のシステムでは
元の文書を書いたデータは基本的にShiftJISで格納されますが、メールを送信する時にはShiftJISのまま送られるのではなく、一度JISコードに変換されます。

UNIX系のシステムでEUCで書いたメールも同様に送信される時に
JISコードに変換されます。
このように、データ通信が介在する場合には共通するコード体系に
変換されることが一般的です。

これとは別に、OSの内部で扱う文字コードとアプリケーションで利用する文字コードを分離して管理しているOSの場合は内部処理として相互に文字コードの変換を行う必要があります。
「文字化け」という現象はこの変換ルールのミスマッチにより発生します。
最近のWindows Vistaを使用することにより発生している文字化け問題もUnicodeベースのシステムへの移行とコード変換ルールおよび字体デザインの追加、変更に依存した問題です。

●表現できない文字コードでも機能は必要
持ち運びできるデジタル音楽プレーヤの普及や、動画をSDメモリカードなどに保存してのデータの交換が容易になってきています。

日本では音楽プレーヤで扱うフォルダ名やファイル名は曲名などを含めて日本語文字コードを使用してしまいます。
これらのデータは日本人向けの機器だけではなく、海外向けの機器でも使用できるのに越したことはありません。

●組込みシステム特有の事情
さて、従来の組込みシステムはその機器特有の約束事でフォントデータを扱っても余り問題は発生しませんでした。
操作のために文字を表示することはあっても他のシステムとの間で
データの交換を行う必要性などなかったからです。
表示デバイスもそのシステム特有であることが稀ではありません。

特有のシステムでも問題が発生しないのは以下のような状況です。

(1) OSを使っていない
(2) OSがそのメーカの特殊なもの
(3) 表示できる文字表現が乏しい表示デバイスを前提に対応する文字の種類自体がそれほど多くない
(4) 他のシステムとのデータ交換を行う必要がない

ところが、汎用のOSを使った組込み機器が一般的になり、そのような機器との間でもデータの交換を行う頻度が高まっています。
特殊なOSだからという甘えは許されず、汎用のOSとのデータのやり取りを行うための仕組みを扱うことが当たり前になってきました。
ユーザにとっては中身のOSが何かなどということは関係がないため、
自然な要望として機能を持たせる必要があったからです。

コストを下げる理由から、上記の(3)の環境が比較的多く存在しますが、
この環境ではパソコンのようにどんな文字でも表示できるわけでは
ありません。1文字の表現に使用できるドット数も限られています。
1/2例えば7セグメント表示器や14セグメント(ユニオンジャックとも呼びます)表示器は基本的には数字とアルファベットしか扱えません。

記号などを含めて余り表現能力が高いとも言えません。
「#」などという単純な文字すら表現できません。
この場合、与えられた文字コードに対して不正な動作(表示)にならないように「#」という文字を処理する場合にはわざわざ「空白」に変換するなどの処理を行う必要が出てきます。
つまり、一般的なシステムとは異なり、表現できない文字コードを選別して置き換えられなかったことを示すために特定のパターンの、例えば空白などのデザインの文字に置き換えるという処理がソフトウェアとして
必要になるわけです。

この置き換えの処理に「規格」などは存在しませんから、それぞれのメーカが独自の解決方法を手探りで見つけていくことになります。
ファイル名の表示は出来なくても音楽データや動画データの再生はできる方ができないよりもユーザには受け入れられるわけです。
表示できないからといって機能を削るという選択肢はメーカにはありません。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
このブログでは「組込み」と「組み込み」のどちらを使っている?

コメント:

トラックバック

このエントリのトラックバックURL: http://kumikomi.asablo.jp/blog/2014/04/06/7268448/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。