Все статьи
24 сентября 2026 г.8 мин чтения

Ԥ и Ҧ в абхазском шрифте: как сохранить современную и старую формы

Ԥ и Ҧ в абхазском шрифте: как сохранить современную и старую формы

В абхазском шрифте Ԥԥ и Ҧҧ нельзя считать двумя рисунками одной буквы: Unicode кодирует их раздельно, а их использование связано с современным и историческим письмом. Если подменить один знак другим на уровне таблицы глифов, текст может выглядеть правдоподобно, но потеряет точное представление исходного текста. Ниже — рабочий способ добавить обе пары в гарнитуру, проверить их регистр и не спутать поддержку символа с похожим силуэтом.

Что именно нужно различить

Пара Ԥ ԥ обозначает современную абхазскую букву «пэ с нижним выносным элементом»; пара Ҧ ҧ — кириллическую «пэ с крючком посередине», применявшуюся в более ранних орфографиях. Их формы могут быть близкими по основе, потому что обе строятся вокруг П, но дополнительный штрих расположен иначе и передаёт другой графический облик. Для шрифтовика задача состоит из двух частей: заложить отдельные знаки Unicode и сделать для каждого хорошо читаемый глиф.

В названиях Unicode U+0524 и U+0525 — заглавная и строчная Ԥԥ; U+04A6 и U+04A7 — заглавная и строчная Ҧҧ. Unicode отмечает Ҧҧ как формы старой абхазской орфографии, а Ԥԥ — как применяемую в современной. CLDR показывает Ԥ в наборе заглавных образцов для языка ab. Это удобная опора при проверке покрытия, но конкретный редакционный текст всё равно следует сверять с принятой орфографией и источником.

Почему похожего рисунка недостаточно

Шрифт отображает кодовые точки через свои глифы, но одинаковое начертание не делает две точки одной и той же буквой. Если U+0525 принудительно отображать контуром ҧ, чтение старых и новых материалов может стать неразличимым в копии, поиске, сортировке и обработке текста. Это особенно заметно, когда публикация содержит цитату, словарную статью, архивную страницу или параллельные варианты написания.

Обратная ошибка — добавить только современную Ԥԥ, решив, что историческая Ҧҧ «и так выглядит похоже». Старый документ хранит свой знак как U+04A6/U+04A7; отсутствие отдельного глифа приводит к пустому прямоугольнику, подстановке системного шрифта либо несогласованной строке. Подстановка видна не всегда: соседние знаки могут быть нарисованы одной гарнитурой, а один символ незаметно выпадет в fallback.

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

Как спроектировать две пары в одной системе

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

Проверьте конструкцию в прямом и курсивном начертании. В курсиве основу П часто меняют сильнее, чем в прямом стиле; если механически скопировать прямой контур, отличительный хвост может потерять направление или слиться со стойкой. Для жирных весов следите, чтобы внутренний просвет не закрылся, а крючок не стал похож на случайную засечку. В тонких весах контролируйте устойчивость соединения: тонкий элемент не должен исчезнуть при выводе или на экране.

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

Коды и таблица cmap: проверка до рисунка

Перед рисованием заведите таблицу знаков с колонками: название, кодовая точка, регистр, глиф, статус покрытия и источник проверки. Для Ԥԥ внесите U+0524/U+0525, для Ҧҧ — U+04A6/U+04A7. Не полагайтесь на номер глифа или внутреннее имя вроде pe_hook: имена полезны автору файла, но кодирование определяет, что получит текстовый редактор при наборе или вставке.

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

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

Пошаговый тест шрифта

  1. Скопируйте эталонные символы Ԥ ԥ Ҧ ҧ из надёжной Unicode-таблицы и вставьте их в файл, сохранённый как UTF-8.
  2. Выведите рядом их названия и коды: U+0524, U+0525, U+04A6, U+04A7. Это помогает заметить ошибку копирования или неверную метку.
  3. Откройте строку в целевой программе с отключённой подменой шрифта, если приложение это позволяет; зафиксируйте, какой шрифт фактически рисует каждый знак.
  4. Проверьте прямое, курсивное и жирное начертания, затем уменьшите и увеличьте масштаб просмотра.
  5. Скопируйте строку обратно в текстовый редактор и сравните её кодовые точки, а не только внешний вид.
  6. Повторите тест после экспорта файлов и на другой платформе или в другом приложении, где будет использоваться готовая гарнитура.

