タグ

ブックマーク / satosystems.hatenablog.com (2)

  • 各プラットフォームのフォントの高さについて - satosystemsの日記

    フォントの高さ、というのがプラットフォーム毎に少しずつ違うようなので、簡単にまとめてみた。 ここで言う「高さ」とは、一行表示する際に必要になる高さのこと。つまり、次の行との余白は含まない。 Microsoft (Win32 API) の場合 Height = Ascent + Descent + InternalLeading Win32 API は ExternalLeading というのが特徴的。要するに、上余白と下余白で、そこを API で細かく操作できるのは優位性がある。 Oracle (Java) の場合 Height = Ascent + Descent + Leading Leading は図にはないが、Win32 API の InternalLeading と同じ位置にある。また、図では Ascent がアルファベットの頂点にあるように書かれているが、実際にはもっと高い位置

    各プラットフォームのフォントの高さについて - satosystemsの日記
  • 【絶対】PC の時計を 2099 年 12 月 31 日にしてはいけない【ダメ】 - satosystemsの日記

    下手すると PC が起動しなくなります。 コンピュータには 2036 年問題というのがあって、簡単に言うと、2036 年のある時刻以降、内部時計が 1900 年に戻ってしまうというもの。まあこれぐらいならかわいらしい現象です。 僕は実際に 2099 年 12 月 31 日 23 時 59 分ちょうどに設定してみました。そこからの 1 分はまさにカタストロフィでした。 まず、常駐しているアプリが不正終了したりエラーダイアログを出したりして、1 分後の大惨事を知らない僕はこの状況を少し楽しんでいました。エラーダイアログのキャプチャなんかを撮ったりして。 Cygwin で date コマンドを打つと、196x 年ぐらいだったので、まさに 2036 年問題が発生していました。 出てきたエラーダイアログのひとつは .NET Framework のスタックトレースが出ていたので、なんだろうな、と眺めて

    【絶対】PC の時計を 2099 年 12 月 31 日にしてはいけない【ダメ】 - satosystemsの日記
  • 1