奮闘する日記この広告は、90日以上更新していないブログに表示しています。日本語のウェブサイトを作っていると、日本語特有の問題にぶちあたることがありますよね。この問題を解決するためのライブラリを公開したので、紹介します。github.comそもそも日本語改行問題とは何かウェブブラウザで日本語で書かれたウェブサイトを見ていると、ときどき文章が変なところで改行されているのを目にすることがありますよね。「ソリューション」が「ソリューショ」と「ン」に分かれてしまっています。英語では単語がスペースによって区切られますが、日本語や中国語などのアジア圏の言語では単語がスペースで区切られないことが多いです。そのため、英語では単語の途中で改行されることは通常ありませんが、日本語では単語の途中で改行されることがよくあります。本文ならともかく、見出しやキャッチコピーでこれが起きると、結構気になりますよね!長いカタカナの外来語が入ると、更に目立ちます。そこで、僕はこの「日本語の単語が途中で改行されてしまう現象」のことを日本語改行問題と呼びたいと思います。対応策が無いわけではありません。タグを使う単語が途中で改行されてしまうのなら、その前に改行を入れてしまえ!というアプローチですね。悪くはないアプローチですが、レスポンシブデザインでウェブサイトを作っている場合には、望ましくないところで改行が入ってしまう可能性があります。使うこれもよく使われるアプローチだと思います。指定したタグには改行が施されないので、これで改行してほしくない単語を囲むという方法です。このアプローチだと画面幅によっては単語が画面からはみ出してしまう可能性があります。使うこれが有望なアプローチだと思います。指定されたタグは出来る限り改行しないように振る舞うので、単語の途中で改行が発生することを防ぐことができます。画面幅が極端に狭い場合には画面からはみ出さずに改行してくれます。指定して使うことが多いようです。タグ入れていこうな!めでたしめでたし。本当に解決なのか?とはいえこの作業は大変面倒くさいです。一文一文見て、文節を考えなければなりません。小さいサイトなら良いですが、膨大な数のページを抱えたサイトでは非現実的でしょう。なんといっても日本語が読めなくてはいけません。英語で作られたサイトを日本語に翻訳して使っているケースもあるわけで、実はエンジニアもデザイナーも日本語は読めないという状況は決して珍しくありません。自動的に文章を良い感じの文節で区切ってくれるライブラリです。使うと、こんなふうになります。使ってわかち書き*1を行い、予め与えられたルールに従って文節の生成を行っています。インストールできます。