एक त्वरित नज़र में, यह मेरे लिए एक वास्तविक फॉन्टकोनिग बग जैसा दिखता है, क्योंकि यह यहाँ ठीक से काम करता है और मेरे पास डेव्यू और यूनिफोंट दोनों स्थापित हैं:
$ 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"
लेकिन, करीब से देखने पर, हम कुछ और विवरण देख सकते हैं। अभी भी कहीं-कहीं एक फॉन्टकॉन्ग बग हो सकता है, लेकिन 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)
और आगे मोटे तौर पर पुष्टि करते हैं कि यह एक डिफ़ॉल्ट / कॉन्फ़िगर मूल्य का उपयोग करता है और निश्चित रूप से पुष्टि करता है कि यह आपके द्वारा पारित खोज शब्द को पहले संशोधित करता है। और भी गहरी बात के लिए, आपको कोड का निरीक्षण करना होगा (उपर्युक्त फ़ंक्शन के साथ शुरू करें)।