Werken met Hyphenation
Soms is het nodig om koppeltekening 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 uiterlijk 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 woordherkenning, 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 koppeltekening met behulp van concurrerende standaard en aangepaste koppeltekenpatronen. Hunspell gebruikt de Hyfen voor koppeltekens.
Hyfenatie-algoritme
Aspose.Words werktuigen het TeX koppeltekenalgoritme en kan OpenOffice koppelwoordenboeken hergebruiken.
De volgende kenmerken van Aspose.Words Er moet rekening worden gehouden met:
- Hyphenation distance parameters (LEFTHYPHENMIN, RIGHYPHENMIN, COMPOUNDLFTHYPHENMIN COMPOUNDRIGHTHYPHENMIN) in het woordenboek worden genegeerd. Aspose.Words gebruikt zijn eigen reeks afstandsparameters afhankelijk van de documentcompatibiliteitsmodus.
- Het koppelingsalgoritme in Aspose.Words ondersteuning samengestelde koppeling. Echter, Aspose.Words splitst karaktersequenties met gemengde alfabetische en niet-alfabetische tekens in alfabetische alleen delen (woorden) en koppelt ze afzonderlijk. Merk op dat Microsoft Word logica van koppeltekening van samengestelde woorden hangt af van documentcompatibiliteitsmodus.
- Het koppelingsalgoritme in Aspose.Words implementeert het niet-standaard koppeltekening. 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 je koppelteken woordenboeken voor de opgegeven talen uit een bestand kunt laden:
Het volgende codevoorbeeld laat zien hoe je koppelteken woordenboeken voor de opgegeven taal uit een stroom kunt laden:
Als alternatief voor het pre-registreren van koppeltekenwoordenboeken is het mogelijk om alleen vereiste koppeltekenwoordenboeken te registreren op verzoek. Om dat te bereiken, moet de IHyphenationCallback interface en gebruik de statische callback Callback.
Het volgende voorbeeld van de code laat zien hoe u 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 het te koppelen.
Echter, de koppeltekenfunctie kan worden gebruikt in Aspose.Words koppeltekens in woorden in te voegen om hiaten in gerechtvaardigde tekst te elimineren of 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 Knuth’s artikel.
Aspose.Words implementeert zijn eigen H&J algoritme dat hetzelfde resultaat geeft als Microsoft Word en biedt identieke lijn breken in het uitvoerdocument.