代替コード
IBM互換パーソナルコンピュータでは、直接キーに関連付けられていない多くの文字は、Altキーテンキー入力方式またはAltキーコードを使って入力することができますキーボードのテンキーで文字を識別する番号を入力しながら、Altキーを押したまま。この機能の類似または拡張形式は、DOSやMicrosoft Windowsを含む多くのオペレーティングシステムでも利用できます。
多くの場合、これは非ASCII文字を入力するための多くのコンピューターユーザーが知っている最良の、または唯一の方法です。さまざまな文字に関する多くのウィキペディアの記事には、コードページ437のAltコードを使用してその文字を入力する方法が含まれています。
歴史と説明
もともとIBM PCでは、ユーザーはAltキーを押しながらキーパッドで10進数を入力できました。システムBIOSは対応するコードをキーボードバッファーに配置し、文字入力にBIOSを使用するソフトウェアでは、コードが1回のキーストロークで入力されたかのように見えます。 BIOSからキーストロークを読み取るアプリケーションは、そのコードに関連付けられているアクションに従って動作します。一部のユーザーはコードをコマンドとして解釈しますが、多くの場合、画面上のカーソルの位置に配置されるコードとして解釈されるため、現在のコードページの対応する8ビット文字が表示されます。元のIBM PCでは、これはCP437でした。受け入れられた番号のリストについては、その記事を参照してください。
一部の東ヨーロッパ、アラビア、およびアジアのコンピューターは他のハードウェアコードページを使用し、DOSはKEYB、CHCP、またはMODEなどのコマンドを使用して、実行時にそれらを切り替えることができました。これにより、Altの組み合わせによって異なる文字が生成されます(同様に、以前に入力したテキストの表示が変更されます)。ほとんどの英語システムはまだCP437を使用していますが、ラテンアルファベットのバリアントを使用するロケールで別の非常に一般的な選択肢はCP850で、これはより多くのラテン文字バリアントを提供しました。ただし、さらに多くのコードページがありました。より完全なリストについては、 コードページを参照してください 。
これらの数値はコンピューターユーザーに非常によく知られ、記憶されるようになったため、MicrosoftはCP1252などのWindows用の新しい異なるコードページセットを使用していても、それらを保存することを余儀なくされました。これらの新しいコードページはMicrosoftによってANSIコードページと呼ばれ、古いコードページはOEMコードページと呼ばれていました。 Altキーを押しながら3桁(最初の1つはゼロ以外)を入力すると、コードが8ビットOEMコードページ(CP850など)からANSIコードページの一致するグリフに変換されます。先頭のゼロ(0)の後に数字を入力すると、ANSIコードページから直接文字が生成されます。
たとえば、Alt + 161の組み合わせは、CP437またはCP850のOEMコードページの161にある「í」(鋭アクセント付きラテン文字i)になりますが、Alt + 0161は文字「¡」(逆感嘆符)を生成しますCP1252の161にあります。これらのゼロで始まるaltの組み合わせのリストについては、CP1252を参照してください。 ANSIコードページに存在しないコードをOEMページに入力しようとしても何もしませんでした。両方のページのすべてのコードがUnicodeに存在するため、Unicodeへの移行によりこれが改善されたため、すべて機能します。
後にWindowsがUnicodeに移行したとき、これを拡張してUnicodeコードポイントを入力できるようにすることが望まれていました。 Word 2010やPSPad 4.5.6などの一部のアプリケーションは、255より大きいaltコードを10進Unicodeコードポイントとして直接解釈しますが、他のソフトウェアはそのような数値256を解釈するか、3番目以降の数字を無視します。 CP1252はUnicodeの開始とほとんど同じですが、これによりU + 0080からU + 009Fへのコードポイントの入力が防止され、他のANSIコードページは非常に一般的なラテン語アクセント文字の入力を防止します。さらに、多くのUnicodeドキュメントとCharacter Mapアクセサリには、コードポイントが10進数ではなく16進数で表示されます。そのため、Unicodeを明確に入力するための3番目の方法が開発されました。有効にするには、ユーザーはREG_SZ型のレジストリキーHKCU \ Control Panel \ Input Method \ EnableHexNumpadを値1に設定または作成し、再起動またはログアウト/ログインする必要があります。先頭の「+」は、16進Unicode値の入力を許可します(a〜fのメインキーボードを使用)。たとえば、Alt ++ 11bは「ě」を生成します(eはキャロン付き)。また、最初に16進数を入力し、次にAlt + Xを入力して正しいUnicode文字に変換することもサポートされています。
サードパーティのソフトウェアをWindowsで実行して、デフォルトのキーボード処理を置き換えて、ベース10以外の数字システムで入力するなど、より多くの入力方法を許可することができます。ただし、Altキーの組み合わせは非常に人気があり、多くの場合、キーボードにない文字を入力するためにユーザーが知っている唯一のスキームです。
問題点
Numロックが無効になっている場合、Altコードを試みると、同じキーで使用されるコントロールが原因で、一部のアプリケーションで予期しない結果が生じることがあります。たとえば、Alt + 4をAlt +←とみなすと、Webブラウザーは1ページ戻ります。
多くのラップトップには個別の数字キーパッドはありませんが、修飾キー(通常は「Fn」というラベル)を押してNumpad入力を提供できます。したがって、文字コードの入力中にAltキーとFnキーの両方を押し続ける必要があります。
OEMコードページ設定は、数字が生成する文字を変更します。
Linux
Altキー方式はLinuxシステムでは機能せず、その定義の一部として日付の付いたIBM PC文字エンコードが含まれているため、複製にはほとんど関心がないようです。ただし、Unicode文字の数値入力は可能であり、アプリケーションまたはUIツールキットライブラリによって行われます。この入力方法は、多少の違いはありますが、ある程度標準化されています。
- Ctrl +⇧Shiftを押しながらUを入力し、続いて(メインキーボードまたはテンキーで)挿入する文字に対応する最大8桁の16進数を入力し、Ctrl +⇧Shiftを放します。
- Ctrl +⇧Shift + Uを入力してから、挿入する文字に対応する8桁までの16進数を入力し、↵Enterを入力します。
たとえば、OpenOffice.orgとInkscapeでは、2番目の方法のみが機能します。 GTKとFirefoxおよびChromeでは、すべてのメソッドが機能します。