Список шрифтов, содержащих выбранный символ

В Mac OS X средство просмотра символов (эквивалентное символьной карте в Ubuntu) имеет функцию, позволяющую при просмотре определенного символа отображать список всех шрифтов, содержащих этот символ. Есть ли что-то эквивалентное в Ubuntu?

Сценарий использования заключается в том, что, например, я могу щелкнуть по символу каннада и увидеть все шрифты, которые охватывают этот символ (и, вероятно, остальную часть диапазона языков каннада).


Редактировать : Просто чтобы понять, что я имею в виду, вот скриншот Character Viewer на Mac OS X 10.6. «Содержит выбранный символ» находится в нижней части экрана. Кажется, я помню, что эта часть интерфейса была лучше в 10.5 или 10.4, на самом деле.

enter image description here

13
задан 24 February 2011 в 11:23

2 ответа

В Fontmatrix вы можете сравнить характеристики шрифта - в разделе Информация о шрифте - Сравнить.

Fontmatrix's Font Compare

PS. Я думаю, что функция Character Viewer в Mac OS X будет отличным запросом для команды разработчиков fontmatrix.


На самом деле, интерфейс Fontmatrix имеет кое-что еще лучше: вы можете выбрать вкладку «Просмотр» и ввести строку (содержащую символы, которые вы хотели бы иметь в шрифте), и посмотреть, как она отображается каждым шрифтом. Таким образом, вы можете прокручивать список шрифтов и одновременно видеть охват шрифтов всех интересных символов вместо одного символа за раз. Это поможет вам визуально выбрать шрифты, содержащие выбранные символы.

На приведенном ниже снимке экрана видно, что «BABEL Unicode Bold» (выбранный) содержит все символы, кроме ṝ, а «Arial Regular» (где находится мышь) содержит всего несколько символов.

Screenshot of Fontmatrix's Preview

0
ответ дан 24 February 2011 в 11:23

Так как я первоначально задал этот вопрос в 2011, информация стала более трудной найти на обеих Ubuntu (где ранее рекомендуемый FontMatrix больше, кажется, не имеет функции), и на macOS.

Если Вы заботитесь о языке в целом, а не определенном символе, должен использовать fc-list с :lang, например:

~% fc-list :lang=kn-in
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Regular.ttf: Noto Sans Kannada UI:style=Regular
/usr/share/fonts/truetype/noto/NotoSansKannada-Bold.ttf: Noto Sans Kannada:style=Bold
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Bold.ttf: Noto Sans Kannada UI:style=Bold
/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf: Noto Serif Kannada:style=Regular
/usr/share/fonts/truetype/Navilu/Navilu.ttf: Navilu:style=Normal
/usr/share/fonts/truetype/noto/NotoSansKannada-Regular.ttf: Noto Sans Kannada:style=Regular
/usr/share/fonts/truetype/lohit-kannada/Lohit-Kannada.ttf: Lohit Kannada:style=Regular
/usr/share/fonts/truetype/Gubbi/Gubbi.ttf: Gubbi:style=Normal
/usr/share/fonts/truetype/noto/NotoSerifKannada-Bold.ttf: Noto Serif Kannada:style=Bold

Для определенных символов я задал подобный вопрос на том, “Спросите Отличающийся”; копирование здесь сценария Python, который я закончил тем, что использовал (это работает над обеими операционными системами).

  1. Установите любого python-fontconfig или python3-fontconfig пакет (или оба), в зависимости от того, предпочитаете ли Вы использовать Python 2 или Python 3.

  2. Сохраните следующий код в названный файл (говорят) find_fonts.py:

#!/usr/bin/env python

def find_fonts(c):
    """Finds fonts containing  the (Unicode) character c."""
    import fontconfig
    fonts = fontconfig.query()
    for path in sorted(fonts):
        font = fontconfig.FcFont(path)
        if font.has_char(c):
            yield path

if __name__ == '__main__':
    import sys
    search = sys.argv[1]
    char = search.decode('utf-8') if isinstance(search, bytes) else search
    for path in find_fonts(char):
        print(path)
  1. Запустите скрипт с также python find_fonts.py ಠ или python3 find_fonts.py ಠ замена с символом Вы заботитесь о.

Пример произвел:

$ python3 find_fonts.py ಠ
/usr/share/fonts/truetype/Gubbi/Gubbi.ttf
/usr/share/fonts/truetype/Navilu/Navilu.ttf
/usr/share/fonts/truetype/lohit-kannada/Lohit-Kannada.ttf
/usr/share/fonts/truetype/noto/NotoSansKannada-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSansKannada-Regular.ttf
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Regular.ttf
/usr/share/fonts/truetype/noto/NotoSerifKannada-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf
1
ответ дан 24 February 2011 в 11:23

Другие вопросы по тегам:

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