====== Java Swing Font ======
* [[http://docs.oracle.com/javase/tutorial/2d/text/index.html|Working with text APIs]]
===== *.ttf 파일 Font 객체 생성 =====
InputStream is = MyClass.class.getResourceAsStream("TestFont.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, is);
Font sizedFont = font.deriveFont(12f);
myLabel.setFont(sizedFont);
* [[http://stackoverflow.com/questions/12998604/adding-fonts-to-swing-application-and-include-in-package|java - Adding fonts to Swing application and include in package]]
===== Rendering Hints =====
graphics2D.setRenderingHint(
RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
===== drawString =====
* [[http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics2D.html#drawString%28java.lang.String,%20float,%20float%29|Graphics2D.drawString]] 메소드는 ''y'' 좌표를 폰트의 bottom line(혹은 base text line)의 ''y''좌표로 잡고 그린다.
* 따라서 FontMetrics를 통해서 그리기 좌표를 구해야한다. [[http://stackoverflow.com/questions/10839940/java-drawstring-is-drawing-string-above-bounds|참조]]
* 현재 찾아낸 바로는 ''-(Font.getMaxCharBounds(FontRenderContext).getY())''값을 시작 ''y''값으로 사용하면 되는 것으로 보인다.
* [[http://docs.oracle.com/javase/tutorial/2d/text/measuringtext.html|Java 2D measuring text]] 참조.