Як працює випадковий вибір альтернативних символів у шрифтах OpenType?


9

У мене є питання, подібне до "Написання тексту з варіантами символів" : я хотів би створити випадковий шрифт, написаний вручну, який відтворює природне розмаїття між появами того ж гліфа, який можна знайти в рукописному тексті. Контекстуальні альтернативи хороші, але, наскільки я розумію, вони більше підходять для з'єднання літер разом, ніж для сценарію, де всі літери розділені пробілом.

Один з відповідей на вищезазначене питання говорить (акцент мій):

Хоча зазвичай у вас є лише кілька літер з контекстним чергуванням, теоретично можливо мати декілька форм на одну літеру. Але я не вірю, що ти можеш насправді рандомізувати їх зовнішній вигляд, лише прокручуй їх (тому, якби у тебе було три форми "а", вони будуть використовуватися послідовно і починати повторюватися в "чорна кішка сиділа на килимку" )

Ну, це здається неправдою, тому що я знайшов деякі згадки про функцію OpenType під назвою рандомізація , яка, очевидно, може це зробити. Наприклад, на цій веб-сторінці пакету TeX :

Оригінальні шрифти Knuth генерували різні форми навмання. Насправді це неможливо у шрифті OpenType; скоріше, шрифт містить кілька варіантів кожного гліфа і використовує функцію рандомізації OpenType для вибору варіанту для кожного виклику .

Отже: чи існує механізм випадкового відбору варіантів гліфів у OpenType, і як це працює? Посилання на адекватну онлайн-документацію або цитату з специфікації було б неоціненним. Також: чи вважаєте ви, що ця мета має сенс, тобто вона значно покращить якість набору тексту, щоб включити декілька варіантів гліфів у випадковому порядку?


У недавній дискусії про розсилку розсилки Opentype здавалося, що лише TeX підтримує цю randфункцію (а можливо, деякі веб-браузери).
Відновіть Моніку - М. Шредер

@ MartinSchröder У вас є посилання на цю дискусію? це дасть хорошу відповідь
F'x

Список тут , архів тут . Як бачите, він досить закритий. :-(
Відновіть Моніку - М. Шредер

Як це працює, простіше кажучи, математика. Якщо існує десять варіантів гліфу, функція генерує випадкове число між одним і десятима і надає відповідний варіант. У програмному плані вам доведеться переглянути цей код сценарію "Randomize".
Москарда

Відповіді:


2

Я вважаю, що те, що ви описуєте, є контекстною функцією чергування опетипу. ( http://msdn.microsoft.com/en-us/library/ms745109.aspx )

У Ніка Шінна є дійсно цікава стаття про багато функцій, доступних за допомогою контекстних альтернатив, і про те, як він використовував це в п'яти шрифтах, які він розробив. Зокрема, Даффі Скрипт використовувався в описаному Вами способі. ( http://ilovetypography.com/2011/04/01/engaging-contextuality/ )

Дивлячись глибше, мені вдалося знайти цю публікацію, що описує, як обертатись вашими гліфами при наступних цілях (що, як правило, виглядає випадковим чином): http://forums.adobe.com/message/1785905#1785905

Це пірнає прямо в середину. Я можу поглянути далі, якщо ви хочете щось, що має трохи більше інформації для початку роботи, або якщо я неправильно зрозумів ваш початковий запит.


2

Я не грав з функцією рандомізації, але отримав непогані результати при широкому використанні лігатур.

Більшість варіацій рукописного тексту пов'язані з контекстом: звідси випливає, що за цим слід, це кінець слова і т. Д. Лігатури OpenType можуть вмістити для себе багато варіантів, якщо ви готові добре спланувати його.

Існує також легендарний шрифт Beowolf від LettError. Такого роду програмування не для розробників середнього типу.

** ОНОВЛЕННЯ **

Ще немає відповіді? Я думав, якийсь розумний програміст уже вирішив би це для вас. Ну, дозвольте мені додати трохи більше інформації до пулу.

Єдині справжні експерименти щодо рандомізації, про які я знаю (на зразок Беовульфа, згаданих вище), були виконані з PostScript. Якщо ви готові відійти від OpenType, Люк Девроє зробив документ (PDF), який заглиблюється в програмування рішення PostScript Type 3 у цій проблемі. У нього також є список речей, пов’язаних із видачею рандомізованих шрифтів для довідок.

Як і у випадку з усіма типами речей, на цю тему на Типофілі деякий час була дискусія . У цій темі 8 років тому Томас Фінні зробив це твердження, що я вважаю, що все ще справджується (специфікація OpenType мало змінилася, про що я знаю):

Звичайно. Припускаючи, що ви хочете, щоб він працював у деяких існуючих додатках, у вас є незвичний вибір, наскільки кожен підхід дуже обмежений у тому, як / де він працює:

  • OpenType (контекстний, WYSIWYG, на даний момент підтримується лише додатками Adobe, будь-яким пристроєм виводу, найпростішим у коді, але це не дуже багато, для цього використовуйте FontLab або, можливо, DTL FontMaster)

  • AAT (контекстний, WYSIWYG, лише для Mac, на даний момент підтримується лише декількома програмами, будь-яким пристроєм виведення, важко кодувати контекстні речі; використовуйте інструменти командного рядка Apple для компіляції функцій у попередньо існуючий шрифт)

  • Тип 1 (справжній випадковий, не WYSIWYG, працюватиме в багатьох додатках, але не в останніх програмах Adobe. Він працюватиме лише з вихідними пристроями PostScript; вам, мабуть, доведеться бути програмістом, щоб кодувати його)


Так, лігатури дозволяють змінювати, але це не те саме, що рандомізація ... Дякую за пов’язане посилання на Beowolf, я не знав про цей шрифт. Це круто!
F'x

Якщо ви дійсно хочете зафіксувати почуття почерку, схоже, вам спочатку потрібно визначити варіанти лігатури, з яких можна зробити випадковий вибір. Поєднання двох це буде прекрасним подвигом дизайну типу. Погляньте на роботу Sudtipos: Адіос Скрипт, Афера, і особливо Ділова Пенсія, приходять на думку -> sudtipos.com/fonts/99
цивільному одязі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.