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 では、再変換の機能を利用すると、入力が確定した英数字を、全角や半角に変換できます。英字は、大文字または小文字に変換することもできます。

対象の文字列を選択して [変換] キーを押します。これが再変換です。
変換後の文字列を変換候から選択します。
未確定の状態で [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 文字、つまり半角文字を使用します。そうしないと、コンパイルという処理でエラーが発生してプログラムが作成できません。
掲示板やメールで、全角の記号、英数字を使用したコードを掲載する方がいます。これは、ほとんど冗談の世界と言えます。