В Mac OS X средство просмотра символов (эквивалентное символьной карте в Ubuntu) имеет функцию, позволяющую при просмотре определенного символа отображать список всех шрифтов, содержащих этот символ. Есть ли что-то эквивалентное в Ubuntu?
Сценарий использования заключается в том, что, например, я могу щелкнуть по символу каннада и увидеть все шрифты, которые охватывают этот символ (и, вероятно, остальную часть диапазона языков каннада).
Редактировать : Просто чтобы понять, что я имею в виду, вот скриншот Character Viewer на Mac OS X 10.6. «Содержит выбранный символ» находится в нижней части экрана. Кажется, я помню, что эта часть интерфейса была лучше в 10.5 или 10.4, на самом деле.
В Fontmatrix вы можете сравнить характеристики шрифта - в разделе Информация о шрифте - Сравнить.
PS. Я думаю, что функция Character Viewer в Mac OS X будет отличным запросом для команды разработчиков fontmatrix.
На самом деле, интерфейс Fontmatrix имеет кое-что еще лучше: вы можете выбрать вкладку «Просмотр» и ввести строку (содержащую символы, которые вы хотели бы иметь в шрифте), и посмотреть, как она отображается каждым шрифтом. Таким образом, вы можете прокручивать список шрифтов и одновременно видеть охват шрифтов всех интересных символов вместо одного символа за раз. Это поможет вам визуально выбрать шрифты, содержащие выбранные символы.
На приведенном ниже снимке экрана видно, что «BABEL Unicode Bold» (выбранный) содержит все символы, кроме ṝ, а «Arial Regular» (где находится мышь) содержит всего несколько символов.
Так как я первоначально задал этот вопрос в 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, который я закончил тем, что использовал (это работает над обеими операционными системами).
Установите любого python-fontconfig
или python3-fontconfig
пакет (или оба), в зависимости от того, предпочитаете ли Вы использовать Python 2 или Python 3.
Сохраните следующий код в названный файл (говорят) 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)
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