Як виправити кодування шрифту в fontforge - мультимедіа в linux

Багато стикаються з проблемою відображення кириличних символах при редагуванні тексту в програмах типу GIMP або Inkscape.

Наприклад, на скріншоті нижче замість символів обраного шрифту (MachineCTT) видно подстановленние символи з шрифту-аліаса "Sans".

У деяких інших програмах замість підстановки будуть показані квадратики або навіть порожнеча. Справа тут ось в чому ...

Досить велика кількість кириличних шрифтів в форматі TrueType було створено за часів, коли кодування сімейства Unicode або просто не існували, або ще не були поширені. Ті ж кодування, які тоді використовувалися, багатьма вільними програмами не розумію.

Урок написаний по гарячих слідах обговорення на linux.org.ru, де проблемним шрифтом був MachineCTT. Давайте його відкриємо і подивимося, що не так:

Все, що треба зробити - це перекодувати шрифт в Unicode. Для початку додамо нову систему кодування, оскільки FontForge за замовчуванням про cp1251 нічого не знає.

У діалозі вкажемо назву кодування:

Потім примусово перейменуємо кодування в "cp1251"

Тепер FontForge знає, що це кодування cp1251 (див. Заголовок вікна), і розставляє символи по правильним слотів:

Але нам все ще треба виконати перекодування. Правильним кодуванням символів буде ISO-10646-1 (Unicode, Full):

Тепер все правильно (знову см. Заголовок):

Букви «е» виявляться в таблиці не по порядку, але на це можна закрити очі, оскільки вони все одно будуть в правильно закодованих слотах.

Залишається лише заново згенерувати шрифт. Для цього бажано дати файлу інше ім'я.

У діалозі пишемо приблизно так:

Натисніть ОК для застосування змін. Швидше за все, FontForge поскаржиться, що ви не поміняли унікальний ідентифікатор шрифту, і запропонує це автоматично виправити.

Запустіть діалог генерування шрифту.

Програма сама запропонує нове ім'я файлу:

Будь-яким зручним способом активуємо новий шрифт (особисто я роблю це через Fontmatrix) і пробуємо:

Наостанок залишається згадати, що не всім виробникам шрифтів подобається подібне вільне поводження з їх творчістю. Якщо в шрифті міститься достатня інформація про його творця, не полінуйтеся написати і повідомити про проблему. Не виключено, що проблема з кодуванням вже виправлена, і скоригована версія шрифту давно доступна.

Випущена САПР LibreCAD 1.0.0