xlsfonts
এক্স উইন্ডোজ সিস্টেম ব্যবহারের সময় ফন্টগুলি সম্পর্কিত তথ্য সরবরাহ করে (সাধারণত লিনাক্স বা অনুরূপ সিস্টেমে; এমএস উইন্ডোতে প্রায় কখনও হয় না)। এর -l
এবং -m
বিকল্পগুলি ন্যূনতম অক্ষরের প্রস্থ এবং সর্বাধিক অক্ষরের প্রস্থ সহ বেশ কয়েকটি ফন্ট মেট্রিকগুলি প্রদর্শন করে। শেল কমান্ড ব্যবহার করে, স্থির-প্রস্থের ফন্টগুলি সনাক্ত করতে এই প্রস্থগুলির তুলনা করা যায়। উদাহরণস্বরূপ, xlsfonts -lm '*fang*'
দেয়
DIR MIN MAX EXIST DFLT PROP ASC DESC NAME
--> * 33 *119 some 8481 25 10 1 -isas-fangsong ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
min(l,r,w,a,d) = (0,12,12,11,2)
max(l,r,w,a,d) = (0,12,12,11,2)
--> * 33 *119 some 8481 21 14 2 -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
min(l,r,w,a,d) = ( 0, 0,16, 0,-13)
max(l,r,w,a,d) = (12,16,16,14, 2)
এই উভয় ফন্টের জন্য, মিনিট ডব্লু সর্বোচ্চ ডাব্লু মানের সমান - 12, 12 একটির জন্য, অন্যটির জন্য 16, 16 - নির্দেশিত উভয়ই স্থির-প্রস্থের ফন্ট। (দ্রষ্টব্য, xlsfonts
উত্স কোডে অনুরূপ চেক অন্তর্ভুক্ত রয়েছে))
ইউজননেট সম্পর্কে আমার একটি সাম্প্রতিক পোস্ট থেকে, এখানে একটি পাইথন প্রোগ্রাম রয়েছে checkFixed.py
যা তুলনাটি স্বয়ংক্রিয় করে। এটি এক্সএলসফন্টস-স্টাইলের ডেটা লাইনগুলি থেকে ডাব্লু stdin
মানগুলি তুলনা করে এবং stdout
মিনিট ডাব্লু সর্বোচ্চ ডাব্লু এর সমান হলে ফলাফলগুলি মুদ্রণ করে reads (অবশ্যই অনুরূপ প্রোগ্রাম লেখা যেতে পারে awk
, perl
ইত্যাদি)
#!/usr/bin/env python
# jiw - 2016
# This program reads `xlsfonts -lm`-style lines from stdin, and tests
# for cases where the w elements of min and max tuples are the same
from sys import stdout
while True:
try:
r = raw_input()
if r[0] == '-': # Font-lines start with -->
m1 = int((raw_input().split(','))[6])
m2 = int((raw_input().split(','))[6])
if m1==m2:
print r
stdout.flush()
except:
break
উদাহরণস্বরূপ, xlsfonts -ml | ./checkFixed.py | head -3
আমার সিস্টেমে মুদ্রিত
--> 0 255 some 0 29 14 5 -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-adobe-standard
--> 0 255 some 0 29 15 5 -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-ascii-0
--> * 0 *255 some 0 29 15 5 -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-iso10646-1
অন্য একটি উদাহরণে, xlsfonts -ml '*fixed*' | ./checkFixed.py | head -3
মুদ্রিত আউট
--> * 33 *116 some 8481 25 11 1 -jis-fixed-medium-r-normal--0-0-75-75-c-0-jisx0208.1983-0
--> * 33 *116 some 8481 21 14 2 -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0
--> * 33 *116 some 8481 21 14 2 -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0