図形文字(ずけいもじ、graphic character)とは、文字コード規格で定められた符号化文字のうち、一般的に使われる意味での文字にほぼ相当するものをいう。「図形キャラクタ」と表記されることもある。「印刷可能な文字(printable characters)」や「表示可能な文字」も同じものを表している。

概要 編集

図形文字とは、文字コード規格で定められた文字(符号化文字)のうち、言語学などで一般的に使われる意味での文字にほぼ相当するものであり、制御機能(単独の制御文字及び複数の制御文字や図形文字を用いて制御機能を実現したもの)や書式文字を除き、手書き・印字・表示などでの目に見える形(可視的表現)を持ち、一つ以上のビット組合せからなる符号化表現をもつ文字のことである。

歴史 編集

図形文字の厳密な定義は個々の文字コードについて文字コード規格において、また特定の文字コードに依存しない形で情報処理用語規格において定められているが、文字コードに関するさまざまな、特に制御文字や制御機能に関連する概念と規定の複雑化に伴って単純なものから複雑なものに変化している。

最も初期の文字コード規格においては制御文字に相当する「機能キャラクタ」の定義はあるものの、特に「図形文字」に相当するものの定義はされておらず、「キャラクタ(=文字)は、機能キャラクタ、記号、数字、文字(ローマ文字、カナ文字)からなる」と定められている[1]。また情報処理用語の規格においては「図形文字」の定義は含まれていない[2]

その後情報処理用語の規格において「図形文字」が定義されるようになったが、当初の定義は「特定の図形を持つ文字であって、表音または表意などに用いられるもの」といった簡単なもので、制御文字との関係も明確なものではなかった[3]。また後文字コードの規格においても「図形文字」が定義されるようになったが、初期の文字コードの規格では、規格で定義される制御機能が単純なものだけであったため種類も少なく一文字で表されるものだけであったため、「制御機能」がすべて「制御文字」であった。そのため図形文字の定義は、「機能文字以外の文字で、手書き、印刷、表示などの視覚的表現を持つ文字」となっていた。ここで機能文字とは、「制御機能の指定または制御機能の開始、交換、停止などを指定する文字」であるとされていた[4][5][6]。この時期の文字コード規格にはこの他に「視覚的な図形によって表される文字」や「文字は、図形文字と制御文字に分類する」といった規定のされ方をされている場合も存在した[7][8].

その後制御機能について、その種類が増えたため制御文字に含まれない制御機能が定められたため、図形文字の定義が「制御機能以外の文字であって、通常は、手書き、印字または表示の可視化表現を持つ。」となった。ここで制御機能とは、「データの記録、処理、伝送または解釈に影響を及ぼし、かつ一つ以上のオクテットからなる符号化表現を持つ動作」であり、制御文字とは、「一つのビット組み合わせだけで表現する制御機能」であるとされている[9][10][11][12][13][14][15]

さらにUnicodeISO/IEC 10646)の新しい版では図形文字の定義は「制御機能でも書式文字でもない文字であって、通常は、手書き、印字または表示の可視化表現を持つ。」となり図形文字に含まれないものに書式文字が加わっている。ここで書式文字とは、「周囲の文字の配置または処理に作用することを主な機能とする文字。通常はそれ自身の可視化表現を持たない。」であるとされている[16]

このような図形文字ではないものが複雑化した結果「図形文字ではないもの」の総称として「非図形文字」という呼び方をすることがある。

図形文字に含まれるもの 編集

前述のように、図形文字とは、一般的に使われる意味での「文字」にほぼ相当するが、一般の言語で言うところの文字(大小のラテン文字ギリシャ文字キリル文字平仮名片仮名漢字など)だけでなく数字約物数学記号やさらには矢印罫線素片ハートマークといった可視的表現を持つ記号類もすべてこの「図形文字」に含まれる。

図形文字にどのような文字が含まれ、どのように配列され、どの文字にどのコードを割り当てるかは、文字コードの規格ごとに異なっているが、ISO 646などのISO/IEC 2022に適合したコード体系については図形文字はGL領域(列2から列7まで・0x20~0x7F)またはGR領域(列Aから列Fまで・0xA0~0xFF)に図形文字を割り当てるように定められている。

