|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.FontMetrics
public abstract class FontMetrics
FontMetrics
클래스는, 특정의 화면에서의 특정의 폰트에 관한 draw 정보를 캡슐화하는 폰트 시학 객체를 정의합니다.
서브 클래스에 대한 주의:이러한 메소드의 상당수는 서로 재귀적인 닫은 루프를 형성하기 위해(때문에), 서브 클래스를 사용할 때는 무한의 재귀를 피하기 위해서(때문에), 이러한 루프의 각각에 적어도 1 개의 메소드를 구현하도록(듯이) 유의할 필요가 있습니다. 특히 다음에 드는 것은, 정확함을 보증해 무한의 재귀를 피하기 위해서(때문에), 오버라이드(override)가 추천 되는 최저한의 메소드입니다 (같은 메소드는 그 밖에도 있습니다).
이 클래스의 각 메소드에서의 구현은 효율적은 아니기 때문에, 일반적으로은, 보다 효율적인 툴 킷 특유의 구현으로 오버라이드(override) 되고 있는 것에 주의해 주세요.
어플리케이션이 좌표 (x, y)에 문자를 배치하도록(듯이) 요구하면(자), 문자는 그 참조 포인트 (첨부 이미지로 닷으로서 표시되고 있다)가 그 위치에 놓여지도록(듯이) 배치됩니다. 참조 포인트는, 문자의 「baseline」라고 불리는 수평 라인을 지정합니다. 일반적으로의 출력으로는, 문자의 baseline의 위치 가지런히 하고를 해 주세요.
게다가 폰트의 모든 문자는 「아센트」, 「디 센트」, 및 「유효폭」을 가집니다. 아센트는, baseline로부터 문자의 상단까지의 양입니다. 디 센트는, baseline로부터 문자의 하단까지의 양입니다. 유효폭은, AWT 에 의한 다음의 문자의 배치 위치를 나타냅니다.
문자 배열 또는 캐릭터 라인도, 아센트, 디 센트, 및 유효폭을 가질 수가 있습니다. 배열의 아센트는, 배열내의 문자의 최대 아센트입니다. 디 센트는 배열내의 문자의 최대 디 센트입니다. 유효폭은, 배열내의 각 문자의 유효폭의 합계입니다. 유효 String
는 String
의 baseline에 따른 거리입니다. 이 거리는,String
의 센터링 또는, 오른쪽맞춤을 위해서(때문에) 사용되는 폭입니다.
문자의 폭은 그 문맥에 의해 격차가 있기 (위해)때문에, 유효 String
는 반드시 단독으로 측정한 문자의 합계는 아닌 것에 주의해 주세요. 예를 들어, 아라비아어의 텍스트의 경우, 다른 문자와 결합하기 위해서 문자의 형태가 바뀝니다. 다른 스크립트의 경우에서도, 특정의 문자 순서는 「합자」라고 하는 단일 형상으로 표현됩니다. 개개에 문자를 카운트 할 경우에는, 이러한 변환은 카운트 되지 않습니다.
폰트메트릭스는 baseline를 기준으로 하고 있습니다. 즉, 일반적으로은, 폰트에 적용되는 회전에는 의존하지 않습니다 (가능한 그릿드힌팅 효과를 법으로 한다). Font
를 참조해 주세요.
Font
,
직렬화 된 형식 필드의 개요 | |
---|---|
protected Font |
font
폰트메트릭스의 생성측이 되는 실제 Font 입니다. |
생성자 의 개요 | |
---|---|
protected |
FontMetrics (Font font)
지정된 Font 의 높이와 폭, 및 그 Font 의 특정의 문자 Glyph를 조사하기 위한 새로운 FontMetrics 객체를 생성합니다. |
메소드의 개요 | |
---|---|
int |
bytesWidth (byte[] data,
int off,
int len)
지정된 문자 배열을 이 Font 로 표시하기 위한 유효폭의 합계를 돌려줍니다. |
int |
charsWidth (char[] data,
int off,
int len)
지정된 문자 배열을 이 Font 로 표시하기 위한 유효폭의 합계를 돌려줍니다. |
int |
charWidth (char ch)
이 Font 의 지정한 문자의 유효폭을 돌려줍니다. |
int |
charWidth (int codePoint)
이 Font 의 지정한 문자의 유효폭을 돌려줍니다. |
int |
getAscent ()
이 FontMetrics 객체가 기술하는 Font 의 「폰트아센트」를 판정합니다. |
int |
getDescent ()
이 FontMetrics 객체가 기술하는 Font 의 「폰트 디 센트」를 판정합니다. |
Font |
getFont ()
이 FontMetrics 객체가 기술하는 Font 를 돌려줍니다. |
FontRenderContext |
getFontRenderContext ()
텍스트를 측정하기 위해서 이 FontMetrics 객체로 사용되는 FontRenderContext 를 가져옵니다. |
int |
getHeight ()
이 폰트의 텍스트 1 행의 표준의 높이를 가져옵니다. |
int |
getLeading ()
이 FontMetrics 객체가 기술하는 Font 의 「표준 leading」를 판정합니다. |
LineMetrics |
getLineMetrics (char[] chars,
int beginIndex,
int limit,
Graphics context)
지정된 Graphics 문맥으로, 지정된 문자 배열 LineMetrics 객체를 돌려줍니다. |
LineMetrics |
getLineMetrics (CharacterIterator ci,
int beginIndex,
int limit,
Graphics context)
지정된 Graphics 문맥으로, 지정된 CharacterIterator LineMetrics 객체를 돌려줍니다. |
LineMetrics |
getLineMetrics (String str,
Graphics context)
지정된 Graphics 문맥으로, 지정된 String LineMetrics 객체를 돌려줍니다. |
LineMetrics |
getLineMetrics (String str,
int beginIndex,
int limit,
Graphics context)
지정된 Graphics 문맥으로, 지정된 String LineMetrics 객체를 돌려줍니다. |
int |
getMaxAdvance ()
이 Font 의 문자의 최대 유효폭을 돌려줍니다. |
int |
getMaxAscent ()
이 FontMetrics 객체가 기술하는 Font 의 최대 아센트를 판정합니다. |
Rectangle2D |
getMaxCharBounds (Graphics context)
지정된 Graphics 문맥으로, 최대의 경계를 가지는 문자의 경계를 돌려줍니다. |
int |
getMaxDecent ()
추천 되고 있지 않습니다. JDK version 1.1. 1 이후는, getMaxDescent() 로 옮겨졌습니다. |
int |
getMaxDescent ()
이 FontMetrics 객체가 기술하는 Font 의 최대 디 센트를 판정합니다. |
Rectangle2D |
getStringBounds (char[] chars,
int beginIndex,
int limit,
Graphics context)
지정된 Graphics 문맥으로, 지정된 문자 배열의 경계를 돌려줍니다. |
Rectangle2D |
getStringBounds (CharacterIterator ci,
int beginIndex,
int limit,
Graphics context)
지정된 Graphics 문맥으로, 지정된 CharacterIterator 내의 인덱스 첨부 캐릭터 라인의 경계를 돌려줍니다. |
Rectangle2D |
getStringBounds (String str,
Graphics context)
지정된 Graphics 문맥으로, 지정된 String 의 경계를 돌려줍니다. |
Rectangle2D |
getStringBounds (String str,
int beginIndex,
int limit,
Graphics context)
지정된 Graphics 문맥으로, 지정된 String 의 경계를 돌려줍니다. |
int[] |
getWidths ()
이 Font 의 최초의 256 문자의 유효폭을 가져옵니다. |
boolean |
hasUniformLineMetrics ()
Font 가 균일의 라인메트릭스를 가질지 어떨지를 판정합니다. |
int |
stringWidth (String str)
지정된 String 를, 이 Font 로 표시하기 위한 유효폭의 합계를 돌려줍니다. |
String |
toString ()
이 FontMetrics 객체의 값의 String 표현을 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
필드의 상세 |
---|
protected Font font
Font
입니다. null 를 지정할 수 없습니다.
getFont()
생성자 의 상세 |
---|
protected FontMetrics(Font font)
Font
의 높이와 폭, 및 그 Font
의 특정의 문자 Glyph를 조사하기 위한 새로운 FontMetrics
객체를 생성합니다.
font
- Font
Font
메소드의 상세 |
---|
public Font getFont()
FontMetrics
객체가 기술하는 Font
를 돌려줍니다.
FontMetrics
객체가 기술한다
Font
public FontRenderContext getFontRenderContext()
FontMetrics
객체로 사용되는 FontRenderContext
를 가져옵니다.
Graphics
파라미터를 취하는 이 클래스의 메소드는, 이 FontRenderContext
는 아니고, 그 Graphics
객체의 FontRenderContext
를 사용해 텍스트를 측정합니다.
FontMetrics
객체가 사용한다
FontRenderContext
public int getLeading()
FontMetrics
객체가 기술하는 Font
의 「표준 leading」를 판정합니다. 표준 leading (행간의 간격)는, 텍스트가 있는 행의 디 센트와 그 다음의 행의 아센트의 사이에 확보되는 논리적인 양입니다. 높이의 메트릭스는, 이 여분의 공간을 포함해 계산됩니다.
Font
의 표준 leadinggetHeight()
,
getAscent()
,
getDescent()
public int getAscent()
FontMetrics
객체가 기술하는 Font
의 「폰트아센트」를 판정합니다. 폰트아센트는, 폰트의 baseline로부터 대부분의 영숫자의 상단까지의 거리입니다. Font
의 문자에 따라서는, 폰트의 아센트라인으로부터 초과하는 경우가 있습니다.
Font
의 폰트아센트getMaxAscent()
public int getDescent()
FontMetrics
객체가 기술하는 Font
의 「폰트 디 센트」를 판정합니다. 폰트 디 센트는, 폰트의 baseline로부터 디센더를 가지는 대부분의 영숫자의 하단까지의 거리입니다. Font
의 문자에 따라서는, 폰트의 디 센트 라인으로부터 초과하는 경우가 있습니다.
Font
의 폰트 디 센트getMaxDescent()
public int getHeight()
getLeading()
,
getAscent()
,
getDescent()
public int getMaxAscent()
FontMetrics
객체가 기술하는 Font
의 최대 아센트를 판정합니다. 문자가 이 높이로부터 초과할 것은 없습니다.
Font
의 문자의
최대 아센트getAscent()
public int getMaxDescent()
FontMetrics
객체가 기술하는 Font
의 최대 디 센트를 판정합니다. 문자가 이 높이로부터 초과할 것은 없습니다.
Font
의 문자의
최대 디 센트getDescent()
@Deprecated public int getMaxDecent()
getMaxDescent()
로 옮겨졌습니다.
Font
의 문자의
최대 디 센트getMaxDescent()
public int getMaxAdvance()
Font
의 문자의 최대 유효폭을 돌려줍니다. 유효폭은, 캐릭터 라인의 baseline의 좌단의 점으로부터 우단의 점까지의 거리입니다. 유효 String
는, 반드시 문자의 유효폭의 합계가 아닙니다.
Font
의 임의의 문자의 최대 유효폭.
최대 유효폭을 모르는 경우는
-1
public int charWidth(int codePoint)
Font
의 지정한 문자의 유효폭을 돌려줍니다. 유효폭은, 캐릭터 라인의 baseline의 좌단의 점으로부터 우단의 점까지의 거리입니다. 유효 String
는, 반드시 문자의 유효폭의 합계는 아닌 것에 주의해 주세요.
이 메소드는, 지정된 문자가 유효한 Unicode 코드 포인트인 것을 검증하지 않습니다. 호출측에서, 필요에 따라서 Character.isValidCodePoint
를 사용해, 문자치를 검증할 필요가 있습니다.
codePoint
- 측정하는 문자 (Unicode 코드 포인트)
FontMetrics
객체가
기술하는 Font
의
지정된 문자의 유효폭charsWidth(char[], int, int)
,
stringWidth(String)
public int charWidth(char ch)
Font
의 지정한 문자의 유효폭을 돌려줍니다. 유효폭은, 캐릭터 라인의 baseline의 좌단의 점으로부터 우단의 점까지의 거리입니다. 유효 String
는, 반드시 문자의 유효폭의 합계는 아닌 것에 주의해 주세요.
주: 이 메소드는,보조 문자를 처리할 수 없습니다. 보조 문자를 포함한 모든 Unicode 문자를 지원하려면 ,charWidth(int)
메소드를 사용합니다.
ch
- 측정 대상의 문자
FontMetrics
객체가
기술하는 Font
의
지정된 문자의 유효폭charsWidth(char[], int, int)
,
stringWidth(String)
public int stringWidth(String str)
String
를, 이 Font
로 표시하기 위한 유효폭의 합계를 돌려줍니다. 유효폭은, 캐릭터 라인의 baseline의 좌단의 점으로부터 우단의 점까지의 거리입니다.
유효 String
는, 반드시 문자의 유효폭의 합계는 아닌 것에 주의해 주세요.
str
- 측정되는 String
FontMetrics
객체가
기술하는 Font
의
지정된 String
의 유효폭
NullPointerException
- str 가 null 의 경우bytesWidth(byte[], int, int)
,
charsWidth(char[], int, int)
,
getStringBounds(String, Graphics)
public int charsWidth(char[] data, int off, int len)
Font
로 표시하기 위한 유효폭의 합계를 돌려줍니다. 유효폭은, 캐릭터 라인의 baseline의 좌단의 점으로부터 우단의 점까지의 거리입니다. 유효 String
는, 반드시 문자의 유효폭의 합계가 아닙니다. 지정한 범위에서 문자의 String
를 측정하는 경우와 같은 결과를 얻을 수 있습니다.
data
- 측정되는 문자의 배열off
- 배열중의 문자의 개시 오프셋(offset)len
- 배열로부터 측정되는 문자수
FontMetrics
객체가
기술하는 폰트의 지정된 char
배열의
부분 배열의 유효폭
NullPointerException
- data
가 null 의 경우
IndexOutOfBoundsException
- off
인수와
len
인수가 가리키는 문자가
data
배열의 범위외의 경우charWidth(int)
,
charWidth(char)
,
bytesWidth(byte[], int, int)
,
stringWidth(String)
public int bytesWidth(byte[] data, int off, int len)
Font
로 표시하기 위한 유효폭의 합계를 돌려줍니다. 유효폭은, 캐릭터 라인의 baseline의 좌단의 점으로부터 우단의 점까지의 거리입니다. 유효 String
는, 반드시 문자의 유효폭의 합계가 아닙니다. 지정한 범위에서 문자의 String
를 측정하는 경우와 같은 결과를 얻을 수 있습니다.
data
- 측정되는 바이트의 배열off
- 배열중의 바이트의 개시 오프셋(offset)len
- 배열로부터 측정되는 바이트수
FontMetrics
객체가
기술하는 Font
의 지정된 byte
배열의
부분 배열의 유효폭
NullPointerException
- data
가 null 의 경우
IndexOutOfBoundsException
- off
인수와
len
인수가 가리키는 바이트가
data
배열의 범위외의 경우charsWidth(char[], int, int)
,
stringWidth(String)
public int[] getWidths()
Font
의 최초의 256 문자의 유효폭을 가져옵니다. 유효폭은, 캐릭터 라인의 baseline의 좌단의 점으로부터 우단의 점까지의 거리입니다. 유효 String
는, 반드시 문자의 유효폭의 합계는 아닌 것에 주의해 주세요.
FontMetrics
객체가 기술한다
Font
의 문자의
유효폭이 포함되고 있는 배열public boolean hasUniformLineMetrics()
Font
가 균일의 라인메트릭스를 가질지 어떨지를 판정합니다. 복합 폰트는, 다양한 캐릭터 세트를 망라하기 위해서 복수의 폰트로 구성되는 일이 있습니다. 그 경우,FontLineMetrics
객체는 균일하지는 않습니다. 폰트 마다, 다른 아센트, 디 센트, 메트릭스등을 가지는 일이 있습니다. 이 정보는, 행 측정 및 행 분할에 필요하게 되는 경우가 있습니다.
true
,
그렇지 않은 경우는 false
Font.hasUniformLineMetrics()
public LineMetrics getLineMetrics(String str, Graphics context)
Graphics
문맥으로, 지정된 String
LineMetrics
객체를 돌려줍니다.
str
- 지정된 String
context
- 지정된 Graphics
문맥
String
및
Graphics
문맥으로 생성된 LineMetrics
객체Font.getLineMetrics(String, FontRenderContext)
public LineMetrics getLineMetrics(String str, int beginIndex, int limit, Graphics context)
Graphics
문맥으로, 지정된 String
LineMetrics
객체를 돌려줍니다.
str
- 지정된 String
beginIndex
- str
의 개시 오프셋(offset)limit
- str
의 종료 오프셋(offset)context
- 지정된 Graphics
문맥
String
및
Graphics
문맥으로 생성된 LineMetrics
객체Font.getLineMetrics(String, int, int, FontRenderContext)
public LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, Graphics context)
Graphics
문맥으로, 지정된 문자 배열 LineMetrics
객체를 돌려줍니다.
chars
- 지정된 문자 배열beginIndex
- chars
의 개시 오프셋(offset)limit
- chars
의 종료 오프셋(offset)context
- 지정된 Graphics
문맥
Graphics
문맥으로 생성된 LineMetrics
객체Font.getLineMetrics(char[], int, int, FontRenderContext)
public LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, Graphics context)
Graphics
문맥으로, 지정된 CharacterIterator
LineMetrics
객체를 돌려줍니다.
ci
- 지정된 CharacterIterator
beginIndex
- ci
의 개시 오프셋(offset)limit
- ci
의 종료 인덱스context
- 지정된 Graphics
문맥
LineMetrics
객체Font.getLineMetrics(CharacterIterator, int, int, FontRenderContext)
public Rectangle2D getStringBounds(String str, Graphics context)
Graphics
문맥으로, 지정된 String
의 경계를 돌려줍니다. 이 경계는,String
를 배치하기 위해서 사용됩니다.
주:경계는, baseline를 기준으로 한 좌표로 돌려주어집니다 (class notes
를 참조).
str
- 지정된 String
context
- 지정된 Graphics
문맥
Graphics
문맥을 가지는,
지정된 String
의
바운딩 박스를 나타내는 Rectangle2D
Font.getStringBounds(String, FontRenderContext)
public Rectangle2D getStringBounds(String str, int beginIndex, int limit, Graphics context)
Graphics
문맥으로, 지정된 String
의 경계를 돌려줍니다. 이 경계는,String
를 배치하기 위해서 사용됩니다.
주:경계는, baseline를 기준으로 한 좌표로 돌려주어집니다 (class notes
를 참조).
str
- 지정된 String
beginIndex
- str
의 선두의 오프셋(offset)limit
- str
의 종료 오프셋(offset)context
- 지정된 Graphics
문맥
Graphics
문맥을 가지는,
지정된 String
의
바운딩 박스를 나타내는 Rectangle2D
Font.getStringBounds(String, int, int, FontRenderContext)
public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, Graphics context)
Graphics
문맥으로, 지정된 문자 배열의 경계를 돌려줍니다. 이 경계는, 지정된 문자 배열,beginIndex
, 및 limit
로 작성된 String
를 배치하기 위해서 사용됩니다.
주:경계는, baseline를 기준으로 한 좌표로 돌려주어집니다 (class notes
를 참조).
chars
- 문자 배열beginIndex
- 문자 배열의
개시 오프셋(offset)limit
- 문자 배열의 종료 오프셋(offset)context
- 지정된 Graphics
문맥
Graphics
문맥을 가지는,
지정된 문자 배열의
바운딩 박스를 나타내는 Rectangle2D
Font.getStringBounds(char[], int, int, FontRenderContext)
public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, Graphics context)
Graphics
문맥으로, 지정된 CharacterIterator
내의 인덱스 첨부 캐릭터 라인의 경계를 돌려줍니다.
주:경계는, baseline를 기준으로 한 좌표로 돌려주어집니다 (class notes
를 참조).
ci
- 지정된 CharacterIterator
beginIndex
- ci
의 개시 오프셋(offset)limit
- ci
의 종료 인덱스context
- 지정된 Graphics
문맥
Graphics
문맥을 가지는,
지정된 CharacterIterator
내의 인덱스 첨부 문자의
바운딩 박스를 나타내는 Rectangle2D
Font.getStringBounds(CharacterIterator, int, int, FontRenderContext)
public Rectangle2D getMaxCharBounds(Graphics context)
Graphics
문맥으로, 최대의 경계를 가지는 문자의 경계를 돌려줍니다.
context
- 지정된 Graphics
문맥
Rectangle2D
Font.getMaxCharBounds(FontRenderContext)
public String toString()
FontMetrics
객체의 값의 String
표현을 돌려줍니다.
Object
내의 toString
FontMetrics
객체의
캐릭터 라인 표현
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.