フォントはユーザーの使用する言語に深く関わりがあります。もしフォントサイズと種類を
ソースコード中にハードコードした場合、全ての言語に対して同じことを行わなければなりません。
これはメンテナンスおよびアプリケーションの品質保持にとってよくありません。
次の例はWindows MFCのフォント作成ですが、日本語フォントしか扱うことができません。
myFont.CreatePointFont(8*10, _T("MS ゴシック"));
全ての言語のフォントを効果的に扱うためには、各フォントのサイズと種類を各リソースファイルに記述し、
それらをユーザーの言語設定に沿って動的に読み込む必要があります。
次の例ではフォントサイズと種類を、World Wide Naviの文字列の外部化によって作成された
Windowsリソースファイルから読み込んでいます。
myFont.CreatePointFont(atoi(wwnaviGetString(IDS_MSG_WWNAVI1068))*10, wwnaviGetString(IDS_MSG_WWNAVI1069));
...
Japanese resource file (wwnavi_string.ja.rc)
IDS_MSG_WWNAVI1068 "8"
IDS_MSG_WWNAVI1069 "MS ゴシック"
...
どのフォントを使うべきか決めるためには各々のフォントの特性を知る必要があります。
例えば日本語フォントと親和性のある英語フォントを使いたい場合、
ひとつのよい方法として「Verdana」フォントを使うことがあります。
フォント作成は各プログラミング言語(C/C++, Java, C#...)によって様々ですが、コンセプトは同じ、
「非ハードコード、リソースでの設定可」です。