|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- Hyphenation
-
- FOP uses Liang's hyphenation algorithm, well known from TeX. It needs
- language specific patterns and other data for operation.
-
- Because of licensing issues (and for convenience), all hyphenation
- patterns for FOP are made available through the Objects For Formatting
- Objects project <http://offo.sourceforge.net/hyphenation/index.html>.
-
- To install a custom hyphenation pattern for use with FOP:
-
- 1. Convert the TeX hyphenation pattern file to the FOP format. The FOP
- format is an xml file conforming to the DTD found at
- {fop-dir}/hyph/hyphenation.dtd.
-
- The most important source of TeX hyphenation pattern files is the
- CTAN TeX Archive
- <http://www.ctan.org/tex-archive/language/hyphenation/>.
-
- 2. Name this new file following this scheme:
- languageCode_countryCode.xml. The country code is optional, and
- should be used only if needed. For example:
- - en_US.xml would be the file name for American English hyphenation
- patterns,
- - it.xml would be the file name for Italian hyphenation patterns.
-
- The language and country codes must match the XSL-FO input, which
- follows ISO 639
- <http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt>
- (languages) and ISO 3166
- <http://www.ics.uci.edu/pub/ietf/http/related/iso3166.txt>
- (countries).
-
- NOTE: The ISO 639/ISO 3166 convention is that language names are
- written in lower case, while country codes are written in upper
- case.
-
- FOP does not check whether the language and country specified in
- the FO source are actually from the current standard, but it relies
- on it being two letter strings in a few places. So you can make up
- your own codes for custom hyphenation patterns, but they should be
- two letter strings too (patches for proper handling extensions are
- welcome)
-
- 3. There are basically three ways to make the FOP-compatible
- hyphenation pattern file(s) accessible to FOP:
-
- a. Download the precompiled JAR from OFFO
- <http://offo.sourceforge.net/hyphenation/index.html> and place it
- either in the {fop-dir}/lib directory, or in a directory of your
- choice (and append the full path to the JAR to the environment
- variable FOP_HYPHENATION_PATH).
-
- b. Download the desired FOP-compatible hyphenation pattern file(s) from
- OFFO <http://offo.sourceforge.net/hyphenation/index.html>, and/or
- take your self created hyphenation pattern file(s),
- - place them in the directory {fop-dir}/hyph,
- - or place them in a directory of your choice and set the Ant
- variable user.hyph.dir to point to that directory (in
- build-local.properties),
- and run Ant with build target jar-hyphenation. This will create a
- JAR containing the compiled patterns in {fop-dir}/build that will
- be added to the classpath on the next run.
-
- When FOP is built from scratch, and there are pattern source
- file(s) present in the directory pointed to by the user.hyph.dir
- variable, this JAR will automatically be created from the supplied
- pattern(s).
-
- c. Put the pattern source file(s) into a directory of your choice and
- configure FOP to look for custom patterns in this directory, by
- setting the hyphenation-dir configuration option.
-
- Either of these three options will ensure hyphenation is working
- when using FOP from the command-line. If FOP is being embedded,
- remember to add the location(s) of the hyphenation JAR(s) to the
- CLASSPATH (option 1 and 2) or to set the hyphenation-dir
- configuration option programmatically (option 3).
-
- If you would like to build your own hyphenation pattern files, or
- modify existing ones, the section entitled 'Hyphenation Patterns' of
- the 'FOP: Hyphenation' page at the FOP web site
- <http://xmlgraphics.apache.org/fop/hyphenation.html#patterns> will
- help you understand how to do so. Even when creating a pattern file
- from scratch, it may be beneficial to start with an existing file and
- modify it. See OFFO's Hyphenation page
- <http://offo.sourceforge.net/hyphenation/index.html> for examples.
-
- If you have made improvements to an existing FOP hyphenation pattern,
- or if you have created one from scratch, please consider contributing
- these to OFFO so that they can benefit other FOP users as well.
- Please inquire on the FOP User mailing list.
-
|