Travailler avec l'Hyphénation
Parfois, il est nécessaire d’utiliser le trait d’union pour un arrangement plus compact de texte dans un document. Dans le même temps, il est important de comprendre que les spécificités de l’articulation des mots peuvent différer pour chaque langue.
À l’heure actuelle, le trait d’union n’est pas utilisé aussi souvent qu’auparavant, surtout dans les textes anglais. Néanmoins, l’utilisation de cette fonction peut avoir un impact sérieux sur les documents d’utilisateur – le trait d’union affecte la mise en page et, par conséquent, l’apparition des fichiers de sortie, par exemple, en format PDF.
Pour le fractionnement correct des mots, des dictionnaires d’articulations spécifiques à la langue sont utilisés. Aspose.Words utilise des algorithmes avancés pour travailler avec de tels dictionnaires et vous permet d’obtenir le même trait d’union que dans Microsoft Word.
Dictionnaires d’hyphénation
Puisque différentes langues utilisent des normes et des règles différentes pour l’articulation des mots, la solution optimale pour l’articulation correcte est d’utiliser des dictionnaires spéciaux. Aspose.Words utilise des dictionnaires OpenOffice.
Pour la vérification orthographique, OpenOffice utilise Hunspell Bibliothèque, qui est une généralisation de l’algorithme d’hypène TeX. Cet algorithme permet l’articulation automatique non standard en utilisant des modèles concurrents standard et personnalisés. Hunspell utilise les Hyphène pour le trait d’union.
Algorithme d’hyphénation
Aspose.Words mise en œuvre L’algorithme d’articulation TeX et peut réutiliser les dictionnaires OpenOffice.
Les caractéristiques suivantes: Aspose.Words les algorithmes doivent être pris en compte:
- Paramètres de distance d’hyphénation (LEFTHYPHENMIN, DROITHYPHENMIN, COMPONDÉLÉTHYPHÉNMIN, COMPOUNDRIGHTHYPHENMIN) spécifié dans le dictionnaire des tirets sont ignorés. Aspose.Words utilise ses propres paramètres de distance en fonction du mode de compatibilité du document.
- L’algorithme d’articulation dans Aspose.Words soutien Hydratation composite. Toutefois, Aspose.Words divise les séquences de caractères contenant des caractères alphabétiques et non alphabétiques en parties (mots) alphabétiques et les hypnotise séparément. Notez que Microsoft Word La logique de l’articulation des mots composés dépend du mode de compatibilité des documents.
- L’algorithme d’articulation dans Aspose.Words ne met pas en œuvre Hydratation non standard. Les modèles non standard sont ignorés.
Chargement des dictionnaires d’hyphénation
Pour utiliser la fonction de trait d’union, inscrivez d’abord un dictionnaire de trait d’union. L’exemple de code suivant montre comment charger des dictionnaires d’hyphenation pour les langues spécifiées à partir d’un fichier:
L’exemple de code suivant montre comment charger des dictionnaires d’hyphenation pour la langue spécifiée à partir d’un flux:
Comme alternative aux dictionnaires pré-enregistrement, il est possible d’enregistrer uniquement les dictionnaires d’hyphenation requis par demande. Pour y parvenir, mettre en œuvre les IHyphenationCallback interface et utiliser le callback statique Callback.
L’exemple de code suivant montre comment mettre en œuvre la IHyphenationCallback interface & #160;:
Impact de l’hyphénation sur la disposition
Lorsque le texte se divise en lignes, Aspose.Words vérifie chaque mot s’il correspond entièrement à la ligne actuelle. Si un autre mot est trop long pour correspondre à la fin de la ligne, par défaut Aspose.Words le déplace au début de la ligne suivante au lieu de l’hypthéter.
Cependant, la fonction d’articulation peut être utilisée dans Aspose.Words insérer des traits d’union dans les mots pour éliminer les lacunes dans le texte justifié ou pour maintenir une longueur de ligne uniforme dans des colonnes étroites. Cela peut évidemment affecter le nombre de lignes et donc le nombre de pages. En d’autres termes, l’utilisation de la fonction d’articulation affecte la mise en page du document.
Hyphénation et justification (H & J)
Microsoft Word a une logique complexe pour le choix d’un point d’arrêt si le texte est justifié et si le trait d’union est activé. Bref, Microsoft Word Peut-être préférer rétrécir ou stretch les espaces pour éviter l’articulation des lignes. Cette logique est probablement basée sur L’article de Knuth.
Aspose.Words met en œuvre son propre algorithme H&J qui donne le même résultat que Microsoft Word et fournit une rupture de ligne identique dans le document de sortie.