Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2023年10月09日] [更新 2023年10月09日] Delphi 一般・その他 [未分類 - OS の操作等]
英数字と全角の英数字
動作確認等 Windows 10 ビルド 19043 Pro 64 bit
[整理番号 - 1914]







「英数字」と「全角の英数字」


欧米の人が「英数字」と言えば,それは,ASCII 文字 (ASCII_Characters),つまり,半角の「記号・英数字」のことです.
日本人が「英数字」と言った場合は,「全角の英数字」を意味していることがあります.
これらはグリフ (字形) は似ていますが,全く別の文字です.コードポイント (文字コード) も違いますが,プロポーショナルフォントの場合,両者のグリフはほとんど同じです.

半角の「英数字」,つまり,ASCII 文字である普通の「英数字」は,日本語 IME を OFF にして入力します.これは,欧米の方が ASCII 文字を入力する時の通常の状態です.筆者の環境では,キーボードの左上の [半角 / 全角] キーで日本語 IME の ON, OFF が切り換わるようになっています.



Microsoft IME では,再変換の機能を利用すると,入力が確定した英数字を,全角や半角に変換できます.英字は,大文字または小文字に変換することもできます.

対象の文字列を選択して [変換] キーを押します.これが3変換です.
変換後の文字列を変換候から選択します.
未確定の状態で [F9] キー,あるいは [f10] キーを押すと,半角と全角,英字の場合は大文字,小文字などに切り換わります.



図1
英数字の再変換
  • 文字列を選択
  • [変換] キーを押下
  • [F9] キーを押すと全角
  • [F10] キーを押すと半角




01_プロポーショナルフォントの「英数字」と「全角の英数字」


下表は游ゴシックを指定して表示しています.游ゴシックは,プロポーショナルフォントです.

Courier, Times New Roman などの欧文用のフォントには「全角の英数字」はありません.ワープロなどのアプリでこれらのフォントを指定した状態で「全角の英数字」を入力すると,自動的に,日本語用のフォントを使用するようになっています.
筆者の環境の Microsoft Word 2019 では,Times New Roman を指定して「全角の英数字」の「A」を入力した結果,遊明朝になりました.


ASCI 文字 (半角の英数字)
0020 ! " # $ % & ' ( ) * + , - . /
0030 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
0040 @ A B C D E F G H I J K L M N O
0050 P Q R S T U V W X Y Z [ \ ] ^ _
0060 ` a b c d e f g h i j k l m n o
0070 p q r s t u v w x y z { | } ~ 


以下は,いわゆる全角文字です.これらは ASCII 文字ではありません.


全角の英数字
FF00
FF10
FF20
FF30 _
FF40
FF50


並べて比較すると次のようになります.最初の行が「半角」で次の行が全角です.プロポーショナルフォントの場合,半角でも全角でもほとんど違いはありません.

0040 @ A B C D E F G H I J K L M N O
FF20




02_等幅フォントの「英数字」と「全角の英数字」


次の表は,等幅フォントであるMS ゴシックを指定して文字を表示しています.等幅フォントの場合は,半角と全角の違いが明らかです.半角,全角という用語は,元々,等幅フォントにおける文字幅に対して用いられてきた用語です.
プロポーショナルフォントの場合は文字幅を意味しません.文字が ASCII 文字して処理されるか,日本語の文字として処理されるかの違いになります.

0040 @ A B C D E F G H I J K L M N O
FF20




03_一般的な文書はプロポーショナルフォント


当サイトの記事は等幅フォントを使用していますが,出版物など,一般的な文書では通常プロポーショナルフォントを使用します.したがって,前項の表の記号類も含めて,「全角の英数字」を使用する必要はありません.ASCII 文字を使用します.
ASCII 文字は,日本語 IME を OFF にして入力します.



[備考 2]
プログラムのコードは ASCII 文字,つまり半角文字を使用します.そうしないと,コンパイルという処理でエラーが発生してプログラムが作成できません.
掲示板やメールで,全角の記号,英数字を使用したコードを掲載する方がいます.これは,ほとんど冗談の世界と言えます.