日記

2004 年 7 月

27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

7 月 1 日

先日に購入したプリンタの CD-R レーベル印刷機能を, 弟が早速試していた. かなり鮮明に, しかもズレがなく印刷できたのに驚いた. 今度はジャケットも作って印刷したいそうだが, 果たしてどうなることやら.

7 月 2 日

Mozilla FirefoxMozilla Thunderbird の最新版の日本語ローカライズド版を探してみたところ, もじら組 JLP プロジェクトというものが見つかったので, そこから 両ソフトの Windows バイナリをダウンロードし, 早速使用してみた. Mozilla Thunderbird の方は順調に作動したが, Mozilla Firefox の方はタブブラウズ拡張の動作が上手く行かない. 仕方なく拡張機能を外した.

7 月 3 日

一昨日に弟が希望していた CD ジャケットを印刷したいということで, 高画質プリンタ用紙を買い早速印刷. 確かに滲みはほとんどなく, 中間色もきれいに印刷できていた.

7 月 4 日

無償の毛筆フォント「青柳衡山フォント2」がリリースされたというニュースを Slashdot Japan で知ったので, 配布元の武蔵システムからフォントをダウンロードし, Windows にインストールしてみた. 確かにきれいだ. CSS フォントファミリーの cursive に丁度いいだろう. ただ, あまりにフォントを大きくし過ぎると粗が目立つのは仕方のないところか.

7 月 5 日

Mozilla FirefoxRPM を探してみたところ, 公式には作成していないということだった. さらに Google で検索してみると, New ZERO HOME で配布されていたのでそちらを利用する.

起動は Vine Linux 2.6r1 に付属の Mozilla 1.2 よりもやや遅い気がするが, ユーザー毎に拡張ツールが保存できるなど, メリットが多いと判断し, 普段の Linux でのブラウジングは Firefox を使うことにした.

7 月 6 日

C++ 言語で日本語文字コード相互変換ツールを作ろうと考えている. 現在のところ, IANA登録されている文字コードで, 仮名文字・漢字を扱えるものを系統別に整理すると次のようになる.

RFC については IETF を参考にするべし.

どの文字コードを扱うかで, アプリケーションの作成規模が変わる. 扱うことのできる文字コード範囲は次の通りである.

文字集合 Shift JIS ISO-2022-JP EUC-JP Unicode
ASCII
JIS X 0201 カタカナ ×
JIS X 0208 漢字
JIS X 0212 補助漢字 ×
その他 × × ×

全ての文字を扱うならば, 当然 Unicode をサポートする必要があるが, Unicode をサポートしないのならば, 漢字は各文字コード間で変換公式が存在しているので, その方が面倒が少ない.

ただし, 文字列の検索を考えると, UTF-8 のサポートをした方がよいだろう.

さて, どうしたものか...

7 月 7 日

昨日の文字コード変換ソフト製作方針の続き.

日本語の文字コード変換に必ずついて回る問題に, OS や 端末によって独自に符号化された文字 (機種依存文字) の問題が常に現れる.

Windows や Macintosh の機種依存文字は Unicode を使うことで解決できるが, 問題は, i-mode 絵文字Vodafone Live! 絵文字, EZweb 絵文字 の扱いをどうするかという問題がある.

文字コードの判断方法をどうするかという問題はひとまず置いておき, どのようにして記録するかを決めておかなければならない. その方法に次のものが考えられる.

絵文字の扱い
方法 保存 対応端末出力 非対応端末への出力
各ベンダが定義した Unicode 私用領域を利用 Unicode に仕様に基づく変換をして保存. Shift JIS に変換して絵文字出力. 等にに変換して出力.
似ている絵文字を全て同一視して独自に Unicode 私用領域を利用. Unicode に独自テーブルを用いて変換して保存. Shift JIS に変換して絵文字出力. 可能なかぎり似ている文字に Shift JIS に変換して絵文字出力.
サポートしない エラーとして受け付けない. もしくは, 文字コード全体を ISO-8859-1 等として扱う. 等にに変換して出力. 等にに変換して出力.

