Werken met Hyphenation

Soms is het noodzakelijk om koppeltekens te gebruiken voor een compactere opstelling van tekst in een document. Tegelijkertijd is het belangrijk om te begrijpen dat de specifieke eigenschappen van woordafschrift kunnen verschillen voor elke taal.

Momenteel wordt koppeltekening minder vaak gebruikt dan vroeger, vooral in Engelse teksten. Niettemin kan het gebruik van deze functie een ernstige impact hebben op de gebruikersdocumenten, waardoor de lay-out en, als gevolg daarvan, het verschijnen van de uitvoerbestanden, bijvoorbeeld in PDF-formaat, wordt beïnvloed.

Voor het correct splitsen van woorden worden taalspecifieke koppelwoordenboeken gebruikt. Aspose.Words maakt gebruik van geavanceerde algoritmen om te werken met dergelijke woordenboeken en kunt u dezelfde koppeltekens als in Microsoft Word.

Hyphenation woordenboeken

Aangezien verschillende talen verschillende normen en regels gebruiken voor woordafdichting, is de optimale oplossing voor correcte koppeltekening om speciale woordenboeken te gebruiken. Aspose.Words gebruikt OpenOffice woordenboeken.

Voor spellingscontrole gebruikt OpenOffice de Hunspell bibliotheek, Dat is een generalisatie van TeX Dit algoritme zorgt voor automatische niet-standaard koppeling met behulp van concurrerende standaard en aangepaste koppeling patronen. Hunspell gebruikt de Hyfen voor koppeltekens.

Hyfenatiealgoritme

Aspose.Words werktuigen het TeX komplekenalgoritme en kan OpenOffice koppelwoordenboeken hergebruiken.

De volgende kenmerken van Aspose.Words Er moet rekening worden gehouden met:

  • Hyphenation distance parameters (LEFTHYPHENMIN, RIGHYPHENMIN, COMPOUNDLFTHYPHENMIN, COMPOUNDRIGHTHYPHENMIN) zoals gespecificeerd in het woordenboek worden genegeerd. Aspose.Words gebruikt zijn eigen reeks afstandsparameters afhankelijk van de documentcompatibiliteitsmodus.
  • Het koppelingsalgoritme in Aspose.Words ondersteuning songestelde kopling. Echter, Aspose.Words splitst karaktersequenties met gemengde alfabetische en niet-alfabetische tekens in alfabetische-alleen delen (woorden) en koppelt ze apart. Merk op dat Microsoft Word logica van koppeltekening van samengestelde woorden hangt af van documentcompatibiliteitsmodus.
  • Het koppelingsalgoritme in Aspose.Words implementeert niet de niet-standaard kopppeltekening. Niet-standaard patronen worden genegeerd.

Hyphenation woordenboeken laden

Om de koppeltekenfunctie te gebruiken, eerst een koppelteken woordenboek registreren. Het volgende voorbeeld van code laat zien hoe koppelteken woordenboeken voor de opgegeven talen uit een bestand te laden:

Het volgende voorbeeld van code laat zien hoe koppeltekenwoordenboeken voor de opgegeven taal vanuit een stroom worden geladen:

Als alternatief voor het pre-registreren van koppeltekenwoordenboeken is het mogelijk om alleen verplichte koppeltekenwoordenboeken te registreren. Om dat te bereiken, moet de IHyphenationCallback interface en gebruik de statische callback Callback.

Het volgende voorbeeld van code laat zien hoe de IHyphenationCallback interface:

Impact van Hyphenation op Layout

Bij het breken van tekst in regels, Aspose.Words controleert elk woord of het volledig in de huidige lijn past. Als een ander woord te lang is om aan het einde van de regel te passen, standaard Aspose.Words verplaatst het naar het begin van de volgende regel in plaats van te koppelen.

Echter, de koppelingsfunctie kan worden gebruikt in Aspose.Words koppeltekens in woorden invoegen om hiaten in gerechtvaardigde tekst te elimineren of om een gelijkmatige lijnlengte in smalle kolommen te behouden. Dit kan uiteraard van invloed zijn op het aantal regels en dus op het aantal pagina’s. Met andere woorden, het gebruik van de koppeltekenfunctie beïnvloedt de documentindeling.

Hyfenatie en rechtvaardiging (H&J)

Microsoft Word heeft complexe logica voor het kiezen van een breekpunt als tekst gerechtvaardigd is en koppeltekening is ingeschakeld. Kortom, Microsoft Word kan de voorkeur geven aan krimpen of stretch spaties om lijnkoppeling te voorkomen. Waarschijnlijk is deze logica gebaseerd op Knuths artikel.

Aspose.Words implementeert zijn eigen H&J algoritme dat hetzelfde resultaat geeft als Microsoft Word en biedt identieke lijn breken in het uitvoerdocument.

Zie ook