マルチブートPCのOS選択画面で、ブートするOSの表示名を変更する方法

OSを複数入れている場合、WindowsブートマネージャーでOSを選択しようとする際、
どちらも同じ名前で表示されてしまい、見分けがつかないことがあります。

例えば日本語版と英語版のWindows7をインストールしている場合、
どちらもWindows7とだけ表示されてしまい、見分けがつきません。

そのようなときには、bcdeditコマンドで簡単に解決することができます。

まず、適当なOSを起動し、コマンドプロンプトを管理者として実行します。

そして、まず

bcdedit /v
と入力し、Enterすると、現在のブート構成が表示されます。
そこで、表示名を変更したいOSの、identifierという項目をコピーします。中括弧も含みます。

そして、下記のように入力すると表示名を編集できます。
bcdedit /set identifier description "表示名"
表示名のところはダブルクオーテーションで囲む必要があります。そうしないと、スペースを含む名前を登録することができません。

こうして、マルチブートのOS選択画面で、表示名を変更することができました。

MacRubyでカスタムフォントの埋め込み

MacRubyアプリで、カスタムの埋め込みフォントを使いたい場合、ユーザーにフォントをインストールしてもらう必要はありません。

リソースフォルダに、フォントファイルを置いて、以下のコードを用いるだけです。

font_location = NSBundle.mainBundle.pathForResource('MyCustomFont', ofType: 'ttf')
font_url = NSURL.fileURLWithPath(font_location)
# in MacRuby, always make sure that cocoa constants start by an uppercase
CTFontManagerRegisterFontsForURL(font_url, KCTFontManagerScopeProcess, nil)

これで、カスタムフォントが利用可能になりました。そして、テキストフィールドのインスタンスのフォントを以下のように設定します。

text_field.font = NSFont.fontWithName('MyCustomFont', size:24)

一つだけ注意すべきなのは、Cocoa APIの呼び出しに関して、Cocoa APIリファレンスではkCTFontManagerScopeProcessとしているところを、Rubyでは、定数が大文字から始まるので、KCTFontManagerScopeProcessとしなければなりません。

Embed a custom font

Windows転送ツールでOutlook2010の連絡先がアドレス帳に表示されない不具合を解消する方法

Windows転送ツールを用いて、XPからWindows7に移行した場合、Outlookの連絡先がアドレス帳で選択できないというバグが存在します。

通常は、【連絡先】>【プロパティ】>【Outlookアドレス帳】タブ から、
【電子メールのアドレス帳にこのフォルダーを表示する】にチェックを入れればよいのですが、グレーアウトしてしまっており、チェックすることができません。

Outlook2010のレジストリを初期化する必要があるようで、Outlook研究所で紹介されていた方法を実行したところ、グレーアウトしていたチェックボックスが復活いたしました。

このページからスクリプトをコピーさせて頂き、メモ帳などで、拡張子をvbsにして保存。
ダブルクリックすると、Outlook2010の連絡先の部分のレジストリが初期化されています。
(ちなみに、vbsを実行しても特に目立った反応は現れません)

これで、Outlook2010で、連絡先をアドレス帳から選択できるようになりました。