Fontconfig/ko

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Fontconfig and the translation is 78% complete.

Other languages:
English • ‎español • ‎français • ‎日本語 • ‎한국어 • ‎polski • ‎русский • ‎中文(中国大陆)‎
Resources

fontconfig 라이브러리(media-libs/fontconfig)는 GUI 프로그램에서 사용할 단일 글꼴 선택, 설정 수단을 제공합니다. 다양한 데스크톱 환경에서 자체적으로 글꼴을 우선 적용하거나 설정 수단을 제공하고 있지만, fontconfig는 여전한 기반 라이브러리 역할을 합니다.

설치

fontconfig가 필요할 때는 대부분 이미 설치한 상태입니다. fontconfig가 없다면 그래픽 하위시스템 (예. X 또는 Wayland)과 데스크톱 환경 을 제대로 설정했는지 확인하십시오.

USE 플래그

fontconfig에는 알려진 USE 플래그가 많지 않습니다.

USE flags for media-libs/fontconfig A library for configuring and customizing font access

doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally global
static-libs Build static versions of dynamic libraries as well global

설정

참고
fontconfig 파일을 바꾸고 나면 다시 시작한 프로그램에만 설정이 반영됩니다!

일반

fontconfig/etc/fonts/ 디렉터리의 XML 파일을 사용하여 내부 설정을 만듭니다. 기본적으로 제대로 된 기본값을 설정하며, /etc/fonts/conf.d/ 내용을 해석하기도 하는 코드가 들었는 /etc/fonts/fonts.conf를 해석합니다(사용자는 이 파일을 편집하면 안됩니다!). 게다가 fontconfig의 일부 양상을 다루는 다양하게 사용할 수 있는 설정 파일이 /etc/fonts/conf.avail/ 에 들어있습니다. /etc/fonts/conf.d/ 경로에 필요한 파일을 개별적으로 심볼릭 링크를 걸어둡니다. 이 파일은 이름 순으로 실행합니다. 이런 이유로 이름 앞에 파일에 영향을 주는 요소를 나타내는 두자리 숫자로 시작(클래스라고 함)하는 이름을 정합니다.

젠투 관련

젠투 배포판에는 일반적으로 정확하게 설명해드린 eselect 모듈(eselect fontconfig)이 들어있습니다. /etc/fonts/conf.avail/에 있는 파일의 심볼릭 링크를 /etc/fonts/conf.d/ 디렉터리에 추가하거나 제거하여 관리합니다. 명백한 이유로 인해 시스템 전역에 영향을 주는 설정 파일을 바꾸려면 그에 합당한 권한이 필요합니다.

다음 하위섹션에서는 fontconfig eselect 모듈을 다루는 방법을 설명하겠습니다.

존재 파일 나타내기

list 명령은 기존의 fontconfig 파일을 보여주며, 활성화 항목은 애스터리스크(*)로 표시합니다.

root #eselect fontconfig list
Available fontconfig .conf files (* is enabled):
  [1]   10-autohint.conf *
  [2]   10-no-sub-pixel.conf
  [3]   10-sub-pixel-bgr.conf
  [4]   10-sub-pixel-rgb.conf
  [5]   10-sub-pixel-vbgr.conf
  [6]   10-sub-pixel-vrgb.conf
  [7]   10-unhinted.conf
  [8]   11-lcdfilter-default.conf
  [9]   11-lcdfilter-legacy.conf
  ...
경고
각기 다른 시스템의 fonts.avail에 각기 다른 파일이 존재하므로 출력은 다를 수도 있습니다. 다른 참고 원문(블로그 게시글, 위키 게시글)에 있지만 보이지 않는 번호는 사용하시면 안됩니다.

파일 활성화

파일은 파일 이름 또는 각 괄호의 번호로 활성화할 수 있습니다. 다음 두가지 경우는 같습니다:

root #eselect fontconfig enable 10-sub-pixel-rgb.conf
root #eselect fontconfig enable 4

파일 비활성화

다음과 같이 파일을 비활성화할 수 있습니다:

root #eselect fontconfig disable 10-sub-pixel-rgb.conf
root #eselect fontconfig disable 4

