Forum Feature requests

Improved Hyphenation Algorithm or Last Line Character Min.

In my documents, justified or left-aligned, I see instances where the last word in a paragraph hyphenates.

This is my paragraph and everything is going
going along fine until I get to the end of the para-

I haven't seen it yet, but I believe people have also reported words hyphenating at the end of a right page.

I can probably manage workarounds in my individual documents, but this is a pretty serious issue for some of the projects I have in mind.

Possibly related: another powerful feature would be the ability to set a minimum number of characters on the last line of a paragraph. I can generally live with a complete, orphaned word on a last line, but it would be nice to be able to automatically avoid really short last words (3-4 characters or less) ending on a line alone.

jim_albright has a bunch of high end including this hyphenation request.

High-end western justification strategy

The high-end controls for justification extends the basic set to include the ability to set:

Min/opt/max word space

Enable/disable + min/opt/max letterspace

Enable/disable kerning

Select kerning technique and technique-specific controls

Constraints on last line of paragraph:

Do not hyphenate last line in column

Do not hyphenate last word before continuation (jump)

Do not hyphenate last word in paragraph

Min acceptable last line length

Force justify last line if within given distance of full.

Hung punctuation and/or optical margin alignment controls.

Roman (upright) / italic and italic/roman boundary spacing.

Dropped/raised caps (initial string and/or final string)

Baseline shift and superior/inferior presets

Ligature, composite accent, and auto-fraction substitutions

String-level leading control

Control of leading in terms of percent-of-size

Control of leading in terms of extra-lead

Control of leading in terms of baseline-to-baseline-distance

Control on above-baseline leading on first line of column/area

Control on below-baseline leading on last line of column/area

Language-specific ligature substitution

Alternate justification strategies

These line-breaking and justification strategies have controls in addition to or other than those listed above.

Head fit

May override above controls with a wider adjustment range. In addition may allow character squeeze/stretch (setwidth adjustment or anamorphic scale)

Vertical headlining

Vertically set labels and headlines (Top-to-bottom character progression, left-to-right line progression)

Balanced line

This strategy is used for headlines and for labels in shapes (such as flowchart symbols).

Weighted/preferred break strategies

Used for topic headings in Yellow Pages and similar documents.

Special strategies for TOC

Some TOCs have highly-tuned and unique line breaking and balancing rules the do not fit into any of the above models.

Hyphenation issues

Ability to enable and disable hyphenation

Ability to support multiple languages (rule or dictionary package). Other controls related to each hyphenation package:

Min chars before first hyphen

Min chars after last hyphen

Min word to hyphenate.

Ability to support multiple override dictionaries (by language). Search order (precedence) among override dictionaries, by language.

Ability to control precedence of hyphenation

Hyphenate on hard hyphen

Hyphenate on user-entered soft-hyphen

Hyphenate on dictionary/rule package hyphen, for each dictionary/rule package, honor:

Only preferred hyphens

Secondary hyphens

Any hyphens

Honor dictionary/rule hyphens in words with hard hyphen

Honor dictionary/rule hyphens in word with soft hyphen

Honor hard hyphens in word with soft hyphen

Disable rule hyphen if word is found in dictionary.

Northern European languages (German, Dutch, Swedish, Norwegian, Danish, etc.) respell words when breaks/hyphens are inserted.

Language dependent ligature splitting when necessary for hyphenation.

Jim Albright
Wycliffe Bible Translators