/// <summary> /// Implementation of Frank Liang's hyphenation algorithm /// </summary> /// <param name="loader">ILoader for load hyphenation patterns</param> /// <param name="hyphenateSymbol">Symbol used for denote hyphenation</param> /// <param name="minWordLength">Minimum word length for hyphenation word</param> /// <param name="minLetterCount">Minimum number of characters left on line</param> /// <param name="hyphenateLastWord">Hyphenate last word, NOTE: this option works only if input text contains more than one word</param> public Hyphenator(IHyphenatePatternsLoader loader, string hyphenateSymbol = "­", int minWordLength = 5, int minLetterCount = 3, bool hyphenateLastWord = false) { this._hyphenateSymbol = hyphenateSymbol; this._minWordLength = minWordLength; this._minLetterCount = minLetterCount >= 0 ? minLetterCount : 0; this._hyphenateLastWord = hyphenateLastWord; LoadPatterns(loader); }
/// <summary> /// Implementation of Frank Liang's hyphenation algorithm /// </summary> /// <param name="loader">ILoader for load hyphenation patterns</param> /// <param name="hyphenateSymbol">Symbol used for denote hyphenation</param> /// <param name="minWordLength">Minimum word length for hyphenation word</param> /// <param name="minLetterCount">Minimum number of characters left on line</param> /// <param name="hyphenateLastWord">Hyphenate last word, NOTE: this option works only if input text contains more than one word</param> /// <param name="sortPatterns">Sort patterns before using, can be needed for some languages like German, Portuguese, etc. </param> public Hyphenator(IHyphenatePatternsLoader loader, string hyphenateSymbol = "­", int minWordLength = 5, int minLetterCount = 3, bool hyphenateLastWord = false, bool sortPatterns = false) { _hyphenateSymbol = hyphenateSymbol; _minWordLength = minWordLength; _minLetterCount = minLetterCount >= 0 ? minLetterCount : 0; _hyphenateLastWord = hyphenateLastWord; _sortPatterns = sortPatterns; LoadPatterns(loader); }
private void LoadPatterns(IHyphenatePatternsLoader loader) { CreatePatterns(loader.LoadPatterns() ?? "", loader.LoadExceptions() ?? ""); }