知識ベース

Unicode入力

Unicode入力とは、ユーザーが特定のUnicode文字をコンピューターに挿入することです。物理キーボードでは直接サポートされていない文字を入力する一般的な方法です。 Unicode文字は、ディスプレイから選択するか、物理キーボードで特定のキーシーケンスを入力することで生成できます。さらに、1つのWebページまたはドキュメントでこれらのメソッドの1つによって生成された文字を別のWebページまたはドキュメントにコピーできます。 UnicodeはASCIIに似ていますが、より多くのオプションを提供し、より多くの記号をエンコードします。

Unicode入力システムは、文字の大きなレパートリー、理想的にはすべての有効なUnicodeコードポイントを提供する必要があります。これは、特定のロケールに適した限られた数の文字に対してのみキーとその組み合わせを定義するキーボードレイアウトとは異なります。

Unicode番号

Unicode文字はコードポイントで区別されます。コードポイントは、通常「U +」とそれに続く4、5、または6桁の16進数で表されます(例:U + 00AEまたはU + 1D310)。多くの中国語と日本語の文字を含む最新のスクリプトと多くの記号を含む基本多言語面(BMP)の文字には、4桁のコードがあります。歴史的なスクリプトだけでなく、現代の多くの記号や絵文字(絵文字、トランプ、多くの日中韓文字など)にも5桁のコードがあります。

可用性

アプリケーションは、文字のグリフを含むフォントにアクセスできる場合にのみ、文字を表示できます。 Unicodeに完全に対応しているフォントはほとんどありません。ほとんどには、いくつかの書記体系をサポートするために必要なグリフのみが含まれています。ただし、最新のブラウザやその他のテキスト処理アプリケーションは、フォント置換を実行し、現在のフォントでサポートされていない文字を表示する必要があるときに自動的に代替フォントに切り替えるため、多言語コンテンツを表示できます。フォールバックに使用されるフォントとUnicodeカバレッジの完全性は、ソフトウェアとオペレーティングシステムによって異なります。インストールされているすべてのフォントで適切なグリフを検索するソフトウェアもあれば、特定のフォント内でのみ検索するソフトウェアもあります。

アプリケーションが文字をサポートするフォントにアクセスできない場合、その文字は通常、疑問符または別の一般的な置換文字(例:�や⃞)として表示されます。

画面からの選択

多くのシステムは、Unicode文字を視覚的に選択する方法を提供します。 ISO / IEC 14755では、これを画面選択入力方法と呼んでいます

Microsoft Windowsは、UnicodeバージョンのCharacter Mapプログラムを提供しており、XP以来、コンシューマーエディションに登場しています。これは、Basic Multilingual Plane(BMP)の文字に制限されています。文字はUnicode文字名で検索でき、テーブルは特定のコードブロックに制限できます。

同じタイプのより高度なサードパーティツールも利用できます(注目すべきフリーウェアの例は、すべてのUnicode文字をサポートするBabelMapです)。

macOSでは、多くのプログラムの[編集]メニューに[絵文字と記号](⌘Command + Ctrl + Space)メニューがあります。これにより、文字パレットが表示され、ユーザーはさまざまなビューから任意の文字を選択できます。ユーザーは、名前で文字またはユニコードプレーンを検索することもできます。

ほとんどのLinuxデスクトップ環境では、gucharmap(GNOME)やkcharselect(KDE)などの同等のツールが利用可能です。

10進数入力

Microsoft Windowsの一部のアプリケーション、特にRichEditコントロールを使用するアプリケーションでは、10進Unicodeコードポイント(U + 0100の場合は256など)がAltコードでサポートされています。

テキストエディタVimでは、2文字のニーモニック(混乱してVim開発者によって「ダイグラフ」と呼ばれる)で文字を指定できます。インストールされたセットは、10進数で指定された任意のコードポイントに対して定義されたカスタムニーモニックによって拡張できます。たとえば、10進数の9881は16進数の2699と等しいため、dig Gr 9881は「Gr」をU + 2699⚙GEARに関連付けます。

16進入力

ISO / IEC 14755の5.1節は、 開始シーケンスの後にコードポイントの16進数表現と終了シーケンスが続く基本的な方法を説明しています 。一部のシステムでは、これはBMP(U + FFFFまでの文字)に制限されています。

Microsoft Windowsの場合

Windowsで(言語設定に依存しない)ユニバーサル入力メソッドを有効にするには、EnableHexNumpadという文字列タイプ(REG_SZ)値をレジストリキーHKEY_CURRENT_USER \ Control Panel \ Input Methodに追加し、値データ1を割り当てます。ユーザーは、Windows 8.1 / 8.0、Windows 7、およびVistaでログオフ/ログインするか、この入力方法のレジストリを編集した後に以前のシステムで再起動して動作を開始する必要があります。 Unicode文字を入力するには、Altを押しながらテンキーの+を押し、16進コードを押します(0〜9の数字にはテンキーを使用し、A〜Fの数字には文字キーを使用します)。これは、U + 1F937などの5桁の16進コードでは機能しない場合があります。

