Как выполнить замену глифа с помощью Freetype, Harfbuzz и Fontconfig
В настоящее время я реализую рендеринг шрифтов в McCLIM, используя Freetype, Harfbuzz и Fontconfig. Пока я выбираю правильный шрифт, я могу очень хорошо отрисовывать текст, используя эти библиотеки.
Моя главная проблема сейчас заключается в том, как бороться с отсутствующими символами. Если я отрисовываю что-то, используя, скажем, Исходный код Pro, и текст содержит символ, которого нет в этом шрифте (например, греческий символ), я бы хотел выбрать другой шрифт.
Как это должно быть сделано? Насколько я могу судить, нет никакого способа легко найти шрифты, которые имеют данный глиф, и даже если я ищу все шрифты, как мне выбрать наиболее подходящий?
Мне не удалось найти какую-либо документацию, объясняющую процесс, как это сделать эффективно, а основной источник документации, которую я использовал, libXft, не реализует подстановку шрифтов.