Работа с хипениране

Понякога е необходимо да се използва тирета за по-компактно подреждане на текста в документ. В същото време е важно да се разбере, че спецификите на думата тиреиране могат да се различават за всеки език.

В момента хифенацията не се използва толкова често, колкото преди, особено в английските текстове. Въпреки това, използването на тази функция може да има сериозно въздействие върху потребителските документи готварство засяга оформлението и като резултат, появата на изходните файлове, например в PDF формат.

За правилното разделяне на думите се използват специфични за езика речници за тирета. Aspose.Words използва напреднали алгоритми, за да работи с такива речници и ви позволява да получите същата тиретация като в Microsoft Word.

Речници за тиреиране

Тъй като различните езици използват различни норми и правила за думата тиреиране, оптималното решение за правилното тиреиране е да се използват специални речници. Aspose.Words използва речници на OpenOffice.

За проверка на правописа OpenOffice използва Hunspell библиотека, което е обобщение на алгоритъма за тиреиране на TeX. Този алгоритъм позволява автоматична нестандартна тиретация, използвайки конкурентни стандартни и потребителски модели за тиреиране. Hunspell използва Хифен за тирета.

Хифенация Алгоритъм

Aspose.Words Приложения Алгоритъм за тирейран TeX и могат да използват отново речниците OpenOffice.

Следните характеристики на Aspose.Words алгоритмите следва да се вземат предвид:

  • Параметри на разстоянието на хипениране (LEFTHYPHENMIN, RAVEHYPHENMIN, COMПиглефифенмин, COMPOUDRIGHTHYPHENMIN) се игнорират. Aspose.Words използва собствен набор от параметри за разстояние в зависимост от режима на съвместимост на документите.
  • Алгоритъмът за тиреиране в Aspose.Words Поддръжка композитна тиретация. Обаче, Aspose.Words разделя характер последователности, съдържащи смесени азбучни и не-алфабетични знаци в части само на азбучен ред (думи) и ги тиреира отделно. Имайте предвид, че Microsoft Word логиката на тиреиране на сложни думи зависи от режима на съвместимост на документите.
  • Алгоритъмът за тиреиране в Aspose.Words не прилага нестандартна тиретация. Нестандартните модели се игнорират.

Зареждане на дневници за тирета

За да използвате функцията за тиреиране, първо регистрирате речник за тиреиране. Следният пример с код показва как да се заредят речници с тирета за посочените езици от файл:

Следният пример за код показва как да се зареждат речници за тирета за посочения език от поток:

Като алтернатива на предварително записаните речници за тирета, е възможно да се регистрират само изискваните речници за тиретата чрез заявка. За да се постигне това, прилагане на IHyphenationCallback интерфейс и използване на статично обаждане Callback.

Следният пример с код показва как да приложите IHyphenationCallback интерфейс:

Въздействие на хипнозата върху подреждането

Когато разбивате текст на редове, Aspose.Words проверява всяка дума дали тя се вписва изцяло в текущата линия. Ако друга дума е твърде дълго, за да се побере в края на линията, по подразбиране Aspose.Words премества го към началото на следващата линия, вместо да го хипнотизира.

Въпреки това, функцията за тиреиране може да се използва в Aspose.Words да се вмъкнат тирета в думи, за да се премахнат пропуските в обоснования текст или да се поддържа еднаква дължина в тесни колони. Това очевидно може да засегне броя на редовете и следователно броя на страниците. С други думи, използването на функцията за тиреиране засяга оформлението на документа.

Хифениране и обосновка (H&J)

Microsoft Word има сложна логика за избор на точка на прекъсване, ако текстът е оправдан и се активира тиреиране. Накратко, Microsoft Word може да предпочитат да свиват или разтягат пространства, за да се избегне линия тиреиране. Най-вероятно тази логика се основава на Статията на Кнут.

Aspose.Words прилага собствен H&J алгоритъм, който дава същия резултат като Microsoft Word и осигурява идентични прекъсвания в изходния документ.

Вижте също