Fontconfig/ko

fontconfig 라이브러리는 GUI 프로그램에서 사용할 일관된 글꼴 선택과 설정 방식을 제공합니다. 다양한 데스크톱 환경에서 자체적으로 글꼴을 우선 적용하거나 설정 수단을 제공하고 있지만, fontconfig는 여전한 밑바탕 라이브러리 역할을 합니다.

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

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

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

존재 파일 나타내기
명령은 존재하는 fontconfig 파일을 보여주며, 활성화 항목은 애스터리스크로 표시합니다.

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

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

시스템 영역 범위 개별 설정
개별적인 시스템 범위 fontconfig 파일을 만들려면 를 활성화하고 (XML 파일)을 만드십시오.

사용자별 설정
사용자별 fontconfig 파일을 만들려면 (기본적으로 활성화 상태임) 파일을 활성화하시고, 각 최종 사용자들이 사용할 파일을 주십시오(와 같은 XML 형식).

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

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

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


 * 1) First enable
 * 2) Edit the  file to include full hinting by default

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

하위픽셀 렌더링 사용
It's important to determine the sub-pixel layout of the LCD matrix. It's usually RGB but the only way to be sure is to either consult display specification or use this sub-pixel layout test to determine it.

Once determined, enable the appropriate file.

It's strongly advised that lcdfilter, if available, is used with sub-pixel rendering. It comes in different varieties but the default should be appropriate for all common fonts.

Regarding autohinter
Autohinter attempts to do automatic hinting disregarding any existing hinting information. Until recently it was the default because TrueType2 was covered by patents but now that they have expired there's very little reason to use it. From technical point of view it does better than broken or no hinting information but it will be strongly sub-optimal for fonts with good hinting information. Generally system fonts are of the second kind so autohinter should not be used.

Infinality
Infinality is a (somewhat controversial) set of patches for FreeType and accompanying fontconfig</tt> files. The goal of Infinality is to provide higher quality font rendering including emulation of other OS font rendering styles.

Enabling Infinality
Enable the 'infinality' USE flag by editing either manually or by using euse tool.

Next, rebuild the affected programs.

Unless messages shown after rebuild tell otherwise, enable.

Configuring Infinality
Infinality can be configured in various ways including custom configurations, but easiest is to use pre-made profiles shipped in that along with eselect modules should have been installed as dependencies of the   USE flag.

Quick and reasonable config
It's also recommended to disable all fontconfig</tt> settings except for as they interfere with the rendering of infinality styles:

Certain fontconfig</tt> settings do not interfere with how the fonts are rendered, but rather determine the default fonts for font-types (such as Monospace, sans-serif, etc.). Such settings (for example the configurations) can be left enabled.

설명
Infinality provides FreeType environment variables that can be used to configure features introduced with its patches as well as fontconfig</tt> files to be used with these changes. fontconfig</tt> file sets are administrated on Gentoo via eselect infinality</tt> while the FreeType behaviour is set using eselect lcdfilter</tt>.

These eselect modules function as usual:


 * Listing available fontconfig</tt> file sets.


 * Listing available FreeType variable sets.


 * Both sets should match of course except when there are multiple matches possible such as shown below.

Picking fonts
Choosing the right font can be trickier than deciding on the right hinting type. For one reason or another fonts will not be perfect but it's certainly doable to make that same fonts look better than, say, Windows 7 default font configuration.

External resources

 * In-depth articles from Arch Linux wiki on:
 * Font configuration
 * Infinality
 * Official fontconfig</tt> documentation for users
 * Wikipedia article on font hinting