LineMetrics 클래스

LineMetrics 클래스

LineMetrics 클래스는 한 줄을 따라 문자를 배치하거나 줄의 집합을 배치하는 데 필요한 메트릭에 접근하게 해줘요. LineMetrics 객체는 텍스트의 한 실행(run)과 관련된 측정 정보를 캡슐화해요.

출처: Java API Reference

본문

글꼴은 문자 범위에 따라 다른 메트릭을 가질 수 있어요. FontgetLineMetrics 메서드는 텍스트를 인자로 받아, getNumChars()가 반환하는 초기 문자 수에 대한 메트릭을 설명하는 LineMetrics 객체를 반환해요.

public abstract class LineMetrics
extends Object

주요 메서드

  • getAscent() — 텍스트의 ascent(위쪽 돌출 높이)를 반환해요.
  • getDescent() — 텍스트의 descent(아래쪽 돌출 깊이)를 반환해요.
  • getHeight() — 텍스트의 높이를 반환해요.
  • getLeading() — 텍스트의 leading(행간)을 반환해요.
  • getBaselineIndex() — 텍스트의 기준선 인덱스를 반환해요. ROMAN_BASELINE, CENTER_BASELINE, HANGING_BASELINE 중 하나예요.
  • getBaselineOffsets() — 텍스트 기준선에 상대적인 기준선 오프셋 배열을 반환해요.
  • getNumChars() — 이 LineMetrics 객체가 메트릭을 담은 텍스트의 문자(char 값) 수를 반환해요.
  • getUnderlineOffset() / getUnderlineThickness() — 기준선에 상대적인 밑줄 위치와 두께를 반환해요.
  • getStrikethroughOffset() / getStrikethroughThickness() — 기준선에 상대적인 취소선 위치와 두께를 반환해요.

생성자

protected LineMetrics() — 하위 클래스가 호출하기 위한 생성자예요.

사용 예

Font.getLineMetrics(String, FontRenderContext)로 특정 텍스트의 줄 메트릭을 얻어서, 텍스트를 세로로 배치할 때 필요한 ascent·descent·leading 값을 계산할 수 있어요. 밑줄·취소선을 직접 그릴 때도 오프셋과 두께를 얻어 정확한 위치에 렌더링해요.

더 알아보기