시스템 영역 범위 개별 설정

개별적인 시스템 범위 fontconfig 파일을 만들려면 51-local.conf를 활성화하고 /etc/fonts/local.conf(XML 파일)을 만드십시오.

파일 /etc/fonts/local.conf산세리프 글꼴을 대체 순서로 원하는대로 설정한 파일 예제
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Ubuntu</family>
      <family>TakaoPGothic</family>
      <family>Droid Sans</family>
    </prefer>
    <default><family>DejaVu Sans</family></default>
  </alias>
</fontconfig>

분명하게 말하자면 이 부분은 산세리프 글꼴과 함께 사용할 경우 (순서대로) Ubuntu, TakaoPGothic, Droid Sans 글꼴을 DejaVu 산스(필요할 때 "기본 값"으로만 사용할 수 있음)보다 더욱 "선호"함을 나타냅니다. 분명하게 말해서, 다른식으로도 설정할 수 있습니다.

사용자별 설정

사용자별 fontconfig 파일을 만들려면 50-user.conf 파일(기본으로 활성화한 상태)을 활성화하고, 최종 사용자에게 ~/.config/fontconfig/fonts.conf 파일을 사용하게 하십시오. 이 파일은 local.conf와 동일한 XML 형식입니다.

참고
데스크톱 환경 폰트 렌더링에 영향을 줄 수 있는 방법입니다. 실제로 개별적으로 설정할 때 시스템 영역에 영향을 미치는 설정인지 확인하여 신중하게 비활성화해야합니다. 이 항목을 비활성화하면 여러 사용자 계정에 좀 더 동일하게 글꼴 모양새 표현을 할 수도 있습니다.
참고
이전에 사용한 ~/.fonts.conf 파일은 이제 $XDG_CONFIG_HOME 기반 위치의 방식을 사용하면서 더이상 사용하지 않는 방식입니다. 이 변수는 기본적으로 ~/.config 위치를 가리킵니다.

설정 점검

예를 들어 기본 글꼴을 에이리얼로 바꿀 때 다음과 같이 입력하십시오:

user $fc-match Arial

앤티 애일리어싱, 힌팅, 하위픽셀 렌더링

마찬가지로 표현 방식도 조절할 수 있습니다. 다음 섹션에서 앤티 애일리어싱, 힌팅, 하위픽셀 렌더링 기능을 조절해보겠습니다.

기능 설명
안티 애일리어싱 기본적으로 활성화상태이며, 글꼴을 각진 모양새로 보이지 않도록 합니다.
힌팅 현재 디스플레이 영역의 픽셀 계수 단위로 대응을 시도합니다. 제대로 된 힌팅처리 설정을 하면 글꼴이 약간 선명해 보일 수 있지만 글꼴 측정 단위가 (그리고 바뀐다 하더라도 거의 안바뀝니다) 전체적으루다가 텍스트가 어떻게 바뀌어 보이는지는 영향을 주지 않습니다.
하위픽셀 렌더링 LCD 행렬은 텍스트 해상도의 3배수에 해당하는 광 3원색을 활용하는게 사실이지만 문자가 실제로 완전한 검은색으로 나타나지 않을 수 있습니다. lcdfilter를 하위 픽셀 렌더링(fontconfig 새 버전에서 사용할 수 있음)에 활용하지 못하게 할 수 있지만, 문자를 상당히 뭉개져보이게 할 수 있습니다. 결론적으로 이 기능은 전적으로 사용자가 텍스트의 어떤 모양새를 좋아하는지에 달려있습니다.

강제 힌팅

기본 fontconfig 동작에서 기대하고자 하는 힌팅은 문서로 남겨두지 않았지만, 시스템 전반적으로 기본 설정이 되게 끔 결정적인 차선의 설정으로 만들 수 있습니다.

  1. 우선 /etc/fonts/local.conf 파일을 활성화하십시오
  2. 기본적으로 완전한 힌팅을 하도록 local.conf 파일을 편집하십시오

local.conf 일부에서는 완전한 힌팅을 활성화합니다:

파일 /etc/fonts/local.conf완전한 힌팅 설정
<match target="font">
  <edit mode="assign" name="hintstyle">
    <const>hintfull</const>
  </edit>
