2009-12-18

「予算を圧縮する」という言い方って、昔からあった? どうもよくわからないんだけど。

ミラチェアについて

家での話。書き物なりプログラミングなり、ずっと作業していると普通は腰やお尻が痛くなってきて、それで気分転換に掃除や洗濯でもするか、となるんだけど、ミラチェアはいくらでも集中できるので部屋が全然片付かない。この椅子は危険だ。

wxPython について

最近発見したこと。wxPython (not wxWidgets) でも、Windows 環境でのウィンドウのサブクラス化(懐かしい響き)があっさりできることがわかった。いままで IME などの日本語まわりが制御できなかったから wxPython だとかゆいところに手が届かない感じがしていま一歩に思ってたんですが、これで自分的にずいぶん評価が変わった。ほんとにちゃんと動くなら、MFC よりはずっといいよね。(が、またいつまでたっても C# を覚えないな……。)

2009-12-10

しかしフランスの人が全銀フォーマットに何の用があるんだろ? 謎だ。

なんか知らないけどタスクが山積み。これが師走か。プログラム書いたり古文読んだりストIV対戦したりしたいよー。

蕎麦屋の思い出

南阿佐ヶ谷と荻窪の間、青梅街道沿いにある(あった)とある蕎麦屋。11月いっぱいで閉店するというので、29日のお昼に食べ納めということで行ってきた。

ここはせいろがおいしいので、お重のご飯ものとセットの定食(合わせ)を頼むことが多い。合わせの親子を注文。

食べ終わってお代を払うときにお店の人とちょっと話した。「長い間お世話になりました」と先に向こうから言われてびっくりした(なぜかいつもすぐお店の人に覚えられる僕)。マンションが建つということで、立ち退きの期限が来てしまったそうだ。あとで見れば隣の八百屋もシャッターが下りていた。

終わってしまうのは残念だとか、図書館からの帰りによく寄ってたとか、蕎麦屋がどんどん無くなっていって寂しい、といったことを伝える。蕎麦屋は広い厨房が必要なので店を借りてやるのは難しい、などという話を聞く。ごちそうさまを言って去り際、店のおばさんが「また機会があったらどこかで…」と言ったのだが、これはどういう意味なんだろ。またどこかでお店をやる気があるのかな。(あるいは、僕が落ちてくる岩に潰されそうになったときに颯爽と助けにきてくれるその伏線かなにかだろうか。)

阿佐ヶ谷周辺にはおいしい蕎麦屋がいくつもあったのだが、数年ごとにぽつぽつと無くなってゆく。阿佐谷北の「庵」は広島に移ってしまった。そばもうまかったけど、ここがお昼に出してた親子丼、この親子丼は僕が今まで生きてきて食べた中でもっともうまい親子丼であった(いまでもこれを超える親子丼はない)。パールセンター(商店街)には「巴屋」という店がかつてあり、ここはにしんそばがうまかった。しかしあるときから長い休みに入ってしまい、そのまま閉店。いまはクリーニング屋になってしまった。そしてまたこんどの一件。

これに僕は、自分の生活圏が侵されているような感覚を覚える。僕が居心地いいと思う場所は世の中から排斥される運命なのだろうか。

あと新宿西口の某鰻屋も閉店だとさ。なんか寂しいな。

あー、あとなにかプログラミングのことか何かで書くことあったような。まあいいや、ひとまず。

2009-12-01

のっぴきならない。

Python をしゃべらせて遊ぶ

窓の杜でこれを使ったソフトが紹介されてて知ったのですが、AquesTalk という音声合成ライブラリがあるんですね。Windows 版はフリーで利用できる。面白いです。

DLL のままでは遊びにくいので、Python でラッパーを作成。これでコマンドラインからしゃべらせたり、ほかの Python プログラムから任意の文字列を発声させたりできます。

C:¥...>aquestalk.py -h
Usage: aquestalk.py [options] filenames

Options:
  -h, --help            show this help message and exit
  -c CODE, --code=CODE  evaluate given code
  -l LIBRARY, --library=LIBRARY
                        voice library name <f1>
  -o OUTPUT, --output=OUTPUT
                        save as wav file
  -s SPEED, --speed=SPEED
                        speech speed (50-300) <100>

コマンドラインからしゃべらせる例。

C:¥...>aquestalk.py -s 110 -c がいぶ+で'んげんに/きりかわりまし'た。

モジュールとして使う場合。発声が終わるまで処理が返らなくてもいいなら、

import aquestalk
aquestalk.play_sync(u'こんにちわ,')

で OK です。すぐに戻ってきてほしいときは、VoiceEngine クラスのインスタンスを作ります。

import aquestalk
engine = aquestalk.VoiceEngine()
engine.play(u'こんにちわ,') # 非同期で発声
...

詳しくはソース見てください。インストール方法なども書いてあります。

ひとまず。

2009-11-23

またちょんぼ(事実誤認)をしてしまった……。

実際に確認してから書くべきだったなあ。ましてはじめからもう一度行くつもりだったんだから、書くのはそのあとでもよかったはず。そうしなかったのは気が逸ってたとしか言いようがない。めずらしく同時性の高いことを書くから、少しでも早く、となってしまったのだと思う。

というか「僕の書いたのを見て誰か興味を持ってくれるかもしれないぞ」とまだ思ってたってことだ。まだまだ自分は青いと思った。それが悪いこととはぜんぜん思わないけど(むしろほとんどの人にとってはいい動機だと思う)、自分に限ってはそういうこと考えない方が楽になれると思うんだよなあ。

Windows 7 + IE 8 で(おそらく Vista + IE 7 でも)フォントがおかしくなる件

Blogger の場合テンプレートが複雑なせいでわかりにくくなってるのだけど、要は「デフォルトフォントが serif となっていて、それまでに指定されているフォントが日本語文字セットを含まない場合に起こる」でいいのかな。

例。たとえばこんな HTML ファイルで発生する。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>テスト1</title>
<style type="text/css">
<!--
body { font-family: "Times New Roman", serif; }
-->
</style>
</head>
<body>

<h1>テスト1</h1>

<p>スタイルシートを修正したので今は大丈夫だと思うけど、Windows 7 の IE8
でしか確認していない。ほかの環境でおかしかったら言ってください。</p>

</body>
</html>

HTML ソースのエンコーディングは関係ないですね。Shift_JIS でも、UTF-8 でも起こる。

回避方法は、日本語フォントもちゃんと指定する。

body { font-family: "Times New Roman", "MS 明朝", serif; }

しかしMS明朝固定は避けたいという場合は、先日知った IE の「バージョンベクタ」のテクニックを使う。CSS ハックとかいうやつよりはこっちのほうがいいよね。

<style type="text/css">
<!--
body { font-family: "Times New Roman", serif; }
-->
</style>
<!--[if gte IE 7]>
<style type="text/css">
body { font-family: "Times New Roman", "MS 明朝", serif; }
</style>
<![endif]-->

フォント名は指定しないほうがいいという意見もあるし、それはそれで傾聴に値すると思うんだけど、少しは遊んでみたいときもある。

そのことで以下余談。

理想をいえば、マイクロソフトがMS明朝/ゴシック(とその他の日本語フォント)をはじめからきれいにレンダリングできるようにしていればよかったのに、と思う。メイリオなんていう新しいフォントを付け足すんじゃなくて。そもそもどんなフォントでも読みやすくレンダリングできていれば、前述のような意見は出てこなかったろうに。海外のページを見ると、みんな自分のお気に入りの書体でページを作れていいなあ、と思う。

ラテン文字(アルファベット)では、ClearType はとても読みやすいテキストを描画する。Windows の 2000 か XP か忘れたけど、初めて ClearType をオンにして NYTimes あたりを見たとき、こりゃやばいと思った。欧米の人間は「これでもうディスプレイの解像度やフォントの品質の改良はいらないな」と思ってしまうだろうから、日本語テキストの描画品質の改善が置き去りにされてしまうんじゃないかと思ったのだ。

一方で、昔、Mac OS X が(UI の構成部品とか含めて)スクリーンのすべてのフォントをアンチエイリアス処理して描画してるのを見たとき、これはマイクロソフトのアプローチのほうが正しそうだ、と思った記憶もある。初めの頃の OS X の日本語フォントはほんと読みにくかった。ここでいうマイクロソフトのアプローチというのは、ラテン文字はアンチエイリアスで出しても、MS明朝/ゴシックなどの日本語フォントはビットマップフォントという方針のこと。当時は描画速度の問題もあったんだろうけど。

ところが Tiger かその前あたりで、OS X は日本語フォントが随分読みやすくなっていた。いろいろ中の人ががんばっていたんだろうと思う。結果的に今では Mac のほうが日本語フォントは読みやすい環境にあると思う。

というか、Windows の日本語フォントのユーザー体験って、Windows 95 から基本的に変わってないよね。15年だぞ、15年。コンピューターの世界でこれはひどくないか。これについては日本人はもっと怒ってもいいんじゃないかと思うんだけど。15年たっても、Windows では日本語フォントの描画品質はまったく変わっておらず、エディットコントロールでは禁則処理もできていない(いや、Windows の API にいろいろあるのは知ってますよ)。

でも、日本ではあんまりそういう要望は聞かれないのかもしれない。というのは、携帯電話のテキストまわりのユーザー体験を考えてみると、いまだに驚くほど貧弱だから。以前 INFOBAR 2 を使ってたけど(いまはまた古い携帯使ってます)、2007年の時点でメールの本文を折り返し表示して行頭に句読点が平気で出ていた。これが21世紀かと。

いいですか、ぶんかてきというのは、でんわにてれびをつけたりすることじゃ、ないんですよ。

もちろん、使ってる日本人すべてが「句読点が行頭にくるのはおかしい!」とか声を荒げるべきだというつもりはないよ。こういうの(写植と組版)には、こういうことに対して執念深く追求するある種の人間が必要で、そういう人々によって(普通の人々が気づかないところで)実現されるものだと思う。Mac とか TeX とか、そうでしょ。TeX 嫌いだけど。しかしそういう「活字の美しさに取り憑かれた技術者」がいないのだろうね。

世の中には、吉の字の上が長いか下が長いかの違いを血眼になって議論する人もいれば、常用漢字に何を入れるかに熱くなる人もいれば、InDesign のバグについて重箱の隅をつつくことに情熱を注ぐ人もいるみたいだけど、コンピューターのもっとも基本的でだれもが使うところでの当たり前のユーザー体験の部分について改善しろという人はいないのか。

どうも、そういう基本的なところさえもがいつまでたっても改善されないのが不満なんですよ。

組版に対する情熱では、日本人は欧米人にとうていかなわないと思う。Microsoft の DirectWrite のページとかを見ると、こいつらの欲望は果てしないな、と思わずにはいられない。墨の表現に使うとかで、日本語フォントにもかなり応用の利きそうなトピックもあるけど、まあそういう恩恵にあずかれるようになる日はこの調子では近くはないであろう。

自分にフォントの知識があったらなあ、とはよく思うけど、あの世界は僕には難しすぎる。ベジエとか何?みたいな。

2009-11-08

早朝というか深夜といってもいいくらいに目が覚めてしまい、どうしようと考えたところ、VAIO P に Windows 7 入れるのは今だ、と思いつき、

VAIO type P に Windows 7 Home Preminum を入れる

後人のため。

用意したもの
VAIO type P (VGN-P90HS) 本体
VAIO Windows 7 サプリメントディスク
Windows 7 Home Preminum
USB 外付け DVD ドライブ (Panasonic LF-P968C)

Windows の新規インストール。一時間弱でデスクトップの表示までたどり着いた。

ここで解像度を変更したりする。1600×768 に最初からできた。以前の Windows の残骸などを掃除する(フォーマットしなかったので)。使用領域はこの時点で 16.2 GiB。念のため再起動。

VAIO サプリメントディスク挿入。20分後、二枚目。なんかいろいろインストールしてる。(ここでなかなか終わらないのでコーヒーを入れる。)さらに30分後、三枚目。さらに20分かかって終了。再起動したら、McAfee が走っていた。ふざけんな!、とキレる。

この時点で使用領域は 20 GiB。こんなもんか。DPI 変更は再起動じゃなくてログオフでよくなったんだ。無線 LAN の設定などをして、McAfee SecurityCenter を削除。あとはドライバとか VAIO のユーティリティとかなので、とりあえずそのまま。

こんな感じです。だいたい Windows に1時間、VAIO サプリメントディスクに1時間かかる、と。その後 Subversion, PuTTY, WZ Editor 5 など、いつも使ってる各種ツールや辞書ソフトをだらだらと入れる。インストール時に問題が発生するアプリのリストを持ってるのか、それっぽいものに対して修正したインストールを勧めるダイアログが出たりした。

もともとこの VAIO には、Dropbox に入れているファイルと Subversion でチェックアウトしたファイルくらいしかなかったので、データをどこかに待避したりもせず、えいやっといきなり上書き新規インストール。その後 Dropbox を入れれば以前そこにあったファイルが自然に復活し、Xmarks を入れればブックマークが自然に復活し、そのブックマークから Gmail を開けばメールも同じように使える。いい時代になったもんです。

Vista の時より無線 LAN の復帰が早くなったのはよい。

Aero

Vista のときは、「Windows Vista ベーシック」にすると描画が遅くて使い物にならなかったけど、7 だと Aero でもそこそこ動く。でももたつくのでそのままでは使えない。使えないのだが、Aero が有効なテーマにした上で、半透明の効果とかアニメーションとかをオフにした状態にすると、「Windows ベーシック」のときよりも描画がきびきびしているような気もする。なんかこの辺は謎だよなあ。

ATOK 2009

Windows 7 での話。ATOK 2009 の MS-IME キー定義で、入力文字列を F9, F10 で英数字に変換できない(F7, F8 と同じカタカナ変換になってしまう。キー定義はあってるのに)。カナ入力時でのみ起こると思われる(よく確認してないけど)。これは不便だな、どうしたものか。