全角と半角 - Wikipedia

全角と半角

出典: フリー百科事典『ウィキペディア(Wikipedia)』

半角 から転送)

全角(ぜんかく)と半角(はんかく)は、文字の縦と横の比がそれぞれ1対1と2対1(横書きの文字を縦組みにするときは1対2)であることを指す。

「半角」という表現は、もっぱらコンピュータ上での文字について、全角と対比して用いられる。

目次

[編集] 意味と用法

印刷組版の分野では、「全角」は字送りの量や約物の高さ(横組みでは幅)を表す。漢字などのほぼ正方形の文字の高さと同じ量を全角と呼び、この大きさに文字をや約物を配置することを全角取り(ぜんかくどり)、文字の前後や間にこの大きさの空きを取ることを全角アキなどと称する。「半角」という表現は用いない。全角の半分の量を二分(にぶ、にぶん)、3分の1の量を三分(さんぶ、さんぶん)、4分の1の量を四分(しぶ、しぶん)などと呼び、これらについても二分取り四分アキなどの表現を用いる。また、全角アキの4分の3の空き量を二分四分アキ(にぶしぶあき)と称することがある[1]

コンピュータ上の文字では、全角文字 (ぜんかくもじ) とはバイト数が2バイトの文字を呼ぶ場合、ASCIIおよびJIS X 0201以外の文字を呼ぶ場合、表示上の字形の縦横が1対1の文字を呼ぶ場合がある。いっぽう、半角文字 (はんかくもじ) とはバイト数が1バイトの文字、ASCIIおよびJIS X 0201の文字、表示上の字形の幅が全角文字の半分である文字をそれぞれ指す場合がある。以下の解説を参照されたい。

なお一般消費者向けワードプロセッサなどには、文字の縦や横の幅を全角文字の2倍に引き伸ばして表示、印字できるものもある。字送り方向にだけ全角の2倍に引き伸ばす機能を倍角(ばいかく)と呼び、縦書きの場合を縦倍角 (たてばいかく)、横書きの場合を横倍角 (よこばいかく) とよぶこともある。さらに、縦横とも全角の2倍のサイズに引き伸ばす機能を4倍角と呼ぶことがある。複数のメーカーで実装がある[2]。全角の4分の1のサイズの文字のことを四分角という。[3]

JIS規格では、JIS X 4051『日本語文書の組版方法』で、「全角」を「漢字1文字分の外枠」、「半角」を「字幅が、全角の1/2である文字の外枠」と定義している[4]。また一般機械分野 (B) のJIS B 0191『日本語ワードプロセッサ用語』で、「全角」を「外枠の高さと幅の大きさの比がほぼ1:1である, 当該製品の標準的な文字の大きさ」、「半角」を「文字読み方向の大きさが全角の50%である文字の大きさ」と規定している[5]

欧文組版における類似の概念としてエムエンがある。これらはそれぞれ文字の最大幅と、その半分の幅にほぼ相当し、やはり字送りの量や約物の幅を表すのに用いられる。一説には、エムはラテン文字大文字M の幅に、エンは N の幅に由来するとされるが、組版の現場でのエムやエンの大きさは一般にこれとは異なる。

[編集] 歴史

東アジアの印刷物は、はじめ木版印刷によって製作された。これはもともと、手書き原稿を版木に再現して複製を作るための技術であったが、中国で明代初めころに、ひとつひとつの文字(漢字)を同じ大きさの正方形に収まるものとみなし、長方形のページに縦横に整然と配するという様式が発達した。印刷物の需要が増大し、版刻に分業が必要となったため、文字の占める大きさを画一化したのである[6]。このような組版の様式を箱組みまたは枡組みと呼び、現在でも漢字文化圏の多くの印刷物、とりわけ縦組みの印刷物に用いられる。西洋から活版印刷術が導入された際も、活字は字面の幅と高さが同じになるように製作された。現代でも、行中の字送りの量は文字の大きさを基準とし、文字の高さ(横組みでは幅)と同じ量は全角、半分の量は二分(にぶんまたはにぶ)、4分の1の量は四分(しぶんまたはしぶ)などと呼ぶ。

