Реализация голландского орграфа IJ в виде лигатуры

Я разрабатываю шрифт дисплея и не могу решить, как реализовать заглавный голландский диграф «IJ». Я разработал лигатуру, которая сочетает в себе «I» и «J», чтобы сформировать то, что выглядит как ломаная «U».

Вот сравнение моей лигатуры «IJ» с отдельными глифами «I» и «J»:

введите описание изображения здесь

Согласно Википедии , буква «I», за которой следует буква «J», не всегда образует орграф; Будет ли лигатура приемлемой в этих случаях или это будет считаться неправильным?

Я собираюсь включить лигатуру в шрифт, там нет вопросов, моя единственная проблема заключается в том, как это реализовать и сделать доступным для пользователей через возможности OpenType и использование символа IJ Unicode . Как я должен учитывать язык/язык пользователя? Должна ли лигатура быть по умолчанию;

  • например, используется для символа «IJ» и в качестве стандартной лигатуры (функция OpenType liga) для «I» + «J»?

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

  • например, стилистическая альтернатива (функция OpenType salt) для символа «IJ» и дискреционная лигатура (функция OpenType dlig) для «I» + «J»?

Обратите внимание: здесь я спрашиваю о технической реализации (через функции OpenType); Для критики самого дизайна лигатуры см. Подходит ли эта голландская лигатура IJ и читаема ли она носителями языка? .

Я не знаю голландского, поэтому не могу вам помочь. Единственным предложением было бы, возможно, попробовать сделать I выше, а крючок J короче, чтобы сбалансировать их немного больше. Прямо сейчас J доминирует.
Я сделал это до такой степени, как вы можете видеть, все в шрифте выравнивается по нескольким линиям сетки, так что это был выбор между тем, что есть сейчас, или (почти) отсутствием крючка. Я чувствовал, что это был лучший вариант, но, безусловно, есть над чем подумать, спасибо!
@Wrzlprmft Я внес некоторые изменения, чтобы больше сосредоточиться на реализации, я приму ваше предложение и задам еще один вопрос, чтобы критически оценить пригодность самой лигатуры.
Я вижу, что вы действительно сделали то, что предложил @DA01, но я бы сделал еще один шаг вперед и сделал бы это еще более выраженным. может быть, подтолкнуть его с помощью специального крючка?
@joojaa ваш комментарий был бы здесь более уместен :)

Ответы (1)

Предполагая, что ваш глиф IJ подходит для голландского глаза (чего я не могу сказать), его следует использовать в качестве лигатуры для I + J по умолчанию для голландских текстов.

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

feature locl {

    script latn;

        language NLD exclude_dflt;
            lookup DutchIJ {
                sub I J by IJ.dutch;
            } DutchIJ;

} locl;

Если пользователь правильно задает языковой стандарт текста, это должно гарантировать, что лигатура используется в тексте на голландском языке, но не для любого другого языка. (Примечание: его не следует активировать для африкаанс, поскольку отсутствие IJ является одной из отличительных черт орфографии африкаанс.)

Я не вижу никаких причин не использовать вашу лигатуру для символа Юникода IJ (U+0132), так как нет законного использования этого символа за пределами голландского языка, а в голландском языке его не следует использовать для исключений.

Согласно Википедии, буква «I», за которой следует буква «J», не всегда образует орграф; Будет ли лигатура приемлемой в этих случаях или это будет считаться неправильным?

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

Есть два способа справиться с этим:

  • Пользователю приходится использовать несоединитель нулевой ширины (ZWNJ) для подавления лигатуры в тех случаях, когда это не предусмотрено, т.е. писать FI|JIвместо FIJI|указанием ZWNJ). Если вы ожидаете, что ваши шрифты будут использоваться непрофессионалами, вы, возможно, должны проинструктировать их об этом.

  • Исключения жестко запрограммированы в шрифт. Учитывая, что исключения в данном случае редки, это вполне осуществимо. В этой статье (кстати, являющейся отличным источником информации о IJ в целом) голландская литейная компания Underware утверждает, что именно этим они и занимаются. Хотя такое жесткое кодирование может охватывать подавляющее большинство исключений, оно не может быть совершенным, например, оно не может охватывать все имена собственные в мире.

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

Конечно, Underware's «На голландском языке ij - это орграф или, если хотите, лигатура ...», неверно? Лигатура — это чистая изобразительная форма. Нет места для предпочтений; в орфографических терминах это орграф («пара символов, используемых в орфографии языка для записи [..] одной фонемы (отдельного звука)» ( источник ). Как символ, это больше, чем просто еще одна лигатура, и это точно так же, как æ«первоначально лигатура, представляющая латинский дифтонг» ( источник ), полный собственный символ.
@RadLexus: Ну, между символом, лигатурой и орграфом неизбежны серые зоны и совпадения . Например, ничто не переключается с двух отдельных персонажей на одно целое за ночь — такой процесс обычно занимает несколько столетий. ij находится где - то посередине. Иногда он имеет определенную форму (лигатура), но часто ее нет; во многих отношениях он рассматривается как один символ, а в других - как два отдельных символа. В любом случае, какое это имеет отношение к ответу?
Ах, это было просто касанием к твоему превосходному ответу! Статья очень хорошая и хорошо освещает потенциальные проблемы.
sub IJ by IJ.dutchсамо по себе не имеет смысла, потому что IJне используется в реальных текстах на голландском языке, Iза которым Jследует напечатано - я полагаю, это в дополнение к замене лигатуры?
@AdamJagosz: Да, это странно. Конечно, теоретически у вас может быть одна лигатура IJ для обычного использования и одна специальная лигатура IJ для голландского языка, но я скорее предполагаю, что здесь не хватает места. Смотрите мою правку.
Это все еще неправильная реализация, поскольку loclона не контролируется пользователем. Лучше всего использовать dligтак, чтобы пользователь включал лигатуру по своему усмотрению и мог отключить ее для исключений, таких как Fiji, bijou или bijectie.
@AdamJagosz: Есть ли официальное руководство по этому поводу? В прошлый раз, когда я проверял (правда, много лет назад), вся документация была довольно мутной и содержала по крайней мере несколько плохих примеров (например, s→ſ как общеисторическую замену). С практической точки зрения, я ожидаю, что любой пользователь, который хорошо осведомлен и готов отключить лигатуры для отдельных слов, более чем готов использовать ZWNJ, который в любом случае должен быть более надежным, портативным и т. д.
У меня нет ссылки, но dligэто то, что я всегда слышу на typedrawers.com — может быть, лучше спросить там. Но да, ZWNJ спасает положение.