JavaTM Platform
Standard Ed. 6

java.awt
클래스 Font

java.lang.Object 
  상위를 확장 java.awt.Font
모든 구현된 인터페이스:
Serializable
직계의 기존의 서브 클래스:
FontUIResource


public class Font
extends Object
implements Serializable

Font 클래스는, 텍스트를 눈에 보이는 형태에 draw 하기 위해서 사용되는 폰트를 나타냅니다. 폰트는 「문자」의 연속을 「Glyph」의 연속으로 매핑하기 위한 정보, 그리고 그 Glyph의 연속을 GraphicsComponent 객체에 draw하기 위한 정보를 제공합니다.

문자와 Glyph

「문자」는 영문자, 숫자, 구두점등의 아이템을 추상적으로 나타내는 심볼입니다. 「g」 (라틴 소문자의 G)이 문자의 예로서 들고 있습니다.  

「Glyph」는 문자 또는 일련의 문자를 draw 하기 위해서 사용되는 도형입니다. 라틴 문자와 같이 단순한 서기법에서는, 일반적으로 1 개의 Glyph가 1 개의 문자에 대응합니다. 그런데 Glyph와 문자의 대응은, 일반적으로는 1 대 1 이 아닙니다. 예를 들어 「á」 (엑센트 기호 첨부의 라틴 소문자의 A)과 같은 문자는 「a」와「´」에 대응하는 2 개의 Glyph로 나타내집니다. 한편으로 2 개의 문자 「fi」를, 합자의 1 개의 Glyph로 나타낼 수도 있습니다. 아라비아어, 남부아시아, 및 동남아시아의 언어와 같이 복잡한 서기법에서는, 문자와 Glyph의 관계는 좀 더 복잡하게 되어, 문맥에 응해 Glyph의 선택이나 늘어놓고 바꾸고가 필요하게 됩니다. 폰트는 선택된 캐릭터 세트의 draw로 필요한 Glyph의 집합, 및 문자의 연속을 대응하는 Glyph의 연속으로 매핑 하기 위해서 필요한 테이블을 캡슐화합니다.

물리 폰트와 논리 폰트

Java 플랫폼에서는 「물리」폰트와 「논리」폰트를 구별합니다.  

「물리」폰트는 실제의 폰트 라이브러리이며, Glyph데이타 및 캐릭터 라인과 Glyph열의 매핑 테이블을 포함합니다. TrueType 나 PostScript Type 1 등의 폰트 테크놀러지가 사용됩니다. Java 가 구현되는 모든 플랫폼에서 TrueType 폰트가 지원되고 있을 필요가 있습니다. 다른 폰트 테크놀러지의 지원는 구현에 의존합니다. 물리 폰트에는 Helvetica, Palatino, HonMincho 등의 임의의 폰트명을 사용합니다. 일반적으로, 각 물리 폰트는, 라틴 문자만, 또는 일본어와 기본적인 유럽계의 언어만등과 같이, 특정의 서기법만을 지원합니다. 유효한 물리 폰트세트는 설정에 따라서 다릅니다. 특정의 폰트가 필요한 경우, 어플리케이션측에서 폰트를 번들 해,createFont 메소드로 인스턴스화할 수 있습니다.  

「논리」폰트는 Java 플랫폼에서 정의되는, Serif, SansSerif, Monospaced, Dialog, 및 DialogInput 의 5 개의 폰트 패밀리입니다. 모든 Java 실행 환경에서 이 5 개(살)이 지원되어 있지 않으면 안됩니다. 이러한 논리 폰트는 실제의 폰트 라이브러리는 아니고, 논리 폰트명은 Java 실행 환경에서 물리 폰트에 매핑 됩니다. 매핑은 구현, 그리고 일반적으로 로케일에 의존해, 제공되는 외관이나 메트릭스도 거기에 응해 다릅니다. 일반적으로은 다양한 문자를 커버하기 위해(때문에), 각론리폰트명이 복수의 물리 폰트에 매핑 됩니다.  

LabelTextField 등의 피어 AWT 컴퍼넌트는, 논리 폰트만을 사용할 수 있습니다.  

물리 폰트와 논리 폰트의 사용에 관한, 상대적인 장점과 단점에 대해서는, 「Internationalization FAQ 」문서를 참조해 주세요.

폰트 페이스와 폰트명

Font 는, 많은 페이스 (heavy, medium, oblique, gothic, 및 regular 등)를 가지는 경우가 있어, 이것들 모든 페이스가, 같은 문자 체재 디자인을 가지고 있습니다.  

Font 객체로부터는 3 개(살)이 다른 명칭을 취득할 수 있습니다. 「논리 폰트명」은 단순한 폰트 구축을 위한 명칭입니다. 「폰트 페이스명」은 단지 「폰트명」이라고 불리는 일도 있어, Helvetica Bold 등의 특정의 폰트명을 가리킵니다. 「패밀리명」은 폰트 패밀리의 명칭이며, 복수의 페이스의 문자 체재 디자인을 결정합니다. 예를 들어 Helvetica 가 이것에 해당합니다.  

Font 클래스는, 호스트 시스템의 system resource에 있는 폰트 페이스의 컬렉션안의, 어느 폰트 페이스의 인스턴스를 나타냅니다. 예를 들어, Arial Bold 및 Courier Bold Italic 는 폰트 페이스입니다. 사이즈, 스타일, 변형체, 및 폰트의 특징의 차이에 의해, 1 개의 폰트 페이스에 관련지을 수 있었던 Font 객체는 다수 있습니다.  

GraphicsEnvironment 클래스의 getAllFonts 메소드는, 시스템으로 유효한 모든 폰트 페이스의 배열을 돌려줍니다. 이러한 폰트 페이스는, 사이즈 1, 항등변환, 및 디폴트 폰트의 특징을 가지는 Font 객체로서 돌려주어집니다. 베이스가 되는 이러한 폰트는, 이 클래스의 deriveFont 메소드를 개입시켜, 사이즈, 스타일, 변형체, 및 폰트의 특징이 다른 새로운 Font 객체를 파생시키기 위해서(때문에) 사용할 수 있습니다.

Font 와 TextAttribute

 

Font 에서는 대부분의 TextAttribute 가 지원됩니다. 이것에 의해,TextLayout 를 명시적으로 구축할 필요가 없어지기 (위해)때문에, 밑줄 첨부 텍스트의 draw등의 조작이 간단하게 됩니다. TextAttribute 치의 Map 를 사용해 폰트를 구축할까 파생시키는 것에 의해, 폰트에 속성을 설정할 수 있습니다.  

일부의 TextAttributes 의 값은 직렬화 불가능해서, 그러한 값을 가지는 Font 의 인스턴스를 직렬화해도, 이러한 값은 직렬화 되지 않습니다. 따라서, 그러한 스트림로부터 직렬화 복원된 폰트는, 직렬화 불가능한 속성을 포함하고 있는 원의 폰트와 동일한 것에는 되지 않습니다. 일반적으로, 이러한 속성은 특수한 상황에서만 사용되어 직렬화 되는 것은 보기 드물어서, 이것이 문제가 되는 것은 거의 없습니다.

사용자가 PaintGraphicAttribute 의 커스텀 서브 클래스를 작성하는 경우는, 이것들을 직렬화 가능하게 해, 이 문제를 회피할 수가 있습니다. 사용자가 입력 메소드의 하이라이트를 사용하는 경우는, 회피책으로서 현재의 플랫폼에서 그 하이라이트의 플랫폼 고유 속성으로 변환해, 그것을 폰트로 설정할 수가 있습니다.

 

Map 베이스의 생성자 과 deriveFont API 에서는 FONT 속성은 무시되어 폰트로 보관 유지되지 않습니다. FONT 속성이 존재하는 경우는, static getFont(java.util.Map) 메소드를 사용해야 합니다. 자세한 것은,TextAttribute.FONT 를 참조해 주세요.

 

몇개의 속성은, 추가의 draw 오버헤드를 발생시켜, 레이아웃을 호출할 가능성이 있습니다. Font 가 그러한 속성을 가지고 있는 경우,hasLayoutAttributes 메소드는 true 를 돌려줍니다.

 

주:폰트를 회전하면(자) 텍스트의 baseline가 회전하는 일이 있습니다. 이 보기 드문 가능성에 대처하기 위해서, 폰트 API 는 지정에 따라 「baseline를 기준으로 한 좌표로」메트릭스를 돌려주거나 파라미터를 받거나 합니다. 이 경우, x 좌표는 baseline에 따른 유효폭 (정의 x 는 baseline에 따라 진행될 방향), y 좌표는 x 에서의 baseline에 대한 수선에 따른 거리 (정의 y 는 baseline 벡터로부터 시계회전에 90 번의 방향)에 맵 됩니다. 이것이 특별히 중요해지는 API 는, 「baseline를 기준으로 한 좌표」를 가지는 API 로서 나타나고 있습니다.

관련 항목:
직렬화 된 형식

필드의 개요
static int BOLD
          볼드 스타일 정수입니다.
