From c78f7767b3686e851ede4c41d6747fcecc539e83 Mon Sep 17 00:00:00 2001 From: Manuel Mall Date: Fri, 22 Dec 2006 09:16:18 +0000 Subject: [PATCH] Added (limited) support for Unicode UAX#14 compliant line breaking. Thanks to Joerg Pietschman who supplied the core code for the Unicode line breaking algorithm git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@489585 13f79535-47bb-0310-9956-ffa450edef68 --- build.xml | 79 ++- src/codegen/{ => fo}/colorkw.xml | 0 src/codegen/{ => fo}/constants.xml | 0 src/codegen/{ => fo}/constants.xsl | 0 src/codegen/{ => fo}/fo-property-mapping.xsl | 0 src/codegen/{ => fo}/foelements.xml | 0 src/codegen/{ => fo}/foproperties.xml | 0 src/codegen/{ => fo}/properties.dtd | 0 src/codegen/{ => fo}/property-sets.xsl | 0 src/codegen/{ => fo}/propinc.xsl | 0 src/codegen/{ => fo}/propmaker.xsl | 0 src/codegen/{ => fonts}/Courier.xml | 0 src/codegen/{ => fonts}/CourierBold.xml | 0 .../{ => fonts}/CourierBoldOblique.xml | 0 src/codegen/{ => fonts}/CourierOblique.xml | 0 src/codegen/{ => fonts}/Helvetica.xml | 0 src/codegen/{ => fonts}/HelveticaBold.xml | 0 .../{ => fonts}/HelveticaBoldOblique.xml | 0 src/codegen/{ => fonts}/HelveticaOblique.xml | 0 src/codegen/{ => fonts}/Symbol.xml | 0 src/codegen/{ => fonts}/TimesBold.xml | 0 src/codegen/{ => fonts}/TimesBoldItalic.xml | 0 src/codegen/{ => fonts}/TimesItalic.xml | 0 src/codegen/{ => fonts}/TimesRoman.xml | 0 src/codegen/{ => fonts}/ZapfDingbats.xml | 0 src/codegen/{ => fonts}/charlist.xml | 0 .../{ => fonts}/code-point-mapping.xsl | 0 src/codegen/{ => fonts}/encodings.xml | 0 src/codegen/{ => fonts}/font-file.xsl | 0 src/codegen/{ => fonts}/glyphlist.xml | 0 src/codegen/{ => fonts}/t1font-file.xsl | 0 src/codegen/{ => fonts}/ttffontfile.xsl | 0 .../unicode/data/LineBreakPairTable.txt | 28 + .../linebreak/GenerateLineBreakUtils.java | 659 +++++++++++++++++ .../layoutmgr/inline/TextLayoutManager.java | 642 +++++++++-------- .../fop/text/linebreak/LineBreakStatus.java | 160 +++++ .../fop/text/linebreak/LineBreakUtils.java | 669 ++++++++++++++++++ status.xml | 3 + .../text/linebreak/LineBreakStatusTest.java | 351 +++++++++ .../text/linebreak/LineBreakUtilsTest.java | 74 ++ .../block_uax14_linebreaking.xml | 188 +++++ .../block_white-space_4.xml | 272 ------- ...inline_border_padding_conditionality_2.xml | 24 +- 43 files changed, 2557 insertions(+), 592 deletions(-) rename src/codegen/{ => fo}/colorkw.xml (100%) rename src/codegen/{ => fo}/constants.xml (100%) rename src/codegen/{ => fo}/constants.xsl (100%) rename src/codegen/{ => fo}/fo-property-mapping.xsl (100%) rename src/codegen/{ => fo}/foelements.xml (100%) rename src/codegen/{ => fo}/foproperties.xml (100%) rename src/codegen/{ => fo}/properties.dtd (100%) rename src/codegen/{ => fo}/property-sets.xsl (100%) rename src/codegen/{ => fo}/propinc.xsl (100%) rename src/codegen/{ => fo}/propmaker.xsl (100%) rename src/codegen/{ => fonts}/Courier.xml (100%) rename src/codegen/{ => fonts}/CourierBold.xml (100%) rename src/codegen/{ => fonts}/CourierBoldOblique.xml (100%) rename src/codegen/{ => fonts}/CourierOblique.xml (100%) rename src/codegen/{ => fonts}/Helvetica.xml (100%) rename src/codegen/{ => fonts}/HelveticaBold.xml (100%) rename src/codegen/{ => fonts}/HelveticaBoldOblique.xml (100%) rename src/codegen/{ => fonts}/HelveticaOblique.xml (100%) rename src/codegen/{ => fonts}/Symbol.xml (100%) rename src/codegen/{ => fonts}/TimesBold.xml (100%) rename src/codegen/{ => fonts}/TimesBoldItalic.xml (100%) rename src/codegen/{ => fonts}/TimesItalic.xml (100%) rename src/codegen/{ => fonts}/TimesRoman.xml (100%) rename src/codegen/{ => fonts}/ZapfDingbats.xml (100%) rename src/codegen/{ => fonts}/charlist.xml (100%) rename src/codegen/{ => fonts}/code-point-mapping.xsl (100%) rename src/codegen/{ => fonts}/encodings.xml (100%) rename src/codegen/{ => fonts}/font-file.xsl (100%) rename src/codegen/{ => fonts}/glyphlist.xml (100%) rename src/codegen/{ => fonts}/t1font-file.xsl (100%) rename src/codegen/{ => fonts}/ttffontfile.xsl (100%) create mode 100755 src/codegen/unicode/data/LineBreakPairTable.txt create mode 100644 src/codegen/unicode/java/org/apache/fop/text/linebreak/GenerateLineBreakUtils.java create mode 100644 src/java/org/apache/fop/text/linebreak/LineBreakStatus.java create mode 100644 src/java/org/apache/fop/text/linebreak/LineBreakUtils.java create mode 100644 test/java/org/apache/fop/text/linebreak/LineBreakStatusTest.java create mode 100644 test/java/org/apache/fop/text/linebreak/LineBreakUtilsTest.java create mode 100755 test/layoutengine/standard-testcases/block_uax14_linebreaking.xml diff --git a/build.xml b/build.xml index c0fca36e6..aead809dd 100644 --- a/build.xml +++ b/build.xml @@ -162,6 +162,7 @@ list of possible build targets. + @@ -178,6 +179,7 @@ list of possible build targets. + @@ -319,69 +321,69 @@ list of possible build targets. - --> - - - - - - - - - - - - -