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

13

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

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


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

введите описание изображения здесь

ShreevatsaR
источник
1
Сделайте запрос функции для приложения Карта персонажей, пожалуйста.
Oxwivi
3
@Toki: Мне понадобилось много времени, чтобы найти проект, ответственный за карту персонажей! Во всяком случае, он называется Gucharmap, использует Bugzilla, и эта функция уже была запрошена - в 2007 году . Репортер даже внес патч. В списке есть даже много других похожих ошибок / запросов . Похоже, никакого прогресса достигнуто не было.
ShreevatsaR
Я вижу, это действительно отстой, и это приложение по умолчанию Ubuntu тоже ... И для дальнейшего использования, вы можете легко найти имена пакетов, используя Synaptic или даже Software Center, вдаваясь в детали.
Oxwivi
1
Я также сделал
особый
Связанный: unix.stackexchange.com/questions/162305/…
Натаниэль М. Бивер

Ответы:

7

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

Сравнение шрифтов Fontmatrix's

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


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

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

Скриншот предварительного просмотра Fontmatrix

palbakulich
источник
@ShreevatsaR - спасибо за +1, это была бы отличная возможность для fontmatrix, я сделал запрос на функцию здесь
palbakulich
Эй, вы не возражаете, если я объединю свой скриншот и описание (см. Мой другой ответ) с этим?
ShreevatsaR
@ ShreevatsaR - это возможно? Я не уверен, что я должен принимать кредит за ваш ответ, хотя ...
palbakulich
Это нормально, вы были тем, кто предложил Fontmatrix. :-) И цель состоит в том, чтобы получить хороший ответ для любых будущих искателей с таким же вопросом, так что кредит вторичен ... Я отредактировал ответ, чтобы уточнить. (Кто-то должен был утвердить редактирование и любезно сделал это.) Еще раз спасибо!
ShreevatsaR
1
Эта функция, похоже, исчезла из последней версии Fontmatrix, или, по крайней мере, я больше не могу ее найти. Я даже больше не вижу меню «Обзор».
ShreevatsaR
1

С тех пор как я впервые задал этот вопрос в 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
ShreevatsaR
источник