static int CENTER_BASELINE
          텍스트를 배치할 경우에, 중국어, 일본어, 및 한국어등의 표의 문자의 서체로 사용되는 baseline입니다.
static String DIALOG
          논리 폰트 「Dialog」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다.
static String DIALOG_INPUT
          논리 폰트 「DialogInput」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다.
static int HANGING_BASELINE
          텍스트를 배치할 경우에, 나가리 문자등의 서체에 사용되는 baseline입니다.
static int ITALIC
          이탤릭 스타일 정수입니다.
static int LAYOUT_LEFT_TO_RIGHT
          쌍방향 분석으로 텍스트가 왼쪽에서 오른쪽으로 기술되고 있다고 판정된 것을 나타내는, layoutGlyphVector 에 대한 플래그입니다.
static int LAYOUT_NO_LIMIT_CONTEXT
          문자 배열의, 지정된 종료 위치 이후의 텍스트를 검사하지 않는 것을 나타내는, layoutGlyphVector 에 대한 플래그입니다.
static int LAYOUT_NO_START_CONTEXT
          문자 배열의, 지정된 개시 위치 이전의 텍스트를 검사하지 않는 것을 나타내는, layoutGlyphVector 에 대한 플래그입니다.
static int LAYOUT_RIGHT_TO_LEFT
          쌍방향 분석으로 텍스트가 오른쪽에서 왼쪽으로 기술되고 있다고 판정된 것을 나타내는, layoutGlyphVector 에 대한 플래그입니다.
static String MONOSPACED
          논리 폰트 「Monospaced」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다.
protected  String name
          생성자 에게 건네지는, 이 Font 의 논리명입니다.
static int PLAIN
          프레인 스타일 정수입니다.
protected  float pointSize
          float 로 나타내진, 이 Font 의 포인트 사이즈입니다.
static int ROMAN_BASELINE
          텍스트를 배치할 경우에, 로마자의 서체로 일반적으로 사용되는 baseline입니다.
static String SANS_SERIF
          논리 폰트 「SansSerif」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다.
static String SERIF
          논리 폰트 「Serif」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다.
protected  int size
          정수에 말 수 있던, 이 Font 의 포인트 사이즈입니다.
protected  int style
          생성자 에게 건네지는, 이 Font 의 스타일입니다.
static int TRUETYPE_FONT
          TRUETYPE 형의 폰트 자원을 식별합니다.
static int TYPE1_FONT
          TYPE1 형의 폰트 자원을 식별합니다.
 
생성자 의 개요
protected Font (Font  font)
          지정된 font 로부터 새로운 Font 를 생성합니다.
  Font (Map <? extends AttributedCharacterIterator.Attribute ,? > attributes)
          지정된 속성으로 새로운 Font 를 생성합니다.
  Font (String  name, int style, int size)
          지정된 이름, 스타일, 및 포인트 사이즈로부터 새로운 Font 를 생성합니다.
 
메소드의 개요
 boolean canDisplay (char c)
          이 Font 가 지정된 문자의 Glyph를 가질지 어떨지를 판정합니다.
 boolean canDisplay (int codePoint)
          이 Font 가 지정된 문자의 Glyph를 가질지 어떨지를 판정합니다.
 int canDisplayUpTo (char[] text, int start, int limit)
          지정된 text 내의 start 로부터 시작되어 limit 로 끝나는 캐릭터 라인을, 이 Font 로 표시할 수 있을지 어떨지를 나타냅니다.
 int canDisplayUpTo (CharacterIterator  iter, int start, int limit)
          이 Font 로,start 로부터 시작되어 limit 로 끝나는 iter 에 의해 지정된 텍스트를 표시할 수 있을지 어떨지를 나타냅니다.
 int canDisplayUpTo (String  str)
          지정된 String 를, 이 Font 로 표시할 수 있을지 어떨지를 나타냅니다.
static Font createFont (int fontFormat, File  fontFile)
          지정된 폰트 타입과 지정된 폰트 파일을 사용해 새로운 Font 를 돌려줍니다.
static Font createFont (int fontFormat, InputStream  fontStream)
          지정된 폰트 타입과 입력 데이터를 사용해 새로운 Font 를 돌려줍니다.
 GlyphVector createGlyphVector (FontRenderContext  frc, char[] chars)
          이 Font 의 Unicode cmap 를 베이스로 해, 문자와 Glyph를 1 대 1 에 매핑 해,GlyphVector 를 생성합니다.
 GlyphVector createGlyphVector (FontRenderContext  frc, CharacterIterator  ci)
          이 Font 의 Unicode cmap 를 베이스로 해, 지정된 문자와 Glyph를 1 대 1 에 매핑 해,GlyphVector 를 생성합니다.
 GlyphVector createGlyphVector (FontRenderContext  frc, int[] glyphCodes)
          이 Font 의 Unicode cmap 를 베이스로 해, 문자와 Glyph를 1 대 1 에 매핑 해,GlyphVector 를 생성합니다.
 GlyphVector createGlyphVector (FontRenderContext  frc, String  str)
          이 Font 의 Unicode cmap 를 베이스로 해, 문자와 Glyph를 1 대 1 에 매핑 해,GlyphVector 를 생성합니다.
static Font decode (String  str)
          str 인수로 지정되는 명칭의 Font 를 돌려줍니다.
 Font deriveFont (AffineTransform  trans)
          현재의 Font 객체를 복제해 새로운 변환을 적용하는 것으로써, 새로운 Font 객체를 생성합니다.
 Font deriveFont (float size)
          현재의 Font 객체를 복제해 새로운 사이즈를 적용하는 것으로써, 새로운 Font 객체를 생성합니다.
 Font deriveFont (int style)
          현재의 Font 객체를 복제해 새로운 스타일을 적용하는 것으로써, 새로운 Font 객체를 생성합니다.
 Font deriveFont (int style, AffineTransform  trans)
          이 Font 객체를 복제해, 새로운 스타일 및 변환을 적용하는 것으로써, 새로운 Font 객체를 생성합니다.
 Font deriveFont (int style, float size)
          이 Font 객체를 복제해 새로운 스타일 및 사이즈를 적용하는 것으로써, 새로운 Font 객체를 생성합니다.
 Font deriveFont (Map <? extends AttributedCharacterIterator.Attribute ,? > attributes)
          현재의 Font 객체를 복제해 새로운 폰트 속성을 적용하는 것으로써, 새로운 Font 객체를 생성합니다.
 boolean equals (Object  obj)
          이 Font 객체를, 지정된 Object 와 비교합니다.
protected  void finalize ()
          네이티브 Font 객체를 파기합니다.
 Map <TextAttribute ,? > getAttributes ()
          이 Font 로 유효한 폰트 속성의 맵을 돌려줍니다.
 AttributedCharacterIterator.Attribute [] getAvailableAttributes ()
          이 Font 가 지원하는 모든 속성의 키를 돌려줍니다.
 byte getBaselineFor (char c)
          이 문자의 표시에 적절한 baseline를 돌려줍니다.
 String getFamily ()
          이 Font 의 패밀리명을 돌려줍니다.
 String getFamily (Locale  l)
          지정된 로케일전용으로 로컬라이즈 된, 이 Font 의 패밀리명을 돌려줍니다.
static Font getFont (Map <? extends AttributedCharacterIterator.Attribute ,? > attributes)
          속성에 적절한 Font 를 돌려줍니다.
static Font getFont (String  nm)
          시스템의 프로퍼티 리스트로부터 Font 객체를 돌려줍니다.