Для быстрого визуального контроля используйте строку «П п | Ԥ ԥ | Ҧ ҧ | Р р». Вертикальные разделители помогают различать пары, а обычные П, п, Р, р служат соседними ориентирами. Это не лингвистический пример и не замена абхазской корректуре: строка нужна для технической проверки глифов. Если проект поддерживает абхазский набор целиком, тест дополняют словами и фразами, предоставленными носителем языка или редактором.

Не смешивайте редакционную и техническую проверку

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

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

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

Как читать результат: четыре возможные ошибки

  • Вместо знака показан пустой прямоугольник — проверьте, есть ли кодовая точка в cmap именно того файла, который установлен.
  • Символ отрисован другим шрифтом — проверьте покрытие основного семейства и настройки fallback.
  • Ԥ и Ҧ выглядят одинаково из-за одной привязки — разделите записи и нарисуйте различительные элементы отдельно.
  • Курсив или жирный вес теряет крючок/вынос — исправьте оптическую форму в этом начертании, не ограничиваясь копированием контура.
  • После копирования меняется буква — сравните кодовые точки до и после, а не делайте вывод только по скриншоту.
  • В заглавной паре один глиф отсутствует — проверьте не только строчные формы: U+0524 и U+04A6 требуются отдельно.

Чек-лист перед выпуском

  • В проекте есть четыре отдельных знака Ԥ, ԥ, Ҧ и ҧ.
  • Кодовые точки соответствуют парам U+0524/U+0525 и U+04A6/U+04A7.
  • В каждой нужной ширине и толщине различительный штрих сохраняет ясность.
  • Проверены прописные и строчные формы в прямом, курсивном и жирном стилях, если они входят в семейство.
  • Установленные файлы показывают все четыре знака без незапланированного fallback.
  • Копирование и повторное чтение сохраняют исходные кодовые точки.
  • Для современного употребления и исторической публикации тестовые строки выбраны согласно источнику, а не смешаны автоматически.

Частые вопросы

Ԥ и Ҧ — это одна буква с двумя вариантами рисунка?

Нет. Unicode присваивает им разные кодовые точки и связывает их с современной и более ранней абхазской орфографией. Если источник использует один знак, сохраняйте именно его; схожесть конструкции не основание переписывать символ.

Нужно ли добавлять в шрифт и Ԥԥ, и Ҧҧ?

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

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

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

Почему строчной Ԥԥ недостаточно для поддержки?

Текст может содержать заглавную Ԥ в начале имени, заголовка или предложения. У каждой регистровой формы своя кодовая точка и свой глиф; таблица покрытия и тест должны включать обе формы, а также прописную и строчную Ҧҧ.

Нужны ли отдельные тесты для жирного и курсивного начертаний?

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

Как убедиться, что программа использует именно мой шрифт?

Сравните отображение при включённом и выключенном шрифте, проверьте сведения о реально выбранном начертании и при возможности отключите fallback. Затем извлеките символы из финального файла или откройте его в другом приложении: подмена иногда скрывает пропуск в таблице cmap.

Вывод: сохраняйте и форму, и код

Ԥԥ и Ҧҧ требуют внимательного, но вполне управляемого подхода: заведите отдельные записи, свяжите их с верными кодовыми точками, проверьте каждый стиль и убедитесь, что приложение не подставляет соседний шрифт. Это особенно важно, если гарнитура должна работать и с современными текстами, и с историческими материалами. Для собственного шрифта можно составить матрицу языковых знаков в Fontgenerator и сверять с ней рисунок и полноту набора до экспорта.

Источники для проверки кодов

Названия и примечания к символам: Unicode Cyrillic, https://www.unicode.org/Public/18.0.0/charts/nameslist/0400/ и Unicode Cyrillic Supplement, https://unicode.org/Public/18.0.0/charts/nameslist/0500/. Образцы букв для языка Abkhazian: CLDR Alphabetic Information, https://www.unicode.org/cldr/charts/47/by_type/core_data.alphabetic_information.index.html. История кодирования современной Ԥԥ: предложение WG2 N3435, https://www.unicode.org/L2/L2008/08144-n3435-abkhaz.pdf.