なお, 上記 3 社の絵文字の数は, i-mode が 252 文字, Vodafone Live! が 564 文字 (予約領域を含む), EZweb が 822 文字である. 各ベンダが定義した Unicode 私用領域を利用した方が, 現実的だろう.

文字コードの判別については, JIS X 0201 カナと, 絵文字を扱うかどうかで煩雑さが決まる. JIS X 0201 カナを使った EUC-JP と Shift JIS の判別の難しさはよく知られているが, Vodafone Live! の端末は, ISO-2022-JP・EUC-JP・Shift JIS・UTF-8 の全てを扱える上に, 絵文字の呼出が, 文字コードに関わらず, ISO 2022 のようなエスケープシーケンスを使うので, 全ての文字コードで Vodafone Live! 絵文字の存在をチェックする必要がある. ...実装が非常に面倒だ.

7 月 8 日

ページコンセプトにある通り, このサイトでは HTML 4.01 Strict で文章を書いているわけで, 仕様に準拠したブラウザならばそれなりに表示できていると思っていた. 実際に, 次の環境で意図する文章が表示できていることは確認している.

問題はデザインの方である. この日記では, 擬似的に HTML 4.01 Frameset にあるようなフレームを実装するように, CSS でデザインを施している. 左側に日記の本文, 右側にカレンダーを表示し, カレンダー内の日付を選択することで, 日付に関連づけられた ID にフォーカスするようにしてある. ただし, スクリーンメディア (一般のディスプレイ上のグラフカルブラウザ) 以外では, カレンダーの表示をしないようにしている. (印刷プレビューができるなら試してみるとよいでしょう. CSS をサポートしているブラウザならカレンダーは表示されないはずです.)

私が表示確認を行っているブラウザで, 日記が意図するデザインで表示できていないブラウザは, Internet Explorer 6 と W3M 0.3.2.2 であった. W3M の方は CSS に対応していないとのことで問題ないのだが, CSS 対応を謳っている Internet Explorer 6 でデザインが狂っているのは問題である.

原因はすぐに分かった. CSS の position プロパティで, Internet Explorer 6 は fixed に対応しておらず, static として解釈していることが原因だった. これの解決方法を探っていたところ, 流離い人無題なぺえじにその答はあった. CSS で次のように設定すればよいとのことであった.

当サイトでも position:fixed を使用しております。 Mozilla (Netscape7), Opera7 ではきちんと動作しますが、 IE6では無視されてしまうようです。 絶対配置すらされませんので表示はかなり崩れます。 絶対配置されない問題を解決するには、 スタイルを以下のように記述します。

{
position : fixed!important; /* importantで、Mozilla, Opera に対して優先順位を上げて固定配置 */
position : absolute;        /* Internet Explorer 用に絶対位置配置する */
/* あとは普通にボックスの位置指定をすればよい。これらは例。0 でなくてもいい */
top    : 10%;
left   : 0;
right  : 0;
bottom : 0;}

これにより、Mozilla, Operaなど、 きちんと position:fixed を解釈できるブラウザは要素を固定配置し、 IEは要素を絶対配置します。 スクロールしなければ、見た目はほぼ等しくなるはずです。

これは確かに文法も間違っていないし, Internet Explorer 6 でもほぼ意図したデザインで表示できた. 早速このサイトの為にパクらせて利用させてもらった.

7 月 9 日

いま, JIS X 0208 の領域を Unicode に変換するためのテーブルを作ろうとしているのだが, 非常に面倒だ. これに機種依存文字を含めたテーブルを別途作るとなると...

7 月 10 日

明日は参議院議員選挙なので, 改めて各党の候補者を確認し, 可能なかぎり公約を調べた. 今回の比例代表の部分は非拘束式名簿制ということなので, 政党名ではなく候補者名で投票したいと思う.

7 月 11 日

第 20 回参議院議員通常選挙

