(Полный новичок в шрифтах) Я взял стандартный шрифт и создал определенный глиф, который представлял собой комбинацию других глифов.
Были выполнены следующие шаги:
- Откройте в Fontforge, а затем сохраните шрифт как dir.
- Использоватьhttp://sourceforge.net/p/unifraktur/code/HEAD/tree/unifraktur-maguntia/trunk/manipulation.py(код на немецком). Метод
ersetzen_durch_Kompositglyph
в указанном скрипте Python может объединить два глифа в один. Я создал длинное слово, прикрепив один символ к другому. Затем я удалил все, кроме A-Za-z и всех временных символов, задействованных в процессе. - Затем сгенерируйте шрифт с помощью Fontforge, открыв в нем каталог. Я генерирую версии ttf, woff, svg и конвертирую ttf в eot с помощью онлайн-конвертера. Подробнее здесь:https://graphicdesign.stackexchange.com/questions/48695/создать-символ-в-шрифте-похожий-на-несколько-символов-одного-шрифта
Затем я встроил шрифт в свою веб-страницу. Проблема, с которой я столкнулся, заключается в том, что моя веб-страница отображается нормально в некоторых комбинациях браузер + ОС, но не в других. Вот комбинация: Linux = Ubuntu 13.04
Отлично отображает: Win10 + IE, Linux + Firefox, Linux + Chrome, Linux+PhantomJS
Не отображает длинный глиф, но показывает пустое пространство такой длины. Win10 + Firefox, Win10 + Chrome, Win7+Firefox, Win7+IE
Отображает пробел длиной в 1 глиф Win7+Chrome, Win10+PhantomJS
Кто-нибудь знает, почему это происходит, и есть ли решение этой проблемы?
решение1
Скрипт генерирует составные глифы, ссылаясь (связываясь) с компонентными глифами. Так, если вы объедините [A] и [B] в [AB] и [AB] и [C] в [ABC], последний не будет отдельным глифом. Например, если вы внесете изменения в [A], [AB] и [ABC] также изменятся.
Поэтому удаление промежуточных глифов ([AB] в примере) вызовет проблемы, и удивительно, что это сработало на некоторых платформах.