Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Иногда бывает необходимо использовать расстановку переносов для более компактного размещения текста в документе. В то же время важно понимать, что особенности расстановки переносов слов могут отличаться для каждого языка.
В настоящее время расстановка переносов используется не так часто, как раньше, особенно в текстах на английском языке. Тем не менее, использование этой функции может оказать серьезное влияние на пользовательские документы – расстановка переносов влияет на оформление и, как следствие, на внешний вид выходных файлов, например, в формате PDF.
Для корректного разделения слов используются словари переносов для конкретных языков. Aspose.Words использует продвинутые алгоритмы для работы с такими словарями и позволяет получить ту же расстановку переносов, что и в Microsoft Word.
Поскольку в разных языках используются разные нормы и правила переноса слов, оптимальным решением для правильной расстановки переносов является использование специальных словарей. Aspose.Words использует OpenOffice словари.
Для проверки орфографии OpenOffice использует Hunspell библиотека, который является обобщением алгоритма расстановки переносов в TeX. Этот алгоритм позволяет автоматически расставлять нестандартные переносы, используя конкурирующие стандартные и пользовательские шаблоны расстановки переносов. Hunspell использует Дефис для расстановки переносов.
Aspose.Words реализует алгоритм настройки перестановок в ТЕКС и может повторно использовать OpenOffice словари расстановки переносов.
Следует учитывать следующие особенности алгоритмов Aspose.Words:
Чтобы использовать функцию расстановки переносов, сначала зарегистрируйте словарь расстановки переносов.В следующем примере кода показано, как загрузить словари расстановки переносов для указанных языков из файла:
В следующем примере кода показано, как загрузить словари переносов для указанного языка из потока:
В качестве альтернативы предварительной регистрации словарей расстановки переносов можно зарегистрировать только необходимые словари расстановки переносов “по запросу”. Для достижения этой цели реализуйте интерфейс IHyphenationCallback и используйте статический обратный вызов Callback.
В следующем примере кода показано, как реализовать интерфейс IHyphenationCallback:
При разбиении текста на строки Aspose.Words проверяет, полностью ли каждое слово помещается в текущей строке. Если другое слово слишком длинное, чтобы поместиться в конце строки, по умолчанию Aspose.Words перемещает его в начало следующей строки, а не переносит через дефис.
Однако функция расстановки переносов может использоваться в Aspose.Words для вставки дефисов в слова, чтобы устранить пробелы в выровненном тексте или сохранить одинаковую длину строки в узких столбцах. Очевидно, что это может повлиять на количество строк и, следовательно, на количество страниц. Другими словами, использование функции расстановки переносов влияет на макет документа.
Microsoft Word имеет сложную логику выбора точки останова, если текст выровнен по ширине и включена расстановка переносов. Короче говоря, Microsoft Word может предпочесть сокращать или растягивать пробелы, чтобы избежать переноса строк. Скорее всего, эта логика основана на статье Кнут.
Aspose.Words реализует свой собственный алгоритм H&J, который дает тот же результат, что и Microsoft Word, и обеспечивает идентичную разбивку строк в выходном документе.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.