TL; DR : fontconfig를 이해하려면 생성 된 이유와 해결하려는 문제를 이해해야합니다.이를 위해서는 Xorg에 대한 많은 이해가 필요합니다.
UNIX 컴퓨터에서 글꼴 구성은 다른 단계와 fontconfig em를 거쳤습니다. >는 단순히 사용할 수있는 가능성 중 하나입니다. Xorg를 통해 글꼴을 사용하십시오. Xorg의 소스를 잘 이해하지 않고 fontconfig의 소스를 읽는 것은 아마도 매우 어려울 것입니다. 하지만 글꼴 진화의 개념에 대한 이해가 적절한 출발점이라고 생각합니다.
면책 조항 : Linux에서 글꼴을 많이 다루지 만 Xorg 코드 관련을 변경할 필요는 없었습니다. 글꼴에.
Arch Linux wiki에도 이에 대한 많은 정보가 있습니다.
약간의 역사
원래 UNIX 글꼴은 단순히 비트 맵 글꼴이었습니다. 오늘날 이것들은 /usr/share/fonts/misc
에서 찾을 수 있으며, PCF (포터블 컴파일 형식)는 오늘날 거의 모든 것에 사용됩니다. 바이너리 형식입니다. 이진 글꼴의 다른 형식이 있었지만 이진 글꼴에 PCF 이외의 다른 형식을 사용할 필요가 없었 음을 인정해야합니다. xfontsel
를 사용하여 Xorg 문자열을 구성하여 포인트, 간격, 픽셀 크기, 터미널 두께 (굵게, 기울임), 인코딩 등을 정의 할 수 있습니다.
비트 맵 글꼴은 글꼴의 픽셀 크기에 따라 파일이 다릅니다. 비트 맵 글꼴은 이미 글꼴 패밀리의 개념을 도입했습니다.
포스트 스크립트 (및 어느 정도 TeX)는 벡터 기반 글꼴 인 Type 1 글꼴을 만들었습니다. /usr/share/fonts/Type1
에 있습니다. 벡터 글꼴은 여러 구성 값으로 구성됩니다. 앤티 앨리어싱, 굵게, dpi 또는 크기 (이번에는 포인트 기반 일 필요는 없음).
벡터 기반 글꼴은 크기가 조정되며 여러 파일이 필요하지 않습니다.
Xorg는 비트 맵 및 Type1 글꼴을 모두 사용했습니다. . 그리고 그것은 XFT를 만들었습니다 (잘 X FreeType은 Type1을 모방하고 확장하는 GPL / BSD 라이브러리 인 FreeType에 대한 인터페이스입니다). XFT는 Type1 및 FreeType 글꼴뿐만 아니라 Adobe 및 Microsoft의 OTF, Apple의 TTF와 같은 다른 형식도 사용할 수 있습니다. 또한 XFT를 사용하면 이전 비트 맵 글꼴을 Type1 글꼴처럼 확장 할 수 있습니다.
힌트 또는 힌트 스타일 과 같은 몇 가지 다른 속성이 속성을 정의하기 위해 추가되었습니다. 이 글꼴 중.
/usr/share/fonts
의 하위 폴더에서 찾을 수있는 모든 것입니다. XFT 매개 변수는 Xresources
에서 구성 할 수 있습니다.
FontConfig
및 fontconfig
위의 모든 불일치를 처리해야합니다 . 즉, fontconfig는 고유 한 글꼴이 공통 구문으로 갖는 속성을 이용할 수 있도록 위의 모든 글꼴 유형을 구성하려는 시도입니다.
비트 맵 글꼴에는 다음과 같은 문제가 있습니다.
- 단일 글꼴에 대한 여러 파일
- 포인트 및 픽셀 크기에 따라 크기가 제한됨
하지만 벡터 기반 글꼴도 마찬가지입니다.
- 특히 여러 매개 변수를 사용하는 경우 크기 조정에 시간이 걸립니다.
- 모든 글꼴 속성이 동일한 방식으로 다른 글꼴 유형에 영향을주는 것은 아닙니다.
그리고 둘 다 글꼴 형식이 많고 사용자가 집에 자신의 글꼴을 설치하고자 할 수 있다는 문제. Fontconfig는 이러한 문제를 해결하려고합니다.
fc-query
는 fontconfig가 글꼴 파일에 대해 이해하는 내용을 알려줍니다. 특히 파일의 속성 (예 : 비트 맵 글꼴)과 사용할 수있는 속성 (벡터 글꼴)이 무엇인지 알 수 있습니다.
fc-list
는 fontconfig가 찾고있는 디렉토리에서 어떤 글꼴을 찾을 수 있는지 알려주는 방법이므로 응용 프로그램에서 사용할 수 있습니다. 마지막으로 fc-cache
는 이러한 글꼴의 인덱싱을 수행하여 글꼴을보다 쉽게 찾고 응용 프로그램 사용을 위해 크기를 조정합니다.
다른 글꼴의 fontocnfig 공유 라이브러리 손이 가장 흥미로운 부분입니다. 구성 파일 (/etc/fonts
, ~/.config/fontconfig
) 및 글꼴 캐시를 사용하여 준비된 글꼴을 연결된 애플리케이션에 직접 제공합니다. 대부분의 응용 프로그램은 XFT (따라서 FreeType)를 사용하고 FreeType 라이브러리는 fontconfig 라이브러리의 호출을 사용하기 때문에 이러한 글꼴의 사용은 유비쿼터스가됩니다.
하지만 Xorg에 요청하는 프로그램을 컴파일 할 수 있습니다. 이전 스타일의 비트 맵 글꼴 (예 : -*-terminus-medium-r-normal-*-*-200-*-*-c-*-*-u
)이고 호출은 fontconfig 공유 라이브러리를 통과하지 않습니다.
댓글