GlyphVector 클래스

GlyphVector 클래스

GlyphVector 객체는 최종적으로 표시될 장치에 해당하는 변환 좌표 공간에서 각 글리프의 배치를 위한 기하 정보를 담은 글리프의 모음이에요. GlyphVector는 포함된 글리프 시퀀스를 해석하려 시도하지 않아요. 시퀀스에서 인접 글리프의 관계는 시각 좌표 공간에서 글리프 배치를 결정하는 데만 사용돼요.

출처: Java API Reference

본문

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(...) — 경계를 반환해요.

더 알아보기