2016年5月20日金曜日

0とOが区別しにくいことへの改善方法

PCを使っていて、アプリケーションや設定によっては、0(1バイト文字の数字の0)とO(マルチバイトフォントに含まれているアルファベットのO)とが区別しにくい場合があります。
1バイト文字とマルチバイト文字のフォントを別々に設定できるのであれば、1バイト文字について数字の0がたとえば中央に中黒(・)やスラッシュ(/)が付加されたものを指定することで、区別しやすくすることができます。しかし、かならずしもこのような機能があるわけでありません。

なにか方法はないのかと思って探していると、Windowsについて次のような記述を見つけました。
Z..TSO(TSS)作業の効率化・品質向上・・・ゼロ”0”とオー”O”の表示と改善
http://www.arteceed.net/?p=4232
以下にその設定方法の記述を引用します(一部、わかりやすさのために、原文と順序を変えています)。
Windowsの場合、(条件付きですが)以下の方法で数字のゼロ”0″とアルファベットのオー”O”の区別がわかりやすくなる事が判りましたので、ご紹介します
※2)でレジストリ操作をします。自己責任でお願いします
  1. 作業PCに”Consolas”という名称のフォントがある
    マイクロソフト社がソースコードの表示を判りやすくするために提供しているフォントのため1バイトのゼロ”0″に斜線が入っています。但し、2バイトコードが提供されていません
    →(秀丸エディタなど)2バイトコードを別のフォントに置き換えてくれるアプリケーションもありますが、置き換えに対応していないアプリケーションについては文字化けします(TcplinkスタンダードV3.50で確認の結果、文字化けしました)。
  2. レジストリにて”Consolas”に対して”Font Link”機能を与える
    レジストリ(Windows側)で2バイトコードのフォントを代替フォントで表示させるようにする事で1)のTcplinkのような(2バイトコード置き換え非対応)アプリケーションでも2バイトコードが表示されるようになります
    1. regeditにて
      \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
      に文字列値として
      Consolas
      を作成
    2. 続いて値のデータに2バイト表示の際の代替フォントを指定します
      私は代替フォントとして
      MSGOTHIC.TTC,MS UI Gothic
      で動作を確認しました
  3. Windowsを再起動する
MacOS Xのアプリケーションでは、
  • フォントは1バイト文字でもマルチバイト文字でも設定できる
  • 1バイト文字のフォントを指定した時は、マルチバイト文字を表示するときにはそのフォントとペアになったマルチバイトフォントが利用される。
  • マルチバイト文字のフォントを指定した時は、同じくペアになった1バイト文字のフォントとペアで利用される
  • たぶんほとんどのフォントについて1バイト文字とマルチバイト文字のペア設定がある
という状況なので、多くのアプリケーションについては、1バイト文字について0の区別がしやすいフォントを選べば、自然と区別が付くようになります。ただし、1バイト文字とマルチバイト文字のフォントが別々に設定できず、アプリケーションの設定が優先されるような場合にはうまくいきません。また、1バイトの文字のフォントとマルチバイト文字の文字のフォントのペア設定を変更できるかは、残念ながらわかりません。

2016年5月8日日曜日

Paralles 11で動作するWIndows 10の英語・日本語入力の切り替え

MacOS 10.10.5(Yosemite)が動作するMac Mini+英語キーボードで、Paralles 11を使いWindows 10を利用しています。
この際、Windows 10でも、MacOSでの英語・日本語入力の切り替えキーと同じキーで切り替えをしたいのですが、私の環境では少し設定が必要でした。

検索エンジンで探すと「英語キーボードでの設定を書いた記事が少ない」といったことを書かれている方もおられるので、日本語キーボードだとまた違う現象になるのかもしれません。

以下に設定を書きます。

まず、私はMacでの日本語入力への切り替えはCtrl-Spaceを使っています。
これは、現在ではほとんどない状況ですが、Unix/Linuxシステムでシリアル端末を介して日本語入力をすることを考えてのことです。説明が長くなってしまうので簡単に書くと、シリアル端末には、Windowsの標準的な切り替えキーであるALT+`(バッククォート)で使うALTキーは、必ずしも用意されていない。MacのCommand+SPACEについても同じで、Commandキーは用意されていません。シリアル端末自体はもうほとんどないため、このような制約を考えるのはもうやめて、WindowsでもMacでも利用可能なキー、たとえばShift+SPACEなどに変えていいのかもしれません。
MacではPreference→Keyboard→Shortcuts→Input Sourcesで設定しています。
Parallelsの設定では、日本語入力の切り替えなどMacのシステムに関わるショートカットキーは、必要に応じてWindowsに送られるような設定にしています。これは、ParallesのPreference→Shortcuts→OS X System Shotcutsの「Send OS X system shortcuts:」をAutoにしています。
この状態で、Windowsのアプリケーションにフォーカスを当ててからCtrl-Spaceを押すと、Ctrl-Spaceが送られてくるはずですが、うまくいきません。たとえばGoogle日本語入力のカスタマイズ画面でCtrl-SPACEを押すとShiftが入力されたことになってしまいます。
以前に紹介したKeyHack
Windows 10(64bit)でEmacsふうキーバインドにする
http://www.sakashita-net.jp/2015/10/windows-1064bitemacs.html
というツールの内部ログでみてみると、ALTキーとシフトキーが押されたことになっています。
  
検索エンジンで探すと以下のページを見つけました。
Parallels Desktopでの言語切替の仕方(USキーボード版)
Mac OSで押されたキーをWindowsで別のキーにマップできるようです。ものは試しに、ParallesのPreference→Shortcuts→VIRTUAL MACHINESから対応するものを選び、Ctrl-SPACEをCtrl-SPACEにマップしてみました。
KeyHackのツールで見てみるとCtrl-SPACEになっています。
これであとはGoogle日本語入力やMS-IMEでCtrl-SPACEを日本語入力の切り替えになるように設定するだけです。

私は上で書いたKeyHackでEmacsふうキーバインドにしているので、この設定だと、デフォルトではCtrl-\(バックスラッシュ)が日本語入力の切り替えになっています。であれば、Ctrl-SPACEをCtrl-\(バックスラッシュ)に割り当てればよいかもしれません。
上記のように設定をしてキーを確認してみました。
 Ctrl-SPACEがCtrl-\(バックスラッシュ)になっています。

これでいくつかのアプリケーションで試しみたところ、うまくいくようです。

2016年5月5日木曜日

PCからWindowsやOfficeのプロダクトキーを取り出す

知人のPCがおかしくなったので、そのPCの再セットアップを依頼されました。
ところが、インストールされているOSやOfficeのメディアがなく、プロダクトキーもないため、再インストールが困難でした。

私自身は、自分のPC用のWindowsやOfficeのCDを持っているので、もしプロダクトキーがわかれば、これらのCDからインストールすることができます。
そこで、PCからプロダクトキーを取り出すことができないか調べてみると、以下のWWWページを見つけました。
Windowsのプロダクトキーを紛失した時にPC内からキーを確認できるツール:KeyFinder
http://freesoft.tvbok.com/freesoft/pc_system/mjbk.html
さっそく、この記事に記述に従ってソフトウェアをインストール、実行するとWindowsとOfficeのプロダクトキーを取り出すことができました。