午後 3 時ごろに投票してきた. 選挙区の候補と比例代表の候補の誰に票を投じるかはあらかじめ決めておいたので, 自分の分はすぐに投票を終えた. 同行していた弟は直前まで迷っていたらしく, 結構時間がかかっていた. この時間帯は全然人がおらず, また低投票率になるのではないかと思った.

インターネットで選挙速報をチェックする. 私が支持した選挙区の候補は残念ながら落選したようで, 死票になってしまった. 比例代表の方は, 指名した候補が早い段階で当選確実となった.

7 月 12 日

以前に別のサイトで経営していたときに回答した 100 の質問をここ XREA に移転した.

質問配布元サイトを回ってみたところ, 質問内容が変わっていたところもあったので, 改めて回答し直すことに. 結構時間がかかった.

7 月 13 日

日本語文字コード変換システムの作成に本格的に取り掛かる.

JIS X 0201 や JIS X 0208 と UCS の変換は一対一の対応にないことが Unicode とユーザ定義文字・ベンダ定義文字に関する問題点と解決策で述べられているので, 事前に対応策を考えておかなければならない.

また, 将来的に機種依存文字 (携帯電話の絵文字など) を扱うことも考えて設計しないと悲惨なことになりそうだ.

7 月 14 日

FC版 FINAL FANTASY Ⅰ のクリアまでのタイムアタックを敢行してみた.

パーティーは戦士, モンク, 赤魔術士, 白魔術士. 序盤でパイレーツを倒して資金稼ぎをしようとしたが, シャークばかりが出現してタイムロス. さらに, 氷の洞窟でマインドフレイア 3 体組に先手を取られてしまい, 為す術もなく全滅してタイムロス.

結局, The End の表示の時点で 8 時間 24 分だった.

7 月 15 日

FC版 FINAL FANTASY Ⅱ のクリアまでのタイムアタックを敢行してみた.

パーティーアタックを行いマリア一人にして, 両手に盾を装備して熟練度をレベルを 13 まで上げて, その過程で回避レベルも 10 程度まで上げた. また, 敵を全滅させる過程でファイア単体に使用することで, ファイアの熟練度も 8 程度に上げた.

回避率とファイアのレベルがある程度上がったところで, フィンの町のキャプテンを倒してトードの本を入手. 以降は, ファイアとトード, 一部の敵にホーリーを使用して一気に突き進んだ. 後半に登場し, 魔法が強力な敵に対しては, アスピルで MP を枯らして対抗する.

クリアタイムは 9 時間 42 分だった.

7 月 16 日

先日受験した国家公務員Ⅱ種一次試験の合格発表がなされ, 私は電気・電子・情報の分野で無事合格することができた. 現時点で 380 人程の合格者が発表されているが, 例年だと, ここから 7 割程度の人数に絞られるので, 最後まで油断はできない.

国家公務員Ⅰ種二次試験のときには面接前の専門試験の時点で面接カードが配布されたが, 今回の試験ではどうやら面接の当日に配布される模様だ. どんな内容が問われてもいいように対策を進める.

7 月 17 日

弟といっしょにゲームセンターへ. 麻雀格闘倶楽部 3 は, 席が空かなかったためプレイできなかった. クイズマジックアカデミーは, 一度だけプレイし勲章をひとつ獲得. 大魔導士 8 級に昇格した.

その後, beatmaniaⅡDX 10th styleを中心にプレイ. One More Lovely (7KEYS) がクリアできなかった.

7 月 18 日

また日記を溜めてしまった. 幸いにして記憶が残っていたので, 記事を書く分には困らなかった.

7 月 19 日

日本語文字コード相互変換ツールを作るに当たって, まだ調べることがあった. 各携帯端末毎の絵文字以外の機種依存文字の存在である. 調べた結果, i-mode の大部分の機種で NEC 特殊文字 (, , 他). を表示できる他は, 非絵文字の機種依存文字は存在しなかった.

