---
category: swing
folder: CreateFont
title: Fontをファイルから取得
tags: [Font, JTextArea]
author: aterai
pubdate: 2005-03-07T02:07:13+09:00
description: TrueTypeフォントをファイルから読み込み、ASCII artを表示します。
image: https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTKOUJYB7I/AAAAAAAAAVo/K2rl3dXD4ic/s800/CreateFont.png
---
* 概要 [#summary]
`TrueType`フォントをファイルから読み込み、`ASCII art`を表示します。

#download(https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTKOUJYB7I/AAAAAAAAAVo/K2rl3dXD4ic/s800/CreateFont.png)

* サンプルコード [#sourcecode]
#code(link){{
Font makeFont(URL url) {
    Font font = null;
    try (InputStream is = url.openStream()) {
        font = Font.createFont(Font.TRUETYPE_FONT, is).deriveFont(12f);
    } catch (IOException | FontFormatException ex) {
        ex.printStackTrace();
    }
    return font;
  Font font = null;
  try (InputStream is = url.openStream()) {
    font = Font.createFont(Font.TRUETYPE_FONT, is).deriveFont(12f);
  } catch (IOException | FontFormatException ex) {
    ex.printStackTrace();
  }
  return font;
}
// Font makeFont(URL url) {
//   Font font = null;
//   InputStream is = null;
//   try {
//     is = url.openStream();
//     font = (Font.createFont(Font.TRUETYPE_FONT, is)).deriveFont(12f);
//     is.close();
//   } catch (IOException ioe) {
//     ioe.printStackTrace();
//   } catch (FontFormatException ffe) {
//     ffe.printStackTrace();
//   } finally {
//     if (is != null) {
//       try {
//         is.close();
//       } catch (IOException ioex) {
//         ioex.printStackTrace();
//       }
//     }
//   }
//   return font;
// }
}}

* 解説 [#explanation]
上記のサンプルでは、`Font.createFont(...)`メソッドで`.ttf`ファイルからフォントを作成しています。

* 参考リンク [#reference]
- [https://docs.oracle.com/javase/jp/8/docs/api/java/awt/Font.html#createFont-int-java.io.File- Font (Java Platform SE 8)]
- [http://monafont.sourceforge.net/index.html モナーフォント]
- [https://community.oracle.com/thread/1483177 Swing (Archive) - Loading TYPE1 fonts with JRE 1.5.0]

* コメント [#comment]
#comment
- `JDK 1.5.0_01`でずれる? -- &user(aterai); &new{2005-03-07 11:19:11 (月)};
-- 応急処置済み -- &user(aterai); &new{2005-03-07 11:32:44 (月)};
- メモ: [https://bugs.openjdk.org/browse/JDK-6313541 Bug ID: 6313541 Fonts loaded with createFont cannot be converted into FontUIResource] -- &user(aterai); &new{2006-05-25 (木) 23:34:18};

#comment