static Font getFont (String  nm, Font  font)
          시스템의 프로퍼티 리스트로부터 지정된 Font 를 돌려줍니다.
 String getFontName ()
          이 Font 의 폰트 페이스명을 돌려줍니다.
 String getFontName (Locale  l)
          지정된 로케일전용으로 로컬라이즈 된,Font 의 폰트 페이스명을 돌려줍니다.
 float getItalicAngle ()
          이 Font 의 이탤릭의 각도를 돌려줍니다.
 LineMetrics getLineMetrics (char[] chars, int beginIndex, int limit, FontRenderContext  frc)
          지정된 인수로 생성된 LineMetrics 객체를 돌려줍니다.
 LineMetrics getLineMetrics (CharacterIterator  ci, int beginIndex, int limit, FontRenderContext  frc)
          지정된 인수로 생성된 LineMetrics 객체를 돌려줍니다.
 LineMetrics getLineMetrics (String  str, FontRenderContext  frc)
          지정된 StringFontRenderContext 에 의해 작성된 LineMetrics 객체를 돌려줍니다.
 LineMetrics getLineMetrics (String  str, int beginIndex, int limit, FontRenderContext  frc)
          지정된 인수로 생성된 LineMetrics 객체를 돌려줍니다.
 Rectangle2D getMaxCharBounds (FontRenderContext  frc)
          지정된 FontRenderContext 로, 최대의 경계를 가지는 문자의 경계를 돌려줍니다.
 int getMissingGlyphCode ()
          이 Font 가 지정된 Unicode 코드 포인트에 대해서 Glyph를 가지지 않는 경우에 사용되는 glyphCode 를 돌려줍니다.
 String getName ()
          이 Font 의 논리명을 돌려줍니다.
 int getNumGlyphs ()
          이 Font 의 Glyph수를 돌려줍니다.
 java.awt.peer.FontPeer getPeer ()
          추천 되고 있지 않습니다.  폰트의 draw는 현재는 어느 플랫폼으로도 같습니다.
 String getPSName ()
          이 Font 의 포스트 스크립트명을 돌려줍니다.
 int getSize ()
          이 Font 의 포인트 사이즈를 정수치로 돌려줍니다.
 float getSize2D ()
          이 Font 의 포인트 사이즈를 float 치로 돌려줍니다.
 Rectangle2D getStringBounds (char[] chars, int beginIndex, int limit, FontRenderContext  frc)
          지정된 FontRenderContext 의 지정된 문자 배열의 논리 바운드를 돌려줍니다.
 Rectangle2D getStringBounds (CharacterIterator  ci, int beginIndex, int limit, FontRenderContext  frc)
          지정된 FontRenderContext 의 지정된 CharacterIterator 에 인덱스 붙이고 된 문자의 논리 바운드를 돌려줍니다.
 Rectangle2D getStringBounds (String  str, FontRenderContext  frc)
          지정된 FontRenderContext 의 지정된 String 의 논리 바운드를 돌려줍니다.
 Rectangle2D getStringBounds (String  str, int beginIndex, int limit, FontRenderContext  frc)
          지정된 FontRenderContext 의 지정된 String 의 논리 바운드를 돌려줍니다.
 int getStyle ()
          이 Font 의 스타일을 돌려줍니다.
 AffineTransform getTransform ()
          이 Font 에 관련지을 수 있었던 변형체의 카피를 돌려줍니다.
 int hashCode ()
          이 Font 의 해시 코드를 돌려줍니다.
 boolean hasLayoutAttributes ()
          이 Font 에 추가의 레이아웃 처리를 필요로 하는 속성이 포함되어 있는 경우는, true 를 돌려줍니다.
 boolean hasUniformLineMetrics ()
          이 Font 가 균일의 라인메트릭스를 가질지 어떨지를 판정합니다.
 boolean isBold ()
          이 Font 객체의 스타일이 BOLD 화도인지를 나타냅니다.
 boolean isItalic ()
          이 Font 객체의 스타일이 ITALIC 화도인지를 나타냅니다.
 boolean isPlain ()
          이 Font 객체의 스타일이 PLAIN 제발을 나타냅니다.
 boolean isTransformed ()
          이 Font 객체가, Size 속성 이외에 사이즈에 영향을 주는 변형체를 가질지 어떨지를 나타냅니다.
 GlyphVector layoutGlyphVector (FontRenderContext  frc, char[] text, int start, int limit, int flags)
          가능한 경우에 텍스트의 완전한 레이아웃을 실시하는, 새로운 GlyphVector 객체를 돌려줍니다.
 String toString ()
          이 Font 객체를 String 표현으로 변환합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , getClass , notify , notifyAll , wait , wait , wait
 

필드의 상세

DIALOG

public static final String  DIALOG
논리 폰트 「Dialog」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다. Font 의 구축으로, 컴파일시에 이름을 검증하기 위해서 도움이 됩니다.

도입된 버젼:
1.6
관련 항목:
정수 필드치

DIALOG_INPUT

public static final String  DIALOG_INPUT
논리 폰트 「DialogInput」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다. Font 의 구축으로, 컴파일시에 이름을 검증하기 위해서 도움이 됩니다.

도입된 버젼:
1.6
관련 항목:
정수 필드치

SANS_SERIF

public static final String  SANS_SERIF
논리 폰트 「SansSerif」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다. Font 의 구축으로, 컴파일시에 이름을 검증하기 위해서 도움이 됩니다.

도입된 버젼:
1.6
관련 항목:
정수 필드치

SERIF

public static final String  SERIF
논리 폰트 「Serif」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다. Font 의 구축으로, 컴파일시에 이름을 검증하기 위해서 도움이 됩니다.

도입된 버젼:
1.6
관련 항목:
정수 필드치

MONOSPACED

public static final String  MONOSPACED
논리 폰트 「Monospaced」의 정규 패밀리명을 나타내는 캐릭터 라인 정수입니다. Font 의 구축으로, 컴파일시에 이름을 검증하기 위해서 도움이 됩니다.

도입된 버젼:
1.6
관련 항목:
정수 필드치

PLAIN

public static final int PLAIN
프레인 스타일 정수입니다.

관련 항목:
정수 필드치

BOLD

public static final int BOLD
볼드 스타일 정수입니다. 다른 스타일 정수 (PLAIN 를 제외한다)로 조합해, 혼합 스타일을 생성할 수가 있습니다.

관련 항목:
정수 필드치

ITALIC

public static final int ITALIC
이탤릭 스타일 정수입니다. 다른 스타일 정수 (PLAIN 를 제외한다)로 조합해, 혼합 스타일을 생성할 수가 있습니다.

관련 항목:
정수 필드치

ROMAN_BASELINE

public static final int ROMAN_BASELINE
텍스트를 배치할 경우에, 로마자의 서체로 일반적으로 사용되는 baseline입니다.

관련 항목:
정수 필드치

CENTER_BASELINE

public static final int CENTER_BASELINE
텍스트를 배치할 경우에, 중국어, 일본어, 및 한국어등의 표의 문자의 서체로 사용되는 baseline입니다.

관련 항목:
정수 필드치

HANGING_BASELINE

public static final int HANGING_BASELINE
텍스트를 배치할 경우에, 나가리 문자등의 서체에 사용되는 baseline입니다.

관련 항목:
정수 필드치

TRUETYPE_FONT

public static final int TRUETYPE_FONT
TRUETYPE 형의 폰트 자원을 식별합니다. TrueType 폰트 자원을 createFont(int, java.io.InputStream) 메소드로 지정하는 경우에 사용합니다.

도입된 버젼:
1.3
관련 항목:
정수 필드치

TYPE1_FONT

public static final int TYPE1_FONT
TYPE1 형의 폰트 자원을 식별합니다. Type1 폰트 자원을 createFont(int, java.io.InputStream) 메소드로 지정하는 경우에 사용합니다.

도입된 버젼:
1.5
관련 항목:
정수 필드치

name

protected String  name
생성자 에게 건네지는, 이 Font 의 논리명입니다.

도입된 버젼:
JDK1. 0
관련 항목:
getName()

style

protected int style
생성자 에게 건네지는, 이 Font 의 스타일입니다. PLAIN, BOLD, ITALIC, 또는 BOLD+ITALIC 의 머지않아인가입니다.

도입된 버젼:
JDK1. 0
관련 항목:
getStyle()

size

protected int size
정수에 말 수 있던, 이 Font 의 포인트 사이즈입니다.

도입된 버젼:
JDK1. 0
관련 항목:
getSize()

pointSize

protected float pointSize
float 로 나타내진, 이 Font 의 포인트 사이즈입니다.

관련 항목:
getSize() , getSize2D()

LAYOUT_LEFT_TO_RIGHT

public static final int LAYOUT_LEFT_TO_RIGHT
쌍방향 분석으로 텍스트가 왼쪽에서 오른쪽으로 기술되고 있다고 판정된 것을 나타내는, layoutGlyphVector 에 대한 플래그입니다.

관련 항목:
정수 필드치

LAYOUT_RIGHT_TO_LEFT

public static final int LAYOUT_RIGHT_TO_LEFT
쌍방향 분석으로 텍스트가 오른쪽에서 왼쪽으로 기술되고 있다고 판정된 것을 나타내는, layoutGlyphVector 에 대한 플래그입니다.

관련 항목:
정수 필드치

LAYOUT_NO_START_CONTEXT

public static final int LAYOUT_NO_START_CONTEXT
문자 배열의, 지정된 개시 위치 이전의 텍스트를 검사하지 않는 것을 나타내는, layoutGlyphVector 에 대한 플래그입니다.

관련 항목:
정수 필드치

LAYOUT_NO_LIMIT_CONTEXT

public static final int LAYOUT_NO_LIMIT_CONTEXT
문자 배열의, 지정된 종료 위치 이후의 텍스트를 검사하지 않는 것을 나타내는, layoutGlyphVector 에 대한 플래그입니다.

관련 항목:
정수 필드치
생성자 의 상세

Font

public Font(String  name,
            int style,
            int size)
지정된 이름, 스타일, 및 포인트 사이즈로부터 새로운 Font 를 생성합니다.  

