Tk의 폰트(font)

admin의 아바타

font 형식

위젯의 -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}