Fontconfigの出力を理解する方法:「パターンには38個のエルト(サイズ48)があります。」

Fontconfigの出力を理解する方法:「パターンには38個のエルト(サイズ48)があります。」

詳細な出力として実行する場合や、何も出力しない場合、フォント構成がすべてのフォントに書き込む最初の内容は次のようになります。

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含まれます。stringmatrixboolcharsetconst

したがって、「elt」はフォントマッチングに使用されるパターン要素です。これは名前と値のペアで表され、行数を数えると実際に38文があることがわかります(次の2行は要素のcharset:「値」部分であることを覚えておいてくださいcharset)。

このsizeステートメントは基本構造の内部属性を表しますFcPattern。この出力はデバッグ目的で表示されます(該当する内容を参照)起源)とデータ型の内部動作方法FcPatternは次のとおりです。何の記録もない、実際の意味を理解する希望はほとんどないかもしれません。

関連情報