자세한 출력으로 실행하거나 때로는 아무것도 출력하지 않을 때, 글꼴 구성이 모든 글꼴에 대해 쓰는 첫 번째 내용은 다음과 같은 줄입니다.
Pattern has 38 elts (size 48)
이 숫자는 무엇을 나타냅니까? 그들의 목적은 무엇입니까?
소스 코드를 살펴본 후 "elts"는 요소의 약자라고 생각하지만 이 숫자가 무엇을 의미하는지, 그리고 이 숫자가 Fontconfig의 동작을 이해하는 데 관련이 있는지 여부는 여전히 알 수 없습니다.
다음은 출력의 전체 예입니다(일부 문자 세트 행이 제거됨).
$ fc-match "DejaVu Sans" -v
Pattern has 38 elts (size 48)
family: "DejaVu Sans"(s)
familylang: "en"(s)
style: "Book"(s)
stylelang: "en"(s)
fullname: "DejaVu Sans"(s)
fullnamelang: "en"(s)
slant: 0(i)(s)
weight: 80(f)(s)
width: 100(f)(s)
size: 12(f)(s)
pixelsize: 12.5(f)(s)
foundry: "PfEd"(w)
antialias: True(w)
hintstyle: 1(i)(w)
hinting: True(s)
verticallayout: False(s)
autohint: False(s)
globaladvance: True(s)
file: "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"(w)
index: 0(i)(w)
outline: True(w)
scalable: True(w)
dpi: 75(f)(s)
scale: 1(f)(s)
charset:
0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
0001: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
(w)
lang: aa|ab|af|ar|ast|av|ay|az-az|az-ir|ba|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|chm|co|cs|cu|cv|cy|da|de|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|he|ho|hr|hu|hy|ia|ig|id|ie|ik|io|is|it|iu|ka|kaa|ki|kk|kl|ku-am|ku-ir|kum|kv|kw|ky|la|lb|lez|ln|lo|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|sco|se|sel|sh|shs|sk|sl|sm|sma|smj|smn|sms|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|to|tr|ts|tt|tw|tyv|ug|uk|uz|ve|vi|vo|vot|wa|wen|wo|xh|yap|yi|yo|zu|ak|an|ber-dz|ber-ma|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|kr|ku-iq|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|ota|pap-an|pap-aw|qu|quz|rn|rw|sc|sd|sg|sn|su|ty|za(s)
fontversion: 155320(i)(s)
capability: "otlayout:DFLT otlayout:arab otlayout:armn otlayout:brai otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng otlayout:thai"(w)
fontformat: "TrueType"(w)
embeddedbitmap: True(s)
decorative: False(s)
lcdfilter: 1(i)(w)
namelang: "en"(s)
prgname: "fc-match"(s)
postscriptname: "DejaVuSans"(w)
color: False(w)
symbol: False(s)
variable: False(s)
답변1
확실하진 않지만 한번 살펴보세요fontconfig
문서이 문장을 이해하는 데 도움이 될 수 있습니다.
<pattern>
패턴 요소는 수신 글꼴에 대해 목록 스타일 일치를 수행합니다. 즉, 요소 목록 및 관련 값을 보유합니다. (...) 패턴 요소에는
patelt
요소가 포함됩니다.
<patelt name="property">
Patelt 요소는 단일 패턴 요소와 값 목록을 보유합니다.
name
스키마 요소의 이름을 나타내는 속성이 있어야 합니다 . 특허 요소에는int
,double
,string
, 및 요소가matrix
포함 됩니다 .bool
charset
const
따라서 "elt"는 글꼴 일치에 사용되는 패턴 요소입니다. 이는 이름-값 쌍으로 표현되며 행 수를 세면 실제로 38개의 명령문이 있음을 알 수 있습니다(다음 두 행은 charset:
요소의 "값" 부분임을 기억하십시오 charset
).
이 size
문은 기본 구조의 내부 속성을 나타냅니다 FcPattern
. 이 출력은 디버깅 목적으로 보이므로(해당 내용 참조)기원) 및 데이터 유형의 내부 작동 방식 FcPattern
은 다음과 같습니다.어떤 기록도 없다, 실제 의미를 이해할 희망이 거의 없을 수 있습니다.