GlyphVector 클래스
GlyphVector 클래스
GlyphVector 객체는 최종적으로 표시될 장치에 해당하는 변환 좌표 공간에서 각 글리프의 배치를 위한 기하 정보를 담은 글리프의 모음이에요. GlyphVector는 포함된 글리프 시퀀스를 해석하려 시도하지 않아요. 시퀀스에서 인접 글리프의 관계는 시각 좌표 공간에서 글리프 배치를 결정하는 데만 사용돼요.
본문
GlyphVector 인스턴스는 Font에 의해 생성돼요. 텍스트의 중간 표현을 캐시할 수 있는 텍스트 처리 애플리케이션에서, 렌더링 중에 사용할 GlyphVector를 생성·캐시하는 것이 사용자에게 문자 시각 표현을 제시하는 가장 빠른 방법이에요.
public abstract class GlyphVector
extends Object
implements Cloneable
GlyphVector는 정확히 하나의 Font와 연결되고, 이 Font와 관련해서만 유용한 데이터를 제공할 수 있어요. GlyphVector에서 얻은 메트릭은 일반적으로 기하적으로 확장 가능하지 않아요. 픽셀화와 간격이 Font 내부의 그리드 맞춤 알고리즘에 달려 있기 때문이에요.
GlyphVector와 그 구성 글리프를 정확히 측정하려면, 생성할 때 스케일링 변환·안티앨리어스 모드·분수 메트릭 모드를 지정해야 해요. 이런 특성은 대상 장치에서 유도할 수 있어요.
글리프 정보
각 글리프에 대해 다음을 얻을 수 있어요.
- 글리프의 위치(position)
- 글리프와 연관된 변환(transform)
GlyphVector맥락에서의 글리프 메트릭
글리프 메트릭은 서로 다른 변환, 애플리케이션이 지정한 렌더링 힌트, GlyphVector 내 글리프의 구체적 인스턴스에 따라 달라질 수 있어요. GlyphVector 생성에 사용한 데이터를 바꿔도 GlyphVector의 상태는 바뀌지 않아요.
제공 메서드
- 글리프 위치 조정 메서드 — 글리프 정렬(justification) 작업을 수행하는 애플리케이션에 가장 적합해요.
- 개별 글리프 변환 메서드 — 주로 특수 효과에 유용해요.
- 전체
GlyphVector또는 개별 글리프의 시각·논리·픽셀 경계를 반환하는 메서드 GlyphVector전체 또는 개별 글리프를 위한Shape를 반환하는 메서드
주요 메서드
getNumGlyphs()— 글리프 수를 반환해요.getGlyphPosition(int)/setGlyphPosition(int, Point2D)— 글리프 위치를 읽고 설정해요.getGlyphMetrics(int)— 글리프 메트릭을 반환해요.getGlyphOutline(int)— 글리프 윤곽선Shape를 반환해요.getGlyphTransform(int)/setGlyphTransform(int, AffineTransform)— 개별 글리프 변환을 다뤄요.getLogicalBounds()/getVisualBounds()/getPixelBounds(...)— 경계를 반환해요.