漢字に自動でふりがなを表示できる日本語フォント「Furifont」が公開されました。
HTMLのルビタグを追加したり、一文字ずつ読み方を設定したりする必要はありません。通常の文章にFurifontを適用すると、「今日」の上に「きょう」といった読み方が表示されます。
フォントは無料で公開されており、ゴシック体・明朝体に加えて、ふりがなをローマ字で表示するバージョンも用意されています。
フォントだけでふりがなを付ける「Furifont」
Furifontは、ソフトウェア開発者のAnthony Fu(アンソニー・フー)氏が公開した日本語フォントです。
通常、Webサイトで漢字へふりがなを付ける場合は、HTMLのrubyタグなどを使い、「漢字」と「読み方」をそれぞれ指定します。
Furifontでは文章そのものを変更しません。たとえば、「今日は日本語の勉強をします。」という通常の文章へFurifontを指定すると、「今日」「日本語」「勉強」などの漢字に読み方が表示されます。
コピーした場合も、ふりがなの文字列まで一緒にコピーされるのではなく、元の通常テキストとして扱われます。
「合字」を使って漢字とふりがなを一緒に表示
Furifontが使っているのが、OpenTypeフォントの「合字」と呼ばれる仕組みです。
合字とは、本来複数の文字をまとめて別の字形へ置き換える機能です。欧文フォントで「fi」や「fl」などを一続きの形として表示する用途などで使われています。
Furifontでは、この仕組みを日本語の読み方へ応用しています。
たとえば文章中に「今日」という文字列が見つかると、フォント内部に用意された「今日+きょう」の字形へ置き換えて表示します。
ベースにはAdobeのオープンソースフォント「Source Han Sans JP(源ノ角ゴシック)」と「Source Han Serif JP(源ノ明朝)」が使われています。辞書に登録された数千語の読み方をもとに、ふりがな付きの字形が生成されています。
ゴシック・明朝、ひらがな・ローマ字を選べる
Furifontでは複数のバリエーションが用意されています。
- ゴシック体+ひらがな
- 明朝体+ひらがな
- ゴシック体+ローマ字
- 明朝体+ローマ字
フォントファイルはOTF、TTF、Webフォント向けのWOFF2形式で配布されています。
公式サイトには試し書き機能もあり、自分で文章を入力しながら表示を確認できます。
日本語学習者向けの教材だけでなく、子ども向けコンテンツ、読み方の難しい文章、ゲーム、Webサイトなど、ふりがなが必要な制作物では面白い使い方ができそうです。
Webサイトにもそのまま使える
FurifontはWebフォントとしても利用できます。
通常のWebサイトであればCSSからフォントを指定できるため、HTML本文へ一つずつルビを追加しなくても、既存の文章へまとめてふりがなを表示できます。
さらに公式サイトでは「ブックマークレット」も公開されています。
ブックマークレットとは、ブラウザのブックマークから簡単なJavaScriptを実行する仕組みです。
用意されたブックマークレットを登録しておけば、閲覧しているWebページ上でFurifontの表示をオン・オフできます。一部のWebサイトでは外部フォントの読み込みが制限されているため、その場合はパソコンへFurifont自体をインストールする必要があります。
商用利用も可能なオープンライセンス
Furifontのフォントファイルは「SIL Open Font License 1.1(OFL)」で公開されています。
個人利用だけでなく商用利用も可能で、Webサイトやアプリへの埋め込み、制作物への利用にも対応します。ソースコードについてはMIT Licenseで公開されています。
無料フォントの場合、デザインが気に入っても「商用案件で使えるのか」「Webフォントとして組み込んでいいのか」で止まることがあります。
Furifontは最初からオープンなライセンスで公開されているため、個人の実験だけで終わらず、実制作へ持ち込みやすいのも魅力です。
文脈によって読み方が変わる漢字には注意
便利な仕組みですが、Furifontだけですべての漢字へ正確なふりがなを付けられるわけではありません。フォントは文章の意味までは理解できないためです。
日本語には、同じ漢字でも文脈によって読み方が変わる言葉があります。「大人気」のように複数の読み方が考えられる場合、Furifontでは読み方を確定できず、あえてふりがなを表示しないことがあります。
開発者自身も、フォントという仕組みの制約によって、ふりがなが正しくない場合があると案内しています。そのため、児童向けの印刷物や教材など、読み方の正確性が重要な制作物では自動処理したまま納品せず、人の目で確認した方がいいでしょう。
一方で、すべての漢字へ手作業でルビを設定していた用途なら、下処理として使うだけでも作業量を減らせる可能性があります。
「フォントは文字の形」という前提を少し広げる仕組み
Furifontの面白さは、ふりがなが便利という点だけではありません。通常は「文字の見た目を変えるもの」と考えるフォントの中へ、辞書と読み方の仕組みまで持たせています。
文章データ自体には手を加えず、表示側だけで読み方を補うという発想です。
Fira Codeなど、プログラミング用フォントでは合字を使って複数の記号を見やすい形へ置き換える例がありますが、Furifontではそれを日本語のルビへ応用しています。開発者もFira Codeなどから着想を得たことを明らかにしています。
フォントそのものに機能を持たせるという考え方は、タイポグラフィやWebデザインを扱う人にとってもなかなか興味深い試みです。