キャラクタ (コンピュータ)

出典: Wikipedio


キャラクタ (character) は、文字のことで、しばしば文字と訳されるが、情報工学においてはより一般化した意味に使われる。

目次

概要

キャラクタは、コンピュータ情報交換におけるテキストデータの最小単位である。

キャラクタは大きく分けて図形文字(グラフィックキャラクタ)と制御文字(コントロールキャラクタ)がある。図形文字が実際に画面に表示される文字であり、制御文字はその表示の仕方を制御する改行記号などや、それにとどまらずビープ音などを含む。

図形文字には、言語学的な意味での文字記号(字母)以外に、約物類を含む。さらに、1つのキャラクタが1つの字母を表すとは限らない。文字コードにもよるが、「㍍」のような組文字のキャラクタは複数の字母からなり、逆に、「Å」のようなアクサン付きアルファベットの字母は複数のキャラクタで表されることもある。

キャラクタとバイト

本来、キャラクタを符号化するには、コンピュータが扱える最小のデータ型、つまりバイトが当てられた。そのため、1バイトのデータ型を、キャラクタに使うかどうかにかかわらず、文字型、キャラクタ型、あるいはC言語での型記号に従ってchar型(キャラがた)と呼ぶ。

しかしその後、バイトがオクテット(8ビット)としてデファクトスタンダード化したのに対し、256より多くのキャラクタを扱いたいいう要求は強くなってきた。そこで現れたのがマルチバイト文字で、1つのキャラクタを複数(最初は2)のバイトで表すものである。

現在ではキャラクタとデータの関係は抽象化されている。キャラクタはデータ型の概念を離れ整数で表現され、その整数から文字符号化方式によりバイト列が生成される。

歴史

コンピュータは画像や文字情報をディスプレイに表示する際に、画素ごとに憶えている必要がある。RAMが高価だった時代、コンピュータで使用したのは主にコマンドラインインターフェースであり、文字情報しか表示しないものにディスプレイ全面の画素をそれぞれ記憶するのはコストが合わなかった。そのため、ある一定の大きさ(8*8など)のドットマトリクスごとに1バイトの記憶領域を割り当てて、VRAMの容量を節約するキャラクタディスプレイが一般的であった。また、それに合わせたディスプレイコントローラーが使用された。現在のチップセットにもキャラクタ表示用の命令セットが残っており、BIOS画面等で使用しているものもある。日本製パーソナルコンピュータの黎明期にも多くの機種はテキストVRAMとしてキャラクタディスプレイが行われていた。多くは8x8ドットの英数字と、トランプのカードや、曜日などが機種によって定義された。 X1turboMZ-2500は8ビット機ながら漢字キャラクタを本体に持っており、PC-9801シリーズにもこれらの機構は装備されている。 漢字もキャラクタとして、高速に漢字が扱えることがPC-9801シリーズが日本で普及した一因といわれている。

各キャラクタを組み合わせて絵を書くことをアスキーアートと呼ぶことがある。 また、キャラクタごとにカラーを割り付ける機能や、その機能で書いた絵をキャラクターグラフィックと呼んだ。 MZ-700にはグラフィック用のVRAMはないものの、テキスト、背景の色をキャラクタ単位で指定できるため、これらを応用し、チェッカを用いたディザリングをはじめとする方法によって描画する試みもあった。 解像度は低い反面、非力なCPUでもダイナミックな描画を実現できるというメリットもあった。

PCG

キャラクタのパターンをROMではなくRAMに保存して書き換え可能にした機能をPCG(Programmable Character Generator:プログラマブル・キャラクタ・ゼネレーター)と称したメーカーもあった。ゲーム機におけるBG画面もこれに相当する。定義できる物は単色から、8色まで様々である。 PCGはキャラクタ単位で管理されるため、定義されたデータを変更した場合、テキストVRAMに定義された表示されるキャラクタに反映されるため、点在する物を同時に書き換えることも可能である。 これらを利用し、別パターンを定義することによって、擬似的にスクロールをおこなったり、波や、星、水、川の流れ、を表現したり、画面のワイプ処理などに利用する事が可能である。 また、X1のグラフィックVRAMの並びもこれに近く、MZ-1500MZ-800に至っては、画面全体にキャラクタを並べ、パーツの書き換えによってグラフィック描画を実現している。 ハードウェアで漢字表示が可能なコンピュータにおける外字機能も広義ではPCGの一種と見なせる。

スプライト/ゲーム等のキャラクタ

そこから逆に文字そのもの、あるいは8*8、16*16、32*32ドット等まとまったデータに番号を割り振って表示する文字、画像などをキャラクタと呼ぶようになり、文字や記号にとどまらず、スプライトや一般の画像であってもキャラクタと呼ぶことが多い。そのため、コンピュータ上でキャラクタと言う場合、様々な大きさのデータに対して、様々な符号を割り当てたものが存在している。(→キャラクター参照)

関連項目

ckb:نووسە cs:Znak (písmo) de:Schriftzeichen el:Χαρακτήρας (υπολογιστές) en:Character (computing) eo:Karaktro es:Carácter (informática) fa:نویسه (رایانه) fr:Caractère (informatique) he:תו (מחשב) hu:Karakter it:Carattere (informatica) mn:Тэмдэгт (компьютерийн шинжлэх ухаан) ms:Aksara (pengkomputeran) nl:Karakter (informatica) pl:Znakowy typ danych ru:Символьный тип zh:字符

個人用ツール