</match>
참고
대부분의 글꼴은 완전한 힌팅을 적용하면 더욱 보기 좋지만 어떤 글꼴은 약하게 적용하든지 아주아주아주 드물게 사용하는 다른 힌팅 옵션이 필요합니다. 어떤 글꼴은 한가지 이상의 이유로 항상 못생긴 모양새를 보여줄 수 있습니다.

하위픽셀 렌더링 사용

LCD 행렬의 하위 픽셀 배치 결정은 상당히 중요합니다. 보통 RGB(10-sub-pixel-rgb.conf)지만, 확인하는 유일한 방법은 디스플레이 명세를 확인하든지 sub-pixel 배치 시험을 통해 확인하는 방법뿐입니다.

하위 픽셀 배치를 설정하고 나면, 적합한 10-sub-pixel-<matrix type>.conf 파일을 활성화하십시오.

root #eselect fontconfig enable 10-sub-pixel-rgb.conf

가능하다면 진심으로 하위픽셀 렌더링에 lcdfilter를 사용하시는게 좋겠습니다. 다양한 설정이 딸려오지만 모든 일반 글꼴에는 (11-lcdfilter-default.conf) 설정이 적당합니다.

root #eselect fontconfig enable 11-lcdfilter-default.conf
경고
media-libs/freetypebindist USE 플래그는 잠재적 특허 문제 때문에 하위픽셀 렌더링을 끕니다. 하위 픽셀 렌더링을 사용하려면, 이 꾸러미의 USE 플래그(-bindist)를 꺼야합니다.

자동 힌터 관련

자동 힌터는 어떤 기존의 힌팅 정보와는 무관하게 자동 힌팅을 시도합니다. 이 기능이 기본이 되기 전에는 TrueType2가 특허를 다루었기 때문이었지만 지금은 만료됐고, 이걸 사용할 이유가 별로 없습니다. 기술적 관점에서 보면 글자가 깨져보이거나 힌팅 정보가 없거나 하는 것보단 낫지만, 바람직한 힌팅 정보를 통해 글꼴에 대한 차선 적용책이 될 수 있습니다. 일반 시스템 글꼴은 후자 방식을 적용하므로 자동 힌터는 사용할 일이 없습니다.

경고
자동 힌터는 하위픽셀 렌더링과 호환성이 없으니 함께 사용하지 마십시오!

Infinality

Infinality는 (일부 논란의 여지가 있는) FreeType용 패치 모음이며 fontconfig 파일에 있습니다. Infinality의 목적은 기타 OS 글꼴 표현 방식 흉내를 포함한 고품질 글꼴 표현 방식 제공에 있습니다.

참고
프로그램이 여전히 개발중이긴 하지만 최신 버전에 알려진 문제가 없지 않는 한 항상 가능한 최신 버전만 사용하는 방안에는 신중해야합니다.

Infinality 활성화

euse 도구를 사용하거나 직접 편집하는 방식으로 make.conf를 편집하여 'infinality' USE 플래그를 활성화하십시오.

root #euse -E infinality

다음 영향받는 프로그램을 다시 빌드하십시오.

root #emerge --ask -uvDU @world

다시 빌드한 후 메시지가 나오지 않는다면, 52-infinality.conf를 활성화하십시오.

root #eselect fontconfig enable 52-infinality.conf

Infinality 설정

Infinality는 개별 설정 등의 다양한 방식으로 설정할 수 있지만, 가장 쉬운 방법은 infinality USE 플래그의 의존성에 따라 eselect 모듈로 설치할 때 딸려오는 미리 만들어둔 media-libs/fontconfig-infinality의 프로파일을 사용하는 방법입니다.

간단하고 적절한 설정

root #eselect infinality set infinality
root #eselect lcdfilter set infinality
참고
항상 그렇듯, fontconfig는 설정을 바꾸고 나서 시작한 프로그램에만 설정을 적용합니다.

Infinality 방식으로 글꼴을 표현하는 수단과 혼동이 되지 않게 52-infinality.conf를 제외한 모든 fontconfig 설정을 끄는 것이 좋습니다:

