frontttalks nov2013
TRANSCRIPT
![Page 1: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/1.jpg)
Justify, от которого не тошнитАлексей Иванов (@iadramelk) и Александр Остапенко (@alexalx13)
![Page 2: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/2.jpg)
![Page 3: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/3.jpg)
![Page 4: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/4.jpg)
![Page 5: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/5.jpg)
Типографика1. mdash.ru
2. Типограф Лебедева
3. Тысячи других
![Page 6: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/6.jpg)
![Page 7: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/7.jpg)
![Page 8: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/8.jpg)
![Page 9: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/9.jpg)
![Page 10: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/10.jpg)
![Page 11: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/11.jpg)
![Page 12: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/12.jpg)
Библиотеки для расстановки переносов1. hyper.js + Словарь переносов
2. hypenator.js
3. http://quittance.ru/hyphenator.php
4. http://quittance.ru/blog/index.php?category=21 - описание алгоритма
![Page 13: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/13.jpg)
![Page 14: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/14.jpg)
![Page 15: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/15.jpg)
![Page 16: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/16.jpg)
![Page 17: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/17.jpg)
Правильная настройка переносов1. Минимальная длина для оставляемого куска 3 символа.
2. Минимальная длина для переносимого куска 3 символа.
3. Не допускается разделение переносами сокращений, набираемых
прописными буквами (ВЛКСМ), прописными с отдельными строчными
(КЗоТ) и с цифрами (ФАIООО).
4. Переносить последнее слово в абзаце не рекомендуется.
![Page 18: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/18.jpg)
![Page 19: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/19.jpg)
Алгоритм Кнута-ПлассаРеализация для веба: http://www.bramstein.com/projects/typeset/
• Бокс: Базовый блок текста, у него есть ширина.
• Клей: Элемент с изменяемым размером. У него есть три параметра:
Базовая ширина, насколько его можно растянуть, насколько его можно
сжать. Пример: 1/3, 5/12, 1/12.
• Штраф: Место где допустим или недопустим перенос. У него есть
ширина и коэффицент штрафа и флаг.
![Page 20: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/20.jpg)
Пример разбитого предложенияВошел ямщик просить на водку.
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.
![Page 21: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/21.jpg)
![Page 22: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/22.jpg)
![Page 23: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/23.jpg)
![Page 24: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/24.jpg)
![Page 25: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/25.jpg)
![Page 26: Frontttalks nov2013](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f0dfbd8b42ac0728b5070/html5/thumbnails/26.jpg)
Ссылки• Где поиграться: http://github.com/ridero/fronttalks
• Когда-нибудь тут будет сервис по подготовке книг к печати:
http://ridero.ru
• Мы в Твиттере: @iadramelk и @alexalx13
• Вопросы?