birdcutycapt の最終的な設定について

このページでリンク先の魚拓を取るのに使っている cutycapt、最終的な設定を記録しておきます。

インストールされている日本語フォントと設定

まず Debian 標準パッケージとして存在する下記フォント群をインストールしています。

fonts-droid
fonts-ipafont
fonts-ipafont-gothic
fonts-ipafont-mincho
fonts-takao
fonts-takao-gothic
fonts-takao-mincho
fonts-vlgothic

また、すでに配布は停止されてしまっているようですが下記 Migu 2DS fonts (regular/bold) も $HOME/.fonts ファイルに置いてあります。

Migu-2DS-bold.ttf
Migu-2DS-regular.ttf

さらに fontconfig に与える option として以下の fonts.conf をやはり $HOME/.fonts に置いています。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <edit mode="assign" name="antialias"><bool>true</bool></edit>
        <edit mode="assign" name="hinting"><bool>false</bool></edit>
    </match>
</fontconfig>

なお $HOME/.fonts に新しい ttf ファイルを置いた後は念のため

$ fc-cache -fv

を実行しておいた方が良いかも。

cutycapt のコマンドラインオプション

Twitter のつぶやきを Hugo 用の Markdown ファイルに変換するスクリプト中で、cutycapt は以下のように呼んでいます。

xvfb-run --server-args="-screen 0, 1280x1024x24" /usr/bin/cutycapt --url="#{uri}" --out=#{IMAGE_PATH}#{date}_#{$image_seq}.jpg --delay=60000 --min-width=1280 --max-wait=300000 --user-style-path=#{HOME}/src/tweets2hugo/custom.css --header="Accept-Language:ja,en-US;q=0.8,en;q=0.6"

上記で指定している custom.css は以下のような感じ。

body {
    font-family: "Migu 2DS", "Droid Sans", "VL PGothic", TakaoPGothic !important;
}

指定しているオプションに関連する tips としては、

  1. 「–delay=60000」を指定しているのは、最近はページが開かれてから JavaScript 等で改めて内容を描画したりリダイレクトをかけたりする形のページも多く、そういったページを delay 無しで capture してしまうと意図したものとは違うページのイメージが保存されてしまうためです。
  2. 「–url」指定をダブルクオートで囲っておかないとオプションの評価が狂ってしまうことがありました。

というくらいでしょうか。

たったこれだけの準備でかなり質の高い魚拓の取れる cutycapt はとても楽しいツールだと思います。