Как найти источник драйверов для моего процессора?

Я изменил код, чтобы проверить, содержит ли шрифт все символы определенной строки. Таким образом, это может быть вызвано fc-search-codepoint "$fontname" "$string" и возвращает код выхода 0 в случае успеха или 1 в противном случае. Имена шрифтов можно получить из fc-query /path/to/FontSandMonoBoldOblique.ttf или convert -list font от Imagemagick. Я использую его, чтобы проверить, может ли строка, выбранная пользователем, отображаться с выбранным пользователем шрифтом, и если команда не работает, используется резервный шрифт.

#!/usr/bin/env python2
import re
import sys
import os
import fontconfig
if len(sys.argv) < 3:
    print("Usage: " + sys.argv[0] + " 'Fontname-Bold' 'String to check'")
    sys.exit(0)

font_name = sys.argv[1].decode('utf-8')
string = sys.argv[2].decode('utf-8')

if '-' in font_name:
        font_name = font_name.split('-')
        font_style = font_name[-1]
        font_name = ''.join(font_name[:-1])
else:
        font_style = ""

font_names = fontconfig.query()
for name in font_names:
    font = fontconfig.FcFont(name)
    if not len(font.family) > 0:
        continue
    for item in font.family:
        if item[1] == unicode(font_name):
            if len(font_style) == 0:
                match = "yes"
            else:
                for item in font.style:
                    if item[1] == unicode(font_style):
                        match = "yes"
            try:
                match
            except NameError:
                continue
            if all(font.has_char(c) for c in string):
                sys.exit(0)
            else:
                sys.exit(1)
print >> sys.stderr, "font not found: " + font_name + " " + font_style
sys.exit(1)
1
10.09.2015, 20:03
0 ответов

Теги

Похожие вопросы