文字がラテン語とヘブライ語、またはキリル語とギリシャ語など、異なる書記体系に属している場合、ブラウザは自動的に異なるフォントを使用することがよくあります。ただし、これはページでフォントが指定されていない場合にのみ発生します。つまり、これはデフォルトのフォントのみに関連し、使用されるフォントはブラウザのデフォルトとユーザーが制御するブラウザの設定によって決まります。
JayC の回答で説明されている手法は部分的な解決策ですが、マークアップでさまざまな言語のテキストを区別することで、ブラウザーのカバレッジが大幅に向上します。バイリンガル文書では、そのうちの 1 つのテキストにマークアップを使用するだけで十分です (実用的な理由から、あまり使用されていない文書)。class
ガッチの回答で asを使用すると最適なカバレッジが得られますが、最近では CSS での言語セレクターのサポートが非常に広まっているためlang
、代わりにより論理的な属性の使用を検討することもできます。
<h1>Hello − <a lang=ru>Привет</а></h1>
次に、次のようなルールを使用します
[lang=ru] { font-family: ...; }
(私の例では、<a>
要素を の短いバリアントとして効果的に使用してい<span>
ます。正式には、これはテキストが外側の<a>
要素内にない場合にのみ可能です。)
ただし、視覚的なスタイルについては、言語によるフォントの選択とは正反対のことが必要になります。同じ行の「Hello」の「e」と「Привет」のキリル文字の「е」が違うと、とても奇妙に見えます。可能であれば、ドキュメント内のすべての言語に同じフォントを使用することをお勧めします。これは、それらすべてで機能するフォントを選択することを意味します。