
CJK (中国語、日本語、韓国語) コンピューティングでは、グラフィック文字は伝統的に全角[a] 文字と半角[b]文字に分類されます。等幅フォントとは異なり、半角文字は全角文字の半分の幅を占めるため、この名前が付けられています。
半角および全角形式は、半角文字と全角文字の両方を含む古いエンコードを Unicode との間でロスレス変換できるようにするために提供される、 Unicode ブロックU+FF00–FFEFの名前でもあります。
根拠

テキスト モードコンピューティングの時代、西洋の文字は通常、画面上に 80 列 × 24 行または 25 行のグリッドでレイアウトされていました。各文字は、多くの場合約 8ピクセル幅の小さなドット マトリックスとして表示され、西洋言語の文字をエンコードするためにSBCS (シングル バイト文字セット) が一般的に使用されていました。
美観上の理由と読みやすさを考慮すると、中国語の文字はほぼ正方形、つまり固定幅の SBCS 文字の 2 倍の幅が望ましい。これらは通常DBCS (2 バイト文字セット) でエンコードされるため、画面上の2 バイト フォントの幅はバイト長に比例する。端末や編集プログラムによっては、奇数列から始まる 2 バイト文字を処理できず、偶数列から始まる文字しか処理できないものもあった (中には 2 バイト文字と 1 バイト文字を同じ行に並べることさえできないものもあった)。そのため、DBCS セットには通常、CJK 文字と一緒に同じ行で使用するために、ローマ字と数字も含まれていた。
一方、初期の日本のコンピュータでは、カタカナにJIS X 0201と呼ばれるシングルバイトのコードページが使用されていました。これらは他のシングルバイト文字と同じ幅でレンダリングされ、通常の比率のカナではなく半角カナ文字になりました。JIS X 0201 規格自体はカタカナの半角表示を指定していませんでしたが、これはシフト JISでシングルバイトの JIS X 0201 カタカナとダブルバイトのJIS X 0208カタカナを視覚的に区別する特徴になりました。一部の IBM コードページでは、 N バイトのハングルコードとそのEBCDIC変換に基づいて、韓国語の jamo [1]に同様の処理が使用されていました。
ユニコード
同じ文字の半角バージョンと全角バージョンの両方を含む既存の文字セットとの互換性のため、Unicode は必要な「代替幅」文字を含む U+FF00–FFEF に単一のブロックを割り当てました。これには、すべてのASCII文字の全角バージョンと、円記号などの一部の非 ASCII 句読点、カタカナとハングルの半角バージョン、円などのその他の記号の半角バージョンが含まれます。既存の文字セットへのロスレス ラウンドトリップに必要な文字のみが割り当てられ、たとえば、すべてのラテン アクセント付き文字の全角バージョンは作成されませんでした。
Unicodeはすべてのコードポイントに「東アジアの幅」プロパティを割り当てます。これは次のようなものです: [2]
ターミナル エミュレーターはこのプロパティを使用して、タブとカーソルの位置を判断するときに、文字が 1 列を使用するか 2 列を使用するかを決定できます。
OpenTypeでは
OpenTypefwidには、全角または半角の文字を再現するために使用される、、、および機能タグがあります。CSShaltはhwid、およびプロパティを使用してこれらの機能を制御します。[3]vhalfont-variant-east-asianfont-feature-settings
参照
- 東アジアの句読点
- Em サイズ– 全幅フォーム
- 囲み英数字– 箇条書きのシーケンス。一部は全角で表示されます (例: ⒈、⓵、⑴、⒜、ⓐ)
- 漢の統一
- ハングル文字(Unicode ブロック)
- カタカナ(Unicodeブロック)
- Unicode のラテン文字
注記
参考文献
- ^ 「ICU デモ - コンバーター エクスプローラー」。demo.icu-project.org。2018年5 月 7 日閲覧。
- ^ Lunde, Ken (2019-01-25). 「Unicode® 標準付録 #11: 東アジアの幅」. Unicode コンソーシアム.
- ^ 「CSS における OpenType 機能の構文」Adobe . 2023 年 9 月 20 日閲覧。
外部リンク
- 東アジアの幅 Unicode 標準付録 #11