特定の文字コードに依存しない形で定められている情報処理用語の規格においては図形文字は以下のように分類されている。それぞれわずかに表現が異なってはいるものの、含まれる範囲はほぼ同じである。但し後述のように現在は制御文字に含まれている間隔文字はかつては図形文字に含まれていた。

  • 数字、英字、仮名、漢字、仮名、特殊文字[3]
  • 数字、欧字(英字、その他の欧字)、漢字、仮名、間隔文字、特殊文字[17]
  • 数字、欧字(英字、その他の欧字)、漢字、仮名、間隔文字、特殊文字[18]
  • 数字、欧字(英字など)、表意文字(漢字など)、仮名、特殊文字[19]
  • 数字、英字、表意文字(漢字など)、仮名、特殊文字[20]
  • 数字、欧字、表意文字、特殊文字[21]
  • 数字、表音文字(欧字、仮名、その他)、表意文字(漢字、その他)、特殊文字[22]

スペース(空白)の扱い 編集

一般的な言語ではスペース(space)は空白の、空白はスペース(space)のそれぞれ訳語とされることが多いが、現在の情報処理の用語規格では以下のように空白(文字)と間隔(文字)は厳密に区別された別のものであるものの「文字集合によっては区別していない」とされている[23]。但し、かつては「間隔文字は制御文字ではないが、書式制御文字と同じような機能を持っている」として間隔文字を図形文字に含めていたこともある[18]

  • 空白(文字)blank charecter 図形文字の一つとして「図形文字列において空いている位置を表す文字」と定められている[23]
  • 間隔(文字)space charecter 制御機能文字の一つとして「印字位置または表示位置を、図形文字を作成しないで行に沿って一桁進める文字」と定められている[24]

脚注 編集

  1. ^ JIS C 6220-1969 「情報交換用符号」
  2. ^ JIS C 6230-1970 「情報処理用語」
  3. ^ a b JIS C 6230-1977 「情報処理用語」
  4. ^ JIS X 0201-1976 「情報交換用符号」 p.1
  5. ^ JIS X 0208-1983 「情報交換用漢字符号系」 p.1
  6. ^ JIS X 0202-1984 「情報交換用符号の拡張法」 p.3
  7. ^ JIS X 0208-1990 「情報交換用漢字符号」 p.1
  8. ^ JIS X 0212-1990 「情報交換用漢字符号 補助漢字」 p.1
  9. ^ JIS X 0201-1997 「7ビット及び8ビットの情報交換用符号化文字集合」 p.2
  10. ^ JIS X 0211-1991 「符号化文字集合用制御機能」 p.4
  11. ^ JIS X 0211-1994 「符号化文字集合用制御機能」 p.5
  12. ^ JIS X 0221-1995 「国際符号化文字集合 (UCS)」p.3
  13. ^ JIS X 0221:2001 「国際符号化文字集合 (UCS)」 p.3
  14. ^ JIS X 0208:1997 「ビット及び8ビットの2バイト情報交換用符号化漢字集合」 p.3
  15. ^ JIS X 0213:2000 「7ビット及び8ビットの2バイト情報交換用符号化拡張漢字集合」 p.3
  16. ^ JIS X 0221-2007 「国際符号化文字集合 (UCS)」 p.5
  17. ^ JIS X 0001-1981 「情報処理用語」
  18. ^ a b JIS X 0004-1987 「情報処理用語(データの構成)」
  19. ^ JIS X 0004-1989 「情報処理用語(データの構成)」 p.3
  20. ^ JIS X 0001-1994 「情報処理用語 基本用語」 p.7
  21. ^ ISO/IEC 2382-4:1994
  22. ^ JIS X 0004:2002 「情報処理用語(データの構成)」p.3
  23. ^ a b JIS X 0004:2002 「情報処理用語(データの構成)」 p.5
  24. ^ JIS X 0004:2002 「情報処理用語(データの構成)」 p.6