Все статьи
27 августа 2026 г.8 мин чтения

Почему созданный шрифт не отображает часть символов и как это исправить

Почему созданный шрифт не отображает часть символов и как это исправить

Если созданный шрифт не отображает часть символов, чаще всего в его файле отсутствуют нужные глифы или нарушено соответствие между символом Unicode и рисунком буквы. Проблему исправляют проверкой набора знаков, таблицы cmap, кодировки и настроек экспорта. Ниже — последовательный алгоритм диагностики для кириллицы, цифр, знаков и веб-шрифтов.

Материал актуален на 28 августа 2026 года. Термины и рекомендации относятся к TrueType-, OpenType-, WOFF- и WOFF2-шрифтам.

Почему шрифт не показывает отдельные символы

Шрифт — это не просто набор изображений букв. Внутри файла хранится коллекция глифов, то есть графических форм символов, и таблицы, которые связывают текстовый код Unicode с конкретным глифом. Если связи нет, приложение не может найти нужный рисунок. Тогда оно показывает пустой квадрат, прямоугольник с крестом, вопросительный знак или подставляет символ из другого шрифта.

Важно различать отсутствие глифа и ошибку отображения. Если пропала только одна буква, вероятен неполный набор знаков. Если одновременно исчезли многие символы, включая латиницу, проблема может быть связана с повреждённым файлом, некорректным экспортом, неподдерживаемым форматом или особенностями программы, в которой шрифт используется.

В файле нет нужного глифа

Самая частая причина — при создании был нарисован только базовый набор букв. Например, автор подготовил латиницу, но не добавил кириллицу; создал прописные знаки, но забыл строчные; добавил буквы, но исключил цифры, кавычки, тире или знаки валют. Генератор шрифта не всегда рисует отсутствующие символы автоматически: он может экспортировать ровно те знаки, которые были созданы или выбраны в настройках.

Символ есть, но ему не назначен код Unicode

Глиф может присутствовать в редакторе визуально, но не вызываться при наборе текста. Это происходит, когда рисунок существует без корректного Unicode-кода или привязан к другому коду. Например, форма похожа на русскую «А», но зарегистрирована как латинская A. В панели глифов такая буква видна, однако при вводе кириллического текста программа не находит соответствующее сопоставление.

Нарушена таблица cmap

Таблица cmap отвечает за отображение символов Unicode в глифы. Если она создана некорректно, шрифт может выглядеть нормально в одном редакторе и терять символы в браузере, текстовом процессоре или графическом приложении. Особенно заметны такие ошибки после конвертации между форматами или ручного редактирования технических таблиц OpenType.

При экспорте выбран неполный набор символов

Некоторые инструменты позволяют экспортировать только используемые знаки или заранее выбранные языковые наборы. Это полезно для уменьшения размера веб-файла, но опасно, если выбор сделан слишком узко. В результате шрифт может содержать английские буквы и цифры, но не иметь русских букв, типографских кавычек, длинного тире или символов с диакритикой.

Как понять, какая именно причина сработала

Начните с наблюдения за симптомом. Один и тот же квадрат вместо нескольких разных знаков обычно означает, что приложение не нашло глиф. Если буквы заменяются похожими по виду, срабатывает fallback — автоматический переход на другой установленный шрифт. Если текст отображается в редакторе, но ломается на сайте, проверяйте веб-версию файла, подключение font-face и набор символов после конвертации.

  • Пустой квадрат или знак вопроса указывает на отсутствие доступного глифа.
  • Отдельные русские буквы вместо латинских часто говорят о неправильном Unicode-сопоставлении.
  • Пропажа символов только в браузере указывает на проблему WOFF или WOFF2-файла, subset-экспорта или CSS-подключения.
  • Разный вид одной буквы в разных программах может быть результатом подстановки из другого шрифта.
  • Ошибки после переименования файла или конвертации требуют проверки целостности и таблиц шрифта.

