Ну что же, это случилось!
Я добавил возможность в веб-генераторе PDF-файлов переводить шрифты в кривые так, что в итоговом файле даже не остаётся следа от шрифта. Это важно, если у вас лицензированный шрифт: вы можете создавать публичный веб-генератор.
В предыдущих версиях шрифт тоже не нужен был, чтобы открыть файл, например, на производстве — тексты переводились в кривые на этапе открытия файла. Но при большом желании файл шрифта можно было достать. Теперь же файл шрифта просто не нужен в веб-генераторе 😎.
Помимо этого JP-движок теперь поддерживает все виды кернинга: автоматический, оптический, метрический. При этом есть доступ к букве как к объекту, можно любую букву трансформировать: приподнять, опустить, повернуть, изменить пропорции. Можно раскрасить все буквы в разные цвета (а при желании и каждый отдельный элемент буквы).
Подробно о движке: https://adobescript.ru/jp
Я добавил возможность в веб-генераторе PDF-файлов переводить шрифты в кривые так, что в итоговом файле даже не остаётся следа от шрифта. Это важно, если у вас лицензированный шрифт: вы можете создавать публичный веб-генератор.
В предыдущих версиях шрифт тоже не нужен был, чтобы открыть файл, например, на производстве — тексты переводились в кривые на этапе открытия файла. Но при большом желании файл шрифта можно было достать. Теперь же файл шрифта просто не нужен в веб-генераторе 😎.
Помимо этого JP-движок теперь поддерживает все виды кернинга: автоматический, оптический, метрический. При этом есть доступ к букве как к объекту, можно любую букву трансформировать: приподнять, опустить, повернуть, изменить пропорции. Можно раскрасить все буквы в разные цвета (а при желании и каждый отдельный элемент буквы).
Подробно о движке: https://adobescript.ru/jp
🔥12👍3👏1
Кстати, недавно ещё добавил возможность размещать в тексты иконки. Это полноценный векторный элемент, который существует «внутри слова». То есть он по умолчанию того же цвета, что и текст, но может быть раскрашен в любые цвета. Иконка учитывается при расчёте ширины слова и переносится на новую строку со словом-родителем. Иконка имеет размер в зависимости от размера шрифта. И у текста может быть несколько таких иконок!
Это очень удобно, например, когда создаются расписания или объявления для общественного транспорта.
Это очень удобно, например, когда создаются расписания или объявления для общественного транспорта.
🔥5
Друзья!
В ближайший ВТОРНИК! (28-го февраля, в последний день зимы) в 20 часов по Москве проведу онлайн-стрим по работе на своём движке генерации PDF-файлов в браузере.
В прямом эфире хочу собрать вот такой несложный городской указатель на грузинском и английском языках. Думаю, займёт это около получаса. А потом с удовольствием отвечу на вопросы: и про работу, и про экспорт макетов из Иллюстратора. Присоединяйтесь!
Ссылку на стрим пришлю сюда :))
В ближайший ВТОРНИК! (28-го февраля, в последний день зимы) в 20 часов по Москве проведу онлайн-стрим по работе на своём движке генерации PDF-файлов в браузере.
В прямом эфире хочу собрать вот такой несложный городской указатель на грузинском и английском языках. Думаю, займёт это около получаса. А потом с удовольствием отвечу на вопросы: и про работу, и про экспорт макетов из Иллюстратора. Присоединяйтесь!
Ссылку на стрим пришлю сюда :))
❤13
Сергей Турулин
Друзья! В ближайший ВТОРНИК! (28-го февраля, в последний день зимы) в 20 часов по Москве проведу онлайн-стрим по работе на своём движке генерации PDF-файлов в браузере. В прямом эфире хочу собрать вот такой несложный городской указатель на грузинском и английском…
Друзья, в 20 по Москве будет стрим на Твиче.
Ссылочку кину сюда
Похоже, чтобы комментировать, там надо регистрироваться. Поправьте, если ошибаюсь
Ссылочку кину сюда
Похоже, чтобы комментировать, там надо регистрироваться. Поправьте, если ошибаюсь
Скрипт рисования всех возможных линий между объектами
Вчера опубликовал шуточную схему всех возможных пешеходных маршрутов между станциями Московского метро. Схему генерит скрипт в Иллюстраторе, немного картинок из процесса тоже выложил. В комментариях попросили посмотреть скрипт. Выкладываю.
В скрипте есть несколько настроек: максимальное число линий, максимальная длина линии (в пунктах), имя слоя для рисования и имя графического стиля, который можно применить сразу.
На Гитхабе добавил описание скрипта: сам скрипт и файл Иллюстратора, в котором его запускал.
Полезные ссылки:
Как запустить скрипт
Другие мои скрипты :)
ps: кстати, в работе с константой
Вчера опубликовал шуточную схему всех возможных пешеходных маршрутов между станциями Московского метро. Схему генерит скрипт в Иллюстраторе, немного картинок из процесса тоже выложил. В комментариях попросили посмотреть скрипт. Выкладываю.
В скрипте есть несколько настроек: максимальное число линий, максимальная длина линии (в пунктах), имя слоя для рисования и имя графического стиля, который можно применить сразу.
На Гитхабе добавил описание скрипта: сам скрипт и файл Иллюстратора, в котором его запускал.
Полезные ссылки:
Как запустить скрипт
Другие мои скрипты :)
ps: кстати, в работе с константой
LIMITтам есть логическая ошибочка, которая не влияет на результат; кто поймёт — тот молодец ;)
👍4
Forwarded from мяу-дизайн
This media is not supported in your browser
VIEW IN TELEGRAM
В 2016 году Андрей Шапиро и Игорь Штанг поделились наблюдениями об аналогии между композиционными отношениями в графическом дизайне и взаимодействием зарядов в электромагнитном поле.
Результаты с точки зрения дизайна Игорь представил на Дизайн-просмотре в лекции «Теория графического напряжения», а Андрей в статье на своем сайте рассказал о симуляторе графического/электромагнитного напряжения, куда можно накидывать шарики, и они взаимными отталкиваниями равномерно распределятся по плоскости.
Этот симулятор вдоховновил меня на проект, над которым я вяло тружусь последние полгода. Хоть он еще и в сыром состоянии, хочу всё же вам рассказать о нем. Так сказать, взять немного престижа в долг.
Результаты с точки зрения дизайна Игорь представил на Дизайн-просмотре в лекции «Теория графического напряжения», а Андрей в статье на своем сайте рассказал о симуляторе графического/электромагнитного напряжения, куда можно накидывать шарики, и они взаимными отталкиваниями равномерно распределятся по плоскости.
Этот симулятор вдоховновил меня на проект, над которым я вяло тружусь последние полгода. Хоть он еще и в сыром состоянии, хочу всё же вам рассказать о нем. Так сказать, взять немного престижа в долг.
🔥5👍2
Начал писать документацию движка JP
От проекта к проекту генерации pdf-файлов в браузере у движка всё больше функций. Какие-то используются постоянно. Некоторые — редкие, и применение забывается.
Настройки документа стараюсь уместить в шаблон. Там описаны не только цвета, позиции и размеры, но и условия. Есть даже понятие «опциональный объект» — правило применяется, когда объект существует.
Если натыкаюсь на правило, которое не помню, открываю прошлые проекты и копирую. Но иногда даже и скопированный код не помню, как работает. Приходится искать выполнения этого правила внутри. 🤪
Например, что означает
Поэтому начал писать документацию. Пока просто в описательной форме на стандартных стилях. Потом, конечно, перенесу на какой-то движок.
Ну и это дополнительная защита от возможных коллекторов техдокументации.
От проекта к проекту генерации pdf-файлов в браузере у движка всё больше функций. Какие-то используются постоянно. Некоторые — редкие, и применение забывается.
Настройки документа стараюсь уместить в шаблон. Там описаны не только цвета, позиции и размеры, но и условия. Есть даже понятие «опциональный объект» — правило применяется, когда объект существует.
Если натыкаюсь на правило, которое не помню, открываю прошлые проекты и копирую. Но иногда даже и скопированный код не помню, как работает. Приходится искать выполнения этого правила внутри. 🤪
Например, что означает
lineHeightType: JPLineHeightType.baselineXHeight? Вроде ясно, что тут что-то связано с межстрочным расстоянием по xHeight шрифта. Но как именно работает и отчего зависит, уже неизвестно...
Поэтому начал писать документацию. Пока просто в описательной форме на стандартных стилях. Потом, конечно, перенесу на какой-то движок.
Ну и это дополнительная защита от возможных коллекторов техдокументации.
🆒4👍1
ChatGPT
Попробовал нейронку для генерации кода. Такое ощущение, что подходит чат не для всех языков программирования.
Пытался получить простой (на первый взгляд) код — вывести текст из переполненного текстового блока Индизайна. Фиг там :))
В его коде на первом слайде видно, что он булево свойство
10 раз уточнял вопрос. Чат писал «Вы правы, это не работает. Вот...» и выдавал похожее другими методами. Самое смешное, что код выдаётся как работающий. Это легко! На! Без сомнения.
На картинке 2 видно, что чат от бессилия предложил сам создать текстовый блок :))
Конечно, я задал вопрос с небольшим подвохом. Но это не супер уж сложная задача.
Когда я сам написал правильный код, чат на белом глазу написал: «Да, вы правы...» и 3 строчки кода.
В общем, не скоро он доберётся до ExtendScript, тем более что он задокументирован не весь, а что задокументировано не всегда работает.
Это ж Ад'об
Попробовал нейронку для генерации кода. Такое ощущение, что подходит чат не для всех языков программирования.
Пытался получить простой (на первый взгляд) код — вывести текст из переполненного текстового блока Индизайна. Фиг там :))
В его коде на первом слайде видно, что он булево свойство
.overflowsтут же использует как массив. Конечно, в JS всё можно пихать в
if, но...
10 раз уточнял вопрос. Чат писал «Вы правы, это не работает. Вот...» и выдавал похожее другими методами. Самое смешное, что код выдаётся как работающий. Это легко! На! Без сомнения.
На картинке 2 видно, что чат от бессилия предложил сам создать текстовый блок :))
Конечно, я задал вопрос с небольшим подвохом. Но это не супер уж сложная задача.
Когда я сам написал правильный код, чат на белом глазу написал: «Да, вы правы...» и 3 строчки кода.
В общем, не скоро он доберётся до ExtendScript, тем более что он задокументирован не весь, а что задокументировано не всегда работает.
Это ж Ад'об
👍3
Сергей Турулин
ChatGPT Попробовал нейронку для генерации кода. Такое ощущение, что подходит чат не для всех языков программирования. Пытался получить простой (на первый взгляд) код — вывести текст из переполненного текстового блока Индизайна. Фиг там :)) В его коде…
Самое странное для меня, что чат применяет несуществующие штуки. А когда ему говоришь, что это не работает, он такой: Да, вы правы, действительно.
Прям как на экзамене: когда не знаешь предмет, говоришь преподу какую-то чепуху, а когда тебя поправляют, ты такой: «Да, вы правы» и погнал дальше.
Но попробую позже новую версию чата.
Прям как на экзамене: когда не знаешь предмет, говоришь преподу какую-то чепуху, а когда тебя поправляют, ты такой: «Да, вы правы» и погнал дальше.
Но попробую позже новую версию чата.
😁4
Кстати, что такое ExtendScript? И какого он года?
Отвечать будет ChatGPT:
(я думал он 2004 года....)
Отвечать будет ChatGPT:
(я думал он 2004 года....)
👍1🤔1