ある特定のUnicode文字を入力したい場合、Unicodeの文字コード番号が分かっていれば、それを簡単にUnicode文字に変換することができる。また逆に文字からそのUnicode文字コード番号も簡単に調べられる。
対象ソフトウェア:Office 2016/Office 2013/Office 2010/WordpadなどのWindows向けアプリのリッチテキスト入力
Unicodeは、従来のシフトJISコードでは表現できなかった異体字やめったに使わないような文字も利用できるなど、利便性が高く、最近ではUnicodeを使った文書の作成が一般的になっている。
Windows OSでUnicode文字を入力するには、OSに標準で付属している[アクセサリ]−[システムツール]−[文字コード表]アプリ(Windows 8.1以降なら[Windowsアクセサリ]−[文字コード表])を使うか、IMEの入力支援機能などを使うのが一般的である。
だがUnicodeの文字コード番号(「U+3042」や「U+29E49」など)が分かっているならもっと簡単な方法がある。キーボードショートカットによるUnicode入力支援機能を使うのである。本TIPSではその方法を紹介する。またこの機能を使うと、既に入力されている文字のUnicode番号に簡単に逆変換することもできる。
Unicodeの仕組みや、それを元にしたUTF-8のようなエンコード方法についてここでは述べないので、別稿のTech Basics「Unicode」「UTF-8」を参照していただきたい。
Windows OSでは、いわゆる「リッチエディットコントロール」において、Unicode文字を文字コード番号から直接入力する機能がサポートされている(おおむね、Windows XP以降のWindows OSで利用できる)。
リッチエディットコントロールとは、「ワードパッド」アプリケーションの入力欄のように、書式付きでテキスト文字を入力できる入力フィールドのことである。これは、OS標準のエディットコントロールを使ったアプリケーションの他、Officeアプリケーションに含まれる(おおむねOffice XP以降の)WordやOutlook(のメール作成画面)、OneNoteなどでも同様に利用できる。
リッチエディットコントロールではなく、ただのテキストエディットコントロールでは以下の方法は利用できない。例えばメモ帳では利用できない。
Unicodeの文字コード番号から、そのUnicode文字に変換するには、文字コード番号の直後にカーソルを置いてから、[Alt]+[X]キーを押すだけである。すると、直前の文字コード部分が該当するUnicode文字に置換される。ただしアプリケーションによっては[Alt]キーに対して特別な処理を行っており、この方法が利用できないこともあるので、各アプリケーションで試してから使用していただきたい。
Unicodeの文字コードは「U+611B」もしくは単に「611B」のように表記する(コード部分は16進数で表記すること。英字の大文字/小文字は関係ない)。そして文字コードの直後にカーソルを移動してから[Alt]+[X]キーを押す。
先頭に「U+」が付いていなくても構わない。
Unicodeとして定義されている「U+21」から「U+10FFFF」までの文字コードなら、いずれでも上記のように変換できる。ただし文字コード番号に対応するフォント(文字グリフ)が定義されていないと正しく表示されないので、あらかじめ適切なフォントを選択しておくこと。
なお「U+10000〜」の文字を変換する場合は、「サロゲートペア」ではなく、元の「U+10000〜」の文字コード番号をそのまま使うこと。例えば「U+29E49」(トビウオ)という漢字はサロゲートペアを使って「U+D867」「U+DE49」とも表現できる。だが、この2つを個別に[Alt]+[X]で変換して「トビウオ」の漢字1文字にすることはできない。「U+29E49」に対して[Alt]+[X]を適用すること。
また、UTF-8などの符号化されたコードも使用できない。
もしUnicodeの文字コードの10進数表現が分かっているなら、もう1つ別の方法もある。それはキーボードで、[Alt]キーを押しながら、テンキー部分の数字キーを使って(英字の上に並んでいる数字キーは不可。必要なら[NumLock]キーをオンにすること)文字コードを10進数で入力することである。
例えば16進数の「611B」(漢字の「愛」のコード)を10進数に変換すると「24859」になるので(「電卓」アプリを「プログラマ」モードにすると簡単に変換できる)、[Alt]キーを押しながら、テンキー部で[2][4][8][5][9]と順に入力し、最後に[Alt]キーを離す。すると「愛」という文字(U+611B)が入力される。
[Alt]キーを押しながら10進数を入力する方式は、Windows OS以前のMS-DOSの時代からあるものだが、リッチエディットテキストコントロールではなく、(メモ帳などで使用されている)テキストコントロールに対して行う場合は、「255」までのコードしか(1byte系のASCIコードしか)入力できない。
最初の方法の応用として、既に存在する文字(Unicode文字)をUnicodeの文字コード番号に逆変換することもできる。方法は簡単で、ある文字の直後にカーソルを置いてから[Alt]+[X]キーを押す。するとカーソルの直前の文字がUnicodeの文字コード番号に変換される。これも、利用するにはリッチエディットコントロール上での操作が必要である。
この状態でまた[Alt]+[X]を押すと、元のUnicode文字に変換される。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.