• ベストアンサー

JTextPane で Font 指定

JTextPane で任意のフォントファイルのフォントを指定した文字を表示をするにはどうしたらよいでしょうか。 Font.createFont で外部フォントファイルを Font オブジェクトに出来ることはわかっているのですが、これを、Style 化?する方法がわからないのです。 もしくは、動的にプロセス内部のフォントマップに Font オブジェクトを突っ込むことはできないでしょうか (一時的にフォント設定ファイルを更新するような)。 JLabel などを並べて表示することはできるのですが、できれば JTextPane の機能を使いたいもので。 よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • kacchann
  • ベストアンサー率58% (347/594)
回答No.1

あてずっぽうですが、 GraphicsEnvironment#registerFont(Font) (※jdk1.6~) とか?

参考URL:
http://java.sun.com/docs/books/tutorial/2d/text/fonts.html
beubeu
質問者

お礼

フォローありがとうございます。 なるほど、1.6 からは java.awt.GraphicsEnvironment#registerFont でいけそうです。これで、javax.swing.text.StyleConstants#setFontFamily でそのフォントを指定するという形ですね。

関連するQ&A

  • フォント指定の受渡し法?

    私が作成中の .NET C++プログラムはフォント指定を他のC#アプリから受取っており、そのフォント指定に基づいて文字を表示することになっております 受け取るフォント情報はC#のフォントダイアログにより選択されたものです 具体的には (1) M S 明朝, 9.75pt, style=Italic (2) HGPゴシックM, 20.25pt, style=Bold などといった文字列です 私が作成するC++ではこれらの指定に基づいてCreateFontするのでしょうが、上記のC#フォント指定と下記のC++ CreateFontパラメータでは差があり過ぎて、どのようにしたら良いのか分かりません font.CreateFont( 20.25, // フォントの高さ(大きさ)。 0, // フォントの幅。 0, // 0でOK。 0, // 同じく角度 FW_DONTCARE, // 文字の太さ FALSE, // イタリックならTRUEを指定 FALSE, // 下線ならTRUE FALSE, // 取り消し線ならTRUE SHIFTJIS_CHARSET, // フォントの文字セット OUT_DEFAULT_PRECIS, // 出力精度の設定 CLIP_DEFAULT_PRECIS, // クリッピング精度 DRAFT_QUALITY, // フォントの出力品質 DEFAULT_PITCH, // フォントのピッチとファミリを指定 L("HGPゴシックM") // フォントのタイプフェイス名の指定 ); C#のフォントダイアログからの情報を簡単にC++のCreateFontのパラメータを作り出す方法はありますか? またC#から受け取る情報が基本的に間違っており、別の情報があるのではないかと心配です 宜しくご指導願います

  • POIのHSSFを用いたエクセルでのフォント指定について

    POIのHSSFについてお教えください。 JDK1.5.0_12 / poi-3.0.2を使用しています。 フォントは、デフォルトでは "Arial" なので、セル毎に"MS 明朝"を指定すると、初めはMS明朝に変更できたのですが、そのうち"表示形式を追加できません。" とエクセルに表示され、エクセルが開けなくなりました。調べると、ブックに含まれるセルの書式の組み合わせが約 4,000 を超える場合に発生し、すべてのセルに同じフォントを使用すると、書式設定の組み合わせ数が減少するとのこと。HSSFで、デフォルトのフォントをワークブックまたはシート指定で直接変更することはできるのでしょうか。 下記が、今回のコードの一部です。 HSSFWorkbook wb = new HSSFWorkbook(); HSSFFont font1 = wb.createFont(); font1.setFontName("MS 明朝"); を指定し、以下を、行毎に、セルの数だけ(CellPositionを変動)繰り返しました。 HSSFCell cell = row.createCell((short)CellPosition); HSSFCellStyle style1 = wb.createCellStyle(); style1.setFont(font1); cell.setCellStyle(style1); 宜しくお願い致します。

    • ベストアンサー
    • Java
  • CSSでフォントサイズを指定したのですがFirefoxでは反映されないのでしょうか?

    ある文章にfont-size:9pt;というCSSを外部スタイルシートで適用しています。 IEではきちんと9ptで表示されるのですが、 いつも使っているFirefoxの方が いっこうに変化がなく文字がとても大きいままです。 どうすればFirefoxでもIEでも同じように表示できるようになるのでしょうか? お詳しい方教えていただけますと幸いです。

    • ベストアンサー
    • HTML
  • 日本語不可のフォントで日本語を出力させた場合の動作についての質問

    現在、任意で指定したフォント名を使用してある文字列を表示するようなプログラムを作成しています。 CreateFont()の文字セットには、SHIFTJIS_CHARSET、タイプフェイス名にはArialを指定しても環境によっては、日本語が文字化けしたままとなります。 何故、そうなるのか分からない状況ですので、ご教授ください。 また、解決方法がございましたらお願いいたします。 表示する文字列:テスト ⇒ 出力結果:□□□ 現在、CreateFont()には以下の指定を行っています。 CreateFont(X, ※1 0, 0, 0, 400, TRUE, FALSE, FALSE, SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, PROOF_QUALITY, FIXED_PITCH | FF_DONTCARE, Y); ※2 ※1 X:任意のサイズ ※2 Y:Arial CreateFontで作成されたハンドルはSelectObjectで関連付けています。 よろしくお願いします。

  • ワードのオブジェクト移動とフォント設定

    ワードで2つ質問があります。 1.オブジェクトなどを移動する単位はどこで設定するのでしょうか?移動しようとするとメモリ(?)単位で移動されてしまい、細かな移動ができません。(質問の意味わかりますか?) 2.フォントを洗濯するとき、そのフォントのスタイルが表示されればどういうフォントかわかると思うのですが・・・。以前、違うパソコンを使用したときには、プルダウンに表示されていました。どこで設定するのですか?

  • windowsの代替フォント

    はじめまして。 mrnoriと申します。 現在.net frameworkでフォントファイル(ttf,ttc,otf)を読み込んで 画像を生成し、画面に出力するという処理を実装しています。 その際かなフォントに漢字など入力すると漢字がMSゴシックと思われるフォントに代替されます。 これはwindowsの標準フォントが代替フォントとして使用されているのでしょうか? また漢字が表示されると読み込んだファイルに漢字のグリフがあると勘違いしてしまいそうなので、代替フォントを指定するなどして、グリフの存在しない文字は"・"や"□"などに置き換わるようにしたいのですが、可能でしょうか? ご教授のほどよろしくお願いします。 ちなみに環境は以下のとおりです。 .net framework ver1.4 asp.net ver1.4 C# win32api ※otfを扱うためAddFontResourceExでファイルを読み込み、CreateFontで論理ファイルを作成、TextOutで文字描画を行っています。

  • CSS font-sizeのパーセンテージ指定「管理がややこしくないですか?」

    色々実験しているのですが、、、 CSSでフォントサイズを「%」指定すると、サイズの基準になるのはひとつ前の親要素のフォントサイズになるみたいですね。 ============ <div style="font-size:80%">あああ<span style="font-size:100%">いいいい</span>あああ</div> ============ 上記の場合「いいい」のサイズは「あああ」に指定している「80%」を継承し、基準値となるので「いいい」と「あああ」のサイズは変わらない。 「いいい」をブラウザデフォルトの16px相当のサイズで表示しようとすると、「<span style="font-size:130%">いいいい</span>」にしなくてはいけないようです。(少なくとも自分が実験した限りでは・・・) 親要素どころか、先祖要素なんかも影響してくることを考えるとテキストサイズを「%」指定することはとてもややこしいことでは無いですか?どのように管理されていますか? 最近は文字サイズはpx等の固定ではなく、相対指定するのが望ましいと言われているので「%」で指定していこうと思っているのですが。 基本的な質問ですみません。 ※質問しやすいように「style」直接記述をしていますが、普段はCSSファイルをhtmlに読み込みしています。

    • ベストアンサー
    • HTML
  • 任意のフォントを表示させる方法はあるのでしょうか?

    どのパソコンでも、どのような環境でも、任意のフォントを表示させる方法はあるのでしょうか? 例えば、フォントのファイルをサーバに置いて、それを呼び出すというような。 一般的な手法はfont-familyでフォント指定しますが、これだとそのフォントが入っていないPCでは表示されないので、それを回避する方法を模索しています。 お分かりの方がいらしたら、教えていただけると嬉しいです。よろしくお願いします。

    • ベストアンサー
    • HTML
  • フォントが変わってしまいます

    ホームページビルダー11を使っています。 気がつくと、50ほど作成したページの中で1ページだけ英数字の フォントが明朝体で表示されてしまいます。 特に指定していないので、他はMSゴシック(MS Pゴシック?)です。 スタイルの設定でフォントの候補からMSゴシックにしても やはり明朝体になってしまいます。 ビルダーサイトから修正プログラム更新済みです。 対処方法がありましたら教えてください。 よろしくお願いします。

  • インストール直後のフォント更新

    Linuxのインストールプロセスを終了した後、あれこれと自分でカスタマイズしたり、設定をすることがありますが、その中でフォントの設定があると思います。それもシステムのフォント、TeXのフォント、ブラウザのフォント、数式のフォントなどであり、少しでもきれいなものにすることが誘導されるようです。(もう、これでいいや、と思ったら特に気を配る必要もないとは思いますが。)現在、何かのソフトを起動したときにそのソフトのメニューバーとかツールバーに表示されている File, View, Helpなどのフォントがかなり貧弱でこれはきれいにしたいものだなと思っています。これはフォントの更新をする場合、やはりシステムのフォントを更新すればよいのでしょうか。条件は以下のとおりです。 OS CentOS 5 設定更新については、以下のサイトを見ながら検討しています。 http://tmcosmos.org/ ←このサイトのCentOS5の設定を利用 私は一度、フォントの更新を失敗したことがあり、ほぼすべてのウィンドウでフォントが文字化けました。そのときは仕方がないので再インストールですべてサラにして立ち上げ直しました。トラブルは不注意によるものと思われ、原因の追求はしませんでした。以上のような状況なのですが、各ソフトの操作ウィンドウ内の文字のフォントをきれいにする方法を教えていただきたいと思います。よろしくお願いします。

専門家に質問してみよう