В конечном счете, гном-терминал использует fontconfig to (среди прочего):
... эффективно и быстро находит нужные вам шрифты среди установленного вами набора, даже если вы установили тысячи шрифтов....
В документации API можно найти функции для запроса диапазонов символов шрифтов и для операций с диапазонами символов, но документация настолько загадочна, что я никогда не мог понять, как различные наборы функций соотносятся друг с другом. Если бы мне понадобилось погрузиться глубже, я бы предпочёл взглянуть на примеры использования в других программах, возможно vte (библиотека эмуляции терминала, используемая в gnome-терминале).
Другая библиотека между vte и fontconfig - это pango "...библиотека для выкладывания и вывода текста, с акцентом на интернационализацию...". Теперь, когда я думаю об этом, это звучит так, как будто она содержит большую часть логики, за которой вы охотитесь.
Функциональность покрытия символов в Pango реализована с помощью карт покрытия () () "В Pango часто необходимо определить, может ли определенный шрифт представлять определенный символ, а также насколько хорошо он может представлять этот символ. PangoCoverage - это структура данных, которая используется для представления этой информации"), но, вероятно, есть более сложные детали, связанные с решением, какой глиф изображать с помощью какого шрифта. Я полагаю, что VTE полагается на pango для отображения строк с соответствующими шрифтами, в то время как pango использует fontconfig (или другой поддерживаемый шрифт бэкэнда), чтобы найти наиболее подходящий шрифт, основанный на различных фрагментах логики в pango самом и/или бэкэнде.
plughw
идет непосредственно на аппаратное обеспечение.
Вы должны использовать по умолчанию
, если не знаете, что делаете.