活版印刷やそれを引き継いだ写真植字では、約物などはかならずしも全角の大きさを占めるわけではないし、和文と欧文との混植では欧字活字は幅が一定しない。そのため、字間を詰めたり空けたりして体裁を整える(仮名の活字に字面が小さめのものを用いる「仮名詰め」もよく行われた)。

一方、コンピュータで文字情報を扱えるようになった当初は、処理能力の制約から、すべての文字を同じ幅の文字として表示、印字した。テキストデータのひとつひとつのバイトが文字を表していた。東アジアの文字は、1文字を表すのに2バイト以上を用いるマルチバイト文字集合の成立によって利用が可能となったが、当初は2バイトで表される文字を1バイトで表される文字の2倍の幅で表示、印字した。これは、漢字などの字面(じづら)〔ボディ〕をほぼ正方形とし、欧字などをそれより狭い幅とするという伝統に合致していたし、また文字を表すバイト数と文字の表示上の桁数が一致するために、内部処理を簡素化できるという利点もあった。1バイト文字は全角の半分の幅となることから、半角文字と呼ばれるようになった。

現在ではコンピュータの処理能力が向上してプロポーショナルフォントも利用できるため、文字の字形を文字コードで全角と半角に区別することの意義は失われつつある。いっぽうで、表示能力に制約のある機器や、文字の幅を一定のものとして扱う端末装置などでは、全角と半角の区別は依然として必要である。

[編集] 用途

[編集] 半角と全角を区別して表示する場合

一般消費者向けワードプロセッサ電光掲示板などでは文字の桁位置を合わせたり文字を強調したりするために文字幅の違いを利用するといった用法が見られる。また、日本の新聞社や通信社は記事を電子媒体で配信する場合、字数計算を容易にするため英数字にも全角形を用いることが多い。

印刷校正記号を定めたJIS Z 8208では、校正時に文字の印字の際の幅の区別を指摘、修正するための記号が規定されており、それぞれ「半角」、「全角」、「欧文」で指示するように規定されている。JIS Z 8208:2007の付属書B(参考)では、プロポーショナル文字で表記された日本語中の括弧およびカンマを全角で、アラビア数字を半角で、英語をプロポーショナル文字で変更する指示の校正例が掲載されている。[7]

[編集] 字形の違いがある文字

ひとつの符号系に幅が異なる2つの文字がある場合、通常はどちらで表記した場合でも字形に大きな違いがない。ただし、一部の文字では文字幅によって異なる字形が示される場合もある。

文字 半角 全角
日本語チルダ ~
日本語コンマ ,
日本語ピリオド .

日本語向けのフォントでは、チルダの字形は曲線を字面の上部に置く実装が多いのに対し、全角形の場合は中央に配置することが多い。そのため、ときに波ダッシュと混同される(チルダも参照)。また、ピリオドコンマの字形は点を字面の下側に配置する実装が多いのに対し、全角形の場合は字面の左下に配置することが多い。JIS X 0201およびJIS X 0208の例示字形ではそのように表されている。

[編集] 文字コード規格における全角と半角

[編集] JISの代替名称

図1 JIS X 0201とJIS X 0213に規定される文字と代替名称の文字との関係。

1978年、東アジアの文字集合に関する初の公的規格として、JIS C 6226(後にJIS X 0208と改称)が制定された。これは1文字を2バイトで表すマルチバイト文字集合で、現代日本語の文書で用いられる漢字仮名記号類などを収録したものである。これに先立ち、ISO/IEC 646の日本での国内使用のための規格としてJIS C 6220(後にJIS X 0201と改称)も制定されていた。

JIS C 6226の制定作業の当初は、JIS C 6220に規定するラテン文字集合(ISO/IEC 646日本版)と仮名文字集合(片仮名)を符号表の初めに置き、前者を後者の拡張規格とすることが想定されていたが、この案は制定の過程で見送られた[8]。JIS C 6220の記号類の多くが1に、ラテン文字と数字は3区に、片仮名は5区に、あらためて収録された(ただし、濁点半濁点のある文字が、ない文字とは別に符号位置を与えられた)。この結果、同じ文字が2つのJIS規格で規定されることになった。