폰트명에는 폰트 페이스명 또는 폰트 패밀리명을 지정할 수 있습니다. 폰트명을 스타일과 함께 사용해, 적절한 폰트 페이스를 찾아냅니다. 폰트 패밀리명을 지정했을 경우, style 인수를 사용해, 패밀리로부터도 와도 적절한 페이스를 선택합니다. 폰트 페이스명을 지정했을 경우, 페이스의 스타일과 style 인수를 머지 해, 같은 패밀리로부터도 와도 적합하는 폰트를 찾아냅니다. 예를 들어,Font.ITALIC 로 페이스명 "Arial Bold" 를 지정하면(자), 폰트 시스템은 Arial 패밀리로, 굵은 글씨로 이탤릭의 페이스를 찾아, 물리 폰트 페이스 Arial Bold Italic 에 폰트 인스턴스를 관련지을 수도 있습니다. style 인수는 지정된 페이스 스타일에 머지 되어 가산 또는 감산되지 않습니다. 즉, 굵은 글씨 페이스 및 굵은 글씨 스타일을 지정해도, 폰트는 2 배의 굵기가 되지 않고, 또 굵은 글씨 페이스와 프레인 스타일을 지정해도, 폰트는 가늘어지지 않습니다.  

요구된 스타일의 페이스가 발견되지 않는 경우, 폰트 시스템은 목적의 스타일을 실현하기 위해서(때문에) 알고리즘 스타일을 적용하는 일이 있습니다. 예를 들어,ITALIC 가 요구되고 있어도, 이탤릭 페이스를 사용할 수 없는 경우, 프레인 페이스의 Glyph가 알고리즘에 의해 경사됩니다.  

폰트명의 검색은 US 로케일의 대문자와 소문자를 구별하지 않는 규칙이 사용되어 대문자와 소문자가 구별되지 않습니다.  

name 가 논리 폰트 이외의 것을 나타내는 경우, 즉, 물리 폰트 페이스 또는 패밀리라고 해석되는 경우로, 구현에 의해 이것을 물리 폰트 또는 호환의 대체 폰트에 맵 할 수 없을 때는, 폰트 시스템은 Font 인스턴스를 「Dialog」에 맵 합니다. 예를 들어,getFamily 에 의해 보고되는 패밀리는 「Dialog」가 됩니다.  

파라미터:
name - 폰트명. 이것은 폰트 페이스명 또는 폰트 패밀리명을 지정할 수 있어 이 GraphicsEnvironment 에 발견되었다 논리 폰트 또는 물리 폰트를 나타낸다. 논리 폰트의 패밀리명은 Dialog, DialogInput, Monospaced, Serif, 또는 SansSerif. 이러한 이름에는 모두, 정의 끝난 캐릭터 라인 정수가 존재한다. 예를 들어,DIALOG . namenull 의 경우, getName() 에 의해 반환된다 새로운 Font 의 「논리 폰트명」은 이름 「Default」로 설정되는
style - Font 의 스타일 정수. 스타일 인수는, PLAIN, 혹은 BOLD 와 ITALIC 를 비트 단위에 결합한 정수형 비트 마스크 (ITALIC 또는 BOLD|ITALIC 등). style 인수가 유효한 정수형 비트 마스크가 아닌 경우, 스타일은 PLAIN 로 설정되는
size - Font 의 포인트 사이즈
도입된 버젼:
JDK1. 0
관련 항목:
GraphicsEnvironment.getAllFonts() , GraphicsEnvironment.getAvailableFontFamilyNames()

Font

public Font(Map <?  extends AttributedCharacterIterator.Attribute ,? > attributes)
지정된 속성으로 새로운 Font 를 생성합니다. TextAttribute 로 정의되고 있는 키만이 인식됩니다. 또, 이 생성자 에서는 FONT 속성은 인식되지 않습니다 (getAvailableAttributes() 를 참조). 유효한 형태의 값을 가지는 속성만이, 새로운 Font 에 영향을 줍니다.  

attributesnull 의 경우, 새로운 Font 는 디폴트 값로 초기화됩니다.

파라미터:
attributes - 새로운 Font 에 할당하는 속성, 또는 null
관련 항목:
TextAttribute

Font

protected Font(Font  font)
지정된 font 로부터 새로운 Font 를 생성합니다. 이 생성자 은 서브 클래스에서 사용합니다.

파라미터:
font - 이 Font 의 생성원의 폰트
예외:
NullPointerException - font 가 null 의 경우
도입된 버젼:
1.6
메소드의 상세

getPeer

@Deprecated 
public java.awt.peer.FontPeer getPeer()
추천 되고 있지 않습니다.  폰트의 draw는 현재는 어느 플랫폼으로도 같습니다.

Font 의 피어를 가져옵니다.

반환값:
Font 의 피어
도입된 버젼:
JDK1. 1

getFont

public static Font  getFont(Map <?  extends AttributedCharacterIterator.Attribute ,? > attributes)
속성에 적절한 Font 를 돌려줍니다. attributes 에, 유효한 Font 를 값으로 해서 가지는 FONT 속성이 포함되어 있는 경우, 이 속성은 그 외의 속성과 머지 됩니다. 자세한 것은,TextAttribute.FONT 를 참조해 주세요.

파라미터:
attributes - 새로운 Font 에 할당하는 속성 Font
반환값:
지정된 속성으로 생성된 새로운 Font attributes
예외:
NullPointerException - attributes 가 null 의 경우
도입된 버젼:
1.2
관련 항목:
TextAttribute

createFont

public static Font  createFont(int fontFormat,
                              InputStream  fontStream)
                       throws FontFormatException ,
                              IOException 
지정된 폰트 타입과 입력 데이터를 사용해 새로운 Font 를 돌려줍니다. 새로운 Font 는 포인트 사이즈 1, 스타일 PLAIN 로 생성됩니다. 이 클래스의 deriveFont 메소드로 베이스가 되는 폰트를 사용해, 사이즈, 스타일, 변형체, 및 폰트의 특징이 다른 새로운 Font 객체를 파생시킬 수가 있습니다. 이 메소드는 InputStream 를 닫지 않습니다.  

Font 생성자 으로 Font 를 사용할 수 있도록(듯이) 하려면 ,registerFont(Font) 를 호출해, 반환된 FontGraphicsEnviroment 에 등록할 필요가 있습니다.

파라미터:
fontFormat - Font 의 타입. TrueType 자원을 지정하는 경우는 TRUETYPE_FONT , Type 1 자원을 지정하는 경우는 TYPE1_FONT
fontStream - 폰트의 입력 데이터를 나타낸다 InputStream 객체
반환값:
지정된 폰트 타입으로 새롭게 생성된 Font
예외:
IllegalArgumentException - joinTRUETYPE_FONT 또는 TYPE1_FONT 가 아닌 경우
FontFormatException - fontStream 데이터가 지정된 형식에 필요한 폰트 테이블을 가지고 있지 않은 경우
IOException - fontStream 를 완전하게 read 할 수 없는 경우
도입된 버젼:
1.3
관련 항목:
GraphicsEnvironment.registerFont(Font)

createFont

public static Font  createFont(int fontFormat,
                              File  fontFile)
                       throws FontFormatException ,
                              IOException 
지정된 폰트 타입과 지정된 폰트 파일을 사용해 새로운 Font 를 돌려줍니다. 새로운 Font 는 포인트 사이즈 1, 스타일 PLAIN 로 생성됩니다. 이 클래스의 deriveFont 메소드로 베이스가 되는 폰트를 사용해, 사이즈, 스타일, 변형체, 및 폰트의 특징이 다른 새로운 Font 객체를 파생시킬 수가 있습니다.

파라미터:
fontFormat - Font 의 타입. TrueType 자원을 지정하는 경우는 TRUETYPE_FONT , Type 1 자원을 지정하는 경우는 TYPE1_FONT . 된 폰트 또는 그 파생 폰트가 참조되는 한, 구현에서는 fontFile 에 액세스 계속 해 폰트 데이터를 취득할 수 있다. 그 때문에, 파일이 변경되었을 경우의 결과는 부정으로, 액세스 할 수 없게 된다

Font 생성자 으로 Font 를 사용할 수 있도록(듯이) 하려면 , registerFont(Font) 를 호출해, 반환된 FontGraphicsEnviroment 에 등록할 필요가 있는

fontFile - 폰트의 입력 데이터를 나타낸다 File 객체
반환값:
지정된 폰트 타입으로 새롭게 생성된 Font
예외:
IllegalArgumentException - joinTRUETYPE_FONT 또는 TYPE1_FONT 가 아닌 경우
NullPointerException - fontFile 가 null 의 경우
IOException - fontFile 를 read 할 수 없는 경우
FontFormatException - fontFile 가 지정된 형식에 필요한 폰트 테이블을 가지고 있지 않은 경우
SecurityException - 실행하는 코드에, 파일로부터 읽어내는 액세스권이 없는 경우
도입된 버젼:
1.5
관련 항목:
GraphicsEnvironment.registerFont(Font)

getTransform

public AffineTransform  getTransform()
Font 에 관련지을 수 있었던 변형체의 카피를 돌려줍니다. 이 변형체는, 폰트의 구축에 사용되는 것이라고는 할 수 없습니다. 폰트에 알고리즘에 의한 상 첨부 처리나 폭의 조정을 하는 경우, 이것은 반환되는 AffineTransform 에 짜넣어집니다.  

