Upload
jetstyle
View
611
Download
1
Tags:
Embed Size (px)
Citation preview
Justify, от которого не тошнитАлексей Иванов (@iadramelk) и Александр Остапенко (@alexalx13)
Типографика1. mdash.ru
2. Типограф Лебедева
3. Тысячи других
Библиотеки для расстановки переносов1. hyper.js + Словарь переносов
2. hypenator.js
3. http://quittance.ru/hyphenator.php
4. http://quittance.ru/blog/index.php?category=21 - описание алгоритма
Правильная настройка переносов1. Минимальная длина для оставляемого куска 3 символа.
2. Минимальная длина для переносимого куска 3 символа.
3. Не допускается разделение переносами сокращений, набираемых
прописными буквами (ВЛКСМ), прописными с отдельными строчными
(КЗоТ) и с цифрами (ФАIООО).
4. Переносить последнее слово в абзаце не рекомендуется.
Алгоритм Кнута-ПлассаРеализация для веба: http://www.bramstein.com/projects/typeset/
• Бокс: Базовый блок текста, у него есть ширина.
• Клей: Элемент с изменяемым размером. У него есть три параметра:
Базовая ширина, насколько его можно растянуть, насколько его можно
сжать. Пример: 1/3, 5/12, 1/12.
• Штраф: Место где допустим или недопустим перенос. У него есть
ширина и коэффицент штрафа и флаг.
Пример разбитого предложенияВошел ямщик просить на водку.
box (w(indent)) — параграфный отступpenalty (0, ∞, false) — запрет переносаbox (w("вошел")) — "вошел"glue (1em/3, 5em/12, 1em/12) — пробелbox (w("ямщик")) — "ямщик"glue (1em/3, 5em/12, 1em/12) — пробелbox (w("про")) — "про"penalty (w('-'), 100, true) — мягкий переносbox (w("сить")) — "сить"glue (1em/3, 5em/12, 1em/12) — пробелbox (w("на")) — "на"penalty (0, ∞, false) — запрет переносаglue (1em/3, 5em/12, 1em/12) — пробелbox (w("водку")) — "водку."penalty (0, ∞, false) — запрет переносаglue (0, ∞, 0) — пробел а последней строкеpenalty (0, —∞, false) — принудительный перенос
01.02.03.04.05.06.07.08.09.10.11.12.13.14.15.16.17.
Ссылки• Где поиграться: http://github.com/ridero/fronttalks
• Когда-нибудь тут будет сервис по подготовке книг к печати:
http://ridero.ru
• Мы в Твиттере: @iadramelk и @alexalx13
• Вопросы?