Práce s dělením slov
Někdy je nutné použít dělení slov pro kompaktnější uspořádání textu v dokumentu. Současně je důležité pochopit, že specifika dělení slov se mohou u každého jazyka lišit.
V současné době se dělení slov nepoužívá tak často jako dříve, zejména v anglických textech. Použití této funkce však může mít vážný dopad na uživatelské dokumenty – dělení slov ovlivňuje rozložení a v důsledku toho vzhled výstupních souborů, například ve formátu PDF.
Pro správné rozdělení slov se používají slovníky dělení slov specifické pro jazyk. Aspose.Words používá pokročilé algoritmy pro práci s takovými slovníky a umožňuje vám získat stejné dělení slov jako v Microsoft Word.
Slovníky Dělení Slov
Protože různé jazyky používají různé normy a pravidla pro dělení slov, optimálním řešením pro správné dělení slov je použití speciálních slovníků. Aspose.Words používá OpenOffice slovníky.
Pro kontrolu pravopisu OpenOffice používá Hunspell knihovna, což je zobecnění texova algoritmu dělení slov. Tento algoritmus umožňuje automatické nestandardní dělení slov pomocí konkurenčních standardních a vlastních vzorů dělení slov. Hunspell používá Pomlčka pro dělení slov.
Algoritmus Dělení Slov
Aspose.Words nástroje algoritmus dělení slov TeX a může znovu použít OpenOffice slovníky dělení slov.
Je třeba vzít v úvahu následující vlastnosti algoritmů Aspose.Words:
- Parametry vzdálenosti dělení slov (LEFTHYPHENMIN, RIGHTHYPHENMIN, COMPOUNDLEFTHYPHENMIN, COMPOUNDRIGHTHYPHENMIN) uvedené ve slovníku dělení slov jsou ignorovány. Aspose.Words používá vlastní sadu parametrů vzdálenosti v závislosti na režimu kompatibility dokumentu.
- Algoritmus dělení slov v Aspose.Words podporuje složené dělení slov. Aspose.Words však rozděluje znakové sekvence obsahující smíšené abecední a nealfabetické znaky na části (slova) pouze v abecedním pořadí a dělí je Samostatně. Všimněte si, že Microsoft Word logika dělení složených slov závisí na režimu kompatibility dokumentů.
- Algoritmus dělení slov v Aspose.Words neimplementuje nestandardní dělení slov. Nestandardní vzory jsou ignorovány.
Načítání Slovníků Dělení Slov
Chcete-li použít funkci dělení slov, nejprve zaregistrujte slovník dělení slov.Následující příklad kódu ukazuje, jak načíst slovníky dělení slov pro zadané jazyky ze souboru:
Následující příklad kódu ukazuje, jak načíst slovníky dělení slov pro zadaný jazyk ze streamu:
Jako alternativu k předběžné registraci slovníků dělení slov je možné registrovat pouze požadované slovníky dělení slov “na vyžádání”. Chcete-li toho dosáhnout, implementujte rozhraní IHyphenationCallback a použijte statické zpětné volání Callback.
Následující příklad kódu ukazuje, jak implementovat rozhraní IHyphenationCallback:
Dopad dělení slov na rozvržení
Při rozdělování textu na řádky Aspose.Words zkontroluje každé slovo, zda zcela zapadá do aktuálního řádku. Pokud je jiné slovo příliš dlouhé na to, aby se vešlo na konec řádku, ve výchozím nastavení jej Aspose.Words přesune na začátek dalšího řádku místo dělení slov.
Funkci dělení slov však lze v Aspose.Words použít k vložení pomlček do slov, aby se odstranily mezery v oprávněném textu nebo aby se zachovala sudá délka řádku v úzkých sloupcích. To může samozřejmě ovlivnit počet řádků, a tedy i počet stránek. Jinými slovy, použití funkce dělení slov ovlivňuje rozložení dokumentu.
Dělení slov a odůvodnění (H & J)
Microsoft Word má složitou logiku pro výběr zarážky, pokud je text oprávněný a je povoleno dělení slov. Stručně řečeno, Microsoft Word může upřednostňovat zmenšení nebo roztažení mezer, aby se zabránilo dělení čar. S největší pravděpodobností je tato logika založena na Knuthův článek.
Aspose.Words implementuje svůj vlastní h & j algoritmus, který dává stejný výsledek jako Microsoft Word a poskytuje identické lámání řádků ve výstupním dokumentu.