Предыдущий раздел
К оглавлению
Глоссарий
Следующий раздел

 

Сравнительный анализ методов реализации надстрочников

Какие задачи решают и какие -- не могут решить те или иные методы? Каковы их достоинства и недостатки? Что лучше выбрать для конкретной задачи?

 

Полнолигатурный метод

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

Кернинг. Возможность его использования зависит от того, как мы решили проблему размещения большого количества лигатур в нашей КШС (размещению посвящен отдельный раздел). Если нам удалось корректно разместить все лигатуры в одном шрифте, и наша dtp-система понимает его именно как один шрифт (а не как, скажем, совокупность шрифтовых сечений), кернинг будет работать в полной мере, радуя глаз и дизайнера, и издателя, и читателя. Если же КШС у нас мультишрифтовая (пусть даже фактически все символы расположены в одном файле, но dtp видит их только через сечения либо как разные начертания одной font family), внутришрифтовой кернинг работать не будет. Некоторые системы, правда, предлагают возможность внешнего кернинга. Верстальщик указывает на две соседние буквы, сдвигает их так, как ему надо -- dtp-система запоминает эту пару (пусть даже символы -- из разных шрифтов), и во всем документе эта пара сдвигается на величину установленного кернинга. Бывает, что внешний кернинг можно массово рассчитать автоматически, а детали потом подправить вручную. Таблицы внешнего кернинга можно записывать отдельно от документа или вместе с ним.

Что еще можно сказать о внутришрифтовом кернинге. Мало разместить все лигатуры в одном шрифте и заставить текстовую систему видеть этот шрифт единым. Лигатуры необходимо разместить в шрифте корректно. Корректно с точки зрения самой системы, подчас даже в противоречии со стандартами. Общее правило здесь только одно: перед началом проектирования КШС необходимо детально обследовать все приложения, в которых эту КШС предполагается использовать. Иначе возможны сильные разочарования после хорошо проделанной работы. Например, dtp-система может отказаться применять горизонтальный кернинг к лигатурам, "пиратским" образом размещенным в зоне CJK-иероглифов. Просто потому, что система обладает внутренними, невыключаемыми и неуместными в данном случае знаниями о структуре письма с применением символов конкретных зон кодового пространства. Собственно, "непиратский" способ размещения тоже не является панацеей: размещение блока лигатур в свободной зоне Unicode заставит dtp-систему применять кернинг с еще меньшей вероятностью, чем для иероглифов.

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

Трекинг, разрядка и выключка межсимвольными интервалами. (Об этих страшных словах можно почитать в глоссарии.) Работают в полной мере и без проблем. Ведь в такой КШС с точки зрения dtp-системы каждая буква с надстрочником -- это цельный и неделимый символ. Опасности того, что надстрочники "поплывут" даже при самой сильной разрядке, нет. Никаких дополнительных средств по поддержанию корректности разрядки применять не надо. Отмечу, что изменение межсимвольных интервалов будет работать четко и правильно вне зависимости от того, используется ли у нас единый шрифт или мультишрифтовая КШС.

В общем, если вам удалось найти приемлемые решения, как разместить прорву лигатур корректно и в одном шрифте, как заставить dtp-систему воспринимать этот шрифт единым, и уломать дизайнера осилить создание такого шрифта, -- далее полнолигатурный метод не создаст в работе никаких проблем.

 

Накладные надстрочники

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

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

Другая гарнитура еще более показательна:

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

Есть, однако, и явные цельнолитные лигатуры. Цельными отливали все заглавные буквы с надстрочниками и некоторые "плохие" случаи строчных:

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

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

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

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

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

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

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

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

То есть, вместе с необходимостью "экранировать" опасные комбинации "буква+надстрочник", среди причин лигатурирования появилась еще одна: предотвращение разрыва кернинга в тех парах, где его наличие наиболее существенно.

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

Необходимо каким-то образом объяснить dtp-системе, что трекинг не должен касаться символов определенного класса. Если используемая dtp позволяет определять такие классы, трекинг можно сделать корректным путем помещения в этот класс всех накладных надстрочников. Если нет -- трекинг средствами dtp для текста, содержащего накладные надстрочники будет, похоже, невозможен в принципе.

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

А как же быть с разрядкой? Если выключкой, так уж и быть, можно пожертвовать, если зависящий от кегля трекинг можно заложить в гарнитурной коллекции (все равно, вместе с трекингом от кегля зависит и плотность шрифта), то без разрядки обойтись ну уж никак нельзя, ибо она заменяет отсутствующее в церковно-славянском письме полужирное начертание:

Если требуется сделать разрядку с фиксированной величиной межсимвольных промежутков, то решение имеется. Нужно только, чтобы в нашей КШС накладные надстрочники были все либо право-, либо левосторонние.

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

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

Осталось дать этому шрифту показательное имя, а еще лучше -- оформит его в виде Bold-начертания к основному шрифту. Теперь, чтобы разрядить кусок текста, достаточно выделить его и сменить шрифт или начертание.

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

Наконец, еще один вопрос. А как соотносятся между собой надстрочники нулевой ширины и надстрочники по методу кернингов. Какие из них лучше, а какие хуже?

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

Два примера. Microsoft Word прекрасно поддерживает надстрочники [почти] нулевой ширины. Надстрочники кернингами он поддерживает тоже (ибо он умеет работать с кернинг-парами в принципе). Но с одним ограничением. Word ограничивает величину кернинга шириной левого символа пары. Ограничивает, даже если шрифт предписывает большую величину. А широкие надстрочники над узкой буквой в церковно-славянском письме встречаются (, например). Надстрочники над такими буквами поплывут и, хуже того, справа от этих букв образуется лишнее (на величину ограничения) свободное пространство. Очевидно, что в MS Word лучше использовать надстрочники нулевой ширины.

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

Вот почему я рассматриваю оба метода. Хорошо, если ваша КШС снабжена дублирующим комплектом обоих методов (если накладные надстрочники в ней вообще есть). Подобное дублирование существенно расширяет сферу применения шрифтов.

 

Предыдущий раздел
К оглавлению
Глоссарий
Следующий раздел