간단히 살펴보면 여기에서 제대로 작동하고 DejaVu와 Unifont가 모두 설치되어 있기 때문에 진정한 fontconfig 버그처럼 보입니다.
$ fc-match Sans
DejaVuSans.ttf: "DejaVu Sans" "Book"
$ fc-match "Sans"
DejaVuSans.ttf: "DejaVu Sans" "Book"
$ fc-match "Sans "
DejaVuSans.ttf: "DejaVu Sans" "Book"
$ fc-match "Sans 9"
DejaVuSans.ttf: "DejaVu Sans" "Book"
그러나 자세히 살펴보면 더 자세한 내용을 볼 수 있습니다. 여전히 어딘가에 fontconfig 버그가있을 수 있지만 fc-match
아무것도 찾지 못하면 기본값을 반환합니다. 내 시스템에서 기본값은 DejaVu입니다.
$ fc-match uni
DejaVuSans.ttf: "DejaVu Sans" "Book"
$ fc-match unifont
Unifont.ttf: "unifont" "Medium"
$ fc-match 4e5zedrkbxp
DejaVuSans.ttf: "DejaVu Sans" "Book"
매뉴얼 페이지 fc-match(1)
는 명령이 정확히 일치하지는 않지만 가장 일치한다고 생각하는 것을 반환합니다. 당신은 -a
더 간결하거나 더 간결한 것을 볼 수 있습니다 -s
:
$ fc-match -s uni # now it also finds unifont
DejaVuSans.ttf: "DejaVu Sans" "Book"
DejaVuSans-Bold.ttf: "DejaVu Sans" "Bold"
DejaVuSans-Oblique.ttf: "DejaVu Sans" "Oblique"
DejaVuSans-BoldOblique.ttf: "DejaVu Sans" "Bold Oblique"
n019003l.pfb: "Nimbus Sans L" "Regular"
helvR12-ISO8859-1.pcf.gz: "Helvetica" "Regular"
FreeSans.ttf: "FreeSans" "нормален"
KanjiStrokeOrders.ttf: "KanjiStrokeOrders" "Medium"
Eadui.ttf: "Eadui" "Medium"
Unifont.ttf: "unifont" "Medium"
FreeSerif.ttf: "FreeSerif" "нормален"
cu12.pcf.gz: "ClearlyU" "Regular"
cu-pua12.pcf.gz: "ClearlyU PUA" "Regular"
10x20.pcf.gz: "Fixed" "Regular"
당신은 단순히 당신을 "나사"라고 말하고 그 위에 다른 검색을 추가하여 원하는 방식으로 일치시킬 수 있습니다.
$ fc-match -s uni | grep -i uni
Unifont.ttf: "unifont" "Medium"
그러나 귀하의 질문은 정확히 어떻게 일치하는지에 관한 것입니다. FcFontMatch(3)
또한 기본 / 구성된 값을 사용하는지 대략 확인하고 전달 된 검색어를 먼저 수정하는지 확인합니다. 더 깊은 것은 코드 를 검사해야합니다 (위에서 언급 한 기능으로 시작).