15
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

任意のフォントを使ってDocker上でサイトのスクリーンショットを取りたい

Last updated at Posted at 2016-03-21

目的 Docker上で任意のフォントを使ってサイトのスクリーンショットを取りたい プラス テストしたい

スクリーンショットをとるまでの記事はあるが、任意のフォントを設定するまでやっている記事は日本語では見当たらなかったので書いてみました。

すべてのソースはこちらにあります https://github.com/frkwy/xvfb_screenshot_on_docker

今回使用するフォントと文章は
女子高生風?の可愛い極細フォント「JKゴシックL」のダウンロード | ふぉんときゅーとがーる
[青空文庫 夏目漱石 吾輩は猫である] (http://www.aozora.gr.jp/cards/000148/card789.html)
を使用させていただきました。

フォントの確認と優先順位の確認

使用したいフォントの優先順位をあげれば解決します。
fc-list: フォント一覧 ここにない場合はフォントがインストールされてません
今回はFirefoxなので
fc-match -s sarif とか実行したときに使用したいフォントが一番上にきていればOKなので、
そのためにfont.confを作成していきます。

###Dockerfile

FROM alpine:latest

COPY fonts.conf /root/.config/fontconfig/
# Please override your favorite font file path
COPY JKG-L_3.ttf /root/.local/share/fonts/

RUN apk update && apk add python3 xvfb firefox dbus && rm -rf /var/cache/apk/*
RUN python3 -m ensurepip
RUN pip3 install --upgrade pip selenium xvfbwrapper

RUN fc-cache -fv

CMD ["python3", "/host/example.py"]

###font.conf
上のDockerfileですでにフォントはインストールしてある想定で、
使用したいフォントの優先順位を binding="strong"で一番上に持ってきます。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
   <match target="pattern">
        <edit name="family" mode="assign" binding="strong">
           <string>JKゴシックL</string>
        </edit>
    </match>
</fontconfig>

実際に撮影したスクリーンショットです。
Screenshot_from_2016-03-21 20:30:14.png

15
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?