폰트 이름이 주어지면 Linux에서 ttf 폰트 파일의 절대 경로를 얻을 수 있기를 원합니다. 해당 정보를 반환하는 명령 또는 API가 있습니까?리눅스에서 폰트 찾기 (C++에서)
예를 들어, "arial.ttf"가 주어지면 어디서나 절대 경로 (예 : /usr/share/fonts/truetype/msttcorefonts/arial.ttf)를 찾고 싶습니다.
폰트 이름이 주어지면 Linux에서 ttf 폰트 파일의 절대 경로를 얻을 수 있기를 원합니다. 해당 정보를 반환하는 명령 또는 API가 있습니까?리눅스에서 폰트 찾기 (C++에서)
예를 들어, "arial.ttf"가 주어지면 어디서나 절대 경로 (예 : /usr/share/fonts/truetype/msttcorefonts/arial.ttf)를 찾고 싶습니다.
How to get a list of installed True Type Fonts on Linux using C or C++?을 보았습니까?
거기에는 답변이 없지만 좋은 시작이 있습니다.
가장 쉬운 방법은 --format
옵션 fontconfig
을 사용하는 것이 아마도 :
$ fc-match --format=%{file} LiberationSans-Regular.ttf
이
/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf
대신 글꼴 파일 이름의 출력에 발생합니다, 당신은 또한 글꼴 설명을 제공 할 수 있습니다 mono
, DejaVu
, :weight=bold
, DejaVu-12
또는 DejaVu:weight=bold
일 수 있습니다. 내 시스템에
/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
에 따라서, 예를 들어,
$ fc-match --format=%{file} :weight=bold
결과. 작동하지 않는 유일한 방법은 글꼴 파일의 전체 경로를 제공하는 것입니다.
아마도 경로를 통해 글꼴에 액세스하려고 시도하는 것은 좋지 않습니다. 리눅스 글꼴 스택은 이런 식으로 설계되지 않았습니다. 위치에 안정성이 없으며 사용자가 글꼴 목록에서 기대하는 많은 "글꼴"이 단일 글꼴 파일에 매핑되지 않고 여러 글꼴 파일의 합성물입니다.
다른 모든 데스크탑 응용 프로그램과 일관성을 유지하려면 모든 글꼴 응용 프로그램에서 글꼴 선택이 동일하게 작동해야한다고 생각하면 fontconfig 간접 계층을 통해 패턴별로 글꼴에 액세스해야합니다 (pango-cairo, 또는 QT) 결과를 받아들이는 것은 복잡하고 직관적이지 않을 수 있습니다.
직관적 인 것보다 덜 중요하게 여겨지는 것은 중요하지 않습니다. 글꼴 선택이 다른 모든 앱에서와 같은 방식으로 작동한다는 것만 중요합니다. 그리고 보통 fontconfig 매핑 선택에 대한 좋은 이유가 있습니다.
가능한 중복 [C 또는 C++을 사용하여 Linux에 설치된 트루 타입 글꼴 목록을 얻는 방법?] (http://stackoverflow.com/questions/203257/how-to-get-a-list-of- installed-true-type-fonts-on-linux-using-c-or-c) –