본문으로 바로가기

Tk의 폰트(font)

category 카테고리 없음 2024. 4. 23. 10:31

폰트 형식

위젯의 -font 옵션으로 폰트의 이름을 지정할 수 있으며, 다음의 형식이 있습니다.

fontname

font create 커맨드로 만들어진 폰트 이름

systemfont

플랫폼에 의존한 시스템 폰트 이름이며, X Windows 에서는, xlsfonts의 리스트로 된 폰트 이름, Windows에서는, system, ansi, device, systemfixed, ansifixed, oemfixed; Macintosh에서는, system, application을 사용할 수 있습니다.

family ?size? ?style? ?style? ...?

폰트 패밀리(family), 사이즈(size), 스타일(style)의 리스트 형식. 패밀리는 Courier, Times, Helvetica ... 등이며, 사이즈는 폰트 사이즈를 숫자로 지정합니다. 스타일은 아래의 조합입니다.

  • normal
  • bold
  • roman
  • italic
  • underline
  • overstrike

예: {Gulim 9 bold}

X-Font Names (XLFD)

X Windows의 폰트 이름 형식

option value ?option value ....?


옵션과 값의 쌍(pair) 형식

  • -family name
  • -size size
  • -weight weight
  • -slant slant
  • -underline boolean-overstrike boolean

font 커맨드

font 커맨드는, 폰트의 자세한 정보를 얻는 데 사용합니다.

폰트의 자세한 정보 취득

font actual {Gulim 9}
=> -family 굴림 -size 9 -weight normal -slant roman -underline 0 -overstrike 0

폰트 패밀리 목록 취득

font families
=> System @System Terminal @Terminal Fixedsys @Fixedsys Roman Script ......
HY백송B @HY백송B Kartika Vrinda mini 천리안체 @천리안체 천리안체H @천리안체H

폰트의 폭 취득

font measure {Gulim 9} "한"
=> 12

폰트의 높이 정보 취득

font metrics {Gulim 9}
=> -ascent 10 -descent 2 -linespace 12 -fixed 0

폰트의 높이 취득

font metrics {Gulim 9} -linespace
=> 12

 

font metrics에 사용된 옵션의 의미는 다음과 같습니다.

  • -ascent: 가장 높은 문자의 베이스 라인부터 위의 높이
  • -descent: 가장 낮은 문자의 베이스 라인부터 아래의 높이
  • -linespace: -ascent와 -descent를 합한 높이
  • -fixed: 고정폭 폰트인지 아닌지 (1: 고정, 0:고정아님)

리소스(resource)를 이용한 폰트 설정

각 위젯에 -font 옵션을 지정하지 않아도, 손쉽게 모든 위젯의 폰트를 지정하는 방법은 다음과 같습니다. 스크립트의 선두에 아래의 코드를 적어두시면 됩니다.

option add *Font {Gulim 9}