【Amazon Linux】capybara-webkitでスクリーンショットを撮った際に日本語が表示されない問題を解決した

はじめに

普段EC2インスタンスAmazon Linux)にSSHをして開発しているのですが、E2Eテストの中で

page.save_screenshot "screenshot.png"

などとしてスクリーンショットを撮ると、日本語が表示されずにいました。 検索すると日本語フォントをインストールすれば解決した例が出てきますが、自分の環境ではそれでも解決しなかったので苦労しました。

状況

  • 日本語フォントは導入済み
  • fontconfig周りの設定も大丈夫そう
  • にも関わらずスクリーンショットでは英語しか表示されない(アンチエイリアスかかってないし、そもそもフォントが違う・・・?)

理由

capybara-webkitをインストールするのに必要なQtをビルドする際に、fontconfig-develがないためにFontConfig supportが自動でオフになっていた。 結果として、fontconfigの設定がQtに反映されない状態だった。

解決方法

yumfontconfig-develを導入したあとにQtを再度ビルドする。

おわりに

わかってみれば簡単なのだけど、辿り着くまでは大変。