レジストリを編集しない場合、または多くのラップトップでテンキーが使用できない場合は、UnicodeInputユーティリティをダウンロードできます。テキストを入力するときにこのプログラムを呼び出すと、右側に示すウィンドウが表示されます。 16進値を入力して↵Enterを押すと、目的の文字が生成され、ウィンドウが消えます。

AutoHotkeyスクリプトは、キーストロークのUnicode文字の置換をサポートします。たとえば、Send {U + 2014}コマンドは、アクティブウィンドウのテキストフィールドにemダッシュを挿入します。

一部の個々のWindowsプログラムまたはアプリは、すでにUnicodeの入力をサポートしています。たとえば、Word、WordPad、およびLibreOfficeプログラム(Writer、Calcなど)は、次の入力方法をサポートしています。最初に文字の16進コード(2〜6桁の16進数字)を入力し、すぐにAlt + Xを押します。たとえば、f1を入力してから組み合わせを押すと、文字「ñ」が生成されます。長さが6桁の16進数でない限り、コードの前に数字または文字a〜fを付けないでください。これらは変換されるコードの一部として扱われます。たとえば、af1に続けてAlt + Xを入力すると「૱」(U + 0AF1)が生成されますが、a0000f1に続けてAlt + Xを入力すると「añ」が生成されます。

MacOSで

Mac OS 8.5以降では、 Unicode Hex Inputキーボードレイアウトを選択できます。 OS X(10.10)Yosemiteでは、キーボード→入力ソースで追加できます。 ⌥オプションを押しながら、4桁の16進Unicodeコードポイントを入力すると、同等の文字が表示されます。 ⌥Optionキーを放すことができます。 BMPの外側の文字はUnicode 16進入力メカニズムの4桁の制限を超えていますが、文字ビューアーの検索入力ボックス(編集→絵文字と記号)を使用するか、サロゲートペアを使用して入力できます:⌥Optionキーを押しながら最初のサロゲート、+、2番目のサロゲートを入力してから、Optionキーを放します。

X11(LinuxおよびUnixバリアント)

X Window Systemを使用するオペレーティングシステムでの16進コード入力の可能性は、システムとアプリケーションによって異なります。 16進入力は、一般的なX.Orgサーバーには実装されていません。個々の入力メソッドとGUIツールキットは、Xサーバーに依存しない16進入力を提供できます。

たとえば、GTK +はISO / IEC 14755準拠のシステムです。開始シーケンスはCtrl +⇧Shift + Uで、終了シーケンスは↵EnterまたはSpaceです。 GNOMEアプリケーションなど、GTK +に基づいたプログラムは、Unicode入力をサポートしています。

Unicode文字の直接入力には、2つの一般的な方法があります。

  • Ctrl +⇧Shiftを押しながらuに続けて16進数を入力します。次に、Ctrl +⇧Shiftを放します。
  • Ctrl +⇧Shift + uを入力してリリースし、16進数を入力して、↵Enterを押します(またはスペースまたは一部のシステムでは、even ShiftまたはCtrlを押して放します)。

ただし、非GTKアプリケーションでは、通常、任意の入力文字を入力するためのエスケープシーケンスはありません。たとえば、QtとKDEは標準のX入力方式(XIM)フレームワークに依存しており、独自のソリューションを実装していません。 xtermでは、これらの入力メソッドはサポートされていませんが、エスケープシーケンスを使用することは代替です。 rxvt-unicodeは、デフォルトで有効になっているオプションのISO / IEC 14755を実装しています。

ただし、使用するツールキットに関係なく、Composeキーサブシステムを使用して特定のキーストロークの組み合わせを構成し、Unicodeのサブセットを入力できます。

プラットフォームに依存しないアプリケーションで

  • Emacsでは、Ctrl +x8↵EnterまたはMeta + xinsert-char。
  • LibreOffice 5.1以降では、シンボルの16進数を入力し、Alt + Xを押します。
  • Prestoレイアウトエンジンを使用するOperaバージョン(バージョン12.xxまで)で、目的の記号または文字の16進数を入力してから、Ctrl +⇧Shift + x(macOSではMeta + Meta Shift ++ x )。
  • Vimエディターの挿入モードでは、ユーザーは最初にCtrl + V u(最大4桁の16進数までのコードポイントの場合、Ctrl + V⇧Shift + Uを長く使用)を入力し、次に記号または文字の16進数を入力します必要に応じて、シンボルに変換されます。 (Microsoft Windowsでは、Ctrl + Vの代わりにCtrl + Qが必要になる場合があります。)

HTMLのUnicode

ウェブ上で

HTMLおよびXMLでは、文字としてレンダリングされる文字コードの前にアンパサンドと番号記号(&#)が付き、その後にセミコロン(;)が続きます。コードポイントは、10進数または16進数のいずれかです。後者の場合、「x」が前に付きます。先行ゼロは省略できます。いくつかの文字は、名前付きエンティティによって表されます。

例: HTML / XMLでは、著作権記号©(U + 00A9)は次のようにコーディングできます。

  • © (10進コードポイント)
  • © (16進コードポイント)
  • © (エンティティ名)

Thunderbirdで

Thunderbirdの[挿入]メニューの[HTML]オプションでは、HTML構文で10進値または16進値を使用してUnicode文字を挿入できます。 ©、©および©それぞれが「©」としてレンダリングされます。