root #eselect fontconfig disable <number>

일부 fontconfig 설정은 글꼴 표현 방식과 혼동되지 않지만, 글꼴 형식에 대한 기본 글꼴(고정폭, 산세리프 등)을 결정하긴 합니다. 어떤 설정(이를테면, 62-croscore-*.conf 설정의 경우)은 활성화 상태로 둘 수 있습니다.

설명

Infinality는 fontconfig 파일 설정을 바꾸는 패치를 도입하여 기능을 설정할 때 사용할 수 있는 FreeType 환경 변수를 제공합니다. fontconfig 파일 설정은 젠투 리눅스에서 eselect lcdfilter 명령으로 FreeType 동작을 설정하듯이 eselect infinality로 관리합니다.

이들 eselect 모듈은 흔한 동작을 합니다:

  • fontconfig 파일 설정 표시.
root #eselect infinality list
  • FreeType 변수 설정 표시.
root #eselect lcdfilter list
  • 물론 아래와 같이 여러 설정이 일치하는 경우를 제외하고 두 설정은 일치해야합니다.
root #eselect infinality set win7
root #eselect lcdfilter set windows-7-light

글꼴 선택

올바른 글꼴 선택은 올바른 힌팅 형식을 결정하는 것보다 더욱 까다로울 수 있습니다. 이런 이유 때문이거나 또는 다른 어떤 글꼴이... 완벽하게 보일리는 없겠지만 동일해보이는 글꼴이면서 더욱 멋드러져보이게 만들 수 있다면, 윈도우 7 기본 글꼴 설정을 넣어보십시오.

젠투에 잘 알려졌으리라 생각되는 몇 가지 추천 글꼴을 소개합니다:

Font family Pros Cons
Liberation
media-fonts/liberation-fonts
Red Hat's fonts, which are metric-compatible with MS TrueType corefonts, have a decent, modern look. This is the Gentoo Fonts team recommendation for default Latin fonts. Covers about 2,600 code points. Latin, Greek, Cyrillic, and Hebrew only. A few glyphs may have hinting trouble.
Linux Libertine
media-fonts/libertine
Very similar to Liberation, covering about 2,700 code points. Linux Libertine itself is proportional serif only, but the package contains less extensive sans and mono fonts, as well. Can be used as a fallback for some glyphs not in Liberation. Latin, Greek, Cyrillic, and Hebrew only. Sans and mono fonts are limited.
Noto
media-fonts/noto
Google's font family that aims to support all the world's languages (so, well over 60,000 code points). It goes well with Liberation or Droid. Adobe's Source Han Sans fonts are included for CJK. Recommended as a fallback for many glyphs not covered by Liberation. Big download.
DejaVu
media-fonts/dejavu
Many styles and covers a lot of code points (about 6,100 for sans). Exceptionally wide — even condensed is wider than same-height monospace. Overall second to Verdana (an MS font) in width. Sans-serif font is only average.
Droid
media-fonts/droid
Covers a lot of code points and scripts. Very dry, wide yet thin glyphs. Clearly designed with handheld devices and their small screens in mind.
Gentium Plus
media-fonts/sil-gentium
Fairly distinctive; might appeal to people who like narrow fonts. Serif only. As with other SIL fonts, the hinting is questionable.
Ubuntu
media-fonts/ubuntu-font-family
Used in Ubuntu (obviously). A distinctive font family with a style which might not appeal to everyone. Overall looks good and covers a fair number of code points. Only the sans-serif font is truly polished; narrow and monospaced versions are unfinished. No known serif font that would accompany it well.
URW
media-fonts/urw-fonts
Metric compatible with popular Adobe fonts (among others?). Seem to require slight hinting.
MS TrueType corefonts
media-fonts/corefonts
Includes most fonts used in documents and on the web. MS does not distribute them nowadays, so the available fonts are from many years ago and do not reflect their current state (not to mention the state of the art). Obviously, lacks fonts introduced more recently. Require full hinting.
Unifont
media-fonts/unifont
Covers a lot of code points. In addition to being ugly as sin, it also fails some basic requirements to be considered a typeface. Is it sans-serif? Is it serif? Please never use this.

외부 자료