일반적으로, 폰트는 변형되지 않습니다. 일반적으로, 클라이언트에서는, 우선 isTransformed() 를 호출해,isTransformed 로부터 true 가 돌려주어졌을 경우만 이 메소드를 호출하도록 해 주세요.

반환값:
Font 객체의 변형체 속성을 나타내는 AffineTransform 객체

getFamily

public String  getFamily()
Font 의 패밀리명을 돌려줍니다.  

폰트의 패밀리명은 폰트 고유합니다. Helvetica Italic 와 Helvetica Bold 의 2 개의 폰트의 패밀리명은 함께 Helvetica 입니다만, 폰트 페이스명은 각각 Helvetica Bold 와 Helvetica Italic 가 됩니다. GraphicsEnvironment.getAvailableFontFamilyNames() 메소드로 유효한 패밀리명의 리스트를 취득할 수 있습니다.  

getName 를 사용하면(자), 폰트의 논리명을 취득할 수 있습니다. 폰트 페이스명의 취득에는 getFontName 를 사용합니다.

반환값:
Font 의 패밀리명을 나타내는 String
도입된 버젼:
JDK1. 1
관련 항목:
getName() , getFontName()

getFamily

public String  getFamily(Locale  l)
지정된 로케일전용으로 로컬라이즈 된, 이 Font 의 패밀리명을 돌려줍니다.  

폰트의 패밀리명은 폰트 고유합니다. Helvetica Italic 와 Helvetica Bold 의 2 개의 폰트의 패밀리명은 함께 Helvetica 입니다만, 폰트 페이스명은 각각 Helvetica Bold 와 Helvetica Italic 가 됩니다. GraphicsEnvironment.getAvailableFontFamilyNames() 메소드로 유효한 패밀리명의 리스트를 취득할 수 있습니다.  

폰트 페이스명의 취득에는 getFontName 를 사용합니다.

파라미터:
l - 패밀리명을 취득하는 로케일
반환값:
지정된 로케일전용으로 로컬라이즈 된, 폰트의 패밀리명을 나타내는 String
도입된 버젼:
1.2
관련 항목:
getFontName() , Locale

getPSName

public String  getPSName()
Font 의 포스트 스크립트명을 돌려줍니다. getFamily 를 사용하면(자), 폰트의 패밀리명을 취득할 수 있습니다. 폰트 페이스명의 취득에는 getFontName 를 사용합니다.

반환값:
Font 의 포스트 스크립트명을 나타내는 String
도입된 버젼:
1.2

getName

public String  getName()
Font 의 논리명을 돌려줍니다. getFamily 를 사용하면(자), 폰트의 패밀리명을 취득할 수 있습니다. 폰트 페이스명의 취득에는 getFontName 를 사용합니다.

반환값:
Font 의 논리명을 나타내는 String
도입된 버젼:
JDK1. 0
관련 항목:
getFamily() , getFontName()

getFontName

public String  getFontName()
Font 의 폰트 페이스명을 돌려줍니다. 예를 들어, 폰트 페이스명으로서 Helvetica Bold 가 돌려주어집니다. getFamily 를 사용하면(자), 폰트의 패밀리명을 취득할 수 있습니다. getName 를 사용하면(자), 폰트의 논리명을 취득할 수 있습니다.

반환값:
Font 의 폰트 페이스명을 나타내는 String
도입된 버젼:
1.2
관련 항목:
getFamily() , getName()

getFontName

public String  getFontName(Locale  l)
지정된 로케일전용으로 로컬라이즈 된,Font 의 폰트 페이스명을 돌려줍니다. 예를 들어, 폰트 페이스명으로서 Helvetica Fett 가 돌려주어집니다. getFamily 를 사용하면(자), 폰트의 패밀리명을 취득할 수 있습니다.

파라미터:
l - 폰트 페이스명을 취득하는 로케일
반환값:
지정된 로케일전용으로 로컬라이즈 된, 폰트 페이스명을 나타내는 String
관련 항목:
getFamily() , Locale

getStyle

public int getStyle()
Font 의 스타일을 돌려줍니다. PLAIN, BOLD, ITALIC, 또는 BOLD+ITALIC 의 머지않아인가입니다.

반환값:
Font 의 스타일
도입된 버젼:
JDK1. 0
관련 항목:
isPlain() , isBold() , isItalic()

getSize

public int getSize()
Font 의 포인트 사이즈를 정수치로 돌려줍니다. 대부분의 사용자는, 「포인트 사이즈」에서의 폰트의 Glyph사이즈의 지정에 익숙해 있습니다. 이 포인트 사이즈는, 싱글스 페이스의 텍스트 문서상의, 어느 행의 baseline로부터 다음의 행의 baseline까지의 거리를 정의합니다. 포인트 사이즈는 「문자 체재의 포인트」를 베이스로 하고 있어 대략 1/72 인치입니다.  

Java (TM) 2D API 의 규약에서는, 1 포인트가 사용자 좌표의 1 단위에 상당합니다. 사용자 공간 좌표로부터 디바이스 공간 좌표에의 변환에 표준화 된 변환을 사용하는 경우, 72 사용자 공간 단위가 디바이스 공간의 1 인치와 동일해집니다. 이 경우, 1 포인트는 1/72 인치입니다.

반환값:
1/72 인치 단위로 나타낸, 이 Font 의 포인트 사이즈
도입된 버젼:
JDK1. 0
관련 항목:
getSize2D() , GraphicsConfiguration.getDefaultTransform() , GraphicsConfiguration.getNormalizingTransform()

getSize2D

public float getSize2D()
Font 의 포인트 사이즈를 float 치로 돌려줍니다.

반환값:
float 치로 나타내진, 이 Font 의 포인트 사이즈
도입된 버젼:
1.2
관련 항목:
getSize()

isPlain

public boolean isPlain()
Font 객체의 스타일이 PLAIN 제발을 나타냅니다.

반환값:
Font 의 스타일이 PLAIN 의 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
JDK1. 0
관련 항목:
getStyle()

isBold

public boolean isBold()
Font 객체의 스타일이 BOLD 화도인지를 나타냅니다.

반환값:
Font 객체의 스타일이 BOLD 의 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
JDK1. 0
관련 항목:
getStyle()

isItalic

public boolean isItalic()
Font 객체의 스타일이 ITALIC 화도인지를 나타냅니다.

반환값:
Font 객체의 스타일이 ITALIC 의 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
JDK1. 0
관련 항목:
getStyle()

isTransformed

public boolean isTransformed()
Font 객체가, Size 속성 이외에 사이즈에 영향을 주는 변형체를 가질지 어떨지를 나타냅니다.

반환값:
Font 객체가 비항등 AffineTransform 속성을 가지는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.4
관련 항목:
getTransform()

hasLayoutAttributes

public boolean hasLayoutAttributes()
이 Font 에 추가의 레이아웃 처리를 필요로 하는 속성이 포함되어 있는 경우는, true 를 돌려줍니다.

반환값:
폰트가 레이아웃 속성을 가지고 있는 경우는 true
도입된 버젼:
1.6

getFont

public static Font  getFont(String  nm)
시스템의 프로퍼티 리스트로부터 Font 객체를 돌려줍니다. nm 는 취득하는 시스템 프로퍼티의 이름으로서 다루어집니다. 이 프로퍼티의 String 치는,Font.decode(String) 의 스펙에 따라,Font 객체로서 해석됩니다. 지정된 프로퍼티이 발견되지 않는 경우, 또는 실행하는 코드에 프로퍼티을 읽어내는 액세스권이 없는 경우는, null 를 돌려줍니다.

파라미터:
nm - 프로퍼티명
반환값:
지정된 프로퍼티명의 Font 객체, 또는 해당하는 프로퍼티이 존재하지 않는 경우는 null
예외:
NullPointerException - nm 가 null 의 경우
도입된 버젼:
1.2
관련 항목:
decode(String)

decode

public static Font  decode(String  str)
str 인수로 지정되는 명칭의 Font 를 돌려줍니다. 필요한 폰트를 확실히 취득하기 위해서는,str 파라미터의 서식을 이하의 어느 쪽인가에 설정합니다.  

이 경우의 stylePLAIN,BOLD,BOLDITALIC, 또는 ITALIC 의 머지않아인가입니다 (대문자 또는 소문자의 어디라도 지정 가능). pointsize 는 정의 십진수의 정수로 나타낸 포인트 사이즈입니다. 굵은 글씨로 포인트 사이즈 18 의 Arial 폰트가 필요한 경우, Arial-BOLD-18 를 지정해 이 메소드를 호출합니다. 이것은 Font 생성자 new Font("Arial", Font.BOLD, 18); 의 호출과 동일하고, 값은 그 생성자 에 의해 지정된 것으로서 해석됩니다.  

나중에 계속되는 유효한 필드는 항상 포인트 사이즈로서 해석됩니다. 그 때문에, 폰트명만의 형식에서는, 뒤에 10 진수가 붙은 폰트명을 사용하지 말아 주세요.  

