2010年11月14日日曜日

ckw.exe最新版のビルド

Windowsのコマンドプロンプト(cmd.exe)の代替となるckw.exeについて、NYAOS(Windows用のシェル環境・ツール)の開発者が詳細にまとめてくれていたのでメモ。 複雑なfork状況となっていたようだが、現在の最新版はgithubにあるものらしい。 ソースからビルドする場合、Visual C++コンパイラ・ライブラリ(Windows SDK)が必要なので、持っていない場合はExpress版をインストールする。Visual Studio2010の方はビルド対応状況がまだ弱いので、現在の所お勧めなのはVisual Studio 2008 Express一式が揃った以下のisoファイル。このisoファイルをMagicDiskなどの仮想DVDドライブや書き込んだDVD-Rから読みこみインストーラを実行する。 ckwではソリューションファイル(拡張子sln)も用意されているので、Visual Studio IDEからビルドしても良いのだが、ckwぐらいの小規模コンソールアプリならシェル(コマンドプロンプト)からmake/nmakeする方が楽だと思う。 それで、私はnmakeでビルドしてみたのだが、次のようなエラーが出たので一応メモしておく。
option.obj : error LNK2019: 未解決の外部シンボル __imp__PathIsDirectoryA@4 が関数 "bool __cdecl getconfigfile(char const *,char *,char *,int)" (?getconfigfile@@YA_NPBDPAD1H@Z) で参照されました。
...
PathIsDirectoryという関数などが定義されたライブラリがリンクされていない。これをググって調べると、 というMSDN情報から、これはShlwapi.dllというライブラリファイルによって提供されていることが分かる。ということで、Makefileのライブラリ指定(変数ULIB)に以下のようにShlwapi.libを追加してやればよい。
--- Makefile
+ULIB = user32.lib gdi32.lib shell32.lib  Shlwapi.lib 
これで無事ビルドすることができた。

2010年11月11日木曜日

結局、メイリオからMS Pゴシックに戻ってみる

あれから色々と試してみて、結局メイリオや新ゴみたいな形(全体的に丸っこい)のフォントがとてもイマイチに思えてきたので、しばらくここからは離れてみる。当面は、MS Pゴシック/IPAゴシック、英字ならHelvetica/Trebuchet MS/Lucida Grandeとかだけにして、とにかくストレートな文字だけを表示するようにしてみる。

メイリオに対して心変わりした理由として、「gdippでアンチエイリアスをかけるとMS Pゴシックでも非常に綺麗な表示になるのだった」ということに今更ながら気付いたことがある(そもそもメイリオはClearTypeへの特化だそうだからアンチエイリアスにしたらメリットはなくなるのか?)。メイリオとか新ゴみたいな文字の形は「小さい文字」の場合は確かに可読性高いのだろう。でも、PCの場合は読みづらかったら拡大すればいいのだし(特に、Firefoxだと文字拡大は`C-+`するだけで簡単だ)、小さい文字の可読性はそれほど重要ではないはずなので。

Helveticaとかヒラギノ・モリサワとか

まだ相変わらずフォント周りで何かとハマリ中。

前エントリで触れていた
Amazon.co.jp: 改訂5版 TrueTypeフォントパーフェクトコレクション (IJデジタルBOOK): Fonts by Bitstream Inc., 深沢英次, インプレス編集部: 本

という書籍が到着したのだが、これは本当にお得な良書だった。互換フォント(Bitstream社製)とは言え、ほぼまったく同じ形をした『Helvetica』・『Univers』・『Futura』・『Frutiger』といった良質な英字フォントを手に入れることが出来た(余談: それにしてもこれらのフォントの名前ってなんてファッション雑誌的なかっこよさ! プログラミングの世界ではこのようなセンスの良さはあまり存在しないのだが……)。今のところ使っているのは当然WindowsのシステムフォントArialの代替としてのHelvetica(Swis721 BT)だけなのだが、その感想はというとこれがArialよりも姿形が「カチっと」していてとても心地よいものだったので満足している。あれではArialとの違いなんてほとんど分からないと思っていたけど実際入れ替えてみるとこれが意外と変わってくるのでなんか不思議な感覚。