文字コードについていろいろ調べて回ったが, Unicode を扱う場合は変換テーブルを作り, 各種文字コード変換時にテーブル参照するのが速いと言う結論に達した.

設計の方針は次のように決めた.

7 月 20 日

大学時代に所属していたサークルが, 前期の最終活動日で飲み会をするということなので, 私も出席させていただいた.

とある新入生が, 既に公務員を目指しているという話に驚いた. 早い段階で目標を持つのはいいことだ. がんばって欲しい.

7 月 21 日

国家公務員Ⅱ種官庁業務合同説明会に出席. 四つの省庁を回ったところで時間切れとなってしまった.

人事院による, 国家公務員Ⅱ種試験最終面接と, とある省庁の訪問予約が同一日 (7 月 28 日) になってしまい, かなり忙しくなりそうだ.

7 月 22 日

気分転換に東風荘で麻雀を打った. 当たり牌を抑えても最後の 1 枚をよくツモ和了られ, 勝負に向かって切った牌は闇聴に刺さり, さんざんな結果になった. R 値にして 80 のマイナスだった.

7 月 23 日

久々に日本語文字コード変換システムの開発. Unicode の変換テーブルの作成に苦心し, 結局完成せず.

7 月 24 日

日本語文字コード変換システムの開発の続き. Unicode の変換テーブルの作成がまだ終わらない.

7 月 25 日

明日予定している A 局への訪問に備えて, 資料の確認と面接対策. しかし, さっぱり資料がまとまらない.

7 月 26 日

国家公務員Ⅱ種技官候補として A 局を訪問. その場で訪問カードを書き, その後, 2 分ほどで自己紹介. 面接カードに書いた内容は次のとおり.

私の他に 4 人いて, それぞれ自己紹介. 今回の自己 PR はさっぱり上手く行かなかった.

7 月 27 日

明後日の人事院面接と B 庁訪問の対策をする.

人事院面接は国家公務員試験Ⅰ種試験の人物試験と同様に考えていいだろう.

B 庁訪問については, 官庁業務合同説明会のときに質問事項を考えてくる ように言われているので, 素朴な疑問を 5 つ程, 業務内容の込み入った話を 3 つほど考えておいた.

7 月 28 日

明日の人事院面接と C 局訪問の対策をする.

C 局訪問については, 質問すべき事項がなかなか思いつかない. 困った.

7 月 29 日

国家公務員Ⅱ種技官候補として B 庁を訪問. その場で訪問カードを書き, 施設の見学の後, 訪問者 1 人に対し, 各部局の代表全 4 人と質疑応答. 面接カードに書いた内容は次のとおり.

質疑応答に関しては事前に質問事項を 8 つ程考えて来たが, それでも途中で話題が切れてしまい, 間が持たなくなってしまった. それでも 30 分は話をできたので良しとすべきだったのだろうか.

国家公務員Ⅱ種二次試験

面接カードの内容は国家公務員試験Ⅰ種試験の人物試験とほとんど同じだった.

面接の時間になっても試験官が来ないというハプニングがあって開始時間が 10 分程遅れたが, 何とか落ち着いて受け答えができたと思う.

7 月 30 日

国家公務員Ⅱ種技官候補として C 局を訪問. その場で訪問カードを書き, 施設の見学の後, 訪問者 1 人に対し, 担当者 1 人と質疑応答. 面接カードに書いた内容は次のとおり.

ここでも目一杯質問をして PR をしてみたつもりである.

7 月 31 日

弟といっしょに近所のゲームセンターへ出かける.

beatmaniaⅡDX 10th style で, IR beat#3 に参加. 今回も LIGHT7 コースを中心にやりこむ. まだ, AA 評価が出ていなかった SUMMER コースと TAKA TRANCE コースをプレイし, ぎりぎりの評定で AA 評価を獲得.

夜中に後輩に誘われて麻雀をする. 1 着 4 回, 3 着 1 回, 4 着 3 回 (うち, ハコ下 2 回) という大雑把な麻雀を打ち, トータルで +12 だった.