스타일명 필드가 유효한 스타일 캐릭터 라인이 아닌 경우, 그것은 폰트명의 일부로서 해석되어 디폴트의 스타일이 사용됩니다.  

' '또는 '-'의 어느 쪽인지 1 개를 사용해, 입력의 필드를 단락짓습니다. 식별되는 separator는 유효한 포인트 사이즈 또는 유효한 스타일명을 나머지의 캐릭터 라인으로부터 단락짓는 캐릭터 라인의 말미에 가장 가까운 것입니다. null (빈 상태(empty))의 포인트 사이즈 및 스타일 필드는 그 필드에 디폴트 값를 가지는 유효한 필드로서 다루어집니다.

폰트명에는 separator 문자 ' '또는 '-'가 포함되는 일이 있습니다. str 가 3 개의 성분으로부터 구성되어 있지 않은, 즉 style 또는 pointsize 필드가 str 에 존재하지 않고,fontname 에도 단락지어 문자로서 특정되는 문자가 포함되는 경우,fontname 의 일부로서 의도된 이러한 문자는, separator로서 해석되어 올바르게 인식되지 않는 것이 있습니다.

디폴트의 사이즈는 12, 디폴트의 스타일은 PLAIN 가 됩니다. str 로 유효한 사이즈를 지정하지 않는 경우, 반환되는 Font 의 사이즈는 12 가 됩니다. str 로 유효한 스타일을 지정하지 않는 경우, 반환되는 폰트의 스타일은 PLAIN 가 됩니다. str 인수에 유효한 폰트명을 지정하지 않는 경우, 패밀리명이 「dialog」의 폰트가 돌려주어집니다. 시스템상에서 유효한 폰트 패밀리명을 판정하기 위해서는,GraphicsEnvironment.getAvailableFontFamilyNames() 메소드를 사용합니다. strnull 의 경우, 패밀리명이 「dialog」, 사이즈가 12, 스타일이 PLAIN 의 새로운 Font 가 돌려주어집니다.

파라미터:
str - 폰트명, 또는 null
반환값:
str 로 지정되는 Font 객체. strnull 의 경우는 새로운 디폴트 Font
도입된 버젼:
JDK1. 1
관련 항목:
getFamily()

getFont

public static Font  getFont(String  nm,
                           Font  font)
시스템의 프로퍼티 리스트로부터 지정된 Font 를 돌려줍니다. SystemgetProperty 메소드의 경우와 같이, 최초의 인수는 취득하는 시스템 프로퍼티의 이름으로서 다루어집니다. 이 프로퍼티의 String 치는,Font 객체로서 해석됩니다.  

프로퍼티치는 Font.decode(String) 에 의해 받아들일 수 있었던 형식의 머지않아인가입니다. 지정된 프로퍼티이 발견되지 않는 경우, 또는 실행하는 코드에 프로퍼티을 읽어내는 액세스권이 없는 경우는,font 인수가 돌려주어집니다.

파라미터:
nm - 프로퍼티명. 대문자와 소문자는 구별되지 않는
font - 대문자와 소문자는 구별되지 않는다 프로퍼티 nm 가 정의되어 있지 않은 경우에 반환되는 디폴트의 Font
반환값:
프로퍼티의 Font
예외:
NullPointerException - nm 가 null 의 경우
관련 항목:
decode(String)

hashCode

public int hashCode()
Font 의 해시 코드를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
Font 의 해시 코드값
도입된 버젼:
JDK1. 0
관련 항목:
Object.equals(java.lang.Object) , Hashtable

equals

public boolean equals(Object  obj)
Font 객체를, 지정된 Object 와 비교합니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 비교 대상의 Object
반환값:
객체가 같은 경우, 또는 인수가 이 객체와 같은 폰트를 지정하고 있다 Font 객체인 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
JDK1. 0
관련 항목:
Object.hashCode() , Hashtable

toString

public String  toString()
Font 객체를 String 표현으로 변환합니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
Font 객체의 String 표현
도입된 버젼:
JDK1. 0

getNumGlyphs

public int getNumGlyphs()
Font 의 Glyph수를 돌려줍니다. 이 Font 의 Glyph코드의 범위는, 0 ~ getNumGlyphs() - 1 입니다.

반환값:
Font 의 Glyph수
도입된 버젼:
1.2

getMissingGlyphCode

public int getMissingGlyphCode()
Font 가 지정된 Unicode 코드 포인트에 대해서 Glyph를 가지지 않는 경우에 사용되는 glyphCode 를 돌려줍니다.

반환값:
Font 의 glyphCode
도입된 버젼:
1.2

getBaselineFor

public byte getBaselineFor(char c)
이 문자의 표시에 적절한 baseline를 돌려줍니다.  

큰 폰트는 다양한 서기법을 지원할 수 있어 각 서기법은 다른 baseline를 사용할 수 있습니다. 문자 인수는, 사용하는 서기법을 결정합니다. 클라이언트는, 모든 문자가 같은 baseline를 사용하면(자) 가정할 수 없습니다.

파라미터:
c - 서기법을 식별하기 위한 문자
반환값:
지정된 문자에 대해서 적절한 baseline
도입된 버젼:
1.2
관련 항목:
LineMetrics.getBaselineOffsets() , ROMAN_BASELINE , CENTER_BASELINE , HANGING_BASELINE

getAttributes

public Map <TextAttribute ,? > getAttributes()
Font 로 유효한 폰트 속성의 맵을 돌려줍니다. 속성에는, 합자나 Glyph의 대용등이 포함됩니다.

반환값:
Font 의 속성 맵

getAvailableAttributes

public AttributedCharacterIterator.Attribute [] getAvailableAttributes()
Font 가 지원하는 모든 속성의 키를 돌려줍니다. 그러한 속성은, 다른 폰트를 파생시키기 위해서(때문에) 사용할 수 있습니다.

반환값:
Font 가 지원한다 모든 속성의 키가 포함되고 있는 배열
도입된 버젼:
1.2

deriveFont

public Font  deriveFont(int style,
                       float size)
Font 객체를 복제해 새로운 스타일 및 사이즈를 적용하는 것으로써, 새로운 Font 객체를 생성합니다.

파라미터:
style - 새로운 Font 의 스타일
size - 새로운 Font 의 사이즈
반환값:
새로운 Font 객체
도입된 버젼:
1.2

deriveFont

public Font  deriveFont(int style,
                       AffineTransform  trans)
Font 객체를 복제해, 새로운 스타일 및 변환을 적용하는 것으로써, 새로운 Font 객체를 생성합니다.

파라미터:
style - 새로운 Font 의 스타일
trans - 새로운 Font 에 관련지을 수 있었던 AffineTransform
반환값:
새로운 Font 객체
예외:
IllegalArgumentException - transnull 의 경우
도입된 버젼:
1.2

deriveFont

public Font  deriveFont(float size)
현재의 Font 객체를 복제해 새로운 사이즈를 적용하는 것으로써, 새로운 Font 객체를 생성합니다.

파라미터:
size - 새로운 Font 의 사이즈
반환값:
새로운 Font 객체
도입된 버젼:
1.2

deriveFont

public Font  deriveFont(AffineTransform  trans)
현재의 Font 객체를 복제해 새로운 변환을 적용하는 것으로써, 새로운 Font 객체를 생성합니다.

파라미터:
trans - 새로운 Font 에 관련지을 수 있었던 AffineTransform
반환값:
새로운 Font 객체
예외:
IllegalArgumentException - transnull 의 경우
도입된 버젼:
1.2

deriveFont

public Font  deriveFont(int style)
현재의 Font 객체를 복제해 새로운 스타일을 적용하는 것으로써, 새로운 Font 객체를 생성합니다.

파라미터:
style - 새로운 Font 의 스타일
반환값:
새로운 Font 객체
도입된 버젼:
1.2

deriveFont

public Font  deriveFont(Map <?  extends AttributedCharacterIterator.Attribute ,? > attributes)
현재의 Font 객체를 복제해 새로운 폰트 속성을 적용하는 것으로써, 새로운 Font 객체를 생성합니다.

파라미터:
attributes - 새로운 Font 에 사용 가능한 속성의 맵
반환값:
새로운 Font 객체
도입된 버젼:
1.2

canDisplay

public boolean canDisplay(char c)
Font 가 지정된 문자의 Glyph를 가질지 어떨지를 판정합니다.  

주: 이 메소드는,보조 문자를 처리할 수 없습니다. 보조 문자를 포함한 모든 Unicode 문자를 지원하려면 ,canDisplay(int) 메소드 또는 canDisplayUpTo 메소드를 사용합니다.

파라미터:
c - Glyph가 필요한 문자
반환값:
Font 가 이 문자의 Glyph를 가지는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.2

canDisplay

public boolean canDisplay(int codePoint)
Font 가 지정된 문자의 Glyph를 가질지 어떨지를 판정합니다.