Пошаговая инструкция по исправлению шрифта

Исправляйте проблему последовательно: сначала определите список пропавших знаков, затем проверьте их наличие в исходном проекте и только после этого повторяйте экспорт. Такой порядок помогает не тратить время на замену формата, когда причина на самом деле заключается в том, что нужные глифы никогда не были созданы.

Шаг 1. Составьте список проблемных символов

Скопируйте реальный фрагмент текста, в котором появились пропуски. Не ограничивайтесь одной буквой: добавьте прописные и строчные знаки, цифры, пунктуацию, кавычки, скобки, тире, математические обозначения и символы валют. Для русскоязычного проекта отдельно проверьте Ё и ё, потому что они часто отсутствуют в минимальном кириллическом наборе.

Шаг 2. Проверьте наличие глифов в редакторе

Откройте исходный проект шрифта и найдите каждый проблемный знак в панели символов. Если глифа нет, его нужно создать или добавить из совместимого набора. Проверьте не только внешний рисунок, но и имя и Unicode-позицию. Для кириллицы нельзя считать латинские буквы заменой: визуально похожие формы могут иметь разные коды и использоваться в разных языковых текстах.

Шаг 3. Назначьте правильные Unicode-коды

Убедитесь, что каждому знаку назначен именно тот код, который соответствует вводимому символу. Например, кириллическая «С» и латинская C выглядят похоже, но являются разными символами. Если редактор поддерживает Unicode-поиск, используйте его вместо ручного выбора похожей буквы. После назначения кода удалите дубликаты и проверьте, не заняли ли два глифа одну и ту же позицию.

Шаг 4. Проверьте параметры набора символов

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

Шаг 5. Экспортируйте шрифт заново

После изменений выполните новый экспорт в подходящий формат. Для установки на компьютер обычно используют TTF или OTF, а для сайта — WOFF или WOFF2. Не переименовывайте расширение вручную: изменение имени файла не превращает один формат в другой. Если инструмент предлагает очистку, генерацию таблиц или проверку шрифта, примените эти операции до сохранения итогового файла.

Шаг 6. Удалите старую версию и протестируйте новую

Старый шрифт может оставаться в кэше приложения или браузера. Удалите прежнюю версию, установите новый файл под однозначным именем и перезапустите программу. На сайте очистите кэш и проверьте загрузку в отдельном окне. Тестируйте минимум в двух средах: например, в графическом редакторе и браузере. Так вы отделите ошибку файла от проблемы подключения.

Практические примеры диагностики

В шрифте есть латиница, но нет русских букв

Представьте, что английская фраза отображается корректно, а русская превращается в квадраты. Это почти всегда означает, что в файле отсутствует кириллический набор. Решение — добавить глифы русских букв и назначить им кириллические Unicode-коды, включая Ё и ё, если они нужны. Простая замена букв латинскими аналогами не исправит текстовый набор и может нарушить поиск и копирование.

Пропали Ё, кавычки и длинное тире

Такой результат характерен для сокращённого набора символов. Основные буквы и цифры были включены, а менее частые знаки — нет. Проверьте расширенную пунктуацию и дополнительные буквы кириллицы. Для русскоязычного текста полезно отдельно протестировать «ёлочки», длинное тире, неразрывный пробел, знак номера, проценты и типографские апострофы.

На компьютере всё работает, а на сайте часть знаков исчезла

В этом случае исходный TTF или OTF может быть исправен, а проблема появляется после подготовки веб-файла. Проверьте, какой WOFF или WOFF2 реально загружается, не используется ли старая версия в кэше и не был ли применён subset. Также убедитесь, что CSS объявляет нужное семейство и браузер не получает другой файл с тем же именем.

Частые ошибки при создании и подключении шрифта