各ベンダはJIS X 0208に準じた文字コード体系を採用し、それに対応したフォントも製造されるようになったが、JIS X 0208に規定される文字のグリフはしばしば漢字などと同じ幅に、JIS X 0201のそれはその半分の幅に作られた。JIS X 0208を応用したベンダ標準の中には、EUC-JPのように文字の幅を定義したものもある[9]。このため、「JIS X 0208は全角、JIS X 0201は半角」との理解が広まることになり、さらに、両方の文字集合に収録された文字は重複して符号化され、「全角」と「半角」のふたつの字形を持つとみなされることになった。実際には、JIS X 0208はギリシア文字キリル文字などの本来あきらかに全角でない文字も収録しているし、そもそも同規格では個々の文字の幅を規定してはいない。[10]

JIS C 6226の第4次規格であるJIS X 0208:1997では、JIS X 0201とJIS X 0208で規定するすべての文字をUnicodeの文字と対応づけ、JIS X 0208で規定される文字のうちASCIIISO/IEC 646国際基準版)またはJIS X 0201のラテン文字集合に規定される文字と同じものは用いないとすることで、重複符号化を排した。ただし、全角形のラテン文字類および半角形の片仮名類については附属書5(規定)で「文字の代替名称」を定め、「これまでの慣用的な利用との互換を目的としてだけ〔…〕異なった図形文字として用いてもよい」として、「一時的に重複符号化を容認する」という方針をとった[11]。この規定はJIS X 0208の後を受けたJIS X 0213にも引き継がれることになった。#図1に、JISの2つの文字集合規格の文字と代替名称の関係を示す。

[編集] その他の東アジアの文字集合規格

JIS C 6226(JIS X 0208)制定の後、中国GB 2312台湾CNS 11643韓国のKS C 5601-1987(後にKS X 1001と改称)といった東アジアの漢字集合規格が、相次いで制定された。これらはいずれもJIS X 0208と同じ構造を持っている。つまり、マルチバイト文字集合であり、シングルバイト文字集合(ISO/IEC 646の各地域版またはASCII)と併用することができるが、自身にもシングルバイト文字集合と同一の字形の文字を収録している。そのため、やはり重複符号化の問題がつきまとう。

たとえば1981年に施行されたGB 2312-80では、GB 1988-80(ISO/IEC 646中国版)の文字集合と同じ字形の文字を、符号の配列順を変えずに3区に収録している。

[編集] UnicodeのEast_Asian_Width属性

詳細は東アジアの文字幅を参照

