日記緑ログ

目次

概要

ここには主にひがんばなの適当日記禄 (http://www.doblog.com/weblog/myblog/28493/) のコンテンツのログを保存しています (Doblog がサービスを終了しましたのですべて公開いたします。)。

現在の処理では頂いたコメントやトラックバックが反映されません。過去頂いて消してしまったものは残念ながらコメントのログが残っておりません。申し訳ありませんが了承願います。

注意点

公開されている記事中にでてくるリンクは生きていない場合があります。WEBというコンテンツの特性だと思ってあきらめてください。

公開されている記事中にでてくるソース又はそれ以外のファイルは存在しない場合があります。こちらについては要望があれば出し惜しみはいたしませんのでお気軽にメールででもご連絡下さい (ただし捨てたり消えたりしていた場合はこの限りではありません)。

解説

過去ログの生成

Doblog の記事 HTML を保存して ruby スクリプトで XML に変換しています。ruby の必要性はありません。この選択はなんとなくの一言です。

画像はローカルに保存してあるものを使います。

画像のサムネイル作成も自作の適当に作ったものを利用しています。

XMLのままアップしてもいいのですが MSXSL で XHTML に変換しています。

Another HTML-lintでざっくりチェックしていますが、aタグの"これ"や"それ"のようなの警告、<b>等の物理タグの警告については無視しています (<b>タグなどは変換するのはさほど面倒ではないのだが)。勝手に挿入されるタグと HTTP レスポンスヘッダについてはどうしようもないのでパス。

成果物

ruby スクリプトは汚くてしかもやたら機能分割してあり動作は重く汎用性も低いので公開はしませんが、サムネイル作成を行うコマンドラインで動作するモノについてはもしかすると何らかの需要があるかもしれないので公開しておきます。

makethumb.lzhをダウンロードしてください。

ひっそり公開物

tkimew20060721.lzh

twaingetter20060817.lzh

TWAIN 機器 (標準のもの) から有無を言わず取得する。48bitだろうがなんだろうが取得できる。はず。

bitmapfilter20061001.lzh

48ビットビットマップをフィルタリングする実験。仕様はまだまだ適当。適当に作った明るさフィルタを同梱しています (ソース付)。ただし明るさ調節としては間違っていると思います。フィルタのサンプルにどうぞ。ついでにセピアフィルタも同梱しています。

フィルタ仕様を公開します。需要ないかな?

AutoDesigner20060928.LZH

MAC-MDS向けのデザイナです。MDS-680を目標に目下製作中でしたが飽きました。飽きると5インチフロッピーの悪夢が待っているのですが……。

winfreetype20061029.c

FreeType2を使ってフォントをレンダリングしてみようin Windows。一応ある程度動くはず。キャッシュを使ったサンプルとしてもどうぞ。

fontaatune20061026.c

アンチエイリアス表示調整手法の一例~ボケずにシャープなアンチエイリアスをあなたに (誇大広告) ~

文字アンチエイリアシング調整@適当日記ログにおいて公開した手法とは別の、最後にあと考えられるのはガンマ補正のような考え方でしょうかといっていたものです。こちらの手法の場合は文字がやせます。やせますがその分シャープになる気がします。多分。テーブル作成関数は適当ですので適当に変更したほうが良いかもしれません。

LCD 用も用意しましたがただ単純に 3 テーブル使ってるだけの手抜きで、これではうまくいかない場合もありそうな気がしてなりません。

CoolType や ClearType は調整できます (Adobe Reader 7.0では調整できないのか?)。X では FreeType を使って同様のサブピクセルレンダリング機能もあるようですが調整はあるのでしょうか。まあ無いならないでいいや。あったらあったでそれまたよしよし。ただ pango とか cairo の reference manual を 3秒ずつ見た限りではなさそうな気がした。GDI+ には同じような機能があるのでそれではmono の libgdiplus にはあるだろうかと思って眺めたら TODO になっていた。まあ GPL なそのあたりは実装していても参考にしないようにしますけど (こんなコード片は GPL にしたくない)。

GDI+ に影響を受けていますので気をつけろ

ft_height20061029.c

CreateFontでnHeightは正負両方に意味がある。正はセル高さ、負は文字高さ。FreeType ではどうするか。

ft_bold20061029.c

太字フォントが無い! でも太字にしたい! FreeType ではどうするか。

ft_oblique20061029.c

斜体フォントが無い! でも斜体にしたい! oblique でいい! FreeTypeで はどうするか。

aoview20060317src.lzh

FreeType を用いた JIS X 0213:2004 対応 (と謳っただけ) のテキストビューア (のようなもの) のソースです。はっきり言って汚いし、間違っている部分もあります。また、FreeType の扱い方は上のほうにあるソース、本家のページを参照したほうが(それらも間違っているかもしれませんが)明らかにいい部分が多いはずです。ただ一つの利点として挙げられるのが(完全ではないが)縦書き対応です。GSUB テーブルを読み込み、縦書き用のグリフに切り替えて表示しています。ttgsubtable.* がその中心です。アドビのGSUB テーブルの解説を読みながら斜めよみすると分かるかもしれません (ドキュメントを読んだだけでも十分な気がしますが)。

実際に実行ファイルを構築するためには wxWidgets と FreeType のライブラリが必要になります。

outlookmsgdec.d

Microsoft Outlook のメール保存形式、.msg のデコードを試みるものです。

.msg は Structured storage (構造化ストレージ) という構造のファイルになっており、そちらをそこそこ丁寧に展開し、適当に必要そうなデータを (わかるところともいう) 引っ張ってきて eml っぽい形式にしています。

現時点で、元の文字コード種別の位置がわからず、エンコードは適当になっています。添付ファイルの Content-type も octet-stream 固定ということにしています。日付は UTC で表示してしまいます。

libgif_20110122.7z

gif で保存してみよう。gif 保存の不真面目な実装を訳あってしました。めちゃくちゃ遅いです。

補足

http://higambana.ashigaru.jp/ 内に於いて別個注記がない限り文中又は別個公開のソースコード類あるいはその他すべての文章等公開物については Public Domain と同等の扱いでかまいません。どうぞお好きに。ひがんばな日記録 - 忍者も同様。Bin溜まりについては一部別個記載があるものは別としてそれ以外の駄文はどうぞお好きに。

著作者表記を書くとしたら「ひがんばな」とか書けばいいと思います。いらないですけど。

連絡先