Чи може бути створений шрифт, щоб символи залежали від попередніх символів введеного слова?


13

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

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

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


3
Я нічого не знаю про методики, що стосуються альтернативних символів, але одна точка відліку, яка може бути цікавою для дослідження, - це шрифт Зигмунда Фрейда. Він був розроблений для зміни залежно від набраної речовини. Це хороша стаття , і він згадує щось , зване поліалфавітних Заміною , яка може бути те , що ви після smashingmagazine.com/2014/06 / ...
johnp

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

Відповіді:


15

Так, ви можете це зробити. Ви робите це за допомогою функції OpenType під назвою Contextual Alternates (calt).

Приклад коду:

feature calt { 
    lookup calt1 { 
       sub a' b  by a.ss01 ; 
       } calt1; 
    }

В основному, ви кажете шрифт: замініть a + b на a.ss01 + b

Це хороший огляд функцій заміни OpenType .


Дякую за твою допомогу. Стаття дійсно цікава і корисна, оскільки показує, як почати робити досягнення цього. Якщо у вас є інші джерела, про яких ви знаєте, я дуже вдячний, щоб ви додали їх у свою відповідь. Веселого Різдва / Зі святом вам.
Фізтбан

10

Так, це можна зробити. Існує кілька інтелектуальних стандартів шрифту, а саме: AAT, Graphite та OpenType, які дозволяють це зробити. Останнє, здається, є успішним.

Ось приклад, який я створив за допомогою таких прийомів. Зауважте, як букву s відображається по-різному на основі попереднього та наступного листа:

Приклад контекстуальної функції

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


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

І щасливих свят / з Різдвом вам!
Фізтбан

3
Я мало знаю про METAFONT (шрифтовий механізм, створений автором TeX Дональдом Е. Кнутом), але я впевнений, що це також може зробити.
Йорг W Міттаг

Цікаво, я обов’язково це шукаю!
Фізтбан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.