파라미터:
codePoint - Glyph가 필요한 문자 (Unicode 코드 포인트)
반환값:
Font 가 이 문자의 Glyph를 가지는 경우는 true, 그렇지 않은 경우는 false
예외:
IllegalArgumentException - 코드 포인트가 유효한 Unicode 코드 포인트가 아니다 경우
도입된 버젼:
1.5
관련 항목:
Character.isValidCodePoint(int)

canDisplayUpTo

public int canDisplayUpTo(String  str)
지정된 String 를, 이 Font 로 표시할 수 있을지 어떨지를 나타냅니다. Unicode 인코딩 캐릭터 라인의 경우, 특정의 폰트로 캐릭터 라인을 표시할 수 있을지 어떨지를 확인하는 것이 중요하게 됩니다. 이 메소드는,String str 내의 오프셋(offset)를 돌려줍니다. 이 오프셋(offset)는, 결여 하고 있는 Glyph코드를 사용하지 않는 한 이 Font 에서는 표시할 수 없는 최초의 문자를 나타냅니다. 이 Font 로 모든 문자를 표시할 수 있는 경우는,-1 이 돌려주어집니다.

파라미터:
str - String 객체
반환값:
Font 로 표시할 수 없다 str 내의 최초의 문자를 나타낸다 str 내의 오프셋(offset). str 내의 모든 문자를 이 Font 로 표시할 수 있는 경우는 -1
도입된 버젼:
1.2

canDisplayUpTo

public int canDisplayUpTo(char[] text,
                          int start,
                          int limit)
지정된 text 내의 start 로부터 시작되어 limit 로 끝나는 캐릭터 라인을, 이 Font 로 표시할 수 있을지 어떨지를 나타냅니다. 이 메소드는 간이 overload입니다.

파라미터:
text - char 치의 지정된 배열
start - 지정된 char 치의 배열내의 지정된 개시 오프셋(offset) (char 의)
limit - 지정된 char 값의 배열내의 지정된 종료 오프셋(offset) (char 의)
반환값:
Font 로 표시할 수 없다 text 내의 최초의 문자를 나타낸다 text 내의 오프셋(offset). text 내의 모든 문자를 이 Font 로 표시할 수 있는 경우는 -1
도입된 버젼:
1.2

canDisplayUpTo

public int canDisplayUpTo(CharacterIterator  iter,
                          int start,
                          int limit)
Font 로,start 로부터 시작되어 limit 로 끝나는 iter 에 의해 지정된 텍스트를 표시할 수 있을지 어떨지를 나타냅니다.

파라미터:
iter - CharacterIterator 객체
start - 지정된 CharacterIterator 내의 지정된 개시 오프셋(offset)
limit - 지정된 CharacterIterator 내의 지정된 종료 오프셋(offset)
반환값:
Font 로 표시할 수 없다 iter 내의 최초의 문자를 나타낸다 iter 내의 오프셋(offset). iter 내의 모든 문자를 이 Font 로 표시할 수 있는 경우는 -1
도입된 버젼:
1.2

getItalicAngle

public float getItalicAngle()
Font 의 이탤릭의 각도를 돌려줍니다. 이탤릭의 각도와는 이 Font 의 포스챠 (기울기)에 가장 일치하는 caret의 역경사입니다.

반환값:
Font 의 ITALIC 스타일의 각도
관련 항목:
TextAttribute.POSTURE

hasUniformLineMetrics

public boolean hasUniformLineMetrics()
Font 가 균일의 라인메트릭스를 가질지 어떨지를 판정합니다. 논리 Font 는, 복합 폰트의 경우가 있습니다. 복합 폰트는, 복수의 코드 범위를 망라하기 위해서 복수의 물리 폰트로 구성되어 있습니다. 그러한 각 폰트는, 다른 LineMetrics 를 가지는 경우가 있습니다. 논리 Font 가 단일의 폰트의 경우, 메트릭스는 균일합니다.

반환값:
Font 가 균일의 라인메트릭스를 가지는 경우는 true, 그렇지 않은 경우는 false

getLineMetrics

public LineMetrics  getLineMetrics(String  str,
                                  FontRenderContext  frc)
지정된 StringFontRenderContext 에 의해 작성된 LineMetrics 객체를 돌려줍니다.

파라미터:
str - 지정된 String
frc - 지정된 FontRenderContext
반환값:
지정된 StringFontRenderContext 에 의해 작성된 LineMetrics 객체

getLineMetrics

public LineMetrics  getLineMetrics(String  str,
                                  int beginIndex,
                                  int limit,
                                  FontRenderContext  frc)
지정된 인수로 생성된 LineMetrics 객체를 돌려줍니다.

파라미터:
str - 지정된 String
beginIndex - str 의 개시 오프셋(offset)
limit - str 의 종료 오프셋(offset)
frc - 지정된 FontRenderContext
반환값:
지정된 인수로 생성된 LineMetrics 객체

getLineMetrics

public LineMetrics  getLineMetrics(char[] chars,
                                  int beginIndex,
                                  int limit,
                                  FontRenderContext  frc)
지정된 인수로 생성된 LineMetrics 객체를 돌려줍니다.

파라미터:
chars - 문자 배열
beginIndex - chars 의 개시 오프셋(offset)
limit - chars 의 종료 오프셋(offset)
frc - 지정된 FontRenderContext
반환값:
지정된 인수로 생성된 LineMetrics 객체

getLineMetrics

public LineMetrics  getLineMetrics(CharacterIterator  ci,
                                  int beginIndex,
                                  int limit,
                                  FontRenderContext  frc)
지정된 인수로 생성된 LineMetrics 객체를 돌려줍니다.

파라미터:
ci - 지정된 CharacterIterator
beginIndex - ci 의 개시 오프셋(offset)
limit - ci 의 종료 오프셋(offset)
frc - 지정된 FontRenderContext
반환값:
지정된 인수로 생성된 LineMetrics 객체

getStringBounds

public Rectangle2D  getStringBounds(String  str,
                                   FontRenderContext  frc)
지정된 FontRenderContext 의 지정된 String 의 논리 바운드를 돌려줍니다. leading를 포함한 기점, 아센트, 유효폭, 및 높이가 논리 바운드의 내용입니다. 논리 바운드는 항상 모든 텍스트를 포함한다고는 할 수 없습니다. 예를 들어 언어나 폰트에 따라서는, 엑센트의 마크가 아센트 위, 또는 디 센트아래에 오는 일이 있습니다. 모든 텍스트를 포함해, 눈으로 확인할 수 있는 바운딩 박스를 얻기 위해서(때문에)는,TextLayoutgetBounds 메소드를 사용합니다.  

주:경계는, baseline를 기준으로 한 좌표로 돌려주어집니다 (class notes 를 참조).

파라미터:
str - 지정된 String
frc - 지정된 FontRenderContext
반환값:
지정된 FontRenderContext 를 가지는, 지정된 String 의 바운딩 박스를 나타내는 Rectangle2D
도입된 버젼:
1.2
관련 항목:
FontRenderContext , createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getStringBounds

public Rectangle2D  getStringBounds(String  str,
                                   int beginIndex,
                                   int limit,
                                   FontRenderContext  frc)
지정된 FontRenderContext 의 지정된 String 의 논리 바운드를 돌려줍니다. leading를 포함한 기점, 아센트, 유효폭, 및 높이가 논리 바운드의 내용입니다. 논리 바운드는 항상 모든 텍스트를 포함한다고는 할 수 없습니다. 예를 들어 언어나 폰트에 따라서는, 엑센트의 마크가 아센트 위, 또는 디 센트아래에 오는 일이 있습니다. 모든 텍스트를 포함해, 눈으로 확인할 수 있는 바운딩 박스를 얻기 위해서(때문에)는,TextLayoutgetBounds 메소드를 사용합니다.  

주:경계는, baseline를 기준으로 한 좌표로 돌려주어집니다 (class notes 를 참조).

파라미터:
str - 지정된 String
beginIndex - str 의 개시 오프셋(offset)
limit - str 의 종료 오프셋(offset)
frc - 지정된 FontRenderContext
반환값:
지정된 FontRenderContext 를 가지는, 지정된 String 의 바운딩 박스를 나타내는 Rectangle2D
예외:
IndexOutOfBoundsException - beginIndex 가 제로보다 작은 경우, limitstr 의 길이보다 큰 경우, 또는 beginIndexlimit 보다 큰 경우
도입된 버젼:
1.2
관련 항목:
FontRenderContext , createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getStringBounds

public Rectangle2D  getStringBounds(char[] chars,
                                   int beginIndex,
                                   int limit,
                                   FontRenderContext  frc)
지정된 FontRenderContext 의 지정된 문자 배열의 논리 바운드를 돌려줍니다. leading를 포함한 기점, 아센트, 유효폭, 및 높이가 논리 바운드의 내용입니다. 논리 바운드는 항상 모든 텍스트를 포함한다고는 할 수 없습니다. 예를 들어 언어나 폰트에 따라서는, 엑센트의 마크가 아센트 위, 또는 디 센트아래에 오는 일이 있습니다. 모든 텍스트를 포함해, 눈으로 확인할 수 있는 바운딩 박스를 얻기 위해서(때문에)는,TextLayoutgetBounds 메소드를 사용합니다.  

