xlsfonts
फोंट के बारे में जानकारी की आपूर्ति करता है जब एक्स विंडोज सिस्टम का उपयोग होता है (आमतौर पर लिनक्स या इसी तरह की प्रणालियों पर; लगभग MSWindows पर कभी नहीं)। इसके -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
स्रोत कोड में समान चेक शामिल हैं।)
Usenet पर मेरी हालिया पोस्ट से, यहां एक पायथन प्रोग्राम checkFixed.py
है जो तुलना को स्वचालित करता है। यह xlsfonts- शैली की डेटा लाइनों को पढ़ता है, जिसमें stdin
w मानों की तुलना की जाती है, और stdout
जब w w अधिकतम w के बराबर होता है तो प्रिंट परिणाम देता है । (बेशक इसी तरह के कार्यक्रमों में लिखा जा सकता है 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