- PR -

フォント構成ファイルのCharacterSubsetName追加・定義方法について

1
投稿者投稿内容
未記入
会議室デビュー日: 2008/01/15
投稿数: 11
投稿日時: 2008-01-15 19:18
よろしくお願い致します。

現在、javaプログラムで独自のフォントを表示させようと作業を行っています。
(jre/lib/にあるfontconfig.propertiesファイル(フォント構成ファイル)を編集し、
独自フォントAから文字を検索し、存在しなければ独自フォントBから文字を検索するという
ことをやりたい。)

そこで1つ分からないことがあります。
それは、fontconfig.properties中に記述するCharacterSubsetNameを
追加・定義する方法です。

jdk1.6(または1.5)の「フォント定義ファイル」仕様ドキュメントを読んだところ、
「サブセット名(CharacterSubsetName)を追加して定義することが出来る」と
書かれてはいますが、その追加・定義方法についての記述がありません。

CharacterSubsetNameの追加・定義方法についてご存知の方がいらっしゃいましたら、
教えていただけますでしょうか。

(「フォント構成ファイルでは、追加文字のサブセットを識別する為に、
サブセット名を追加して定義することができる」と記載されているので、
fontconfig.propertiesファイルに定義してあげるのかな?とは思うのですが。。)

↓JDK1.6の「フォント構成ファイル」仕様ドキュメントへのリンク
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/intl/fontconfig.html

長文となってしまいましたが、以上 よろしくお願い致します。
ranco
大ベテラン
会議室デビュー日: 2007/11/02
投稿数: 112
投稿日時: 2008-01-16 08:29
やったことはありませんが、ドキュメンテーションを見たかぎりでは、

LogicalFontName.StyleName.CharacterSubsetName=PlatformFontName

こんな行を〜propertiesファイルに書けばよいのではないでしょうか。
(さらに、「検索順序」や「フォントファイル名」のところにも書くのかな。)

結果をお知らせ下さい。




[ メッセージ編集済み 編集者: ranco 編集日時 2008-01-16 08:33 ]
未記入
会議室デビュー日: 2008/01/15
投稿数: 11
投稿日時: 2008-01-16 09:30
回答ありがとうございます。

すみません。質問内容に不備がありました。

正確には、CharacterSubsetName自体を追加定義し、
rancoさんが回答された
「LogicalFontName.StyleName.CharacterSubsetName=PlatformFontName 」文の
CharactesrSubsetNameで使用したいのですが、
-----------------------------------------------------------------
(具体的には
ドキュメントを見ると、CharacterSubsetNameには(Windowsに対して)
「alphabetic」「japanese」「korean」など事前定義されているようですが、
ここに例えば「japanese2」というCharacterSubsetNameを新しく定義し、
【LogicalFontName】.【StyleName】.japanese2 = 【PlatformFontName】
ということをしたいのです。)
------------------------------------------------------------------

ドキュメントのCharactserSubsetNameの説明には
「追加して定義できる」と書いてあるのにその定義方法が書いていないのです。
なので、皆様のお知恵をお借りしたいと思い、
この度 追加・定義方法について質問したというわけです。

(ちなみに、既にWindowsに対して定義されている
 CharacterSubsetName(「japanese」を使用)を
使用した独自フォント表示はできました。)

説明下手で分かりにくいかもしれませんが、よろしくお願い致します。
ranco
大ベテラン
会議室デビュー日: 2007/11/02
投稿数: 112
投稿日時: 2008-01-16 09:59
> CharactesrSubsetNameで使用したいのですが、
だから、LogicalFontName.StyleName.CharacterSubsetName=PlatformFontName の行を書いて、ついでに「検索順序」や「フォントファイル名」などの項も書けば、それでちゃんちゃん!ではないか、と私は推測します。ドキュメンテーションに、それ以外の重要なことは何も書いてありませんから…。

あくまでも、推測ですが。
未記入
会議室デビュー日: 2008/01/15
投稿数: 11
投稿日時: 2008-01-16 10:33
早速の回答、ありがとうございます。

rancoさんのおっしゃるとおり、
LogicalFontName.StyleName.CharacterSubsetName = PlatformFontNameの行を書いて、
検索順序・フォントファイル名などの項目にも書いたところ、
無事表示されました。

(LogicalFontName.StyleName.CharacterSubsetName=PlatformFontNameの記述とは別に、
CharactesrSubsetNameについて新たに定義する方法があるとばかり思い込んでいました。
申し訳ありません。)

このたびは本当に、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)