Большинство проблем возникает не из-за сложности формата, а из-за неверной проверки. Автор смотрит на несколько тестовых букв, не проверяет полный текст и считает визуальное наличие глифа доказательством корректного Unicode-сопоставления. Надёжнее проверять шрифт реальными материалами и повторять тест после каждого преобразования файла.

  • Проверять только латинский текст, хотя шрифт предназначен для кириллицы.
  • Считать похожие латинские и кириллические буквы одним и тем же символом.
  • Забывать о Ё, ё, кавычках, тире, пробелах и знаках валют.
  • Менять расширение файла вручную вместо корректной конвертации.
  • Тестировать только в редакторе, где может работать собственная подстановка.
  • Оставлять старую версию шрифта установленной и путать кэш с ошибкой файла.
  • Уменьшать веб-шрифт subset-экспортом, не проверив все языки страницы.

Чеклист перед публикацией готового шрифта

Используйте чеклист перед передачей файла заказчику, установкой на компьютер или подключением к сайту. Он помогает проверить не только наличие букв, но и пригодность шрифта для реального текста.

  1. Определите языки и сценарии использования шрифта.
  2. Составьте тестовую строку с прописными и строчными буквами.
  3. Добавьте цифры, пунктуацию, кавычки, тире и специальные знаки.
  4. Проверьте наличие каждого нужного глифа в исходном проекте.
  5. Сверьте Unicode-коды и устраните дубликаты сопоставлений.
  6. Экспортируйте отдельные версии для установки и веб-подключения.
  7. Протестируйте TTF, OTF, WOFF или WOFF2 в целевых программах.
  8. Удалите старый файл, очистите кэш и повторите проверку после публикации.

Частые вопросы о пропавших символах в шрифте

Почему шрифт показывает квадраты вместо букв?

Квадрат появляется, когда программа не находит подходящий глиф для символа. Причина может быть в отсутствии буквы, неверном Unicode-сопоставлении, повреждённой таблице cmap или использовании неполной веб-версии шрифта. Сначала проверьте наличие глифа и его код, затем повторите экспорт и тестирование.

Как добавить кириллицу в уже созданный шрифт?

Откройте исходный проект, добавьте рисунки русских букв и назначьте им соответствующие кириллические Unicode-коды. Проверьте прописные и строчные знаки, а также Ё и ё. После этого экспортируйте новый файл и протестируйте его на реальном русском тексте.

Почему в шрифте пропадает только одна буква?

Обычно конкретный глиф не был создан, получил неверный код или был исключён при экспорте. Частый пример — Ё и ё, которые не всегда входят в сокращённый кириллический набор. Сравните проблемную букву с соседними глифами в редакторе и проверьте её Unicode-позицию.

Можно ли заменить отсутствующий символ другим шрифтом?

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

Какой формат выбрать для сайта?

Для веб-использования обычно применяют WOFF или WOFF2, потому что они предназначены для доставки шрифтов через браузер. Выбор формата не решает проблему отсутствующих глифов сам по себе: нужные символы должны попасть в исходный набор и сохраниться после конвертации. После подключения всегда проверяйте фактически загружаемый файл.

Почему символы отображаются в редакторе, но не в браузере?

Редактор может использовать установленную полную версию шрифта, а браузер — отдельный WOFF-файл с урезанным набором. Также возможны кэширование старого файла, ошибка в CSS или подмена семейства. Сравните исходный и веб-файлы, очистите кэш и проверьте загрузку через инструменты разработчика браузера.

Вывод

Если созданный шрифт не отображает часть символов, начинайте диагностику с глифов и Unicode-сопоставления, а затем проверяйте cmap, набор экспорта, формат и кэш. Последовательная проверка на реальном тексте быстро показывает, где именно исчезают знаки. После исправления создайте новую версию файла и протестируйте её во всех целевых средах.

Создайте собственный шрифт на fontgenerator.ru, заранее выберите нужные языки и проверьте готовый набор символов по этому чеклисту. Так результат будет корректно работать не только в редакторе, но и в документах, макетах и веб-проектах.