কিভাবে এফসি-ম্যাচ ম্যাচ খুঁজে?


18

আমি যখন দৌড়ে যাই fc-mach Sans, এটি ফিরে আসে DejaVuSans.ttf: "DejaVu Sans" "Book"তবে যদি এটির মতো চালানো হয় fc-match "Sans "বা fc-match "Sans 9"এটি ফিরে আসে unifont.ttf: "unifont" "Medium"। আমি সর্বদা দেজাভু সান ব্যবহার করতে পছন্দ করি তবে কেন ফন্টকনফিগ ইউনিফন্ট নির্বাচন করে তা আমি বুঝতে পারি না can't বিশ্বব্যাপী বা স্থানীয় কনফিগার উভয়ই ইউনিফর্ম উল্লেখ করে বলে মনে হয় grep -ri unifont /etc/fonts/ ~/.fonts.confনা ( কিছুই প্রত্যাবর্তন করে)। LC_DEBUG নিয়ে খেলেও আমার কোনও উপকার হয়নি। ফন্টকনফিগ কেন এমন আচরণ করে সে সম্পর্কে তথ্য পাওয়ার কোনও উপায় আছে?

উত্তর:


11

তাত্ক্ষণিকভাবে এটি আমার কাছে খাঁটি ফন্টকনফিগ বাগের মতো দেখায়, যেহেতু এটি এখানে সঠিকভাবে কাজ করে এবং আমি দেজাভু এবং ইউনিফন্ট উভয়ই ইনস্টল করেছি:

$ 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কিছুই না পেলে দৃশ্যত একটি ডিফল্ট মান প্রদান করে। এটি আমার সিস্টেমে কেবলমাত্র ডিফল্ট হ'ল দেজাভু:

$ 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)এবং আরও মোটামুটিভাবে নিশ্চিত করুন যে এটি একটি ডিফল্ট / কনফিগার করা মান ব্যবহার করে এবং অবশ্যই নিশ্চিত করে যে এটি আপনাকে প্রথমে যে অনুসন্ধানের শব্দটি দিয়েছে তা সংশোধন করে। আরও গভীরতর কোনও কিছুর জন্য আপনাকে কোডটি পরীক্ষা করতে হবে (উপরে বর্ণিত ফাংশন দিয়ে শুরু করুন)।


5

ফন্টকনফিগ ম্যাচের মানদণ্ড থেকে "দূরত্ব" এর উপর ভিত্তি করে বৈশিষ্ট্যগুলির সাথে মেলে। আপনি যদি পর্দার আড়ালে কী চলছে তা দেখতে চান, তবে পরিবেশের পরিবর্তনশীল FC_DEBUG = 3 সেট করুন এবং আপনার অনুসন্ধান পুনরায় চালু করুন। এটি ডিবাগিংয়ের তথ্য প্রদর্শন করবে যা সহায়ক হতে পারে। আপনার ফন্টকনফিগ কোডটি পড়ার দরকার নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.