Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5-6 семестр - ТОТИ / Лекция 10 Качество верстки / Лекция 10 часть 2 Переносы и выключка.doc
Скачиваний:
76
Добавлен:
23.02.2015
Размер:
137.22 Кб
Скачать
      1. Проблемы построчных переносов и выключки

Большинство программ верстки осуществляет функцию переноса и выключки построчно, и когда завершает работу с одной строкой, тут же забывает о ней и начинает на следующей строке все сызнова. Гипотетическая программа, которая описана в предыдущем разделе, работает примерно так. Проблема такого подхода состоит в том, что часто строка не может быть размещена оптимально в пределах доступного пространства. В таком случае у программы единственный выход: нарушить правила, набирая строку слишком разреженно или слишком плотно. Чаще — разреженно, чем плотно.

Программа может также сверстать одну строку, используя только минимальные значения пробе лов (таким образом, получая относительно плотную строку), а следующую, используя максимальные значения пробелов (создавая относительно разреженную строку). Поскольку программа не принимает во внимание то, что делала на предыдущей строке, она и не замечает контраста строк. Однородные строки трудно получить, когда каждая строка набирается независимо от других.

У вас могут возникнуть трудности с последней строкой абзаца, если эта строка коротка, иногда слишком коротка для того, чтобы перекрыть отступ в последующем абзаце и устранить неприглядный пробел. Сходным образом вы можете запретить программе перенос последнего слова абзаца (при условии, что это допусти мо), но она будет вынуждена сделать этот перенос для того, чтобы остаться в пределах предписанных величин пробелов.

Единственный способ разрешения этой дилеммы (кроме решения проблем вручную) — это использование программы, у которой функция переносов и выключки учитывает одновременно несколько строк.

      1. Перенос и выключка с учетом нескольких строк

Большинство программ использует построчные перенос и выключку, потому что это легче и быстрее, чем обрабатывать несколько строк одновременно. В после днем случае перенос и выключка становятся необычайно сложным процессом. Для того чтобы достичь оптимальных пробелов во всем абзаце, программа выполняет переносы и выключку, постоянно оглядываясь, не превышена ли плотность данной строки по сравнению со сверстанными строками.

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

Такое движение взад-вперед требует значительного времени и компьютерных ресурсов, зато и результат гораздо лучше, чем у построчных переноса и выключки. Нагрузку компьютера можно уменьшить, регулируя диапазон строк, которые про грамма просматривает одновременно. Диапазон обрабатываемых строк все время меняется: например, получив значение 20 строк, программа работает с текущей строкой плюс 19 предыдущих строк. Другими словами, она не обрабатывает дискретные блоки по 20 строк, а каждый раз усредняет относительно текущей строки значения пробелов в последних 20 строках, которые уже сверстаны.

Пока немногие программы предлагают описанную возможность, но результат этой технологии столь великолепен, что, возможно, она станет стандартной во всех профессиональных наборных системах и программах верстки.