WASM в шрифтах
Ну вот мы и дожили до момента, когда в шрифтах появился язык программирования. В harfbuzz, лидирующей библиотеке для отрисовки шрифтов появилась встроенная поддержка WASM.
В принципе, ожидаемо — даже мне, далёкому от проблем шрифтовиков человеку, было очевидно, что сложности соединения символов, используемых на письме, не решить только декларативным образом. Более-менее очевидный пример — египетские иероглифы. Стоит немного с ними познакомиться и становится понятно, что описывать их декларативно безумно сложно.
В общем, в шрифтах появился свой язык программирования.
Естественно, все побежали делать на нём всякую весёлую дичь. Внутрь шрифтов уже засунули «Тетрис» и даже какую-то языковую модель.
Я узнал об этом развлечении поздновато, но вчера вечером тоже немного развлёкся — сделал шрифт, который из букв «на лету» делает символы азбуки Морзе.
![](https://bolknote.ru/pictures/2024.07.18@2x.png)
В принципе, что-нибудь своё написать несложно, уже есть репозиторий с готовыми примерами, можно начать прямо оттуда, даже без чтения документации. Единственное — пишется всё на Расте. Я его почти забыл, так что пришлось сначала немного освежить знания. Но в целом, если не стараться писать хороший код, что-нибудь навазюкать можно достаточно быстро.
Подумал, что когда-нибудь появятся вредоносные шрифты, эксплуатирующие уязвимость в интерпретаторе WASM, но потом осознал, что этот интерпретатор и так встроен в каждый браузер и библиотека рисования конкретно шрифтов вряд ли расширит вектор атаки.
Вы правы, да и урезан этот интерпретатор по-максимуму.