Hatena::ブログ(Diary)

itouhiroメモ

2012-06-03 Windows7のフォント上書きインストールはファイルを削除していない

[しゃべり担当] Windows7のフォント上書きインストールはファイルを消していない、ということを説明するよ。


[合いの手担当] ん?



[しゃべり担当] WindowsXPのときは、フォントを上書きインストールすることはできなかった。

すでに入っているフォントの新しいバージョンをインストール(※)しようとすると‥‥このように「削除してください」と言われる。

f:id:itouhiro:20120603143955g:image

※ [コントロールパネル - フォント]にttfファイルをドラッグ&ドロップ。


[合いの手担当] こう言われた後で、いちいち古いフォントを消して、それから改めてインストールする必要があったんだね。

Windows7は変わったの?


[しゃべり担当] Windows7では、すでに入ったフォントの新バージョンをインストール(※)しようとすると「置換しますか?」と聞かれて、[はい]をクリックすると上書きインストールできる。

f:id:itouhiro:20120602141029p:image

※ ttfファイルを右クリックして、右クリックメニューから[インストール]を選択。


[合いの手担当] なるほど。進化しているのだな


[しゃべり担当] それがそうでもない。

同じフォントを上書きインストールしても、前のフォントは削除されない。このように、C:\Windows\Fonts フォルダの中に残っているのだ。


f:id:itouhiro:20120603144419p:image


[合いの手担当] 確かに _1 とか _A とかの番号つきで残っているね。


[しゃべり担当] 上の画像は、M+フォントに含まれる「M+ 1p regular」を、過去のバージョン TESTFLIGHT 040から順に、 040→041→‥‥→049→040→041→‥‥ と繰り返し上書きインストールしたときのものだ。


最初に新規インストールした TESTFLIGHT 040のが mplus-1p-regular.ttf。

次に上書きインストールした041は mplus-1p-regular_0.ttf というファイル名でインストールされた。


このとき「M+ 1p regular」フォントの実体は「_0.ttf」のほうになる。最初に入れたmplus-1p-regular.ttfは使われなくなるのになぜか残っている。


上の画像だと「_10.ttf」がいちばん最後に上書きインストールしたものだ。フォントのプロパティ見ても _10 とある。


[合いの手担当] なぜ残っている‥‥? 「前のバージョンに戻せる」という機能でもあるのかな?


[しゃべり担当] いや、ない。


[合いの手担当] じゃあ何のために残しているのさ?


[しゃべり担当] 不明だ。Fontsフォルダに残って、しかもアクセスできない、このフォントは何のために残っているのだろう。Microsoftを問いただしたい。

とにかく、残っているとハードディスクやSSDの容量を圧迫する。日本語フォントはひとつ6Mバイトとか普通にあるし。


そこで、過去フォントを削除する方法を教える。


Windows7で上書きインストールしたフォントの不必要ファイル削除方法


[スタートメニュー - アクセサリー - コマンドプロンプト] で右クリックして、[管理者で実行]

f:id:itouhiro:20120603145513p:image


あとはコマンドを手入力するぞ。

フォントのあるフォルダに移動

> cd \Windows\Fonts

f:id:itouhiro:20120603145833g:image


削除するフォントを確かめる

> dir mplus-1p-r*


ttfファイルを消す。最新版(いちばん最近にインストールしたもの)はここでは消せないようだ。

> del mplus-1p-r*

f:id:itouhiro:20120603145850g:image


いちばん最近にインストールした _12.ttf は残ったが、ほかの19個のファイルは見事に削除できた。


ちなみに

xx.ttf  最初に新規インストールしたフォント
xx_0.ttf 1回めの上書きインストール
xx_1.ttf 2回めの上書きインストール
xx_2.ttf
xx_3.ttf
xx_4.ttf
xx_5.ttf
xx_6.ttf
xx_7.ttf
xx_8.ttf
xx_9.ttf
xx_A.ttf
xx_B.ttf
xx_C.ttf
xx_D.ttf
xx_E.ttf
xx_F.ttf
xx_10.ttf
xx_11.ttf
xx_12.ttf

という順序で内部ファイル名がつけられた。

だからここでは _12.ttf というのが最後にインストールしたやつなので、これは残っているのだ。



参考:

  • 【レポート】 Windows 7における多言語化技術 2 コントロールパネルのフォント設定画面
    http://news.mynavi.jp/articles/2009/07/24/e7/001.html
    Windows 7ではフォント周りに大きな改善が加えられたため、フォント管理をより簡便にすることを目的として、コントロールパネルのフォント設定画面を完全に一から再設計した。
  • Windows の国際化とフォントと Windows 7 での仕様変更と開発者向け TIPS
    http://technet.microsoft.com/ja-jp/windows/dd901393

nkcnkc 2013/09/07 00:27 最近この現象に遭遇して困っていたので助かりました。ありがとうございました!