Unicode標準では、文字のひとつひとつにさまざまな属性を定義して文字を区別しやすくすることで、テキストデータの処理に役立てようとしている。附属書11(UAX#11)では参考(informative)属性として、東アジアの文字集合の文脈での文字幅を表すEast_Asian_Width属性を定義している[12]

[編集] その他の文字集合規格

アドビシステムズが定めているCIDでは、全角文字、半角文字、プロポーショナル文字にそれぞれ別のコードを与えている。また、超漢字などで使用されるTRONコードでは、文字幅の区別はしない。

[編集] 問題点

印刷物の組版では、文字の実際の字取りは全角と半角に区分できるものではない。約物の字取りは前後の文脈によって変わりうるし、欧文の文字は幅が不定である。ある文字がどれだけの幅を占めるかは組版規則によって決まる。そのため、印刷所への電子入稿やDTPソフトウェアへの入力などの際には、原稿データ中で同じ文字は同じ符号で表されているほうが都合がよい。ところが2つの符号で表しうる文字があり、両者が混在するために、正規化の前処理が必要になるといった問題も起きている[13]

[編集] 脚注

  1. ^ 藤森善貢 『編集出版技術』上巻、日本エディタースクール出版部、1978年、第2版、pp.192ff。
  2. ^ たとえば次を参照。富士通 (2000). "OASYS LX-C700 機能仕様/機器仕様". 2008-09-07 閲覧。 日本電気 (2001). "文豪カラー JX5500BCの主な仕様". 2008-09-07 閲覧。
  3. ^ JIS Z 8208 『印刷校正記号』 日本規格協会、2007年、4.3 修正の指示及び組版指定に用いる記号 表2。
  4. ^ JIS X 4051:2004 『日本語文書の組版方法』 日本規格協会、2004年、3. 定義 (b) この規格で定義する用語 (pp.6, 8)。なおこの定義は第1次規格のJIS X 4051-1995『日本語文書の行組版方法』でも同様。
  5. ^ JIS X 0191-1986 『日本語ワードプロセッサ用語』 日本規格協会、1986年、3. 意味 (1) 一般 (p.2)。
  6. ^ 竹村真一 『明朝体の歴史』 思文閣出版、1986年7月、p.77。ISBN 4-7842-0447-4
  7. ^ JIS Z 8208 『印刷校正記号』 日本規格協会、2007年、付属書B(参考)横組の校正刷への校正記号の記入例。
  8. ^ JIS X 0208:1997 『7ビット及び8ビットの2バイト情報交換用符号化漢字集合』 日本規格協会、1997年、解説2.2.3(p.378)。「符号化文字集合規格としては, ISO 646との整合性を保つため, ISO 646で規定する図形文字については, 符号位置を変更してはならなかったはずである。〔中略〕この点では, この規格で規定する符号化文字集合の非漢字部分は, 第1次規格〔JIS C 6226-1978〕以来, 本来の意図とは異なっており, 国際規格と整合的ではない。」(句読点は原文のまま)
  9. ^ UI-OSF-USLP共同技術資料『日本語EUCの定義と解説』(Unapproved Draft 1.7)、1991年12月10日、2. 日本語EUCの定義(p.1)。
  10. ^ ISO/IEC 646に準拠した文字や半角カナの文字以外にも一部のコンピュータにおいては半角の漢字や記号を持っていた。現在でも、「TSP100」や「PC-POS」などのレシート用プリンタが使用可能な一部のレジなどでは、半角のなどの文字を半角漢字として実装している。
  11. ^ JIS X 0208:1997 『7ビット及び8ビットの2バイト情報交換用符号化漢字集合』 日本規格協会、1997年、本体7.2および7.3(pp.23, 24)、および解説3.8.2 (p.392)。
  12. ^ Asmus Freytag (2006-09-15). "Unicode Standard Annex #11: East Asian Width (5.0.0)". 2008年1月1日 閲覧。
  13. ^ このような状況がうかがえる主張として例えば次の小文を参照。長久雅行 「本文組版は誰がするのか?(「Part 1 明解日本語文字組版」中のコラム)」『明解 クリエイターのための印刷ガイドブック DTP実践編』 鈴木一誌、前田年昭、向井裕一、玄光社〈コマーシャル・フォト・シリーズ〉、1999年9月、p.19。ISBN 4-7683-0104-5

[編集] 関連項目


Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /www/motocykle_www/spam/jp/richFeeds.php on line 59

Warning: date() expects parameter 2 to be long, string given in /www/motocykle_www/spam/jp/richFeeds.php on line 538

Warning: date() expects parameter 2 to be long, string given in /www/motocykle_www/spam/jp/richFeeds.php on line 539

Warning: date() expects parameter 2 to be long, string given in /www/motocykle_www/spam/jp/richFeeds.php on line 540

Warning: date() expects parameter 2 to be long, string given in /www/motocykle_www/spam/jp/richFeeds.php on line 541

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 648

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 649

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 650

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 651

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 652

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 653

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 654

Warning: date() expects parameter 2 to be long, string given in /www/motocykle_www/spam/jp/richFeeds.php on line 654

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 655

Warning: date() expects parameter 2 to be long, string given in /www/motocykle_www/spam/jp/richFeeds.php on line 655

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 656

Warning: date() expects parameter 2 to be long, string given in /www/motocykle_www/spam/jp/richFeeds.php on line 656

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 657

Warning: date() expects parameter 2 to be long, string given in /www/motocykle_www/spam/jp/richFeeds.php on line 657

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 658

Notice: Uninitialized string offset: 0 in /www/motocykle_www/spam/jp/richFeeds.php on line 659


Linki: Strona gwna