で、あとは日本語フォントだが、MacOS Xでデフォルトな『ヒラギノ角ゴ』・『ヒラギノ明朝』とか、モリサワ社製の、『新ゴ』・『リュウミン』なんていうのが有名で良質らしい。

『ヒラギノ明朝』のW2(ウェイト(太さ)が2ということ)とかはそれなりの値段だが、何せ単体なのでどうせならいちいち個別に買うよりセットで買う方が良いような気がしてくる(しかしこれが結構高いのだが……)。
モリサワ社製のフォントの方は、以下のPC用フォントのみ(印刷しないのならこれで十分)のPackが割と安価に販売されているので、ヒラギノに拘りがなければこちらにした方がよさそう。『新ゴ』はJRの表札にも使われているような有名なもので、形はなんかメイリオぽい。私はメイリオも嫌いではないので、使うとしたらヒラギノよりもこちらかなあと思っている。

追記: Windows7のシステムフォントを変更する

sinwxyz's TechBlog: Windows7のシステムフォントを変更する
のエントリで、引用元に書かれてあるレジストリの変更だけでは不十分だった(システムフォントの大部分は変更されないまま)。さらに多くの箇所についての変更部分が書かれてある情報先リンクを追加しておいた。

2010年11月8日月曜日

やっぱりgdippは導入することに

以前見たときはイマイチだと思ったけど、これはMeryoKe_PGothicと一緒に使ってみると意外なほどにクッキリ・スッキリ表示されるので大満足な変化だった。レジストリに登録することもできるようになったみたいで、これなら動作にもさほど影響なくて、これは常用決定!

相変わらずフォント設定中

相変わらずフォント設定にハマリ中。これ、デザインに興味持ち始めたPCユーザにはありがちなことらしい(とすると、私は今までデザインに関心なさすぎだったということになるが……)。

で、Windowsの英字フォントでサンセリフ(日本語で言うゴシック体)のデフォルトだった『Arial』が『Helvetica』という有名フォントのパクリだったらしい。
ということで、これはどうも常用する気になれなくなったので、以下の書籍に付属している『Helvetica』に切り替える予定。
日本語フォントの方も今ではIPAフォントやOsaka以外にも無償なのが結構存在しているようだ。以下のサイトの記事とかにまとめられているのでまた色々と試してみて良いのがあったらメイリオやIPAフォントから切り替える予定。
Macでは『ヒラギノ』っていうのがデフォルトになっててかなり良質らしいので、これも一応考える(PCのデザイン部分にまでは金をかけたくないドケチには辛い値段だが……)。

2010年11月6日土曜日

ckwでコマンドプロンプトウィジェットを置き換え

ckw 0.8.10 改造版を更に改造した(修正しただけ)
というのを今更ながら見つけた。

コンソールアプリ実行時に使用されるデフォルトのウィジェット(コマンドプロンプト)を、cwkはすべて便利に置き換えてくれているようだ。

設定ファイルで
Ckw*exec: C:\usr\opt\MSYS\bin\bash.exe
とかしておけば、MSYSのBashをデフォルトのウィジェットではなく、ckwウィジェットで起動してくれる。

ckwでは色選択のためのGUIダイアログがなくなったので、色変更するためにはカラーコード・色の名前を設定ファイルに書かなくてはならない。この辺りは、ちょっと初心者には面倒かも。

2010年11月5日金曜日

常用フォントまとめ

