GhostのデフォルトテーマであるCasperの日本語対応フォークを公開した

どこで

https://github.com/mecab/Casper-ja で。

説明

このblogを始めた時の記事で書いたように、このblogはGhostというブログシステムで動いている。これに書いたように、Ghostはシンプルかつ軽量で、また導入も簡単で非常によい。デフォルトのテーマであるCasperも美しいのだが、日本語の記事を書いた際に問題が起こることに気づいた。

すなわち、見出しに書いた文字列について、意図しない組文字化が行われてしまうことである。これは、CSSでfont-feature-settingsが設定され、dligすなわちdiscretionary ligatures(任意の合字)が有効化されているためである。合字とは、複数の文字をつなげたり重ねたりして1つの文字のように表記することであるが、フォントによってはff, fiのような一般的な合字のみでなく、特殊な(あるいは使いどころを選ぶ)合字が設定されている。日本語では組文字が任意の合字として設定されていることがある1

CasperのCSSでは、見出しのフォントとしてOpen Sansが指定されており、これはWebフォントで読み込まれるのだが、欧文フォントであり日本語は含まれていない。日本語についてはsans-serif、つまりブラウザで設定されるデフォルトのゴシック体のフォントにフォールバックする。この時、任意の合字として組文字を持つフォントが選択されると上のような残念なことが起こる。

Open Sansは調べた限りでは任意の合字を持っていないし、また欧文以外の文章だとどのようなフォントにフォールバックされるか分からないので、dligの指定は外すべきなのではというプルリクエストを投げたのだが、色々込みでしっかりとした国際化を後から行う予定だから、現時点ではフォークしてくれとの回答をもらった。

そこで、合字のこと以外にも、日本語に合わせて斜体を極力使わなくしたり、見出しの字間を若干広げたりなど、細かい調整を行ったうえでCasper-jaとしてフォークした次第である。より多くの環境で美しく表示されるように配慮したゴシック体版と、オリジナルのCasperの雰囲気を優先した明朝体版を用意している。もしブログシステムにGhostを使うことを検討しているなら、Casper-jaも同時に導入していただけるとうれしい。

なお、このブログは記事執筆時点においてCasper-jaを適用している。

  1. ヒラギノ角ゴ Pro、游ゴシックで確認