Symbols TTF OTF Font Letters Chinese

Для удаления неиспользуемых глифов из TTF или OTF можно воспользоваться консольной или GUI-утилитой FontForge или консольной утилитой FontTools. Оба инструмента открыты и кроссплатформенные.

Для чистки огромного 16Мб файла OTF я воспользовался утилитой FontTools. Для этого с помощью cat собрал все локализации в один файл:

$ cat localization*.xml > unique.txt

После чего разобрал все на отдельные символы, отсортировал и удалил дубли в VIM:

:%s/(.)/\1\r/g
ggVG
:sort u

Или можно сделать это из bash:

cat localization*.xml | grep -o . | sort -u > unique.txt

Полученный файл сохранил в отдельный файл и скормил его утилите из набора FontTools:

$ pyftsubset BigSource.otf --output-file=OutStripped.otf --text-file=unique.txt

В итоге из 16Мб я получил файл размером менее 400Кб, содержащий все нужные для игры глифы.

В наборе FontTools есть разные утилиты, в том числе и утилита, объединяющая несколько фонтов в один. Сам ею не пользовался, т.к. мой движок поддерживает альясы, наборы и приоритеты, выбирая тот фонт, который необходим для рендеринга нужного глифа.