この章では、日本語環境で使用される日本語フォントについて説明します。
以下のフォントが日本語環境で使用されます。
表 4–1文字集合 | 字体 | ビットマップフォント | TrueTypeフォント |
---|---|---|---|
JIS X 0201:1976、 JIS X 0208:1983 | ゴシック体 | ○ | - |
JIS X 0201:1976、JIS X 0208:1983 | ゴシック体ボールド | ○ | - |
JIS X 0201:1976、JIS X 0208:1983 | 明朝体 | ○ | - |
JIS X 0201:1976、JIS X 0208:1983 | 明朝体ボールド | ○ | - |
JIS X 0201:1976、JIS X 0208:1983 | HG ゴシック体 B | ○ | ○ |
JIS X 0201:1976、JIS X 0208:1983 | HG 明朝体 L | ○ | ○ |
JIS X 0201:1976, JIS X 0208:1983, JIS X 0212:1990, JIS X 0213:2000-1, JIS X 0213:2000-2 | RICOH ゴシック体 | ○1 | ○ |
JIS X 0201:1976, JIS X 0208:1983, JIS X 0212:1990, JIS X 0213:2000-1, JIS X 0213:2000-2 | RICOH 明朝体 | ○1 | ○ |
JIS X 0212:19902 | 平成明朝体 W3H | ○ | ○ |
注 1: JIS X 0201:1976、 JISX X 208:1983 のビットマップフォントはありません。
注 2: 平成明朝体 W3H の利用にはシステムの変更が必要です。
字体はスタイルマネージャの「フォントグループの追加」を行うことで指定することができます。詳細は、「スタイルマネージャのヘルプ」および 『Solaris 共通デスクトップ環境 ユーザーズ・ガイド』の「デスクトップのカスタマイズ」を参照してください。また、日本語フォントに関する技術的な情報については、『国際化対応言語環境の利用ガイド』を参照してください。
UTF-8 ロケールでは、複数のフォントを組み合わせて各コードポイントのグリフを表示させています。このため、1 つのコードポイントに対して複数のフォントのグリフが対応する場合があります。ja_JP.UTF-8 では、以下の表に示す優先順位でフォントを使用するように実装されています。
キャラクタセット |
フォント |
---|---|
ISO8859-1:GL(ASCII) |
JISX0201.1976-0 |
ISO8859-1:GR |
ISO8859-1 |
ISO8859-5:GR |
ISO8859-5 |
ISO8859-7:GR |
ISO8859-7 |
ISO8859-2:GR |
ISO8859-2 |
ISO8859-4:GR |
ISO8859-4 |
ISO8859-9:GR |
ISO8859-9 |
ISO8859-15:GR |
ISO8859-15 |
JISX0208.1983-0:GR |
JISX0208.1983-0 |
JISX0201.1976-0:GR |
JISX0201.1976-0 |
JISX0212.1990-0:GR |
JISX0212.1990-0 |
JISX0213.2000-1:GR |
JISX0213.2000-1 |
JISX0213.2000-2:GR |
JISX0213.2000-2 |
KSC5601.1992-3:GLGR |
KSC5601.1992-3 |
GB2312.1980-0:GR |
GB2312.1980-0 |
BIG5-1:GLGR |
BIG5-1 |
TIS620.2533-0:GR |
TIS620.2533-0 |
ISO8859-6:GLGR |
ISO8859-6 |
ISO8859-8:GR |
ISO8859-8 |
SUN.UNICODE.INDIA-0:GLGR |
SUN.UNICODE.INDIA-0 |
SUNUDCJA.1997-0:GL |
SUNUDCJA.1997-0 |
UNICODE-FONTSPECIFIC:GLGR |
UNICODE-FONTSPECIFIC |
たとえば、U+0410 (Cyrillic Capital Letter A) は、ISO8859-5 と JIS X 0208:1983 など複数のフォントにグリフが存在しますが、上記のルールによって ISO8859-5 のフォントが実際に使用されます。また、CKJ Unified Ideographs エリアにある漢字で使用されるフォントは、JISX0208.1983 -> JISX0212.1990 -> JIS X 0213:2000-1 -> JIS X 0213:2000-1 ->KSC5601.1992-3 -> GB2312.1980 -> BIG5-1 の優先順位で使用されます。また、JISX 0213 は Unicode 3.1 で 定義された JISX 0213 が取り扱い可能です。
なお現時点では、UTF-8 のコードポイントと使用するフォントの情報はシステム側でハードコードされており、ユーザーがカスタマイズすることはできません。
ASCII 領域 (U+0021 - U+007E) では、ISO8859-1 フォントではなく、JISX0201.1976 フォントが使用されます。これは、ja_JP.UTF-8 ロケールでもっとも使用頻度が高いと思われる ASCII と漢字の組み合わせを表示した場合、フォントのバランスが悪くなるのを避けるためです。ただしこのために、逆斜線 (U+5C) に円記号のグリフが使われるという問題があります。この問題を避けるには、次の設定を行なってください。
/usr/openwin/lib/locale/ja_JP.UTF-8/XLC_LOCALE の以下の次の行
# fs0 class (7 bit ASCII) fs0 { charset ISO8859-1:GL # font ISO8859-1:GL; JISX0201.1976-0:GL font JISX0201.1976-0:GL; ISO8859-1:GL }
を以下のように変えてください (5 行目をコメントアウトし、4 行目のコメントを外します)。
# fs0 class (7 bit ASCII) fs0 { charset ISO8859-1:GL font ISO8859-1:GL; JISX0201.1976-0:GL # font JISX0201.1976-0:GL; ISO8859-1:GL }
設定が終わったら、Solaris CDE セッションから一度ログアウトし、再度ログインしてください。
Solaris CDE セッションでは、起動時にアプリケーションが使用するデフォルトフォントのリソースを、通常以下のように設定します。
*DtEditor*textFontList: -dt-interface \ user-medium-r-normal-m*-*-*-*-*-*-*-*-*: *Font: -dt-interface \ user-medium-r-normal-m*-*-*-*-*-*-*-*-* *FontList: -dt-interface \ system-medium-r-normal-m*-*-*-*-*-*-*-*-*: *FontSet: -dt-interface \ user-medium-r-normal-m*-*-*-*-*-*-*-*-* *XmText*FontList: -dt-interface \ user-medium-r-normal-m*-*-*-*-*-*-*-*-*: *XmTextField*FontList: -dt-interface \ user-medium-r-normal-m*-*-*-*-*-*-*-*-*: *buttonFontList: -dt-interface \ system-medium-r-normal-m*-*-*-*-*-*-*-*-*: *labelFontList: -dt-interface \ system-medium-r-normal-m*-*-*-*-*-*-*-*-*: *systemFont: -dt-interface \ system-medium-r-normal-m*-*-*-*-*-*-*-*-*: *textFontList: -dt-interface \ user-medium-r-normal-m*-*-*-*-*-*-*-*-*: *userFont: -dt-interface \ user-medium-r-normal-m*-*-*-*-*-*-*-*-*:
ただし、ja_JP.UTF-8 ロケールを含む UTF-8 ロケールでは、端末エミュレータなど、特定の比率をもった固定幅フォントを要求するアプリケーションで表示が崩れるという問題を回避するために、CDE で使用するデフォルトフォントを次のように設定しています。
*DtEditor*textFontList: -dt-interface \ user-medium-r-normal-m*utf-*-*-*-*-*-*-*-*: *Font: -dt-interface \ user-medium-r-normal-m*utf-*-*-*-*-*-*-*-* *FontList: -dt-interface \ system-medium-r-normal-m*utf-*-*-*-*-*-*-*-*: *FontSet: -dt-interface \ user-medium-r-normal-m*utf-*-*-*-*-*-*-*-* *XmText*FontList: -dt-interface \ user-medium-r-normal-m*utf-*-*-*-*-*-*-*-*: *XmTextField*FontList: -dt-interface \ user-medium-r-normal-m*utf-*-*-*-*-*-*-*-*: *buttonFontList: -dt-interface \ system-medium-r-normal-m*utf-*-*-*-*-*-*-*-*: *labelFontList: -dt-interface \ system-medium-r-normal-m*utf-*-*-*-*-*-*-*-*: *systemFont: -dt-interface \ system-medium-r-normal-m*utf-*-*-*-*-*-*-*-*: *textFontList: -dt-interface \ user-medium-r-normal-m*utf-*-*-*-*-*-*-*-*: *userFont: -dt-interface \ user-medium-r-normal-m*utf-*-*-*-*-*-*-*-*:
デフォルトの設定で Solaris CDE を使用している場合は問題ありませんが、スタイル・マネージャを使用してフォントのサイズを変更した後にロケールを変更した場合、意図しないフォントが使用され、端末エミュレータなどのアプリケーションで表示がおかしくなる場合があります。
このような場合には、スタイル・マネージャのフォントの設定ダイアログでサイズを選択し、「了解」ボタンを押した後に CDE セッションから一度ログアウトし、再度ログインしてください。このような問題は、ja ロケールまたは ja_JP.PCK ロケールから ja_JP.UTF-8 ロケールへ移行した場合、ja_JP.UTF-8 ロケールから ja ロケールまたは ja_JP.PCK ロケールへ移行した場合の双方で起こる可能性があります。
Solaris では、一般に入手できる TrueType フォントを X, DPS から使用できます。表 4–2 に、サポートしているフォントの Platform ID と Encoding ID を示します。
表 4–2 Solaris でサポートしている TrueType フォント
Platform ID |
Encoding ID |
---|---|
3 (Microsoft) |
1 (Unicode) 2 (ShiftJIS) |
DPS からは、Encoding ID が 2 (ShiftJIS) のフォントは使用できません。
市販の日本語 TrueType フォントをインストールする場合は、以下の手順に従ってください。
インストールするフォント使用許諾契約書に従ってください。
TrueType フォントを適当なディレクトリにコピーします。なお、 Solaris では TrueType Collection (.ttc) フォントを直接は使用できません。
% mkdir $HOME/ttfontdir % cp sample.ttf $HOME/ttfontdir
フォントの置き場所は、任意のディレクトリでかまいません。
fonts.scale ファイルを作成します。 fonts.scale のフォーマットは fonts.dir ファイルと同じです。詳しくは mkfontdir(1) のマニュアルページを参照してください。フォントの XLFD (X Logical Font Description) 名は、 PIXEL_SIZE、POINT_SIZE、RESOLUTION_X、RESOLUTION_Y、 AVERAGE_WIDTH の各フィールドではすべて 0 にします。また SPACING フィールド は、固定幅フォントの場合は 'm' に、プロポーショナルフォントの場合には 'p' にします。 CHARSET_REGISTRY および CHARSET_ENCODING フィールドは、一般の日本語 Truetype フォントの場合、'jisx0208.1983-0'、 'jisx0201.1976-0'、'jisx0212.1990-0' の 3 通りを指定できます。ただし、一般の日本語 TrueType フォントでは、 JIS X 0212 補助漢字の一部のグリフがサポートされていません。使用できるのは、Microsoft 標準キャラクタセットの IBM 拡張文字にある一部のグリフのみです。
例 1 : 固定幅フォントの場合
sample.ttf -sample-misc-medoum-r-normal--0-0-0-0-m-0-jisx0208.1983-0 sample.ttf -sample-misc-medoum-r-normal--0-0-0-0-m-0-jisx0201.1976-0 sample.ttf -sample-misc-medoum-r-normal--0-0-0-0-m-0-jisx0212.1990-0
例 2 : プロポーショナルフォントの場合
sample.ttf -sample-misc-medoum-r-normal--0-0-0-0-p-0-jisx0208.1983-0 sample.ttf -sample-misc-medoum-r-normal--0-0-0-0-p-0-jisx0201.1976-0 sample.ttf -sample-misc-medoum-r-normal--0-0-0-0-p-0-jisx0212.1990-0
mkfontdir コマンドで fonts.dir ファイルを作成します。
% /usr/openwin/bin/mkfontdir
フォントパスを追加します。
例 2 : 各ユーザーの設定ファイルを書き換える場合
$HOME/.OWfontpath にフォントの存在するディレクトリパスを追加し、ウィンドウシステムを再起動します。
例 3 : システムの設定ファイルを書き換える場合
/usr/openwin/lib/locale/<locale>/OWfontpath にフォントの存在するディレクトリを追加し、ウィンドウシステムを再起動します。
OWfontpath の仕様は将来変更される可能性があります。この用途以外で変更を行なった場合の動作は保証されません。