マルチランゲージについて
Curlの動作・振る舞いについて
作者 Curl   
2011年3月24日(木曜日) 13:22

【ご質問】

複数言語の文字が混在する文字列の表示のために  font-familyに複数のフォントを指定し、文字によって
使用されるフォントの切替が可能でしょうか?

例えば、font-familyに
 MS ゴシック,
 NSimSun(中国語フォント),
 GungsuhChe(韓国語フォント)
 とした場合はどのような挙動をしますでしょうか?

【回答】

font-familyに複数のフォントを指定することができますが、これはシステム(OS)に該当フォントがインストールされていない場合における振る舞いを想定したものであり、マルチランゲージを表示するためではございません。

font-familyの指定に対して、Curl実行環境は、システムで使用可能なフォント書体が
見つかるまでフォントリストを検索します。
最初に見つかった、システムで使用できるフォントが複数言語が混在する文字列に対しても使用されます。

複数言語が混在する文字列を正しく表示できないことがありえますが
文字種によってはCurl実行環境が代替のフォントで表示する場合があります。
この代替フォントはfont-familyの記述によらないもので、
韓国語以外のフォントを第一番目に指定した場合に
ハングルがいつも同じフォントで表示されるのはこのためです。

上記例ですと、

 ・MS ゴシックがシステムで使用可能(基本的にWindows環境であればこのフォントは通常インストールされている)ですので、このフォントが使用されます。
 ・中国語:MS ゴシックは中国語を完全に表示できるフォントではありませんので 読める形で表示されるとは限りません。
 ・韓国語:MS ゴシックは韓国語が表示できませんが、  font-familyによらない代替フォントが使用されて表示されます。

Curlに限った話ではありませんが、これらを解決するために、マルチランゲージを表示するために、世間では、ユニバーサルフォント「Arial Unicode MS」のようなフォントが用意されているようです。

 

最終更新 ( 2011年5月26日(木曜日) 20:32 )
 
Copyright 2010 - SCSK Corporation. All rights reserved.    免責事項