コンピュータ上の文字では、全角文字(ぜんかくもじ)とはバイト数が2バイトの文字(マルチバイト文字の一部)を呼ぶ場合、ASCIIおよびJIS X 0201以外の文字を呼ぶ場合、表示上の字形の縦横が1対1の文字を呼ぶ場合がある。いっぽう、半角文字(はんかくもじ)とはバイト数が1バイトの文字、ASCIIおよびJIS X 0201の文字、表示上の字形の幅が全角文字の半分である文字をそれぞれ指す場合がある。以下の解説を参照されたい。
JIS規格では、JIS X 4051『日本語文書の組版方法』で、「全角」を「漢字1文字分の外枠」、「半角」を「字幅が、全角の1/2である文字の外枠」と定義している[4]。また一般機械分野 (B) のJIS B 0191『日本語ワードプロセッサ用語』で、「全角」を「外枠の高さと幅の大きさの比がほぼ1:1である, 当該製品の標準的な文字の大きさ」、「半角」を「文字読み方向の大きさが全角の50%である文字の大きさ」と規定している[5]。
欧文組版における類似の概念としてem(エム)とen(エン)がある。これらはそれぞれ文字の最大幅と、その半分の幅にほぼ相当し、やはり字送りの量や約物の幅を表すのに用いられる。一説には、エムはラテン文字大文字の M の幅に、エンは N の幅に由来するとされるが、組版の現場でのエムやエンの大きさは一般にこれとは異なる。
等幅フォントを用いるコンピュータ環境では、JIS X 0201に規定される文字は半角形、JIS X 0208のそれは全角形で表示、印字されることが多い。一般消費者向けワードプロセッサや電光掲示板などでは、文字の桁位置を合わせたり文字を強調したりするために文字幅の違いを利用するといった用法が見られる。また、日本の新聞社や通信社は記事を電子媒体で配信する場合、字数計算を容易にするため英数字にも全角形を用いることが多い。JIS X 0201に規定する文字以外にも半角形の漢字や記号を実装しているコンピュータシステムもある。「TSP100」や「PC-POS」などのレシート用プリンタが使用可能なキャッシュレジスターには、半角形の円などの文字を半角漢字として実装しているものがある。
印刷校正記号を定めたJIS Z 8208では、校正時に文字の印字の際の幅の区別を指摘、修正するための記号が規定されており、それぞれ「半角」、「全角」、「欧文」で指示するように規定されている。JIS Z 8208:2007の付属書B(参考)では、プロポーショナル文字で表記された日本語中の括弧およびカンマを全角で、アラビア数字を半角で、英語をプロポーショナル文字で変更する指示の校正例が掲載されている[7]。
公文書でも、JIS X 0201とJIS X 0208の区分けを意図して「全角文字」「半角文字」の語が使用されることがある。総務省告示「電波の利用状況の調査等に関する省令第9条の規定による電磁的方法により記録及び提出することができる書類並びにその記録及び提出の方法」[8]においては別表第1号「半角文字の定義」にある文字 (JIS X 0201からオーバーラインをチルダに置き換えた文字コードの文字)を半角文字、別表第2号「全角文字の定義」にJIS X 0208付属書3表1「図形文字符号表」の文字を全角文字と定義している。
日本語向けのフォントでは、チルダの字形は曲線を字面の上部に置く実装が多いのに対して、全角形の場合は中央に配置することが多い。そのため、ときに波ダッシュと混同される(チルダも参照)。また、コンマやピリオドの字形は点を字面の下側に配置する実装が多いのに対して、全角形の場合は字面の左下に配置することが多い。JIS X 0201およびJIS X 0208の例示字形ではそのように表されている。
JIS C 6226の制定作業の当初は、JIS C 6220に規定するラテン文字集合(ISO/IEC 646日本版)と仮名文字集合(片仮名)を符号表の初めに置き、前者を後者の拡張規格とすることが想定されていたが、この案は制定の過程で見送られた[注釈 2]。JIS C 6220の記号類の多くが1区に、ラテン文字と数字は3区に、片仮名は5区に、あらためて収録された(ただし、濁点や半濁点のある文字が、ない文字とは別に符号位置を与えられた)。この結果、同じ文字が2つのJIS規格で規定されることになった。
各ベンダはJIS X 0208に準じた文字コード体系を採用し、それに対応したフォントも製造されるようになったが、JIS X 0208に規定される文字のグリフはしばしば漢字などと同じ幅に、JIS X 0201のそれはその半分の幅に作られた。JIS X 0208を応用したベンダ標準の中には、EUC-JPのように文字の幅を定義したものもある[10]。このため、「JIS X 0208は全角、JIS X 0201は半角」との理解が広まることになり、さらに、両方の文字集合に収録された文字は重複して符号化され、「全角」と「半角」のふたつの字形を持つとみなされることになった。実際には、JIS X 0208では個々の文字の幅を規定してはいない。
JIS C 6226の第4次規格であるJIS X 0208:1997では、JIS X 0201とJIS X 0208で規定するすべての文字をUnicodeの文字と対応づけ、JIS X 0208で規定される文字のうちASCII(ISO/IEC 646国際基準版)またはJIS X 0201のラテン文字集合に規定される文字と同じものは用いないとすることで、重複符号化を排した。ただし、全角形のラテン文字類および半角形の片仮名類については附属書5(規定)で「文字の代替名称」を定め、「これまでの慣用的な利用との互換を目的としてだけ〔…〕異なった図形文字として用いてもよい」として、「一時的に重複符号化を容認する」という方針をとった[11]。この規定はJIS X 0208の後を受けたJIS X 0213にも引き継がれることになった。#図1に、JISの2つの文字集合規格の文字と代替名称の関係を示す。
日本のデータ放送や文字放送などで用いられるARIBの文字コード規格においては厳密に全角文字と半角文字とプロポーショナル文字のコードが規定されている規格がある(JIS X 0201の文字集合は半角として、JIS X 0208の文字集合は全角として決められている)。これにより、文字により画面上のレイアウトを表現することが可能にしているほか、モザイクなどの表現も可能となる。したがって、ARIBに対応したフォントは厳密に全角、半角を実装する必要がある[12]。(ARIB外字も参照)
JIS C 6226 (JIS X 0208) 制定の後、中国のGB 2312、台湾のCNS 11643、韓国のKS C 5601-1987(後にKS X 1001と改称)といった東アジアの漢字集合規格が、相次いで制定された。これらはいずれもJIS X 0208と同じ構造を持っている。つまり、マルチバイト文字集合であり、シングルバイト文字集合(ISO/IEC 646の各地域版またはASCII)と併用することができるが、自身にもシングルバイト文字集合と同一の字形の文字を収録している。そのため、やはり重複符号化の問題がつきまとう。
日本語のキーボードは、半角/全角キーが存在する種類が一般的である。このキーは、JIS X 4064「仮名漢字変換システムの基本機能」の付属書2ではAltキーと同時に押下することで仮名漢字変換機能の起動と終了を行う漢字キーになるとされている。仮名漢字変換システムの種類により半角/全角キーの動作は異なるが、Microsoft Windowsでは多くの場合、半角/全角キーのみで漢字キーの機能を行える。
^JIS X 0208:1997『7ビット及び8ビットの2バイト情報交換用符号化漢字集合』日本規格協会、1997年、解説2.2.3(p.378)頁。"符号化文字集合規格としては, ISO 646との整合性を保つため, ISO 646で規定する図形文字については, 符号位置を変更してはならなかったはずである。〔中略〕この点では, この規格で規定する符号化文字集合の非漢字部分は, 第1次規格〔JIS C 6226-1978〕以来, 本来の意図とは異なっており, 国際規格と整合的ではない。"。(句読点は原文のまま)