Що таке перенесення і використовувати вирівнювання? Вирівнювання (justification) - це процес заповнення шрифтом і пробілами рядків певної довжини. Перенесення слів (hyphenation) - це спосіб, що допомагає більш ефективно заповнити рядок, що складається в розбитті слова на частини, що полегшує вирівнювання правого краю рядка.
Кожен рядок тексту вимикається по ширині (або формату) смуги набору. Це суперечливе твердження, оскільки слово вимкнений (justified) відноситься до тексту, в якому кожен рядок повністю заповнює смугу набору, залишаючи рівні вертикальні поля праворуч і ліворуч. Але навіть рядка, які не заповнюють до кінця смугу набору, насправді вимикаються просто вони доповнюються пробілами (шпаціями). Коли ж текст вимикається з утворенням рівних полів, то що залишилося нема за конання текстом простір розподіляється по рядку для того, щоб розтягнути текст до межі смуги. Розподіл цієї прогалини і є за дачею комп'ютерної функції перенесення і вирівнювання.
Принцип дії перенесення і вирівнювання
Процес перенесення і вирівнювання можна розглядати як діалог всередині комп'ютера, який відбувається, поки ви набираєте текст. Діалог починається, коли потрібно приймати рішення про оформлення кінця рядка (end-of-line decision). До цього моменту, в разі найпростішого сценарію, програма просто вважає ширини знаків і складає їх, а суму віднімає з ширини смуги набору. І настає момент, коли ви набираєте слово, яке не вміщується в решти рядка.
Познаковие розрахунки
Процес може здатися складним, але цей короткий сценарій тільки ілюструє, як приймається рішення про оформлення кінця рядка. До того, як ви введете перший знак, функція пере носів і вимкнення вже озброєна масової інформації, більшою частиною якої ви можете управляти.
Наприклад, значення трекінгу (tracking) буде впливати на прогалини між усіма знаками рядки. Для кожного введеного знака функція налаштування переносів та випрямлення використовує значення трекінгу для перерахунку ширини знаків, які програма одержить від шрифтового файлу. Це, в свою чергу, визначає загальний обсяг простору, яке знаки займають в рядку. Трекінг не впливає на форму символів, а тільки на обсяг простору, яке вони займають.
Крім того, кожен раз, коли ви вводите знак, функція перенесення і вирівнювання намагається виявити поєднання цього знака плюс попереднього в таблиці кернинга шрифтового файлу. Якщо така пара виявляється, то програма витягує відносні значення (виражені в частках кегельний), розраховує їх абсолютні значення, виходячи з величини кегля, і додає це значення кернинга до загальної ширини знака.
Коли рядок заповнюється текстом, який вона в змозі вмістити, наступний текст виштовхується (wraps) на наступний рядок. Цей процес триває безперервно і динамічно, тому, коли ви редагуєте сторінку тексту і додаєте або видаляєте фрагмент тексту, достатній, щоб зрушити рядки, то програма може реагувати на це з запізненням. Адже кожен рядок абзацу (кількох абзаців) повинна знову переверстати з урахуванням переносів та випрямлення.