Инженерия.

3 июля 2026 г.

Как разбить текст на ровные слайды карусели без ИИ.

Где ставить границы слайдов? Фиксированное число символов режет предложения и оставляет неровные слайды. Как мы превратили разбиение в оптимизацию с небольшой моделью стоимости и динамическим программированием.

Подробнее

Турецкая интерлинеарная глосса с транскрипцией и кастомной типографикой, экспортированная без потери шрифта

26 июня 2026 г.

Почему экспорт из HTML в картинку берёт не тот шрифт, и как это решает HarfBuzz.

Растеризация SVG в PNG через элемент изображения соревнуется с загрузкой шрифта и обычно проигрывает, поэтому экспорт выходит запасным шрифтом. Решение в том, чтобы превратить текст в векторные контуры до растеризации, с шейпингом через HarfBuzz.

Подробнее

Дуги-коннекторы между словами английского предложения и его французского перевода

25 июня 2026 г.

Как рисовать линии-коннекторы между словами в тексте с переносами.

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

Подробнее

Диалог «Поделиться» со ссылкой, которая восстанавливает всё выравнивание

24 июня 2026 г.

Как уместить всё состояние приложения в ссылку без бэкенда.

Ссылка может нести всё состояние приложения, если его урезать, сжать и версионировать. Как мы упаковываем целое выравнивание в несколько сотен символов и безопасно читаем его обратно.

Подробнее

Вкладка настроек токенизации в Word-by-word Aligner

23 июня 2026 г.

Разбиение текста на слова, когда деления по пробелам недостаточно.

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

Подробнее