주:경계는, baseline를 기준으로 한 좌표로 돌려주어집니다 (class notes 를 참조).

파라미터:
chars - 문자 배열
beginIndex - 문자 배열의 개시 오프셋(offset)
limit - 문자 배열의 종료 오프셋(offset)
frc - 지정된 FontRenderContext
반환값:
지정된 FontRenderContext 를 가지는, 지정된 문자 배열의 바운딩 박스를 나타내는 Rectangle2D
예외:
IndexOutOfBoundsException - beginIndex 가 제로보다 작은 경우, limitchars 의 길이보다 큰 경우, 또는 beginIndexlimit 보다 큰 경우
도입된 버젼:
1.2
관련 항목:
FontRenderContext , createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getStringBounds

public Rectangle2D  getStringBounds(CharacterIterator  ci,
                                   int beginIndex,
                                   int limit,
                                   FontRenderContext  frc)
지정된 FontRenderContext 의 지정된 CharacterIterator 에 인덱스 붙이고 된 문자의 논리 바운드를 돌려줍니다. leading를 포함한 기점, 아센트, 유효폭, 및 높이가 논리 바운드의 내용입니다. 논리 바운드는 항상 모든 텍스트를 포함한다고는 할 수 없습니다. 예를 들어 언어나 폰트에 따라서는, 엑센트의 마크가 아센트 위, 또는 디 센트아래에 오는 일이 있습니다. 모든 텍스트를 포함해, 눈으로 확인할 수 있는 바운딩 박스를 얻기 위해서(때문에)는,TextLayoutgetBounds 메소드를 사용합니다.  

주:경계는, baseline를 기준으로 한 좌표로 돌려주어집니다 (class notes 를 참조).

파라미터:
ci - 지정된 CharacterIterator
beginIndex - ci 의 개시 오프셋(offset)
limit - ci 의 종료 오프셋(offset)
frc - 지정된 FontRenderContext
반환값:
지정된 FontRenderContext 를 가져, 지정된 CharacterIterator 내의 인덱스 첨부 문자의 바운딩 박스를 나타내는 Rectangle2D
예외:
IndexOutOfBoundsException - beginIndex 가 개시 인덱스 ci 보다 작은 경우, limit 가 종료 인덱스 ci 보다 큰 경우, 또는 beginIndexlimit 보다 큰 경우
도입된 버젼:
1.2
관련 항목:
FontRenderContext , createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getMaxCharBounds

public Rectangle2D  getMaxCharBounds(FontRenderContext  frc)
지정된 FontRenderContext 로, 최대의 경계를 가지는 문자의 경계를 돌려줍니다.  

주:경계는, baseline를 기준으로 한 좌표로 돌려주어집니다 (class notes 를 참조).

파라미터:
frc - 지정된 FontRenderContext
반환값:
최대의 경계를 가지는 문자의 바운딩 박스를 나타내는 Rectangle2D

createGlyphVector

public GlyphVector  createGlyphVector(FontRenderContext  frc,
                                     String  str)
Font 의 Unicode cmap 를 베이스로 해, 문자와 Glyph를 1 대 1 에 매핑 해,GlyphVector 를 생성합니다. 이 메소드에서는 매핑 이외의 처리를 실시하지 않습니다. 이 때문에, 아라비아어, 헤브라이어, 타이어, 및 인도어파의 언어등의, 재배치, 정형, 및 합자의 치환이 필요한 언어에서는 이 메소드를 사용할 수 없습니다.

파라미터:
frc - 지정된 FontRenderContext
str - 지정된 String
반환값:
지정된 StringFontRenderContext 로 생성되었다 새로운 GlyphVector

createGlyphVector

public GlyphVector  createGlyphVector(FontRenderContext  frc,
                                     char[] chars)
Font 의 Unicode cmap 를 베이스로 해, 문자와 Glyph를 1 대 1 에 매핑 해,GlyphVector 를 생성합니다. 이 메소드에서는 매핑 이외의 처리를 실시하지 않습니다. 이 때문에, 아라비아어, 헤브라이어, 타이어, 및 인도어파의 언어등의, 재배치, 정형, 및 합자의 치환이 필요한 언어에서는 이 메소드를 사용할 수 없습니다.

파라미터:
frc - 지정된 FontRenderContext
chars - 지정된 문자 배열
반환값:
지정된 문자 배열 및 FontRenderContext 로 생성되었다 새로운 GlyphVector

createGlyphVector

public GlyphVector  createGlyphVector(FontRenderContext  frc,
                                     CharacterIterator  ci)
Font 의 Unicode cmap 를 베이스로 해, 지정된 문자와 Glyph를 1 대 1 에 매핑 해,GlyphVector 를 생성합니다. 이 메소드에서는 매핑 이외의 처리를 실시하지 않습니다. 이 때문에, 아라비아어, 헤브라이어, 타이어, 및 인도어파의 언어등의, 재배치, 정형, 및 합자의 치환이 필요한 언어에서는 이 메소드를 사용할 수 없습니다.

파라미터:
frc - 지정된 FontRenderContext
ci - 지정된 CharacterIterator
반환값:
지정된 CharacterIteratorFontRenderContext 로 생성되었다 새로운 GlyphVector

createGlyphVector

public GlyphVector  createGlyphVector(FontRenderContext  frc,
                                     int[] glyphCodes)
Font 의 Unicode cmap 를 베이스로 해, 문자와 Glyph를 1 대 1 에 매핑 해,GlyphVector 를 생성합니다. 이 메소드에서는 매핑 이외의 처리를 실시하지 않습니다. 이 때문에, 아라비아어, 헤브라이어, 타이어, 및 인도어파의 언어등의, 재배치, 정형, 및 합자의 치환이 필요한 언어에서는 이 메소드를 사용할 수 없습니다.

파라미터:
frc - 지정된 FontRenderContext
glyphCodes - 지정된 정수 배열
반환값:
지정된 정수 배열 및 FontRenderContext 로 생성되었다 새로운 GlyphVector

layoutGlyphVector

public GlyphVector  layoutGlyphVector(FontRenderContext  frc,
                                     char[] text,
                                     int start,
                                     int limit,
                                     int flags)
가능한 경우에 텍스트의 완전한 레이아웃을 실시하는, 새로운 GlyphVector 객체를 돌려줍니다. 아라비아어나 힌디어등이 복잡한 문자에서는, 완전한 레이아웃이 필요합니다. 다른 문자의 지원는 폰트와 구현으로 결정됩니다.  

레이아웃을 결정하기 위해서(때문에)는 Bidi 에 의한 쌍방향 분석이 필요합니다. 또 동일 방향으로 기술되는 텍스트만이 레이아웃 가능합니다. 기술 방향은 플래그의 파라미터로 나타납니다. LAYOUT_RIGHT_TO_LEFT 는 오른쪽에서 왼쪽으로 기술되는 것을 계시 (아라비아어나 헤브라이어 등), LAYOUT_LEFT_TO_RIGHT 는 왼쪽에서 오른쪽으로 기술되는 것을 나타냅니다 (영어).  

게다가 아라비아어의 정형등으로는, 최초의 문자와 마지막 문자를 올바르게 정형하기 위해서 문맥이 필요합니다. 지정 범위외의 버퍼의 데이터가 유효한 데이터가 아닌 경우가 있습니다. 플래그 파라미터에 LAYOUT_NO_START_CONTEXT 및 LAYOUT_NO_LIMIT_CONTEXT 를 추가하면(자), 개시 위치보다 전의 데이터, 종료 위치에서(보다) 후의 데이터를 문맥 검사의 대상외로 할 수 있습니다.  

이외의 플래그 파라미터의 값은 모두 예약되고 있습니다.

파라미터:
frc - 지정된 FontRenderContext
text - 레이아웃 하는 텍스트
start - GlyphVector 로 사용하는 텍스트의 개시 위치
limit - GlyphVector 로 사용하는 텍스트의 종료 위치
flags - 먼저 말한 제어 플래그
반환값:
개시 위치와 종료 위치동안의 텍스트를 나타내는, 새로운 GlyphVector. 텍스트가 가장 보기 쉬워지도록(듯이) Glyph가 선택, 배치된다 텍스트
예외:
ArrayIndexOutOfBoundsException - 개시 위치 또는 종료 위치가 범위외의 경우
도입된 버젼:
1.4
관련 항목:
Bidi , LAYOUT_LEFT_TO_RIGHT , LAYOUT_RIGHT_TO_LEFT , LAYOUT_NO_START_CONTEXT , LAYOUT_NO_LIMIT_CONTEXT

finalize

protected void finalize()
                 throws Throwable 
네이티브 Font 객체를 파기합니다.

오버라이드(override):
클래스 Object 내의 finalize
예외:
Throwable - 이 메소드로 생긴 Exception

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.