私がWindowsで常用しているフォントをまとめてメモしておく。

  • メイリオ : Windowsではいわずもがなな存在。基本的にこれで満足なので大半はデフォルトの設定のままで。システムフォント部分の入れ替えはレジストリ操作で置き換えする(Windows7のシステムフォントを変更するを参照)。 追記: これの代わりに『MeiryoKe_PGothic』を使うことにした。下の追記参照。 追記2: 色々あって結局、メイリオからは離れることにした(結局、メイリオからMS Pゴシックに戻ってみる)

  • Meiryo UI : タブなどの狭い領域の文字表示ではメイリオでは間延びして合わない・幅を取りすぎるのでその場合はこのUI用のフォントを使う。参考: Windows7から搭載されたMeiryo UIを試してみる - blog::tani.masaru

  • MeiryoKe_Console : 前エントリで紹介した等幅メイリオ。メイリオだしVerdanaの後継だし、Windowsらしいかなということで私はPowerShell・VisualStudioに設定している。

  • IPAフォント : 全体的にスッキリしていて見やすくて非常に良い。IPAゴシックは等幅フォントなので、コード表示向き。私のxyzzyはこれを設定して使っている。参考: IPAフォント - Wikipedia

  • Osaka : Mac由来のフォントらしい。IPAフォント見つける前はxyzzyなどに設定してよく使っていた。参考: WindowsでOsakaフォントを使おう!
  • Times New Roman, Arial : Windowsの英字フォント(セリフとサンセリフ)はこの二つがほぼデフォルトとなっているようだ。特に文句のつけようのない綺麗な表示なのでこれはそのままで。

追記:


後から色々と調べてみると、メイリオって結構批判されているみたいだ。
例えば、
Strange Machines 「メイリオ」と「MS Pゴシック」の違い/にしても、下手な字だね。このデザイナー。
とか。

たしかに、長文でぎっちり表示する場合とかがかなりキツイ気がする。私はメイリオで日本語を読む機会って最近あまりなかったので気にならなかったと言い訳しておく。xyzzy・端末上での日本語読み書きがメインで、そこはいつも『IPAフォント』だったし、マニュアルのHTMLヘルプとかも最近は英文でしか読まないことが多いので。それに、日本語で長文なサイトは大抵、別のフォントに独自指定されているのでということもあるか。

そこで、『MeiryoKe_PGothic』という改善策があるらしいので試してみる。詳しい導入方法は、以前のエントリと同様、以下のサイトから。メイリオから生成する時に『MeiryoKe_Console』と一緒に入手できる。

(メイリオ) 『ことば・その周辺』

横に間延びしたメイリオの文字をMS Pゴシックの文字幅と同じにするらしく、たしかに文全体がメイリオに比べギュッと締まっていてこれはなかなか良さそう。ということで、当面メイリオの代わりにはこれで。

あと、少しメイリオのフォローをしておくと、「短文」の場合には本当にメイリオは読みやすいと思うので、検索結果とかTwitterポストとかの短い文を連続で読む場合には優れたフォントなのではないか。そして、英字部分はVerdanaだからあまり問題ないかと。MeiryoKe_Consoleによるコード表示は違和感なく綺麗だと思う。

MeiryoKe_Consoleフォントも良い

メモばかりの記事で申し訳ないがあまり長文書く余裕ないので、とりあえず細かくいく。

で、Windowsでも頑張れば色々と綺麗なフォントに設定できることが分かったのだが、常用フォントの中にまた新たに一つ加わったのでメモ。これは要するにメイリオの等幅(常に幅が同じことはソースコード・シェル表示のためには必須条件)なフォントということ。メイリオは個人的にとても好きなフォント(素直な感じの表示がとても綺麗)なので、これは嬉しい。それに、Windows Vista以降のデフォルトフォントはメイリオなので、他のアプリの見た目と合わせるのが非常に楽で良いと思う。Visual Studio・PowerShellとかに使うとよさそう(もちろんMSYSにでもいいけど、あれは元がWindowsアプリでないので別にしたい)。

プログラマにも人気な『Verdana』の正統後継のフォントとしてのMeiryoKe_Console(実際、アルファベット表示部分は全く同じ)。

  • Programming Fonts
  • メイリオ - Wikipedia
    なお欧文部はカーターがデザインしていたVerdanaを基にリデザインされたものであり、和文部はVerdanaを基調にデザインされた[3]。
毎度ながら、詳しいことは以下の記事を参考に。 フォントのインストールは、
  • フォントファイル(拡張子ttf/ttc)を右クリックしてからインストールを選ぶ
  • コントロールパネルのフォントを選んで、開いた所にフォントファイルを貼り付けする
のどちらかにより実行すること。