Короче говоря, я визуализирую шрифт без использования FreeType или HarfBuzz (по разным причинам), вручную анализируя TrueType и производные форматы для извлечения метаданных и информации о глифах, чтобы позже создавать растровые изображения и поля расстояния от их контуров во время выполнения. Что меня беспокоит, так это надежная замена глифов там, где это необходимо, то есть там, где определенные последовательности должны быть заменены в соответствии с правилами языка на другие.
Что мне неясно, так это то, насколько надежной можно считать таблицу GSUB. Другими словами, разумно ли ожидать, что арабский шрифт, например, должен предоставлять заполненную таблицу GSUB, содержащую подстановки, необходимые для арабского письма? Или, учитывая, что это для каждого сценария, обычно предполагается, что шрифты будут предоставлять только специальные замены для каждого шрифта, в то время как предполагается, что механизм формирования обрабатывает любые замены для каждого сценария как глобальные правила? Меня не беспокоит, что замененные глифы могут быть недоступны, поскольку в этом случае система ищет запасные варианты, иначе возвращается к исходной последовательности.
Очевидно, что наличие глобального набора правил для каждого скрипта было бы полностью надежным запасным вариантом, но я хочу, чтобы это было как можно меньше. Извиняюсь, что это не совсем эмпирический вопрос, но мне трудно найти много информации по этому поводу, за исключением того, что мне нужно фактически изучить большой образец различных шрифтов. В этом обзоре предполагается, что замены для каждого скрипта будут определены, но учитывая, что таблицы модульная, нет конечно гарантии, что будет даже таблица, не говоря уже о необходимых определениях. В противном случае, существует ли какая-либо известная база данных замен для различных сценариев?