[Libreoffice-commits] .: 109 commits - jfreereport/java jfreereport/patches jfreereport/prj jfreereport/version.mk reportbuilder/java reportbuilder/util sdext/source xpdf/makefile.mk xpdf/xpdf-3.02-ooopwd.patch

Jan Holesovsky kendy at kemper.freedesktop.org
Wed Mar 23 09:24:54 PDT 2011


 jfreereport/java/flute/makefile.mk                                                                |   28 
 jfreereport/java/jfreereport/makefile.mk                                                          |   15 
 jfreereport/java/libbase/makefile.mk                                                              |   26 
 jfreereport/java/libfonts/makefile.mk                                                             |   26 
 jfreereport/java/libformula/makefile.mk                                                           |   28 
 jfreereport/java/liblayout/makefile.mk                                                            |   14 
 jfreereport/java/libloader/makefile.mk                                                            |   27 
 jfreereport/java/librepository/makefile.mk                                                        |   27 
 jfreereport/java/libserializer/makefile.mk                                                        |   26 
 jfreereport/java/libxml/makefile.mk                                                               |   26 
 jfreereport/java/sac/makefile.mk                                                                  |    2 
 jfreereport/patches/common_build.patch                                                            |   76 
 jfreereport/patches/flow-engine.patch                                                             |    4 
 jfreereport/patches/flute.patch                                                                   |   19 
 jfreereport/patches/libbase.patch                                                                 |   19 
 jfreereport/patches/libfonts.patch                                                                |   10 
 jfreereport/patches/libformula.patch                                                              |   27 
 jfreereport/patches/liblayout.patch                                                               |    4 
 jfreereport/patches/libloader.patch                                                               |   11 
 jfreereport/patches/librepository.patch                                                           |   10 
 jfreereport/patches/libserializer.patch                                                           |   10 
 jfreereport/patches/libxml.patch                                                                  |   10 
 jfreereport/prj/d.lst                                                                             |    1 
 jfreereport/version.mk                                                                            |   12 
 reportbuilder/java/com/sun/star/report/SDBCReportData.java                                        |   12 
 reportbuilder/java/com/sun/star/report/function/metadata/makefile.mk                              |   27 
 reportbuilder/java/com/sun/star/report/pentaho/Manifest.mf                                        |    8 
 reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryLoader.java                  |    1 
 reportbuilder/java/com/sun/star/report/pentaho/makefile.mk                                        |   14 
 reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java             |   63 
 reportbuilder/java/com/sun/star/report/pentaho/output/chart/ChartRawReportTarget.java             |   22 
 reportbuilder/java/com/sun/star/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java |    1 
 reportbuilder/java/com/sun/star/report/pentaho/output/text/TextRawReportTarget.java               |   22 
 reportbuilder/java/com/sun/star/report/pentaho/styles/stylemapper.xml                             |  786 ++++++++--
 reportbuilder/java/com/sun/star/report/util/makefile.mk                                           |    6 
 reportbuilder/util/hidother.src                                                                   |  146 -
 reportbuilder/util/makefile.mk                                                                    |   22 
 sdext/source/minimizer/graphiccollector.cxx                                                       |    8 
 sdext/source/minimizer/graphiccollector.hxx                                                       |    5 
 sdext/source/minimizer/impoptimizer.cxx                                                           |  116 -
 sdext/source/minimizer/makefile.mk                                                                |    2 
 sdext/source/pdfimport/config/description.xml                                                     |    2 
 sdext/source/pdfimport/config/pdf_import_filter.xcu                                               |    6 
 sdext/source/pdfimport/filterdet.cxx                                                              |    4 
 sdext/source/pdfimport/inc/pdfparse.hxx                                                           |    2 
 sdext/source/pdfimport/inc/treevisitorfactory.hxx                                                 |    2 
 sdext/source/pdfimport/makefile.mk                                                                |    2 
 sdext/source/pdfimport/pdfparse/pdfentries.cxx                                                    |  147 +
 sdext/source/pdfimport/pdfparse/pdfparse.cxx                                                      |    4 
 sdext/source/pdfimport/tree/drawtreevisiting.cxx                                                  |   55 
 sdext/source/pdfimport/tree/drawtreevisiting.hxx                                                  |   19 
 sdext/source/pdfimport/tree/pdfiprocessor.cxx                                                     |  415 +++++
 sdext/source/pdfimport/tree/pdfiprocessor.hxx                                                     |    9 
 sdext/source/pdfimport/tree/treevisitorfactory.cxx                                                |   14 
 sdext/source/pdfimport/wrapper/wrapper.cxx                                                        |   52 
 sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx                                                |   21 
 sdext/source/presenter/makefile.mk                                                                |    5 
 xpdf/makefile.mk                                                                                  |    2 
 xpdf/xpdf-3.02-ooopwd.patch                                                                       |  101 +
 59 files changed, 1937 insertions(+), 644 deletions(-)

New commits:
commit 1dc1e72f738e02f6025c0b619ca6947b367f4a26
Merge: ec4883a... dff4613...
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Wed Mar 23 16:58:56 2011 +0100

    Merge commit 'ooo/DEV300_m103'
    
    Conflicts:
    	jfreereport/java/flute/makefile.mk
    	jfreereport/java/libbase/makefile.mk
    	jfreereport/java/libfonts/makefile.mk
    	jfreereport/java/libformula/makefile.mk
    	jfreereport/java/libloader/makefile.mk
    	jfreereport/java/librepository/makefile.mk
    	jfreereport/java/libserializer/makefile.mk
    	jfreereport/java/libxml/makefile.mk
    	jfreereport/java/sac/makefile.mk
    	mysqlc/source/mysqlc_connection.cxx
    	mysqlc/source/mysqlc_connection.hxx
    	mysqlc/source/mysqlc_databasemetadata.cxx
    	mysqlc/source/mysqlc_databasemetadata.hxx
    	mysqlc/source/mysqlc_driver.cxx
    	mysqlc/source/mysqlc_driver.hxx
    	mysqlc/source/mysqlc_general.hxx
    	mysqlc/source/mysqlc_preparedstatement.hxx
    	mysqlc/source/mysqlc_resultsetmetadata.hxx
    	mysqlc/source/mysqlc_statement.hxx
    	sdext/source/minimizer/impoptimizer.cxx
    	sdext/source/pdfimport/config/description.xml
    	sdext/source/pdfimport/tree/drawtreevisiting.cxx
    	sdext/source/presenter/PresenterWindowManager.cxx
    	swext/prj/build.lst

diff --cc jfreereport/java/flute/makefile.mk
index ffe668c,413b951..c25bd99
--- a/jfreereport/java/flute/makefile.mk
+++ b/jfreereport/java/flute/makefile.mk
@@@ -49,9 -49,9 +49,9 @@@ CONVERTFILES=common_build.xm
  .IF "$(JAVACISGCJ)"=="yes"
  JAVA_HOME=
  .EXPORT : JAVA_HOME
- BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
+ BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(FLUTE_VERSION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
  .ELSE
 -BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(FLUTE_VERSION)" -f $(ANT_BUILDFILE) jar
 +BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) -f $(ANT_BUILDFILE) jar
  .ENDIF
  
  .ENDIF # $(SOLAR_JAVA)!= ""
diff --cc jfreereport/java/libbase/makefile.mk
index 15197e0,bcbe1e6..eed5a62
--- a/jfreereport/java/libbase/makefile.mk
+++ b/jfreereport/java/libbase/makefile.mk
@@@ -48,9 -49,9 +49,9 @@@ CONVERTFILES=common_build.xm
  .IF "$(JAVACISGCJ)"=="yes"
  JAVA_HOME=
  .EXPORT : JAVA_HOME
- BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
+ BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBBASE_VERSION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
  .ELSE
 -BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBBASE_VERSION)" -f $(ANT_BUILDFILE) jar
 +BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) -f $(ANT_BUILDFILE) jar
  .ENDIF
  
  .ENDIF # $(SOLAR_JAVA)!= ""
diff --cc jfreereport/java/libfonts/makefile.mk
index cd2ff34,2c7e60e..a14bc88
--- a/jfreereport/java/libfonts/makefile.mk
+++ b/jfreereport/java/libfonts/makefile.mk
@@@ -48,9 -48,9 +48,9 @@@ CONVERTFILES=common_build.xm
  .IF "$(JAVACISGCJ)"=="yes"
  JAVA_HOME=
  .EXPORT : JAVA_HOME
- BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
+ BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBFONTS_VERSION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
  .ELSE
 -BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBFONTS_VERSION)" -f $(ANT_BUILDFILE) jar
 +BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) -f $(ANT_BUILDFILE) jar
  .ENDIF
  
  .ENDIF # $(SOLAR_JAVA)!= ""
diff --cc jfreereport/java/libformula/makefile.mk
index 28fcf99,195130d..3cc3453
--- a/jfreereport/java/libformula/makefile.mk
+++ b/jfreereport/java/libformula/makefile.mk
@@@ -50,9 -48,9 +48,9 @@@ CONVERTFILES=common_build.xm
  .IF "$(JAVACISGCJ)"=="yes"
  JAVA_HOME=
  .EXPORT : JAVA_HOME
- BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
+ BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBFORMULA_VERSION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
  .ELSE
 -BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBFORMULA_VERSION)" -f $(ANT_BUILDFILE) jar
 +BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) -f $(ANT_BUILDFILE) jar
  .ENDIF
  
  
diff --cc jfreereport/java/libloader/makefile.mk
index cfb5955,bb1b6f2..5aecdf3
--- a/jfreereport/java/libloader/makefile.mk
+++ b/jfreereport/java/libloader/makefile.mk
@@@ -48,9 -49,9 +49,9 @@@ CONVERTFILES=common_build.xm
  .IF "$(JAVACISGCJ)"=="yes"
  JAVA_HOME=
  .EXPORT : JAVA_HOME
- BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
+ BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBLOADER_VERSION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
  .ELSE
 -BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBLOADER_VERSION)" -f $(ANT_BUILDFILE) jar
 +BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) -f $(ANT_BUILDFILE) jar
  .ENDIF
  
  .ENDIF # $(SOLAR_JAVA)!= ""
diff --cc jfreereport/java/librepository/makefile.mk
index d39daa1,37da075..afe3a21
--- a/jfreereport/java/librepository/makefile.mk
+++ b/jfreereport/java/librepository/makefile.mk
@@@ -48,9 -49,9 +49,9 @@@ CONVERTFILES=common_build.xm
  .IF "$(JAVACISGCJ)"=="yes"
  JAVA_HOME=
  .EXPORT : JAVA_HOME
- BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
+ BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBREPOSITORY_VERSION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
  .ELSE
 -BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBREPOSITORY_VERSION)" -f $(ANT_BUILDFILE) jar
 +BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) -f $(ANT_BUILDFILE) jar
  .ENDIF
  
  .ENDIF # $(SOLAR_JAVA)!= ""
diff --cc jfreereport/java/libserializer/makefile.mk
index 05cf850,170d3fa..cabca08
--- a/jfreereport/java/libserializer/makefile.mk
+++ b/jfreereport/java/libserializer/makefile.mk
@@@ -48,9 -48,9 +48,9 @@@ CONVERTFILES=common_build.xm
  .IF "$(JAVACISGCJ)"=="yes"
  JAVA_HOME=
  .EXPORT : JAVA_HOME
- BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
+ BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBSERIALIZER_VERSION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
  .ELSE
 -BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBSERIALIZER_VERSION)" -f $(ANT_BUILDFILE) jar
 +BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) -f $(ANT_BUILDFILE) jar
  .ENDIF
  
  .ENDIF # $(SOLAR_JAVA)!= ""
diff --cc jfreereport/java/libxml/makefile.mk
index 17109ee,356d05f..9719703
--- a/jfreereport/java/libxml/makefile.mk
+++ b/jfreereport/java/libxml/makefile.mk
@@@ -48,9 -48,9 +48,9 @@@ CONVERTFILES=common_build.xm
  .IF "$(JAVACISGCJ)"=="yes"
  JAVA_HOME=
  .EXPORT : JAVA_HOME
- BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
+ BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBXML_VERSION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar
  .ELSE
 -BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dbuild.id="10682" -Dproject.revision="$(LIBXML_VERSION)" -f $(ANT_BUILDFILE) jar
 +BUILD_ACTION=$(ANT) -Dlib="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) -f $(ANT_BUILDFILE) jar
  .ENDIF
  
  .ENDIF # $(SOLAR_JAVA)!= ""
diff --cc jfreereport/java/sac/makefile.mk
index a0dafe9,01d6186..4dc9b06
--- a/jfreereport/java/sac/makefile.mk
+++ b/jfreereport/java/sac/makefile.mk
@@@ -58,9 -58,9 +58,9 @@@ ADDITIONAL_FILES=build.xm
  .IF "$(JAVACISGCJ)"=="yes"
  JAVA_HOME=
  .EXPORT : JAVA_HOME
- BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all
+ BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dproject.revision="$(VERSION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all
  .ELSE
 -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dantcontrib.available="true" -Dproject.revision="$(VERSION)" -f $(ANT_BUILDFILE) all
 +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) -f $(ANT_BUILDFILE) all
  .ENDIF
  
  .ENDIF # $(SOLAR_JAVA)!= ""
diff --cc reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryLoader.java
index 124b4cd,265ea19..95a6679
--- a/reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryLoader.java
+++ b/reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryLoader.java
@@@ -34,8 -34,8 +34,9 @@@ import java.util.HashMap
  import java.util.Map;
  
  import org.pentaho.reporting.libraries.resourceloader.ResourceData;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceException;
  import org.pentaho.reporting.libraries.resourceloader.ResourceKey;
 +import org.pentaho.reporting.libraries.resourceloader.ResourceException;
  import org.pentaho.reporting.libraries.resourceloader.ResourceKeyCreationException;
  import org.pentaho.reporting.libraries.resourceloader.ResourceLoader;
  import org.pentaho.reporting.libraries.resourceloader.ResourceLoadingException;
diff --cc reportbuilder/util/description.xml
index a44fbdd,454656d..a44fbdd
mode 100755,100644..100644
--- a/reportbuilder/util/description.xml
+++ b/reportbuilder/util/description.xml
diff --cc reportbuilder/util/makefile.mk
index 55ba88c,8106868..9dcb8b4
mode 100755,100644..100644
--- a/reportbuilder/util/makefile.mk
+++ b/reportbuilder/util/makefile.mk
diff --cc sdext/source/minimizer/description.xml
index f10e8c2,a4f172d..f10e8c2
mode 100755,100644..100644
--- a/sdext/source/minimizer/description.xml
+++ b/sdext/source/minimizer/description.xml
diff --cc sdext/source/minimizer/graphiccollector.cxx
index fffa1e8,78dc037..e5061ac
--- a/sdext/source/minimizer/graphiccollector.cxx
+++ b/sdext/source/minimizer/graphiccollector.cxx
@@@ -71,10 -70,10 +71,10 @@@ const DeviceInfo& GraphicCollector::Get
      return aDeviceInfo;
  }
  
- void ImpAddEntity( std::vector< GraphicCollector::GraphicEntity >& rGraphicEntities, Reference< XGraphic >& rxGraphic, const GraphicSettings& rGraphicSettings, const GraphicCollector::GraphicUser& rUser )
+ void ImpAddEntity( std::vector< GraphicCollector::GraphicEntity >& rGraphicEntities, const GraphicSettings& rGraphicSettings, const GraphicCollector::GraphicUser& rUser )
  {
      const rtl::OUString aGraphicURL( rUser.maGraphicURL );
 -    const rtl::OUString sPackageURL( OUString::createFromAscii( "vnd.sun.star.GraphicObject:" ) );
 +    const rtl::OUString sPackageURL( RTL_CONSTASCII_USTRINGPARAM("vnd.sun.star.GraphicObject:") );
  
      if ( rGraphicSettings.mbEmbedLinkedGraphics || ( !aGraphicURL.getLength() || aGraphicURL.match( sPackageURL, 0 ) ) )
      {
diff --cc sdext/source/minimizer/impoptimizer.cxx
index 30edc80,8a3e600..d335216
--- a/sdext/source/minimizer/impoptimizer.cxx
+++ b/sdext/source/minimizer/impoptimizer.cxx
@@@ -406,69 -409,87 +406,87 @@@ void CompressGraphics( ImpOptimizer& rO
              rOptimizer.SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( nProgress ) ) );
              rOptimizer.DispatchStatus();
  
-             GraphicSettings aGraphicSettings( rGraphicSettings );
-             aGraphicSettings.mbRemoveCropArea = aGraphicIter->mbRemoveCropArea;
- 
-             Reference< XPropertySet > xNewGraphicPropertySet( aGraphicIter->mxGraphic, UNO_QUERY_THROW );
-             awt::Size aSize100thMM( GraphicCollector::GetOriginalSize( rxMSF, aGraphicIter->mxGraphic ) );
-             Reference< XGraphic > xNewGraphic( ImpCompressGraphic( rxMSF, aGraphicIter->mxGraphic, aGraphicIter->maLogicalSize, aGraphicIter->maGraphicCropLogic, aGraphicSettings ) );
-             if ( xNewGraphic.is() )
+             if ( aGraphicIter->maUser.size() )
              {
-                 // applying graphic to each user
-                 std::vector< GraphicCollector::GraphicUser >::iterator aGraphicUserIter( aGraphicIter->maUser.begin() );
-                 while( aGraphicUserIter != aGraphicIter->maUser.end() )
-                 {
-                     if ( aGraphicUserIter->mxShape.is() )
-                     {
-                         rtl::OUString sEmptyGraphicURL;
-                         Reference< XPropertySet > xShapePropertySet( aGraphicUserIter->mxShape, UNO_QUERY_THROW );
-                         xShapePropertySet->setPropertyValue( TKGet( TK_GraphicURL ), Any( sEmptyGraphicURL ) );
-                         xShapePropertySet->setPropertyValue( TKGet( TK_Graphic ), Any( xNewGraphic ) );
+                 GraphicSettings aGraphicSettings( rGraphicSettings );
+                 aGraphicSettings.mbRemoveCropArea = aGraphicIter->mbRemoveCropArea;
  
-                         if ( aGraphicUserIter->maGraphicCropLogic.Left || aGraphicUserIter->maGraphicCropLogic.Top
-                         || aGraphicUserIter->maGraphicCropLogic.Right || aGraphicUserIter->maGraphicCropLogic.Bottom )
-                         {	// removing crop area was not possible or should't been applied
-                             text::GraphicCrop aGraphicCropLogic( 0, 0, 0, 0 );
-                             if ( !aGraphicSettings.mbRemoveCropArea )
-                             {
-                                 awt::Size aNewSize( GraphicCollector::GetOriginalSize( rxMSF, xNewGraphic ) );
-                                 aGraphicCropLogic.Left = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Left * ((double)aNewSize.Width / (double)aSize100thMM.Width));
-                                 aGraphicCropLogic.Top = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Top * ((double)aNewSize.Height / (double)aSize100thMM.Height));
-                                 aGraphicCropLogic.Right = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Right * ((double)aNewSize.Width / (double)aSize100thMM.Width));
-                                 aGraphicCropLogic.Bottom = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Bottom * ((double)aNewSize.Height / (double)aSize100thMM.Height));
-                             }
-                             xShapePropertySet->setPropertyValue( TKGet( TK_GraphicCrop ), Any( aGraphicCropLogic ) );
-                         }
-                     }
-                     else if ( aGraphicUserIter->mxPropertySet.is() )
+                 Reference< XGraphic > xGraphic;
+                 if ( aGraphicIter->maUser[ 0 ].mbFillBitmap && aGraphicIter->maUser[ 0 ].mxPropertySet.is() )
+                 {
+                     Reference< XBitmap > xFillBitmap;
+                     if ( aGraphicIter->maUser[ 0 ].mxPropertySet->getPropertyValue( TKGet( TK_FillBitmap ) ) >>= xFillBitmap )
+                         xGraphic = Reference< XGraphic >( xFillBitmap, UNO_QUERY_THROW );
+                 }
+                 else if ( aGraphicIter->maUser[ 0 ].mxShape.is() )
+                 {
+                     Reference< XPropertySet > xShapePropertySet( aGraphicIter->maUser[ 0 ].mxShape, UNO_QUERY_THROW );
+                     xShapePropertySet->getPropertyValue( TKGet( TK_Graphic ) ) >>= xGraphic;
+                 }
+                 if ( xGraphic.is() )
+                 {
+                     Reference< XPropertySet > xNewGraphicPropertySet( xGraphic, UNO_QUERY_THROW );
+                     awt::Size aSize100thMM( GraphicCollector::GetOriginalSize( rxMSF, xGraphic ) );
+                     Reference< XGraphic > xNewGraphic( ImpCompressGraphic( rxMSF, xGraphic, aGraphicIter->maLogicalSize, aGraphicIter->maGraphicCropLogic, aGraphicSettings ) );
+                     if ( xNewGraphic.is() )
                      {
-                         Reference< XBitmap > xFillBitmap( xNewGraphic, UNO_QUERY );
-                         if ( xFillBitmap.is() )
+                         // applying graphic to each user
+                         std::vector< GraphicCollector::GraphicUser >::iterator aGraphicUserIter( aGraphicIter->maUser.begin() );
+                         while( aGraphicUserIter != aGraphicIter->maUser.end() )
                          {
-                             awt::Size aSize;
-                             sal_Bool bLogicalSize;
+                             if ( aGraphicUserIter->mxShape.is() )
+                             {
+                                 rtl::OUString sEmptyGraphicURL;
+                                 Reference< XPropertySet > xShapePropertySet( aGraphicUserIter->mxShape, UNO_QUERY_THROW );
+                                 xShapePropertySet->setPropertyValue( TKGet( TK_GraphicURL ), Any( sEmptyGraphicURL ) );
+                                 xShapePropertySet->setPropertyValue( TKGet( TK_Graphic ), Any( xNewGraphic ) );
  
-                             Reference< XPropertySet >& rxPropertySet( aGraphicUserIter->mxPropertySet );
-                             rxPropertySet->setPropertyValue( TKGet( TK_FillBitmap ), Any( xFillBitmap ) );
-                             if ( ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapLogicalSize ) ) >>= bLogicalSize )
-                                 && ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapSizeX ) ) >>= aSize.Width )
-                                 && ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapSizeY ) ) >>= aSize.Height ) )
+                                 if ( aGraphicUserIter->maGraphicCropLogic.Left || aGraphicUserIter->maGraphicCropLogic.Top
+                                 || aGraphicUserIter->maGraphicCropLogic.Right || aGraphicUserIter->maGraphicCropLogic.Bottom )
+                                 {	// removing crop area was not possible or should't been applied
+                                     text::GraphicCrop aGraphicCropLogic( 0, 0, 0, 0 );
+                                     if ( !aGraphicSettings.mbRemoveCropArea )
+                                     {
+                                         awt::Size aNewSize( GraphicCollector::GetOriginalSize( rxMSF, xNewGraphic ) );
+                                         aGraphicCropLogic.Left = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Left * ((double)aNewSize.Width / (double)aSize100thMM.Width));
+                                         aGraphicCropLogic.Top = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Top * ((double)aNewSize.Height / (double)aSize100thMM.Height));
+                                         aGraphicCropLogic.Right = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Right * ((double)aNewSize.Width / (double)aSize100thMM.Width));
+                                         aGraphicCropLogic.Bottom = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Bottom * ((double)aNewSize.Height / (double)aSize100thMM.Height));
+                                     }
+                                     xShapePropertySet->setPropertyValue( TKGet( TK_GraphicCrop ), Any( aGraphicCropLogic ) );
+                                 }
+                             }
+                             else if ( aGraphicUserIter->mxPropertySet.is() )
                              {
-                                 if ( !aSize.Width || !aSize.Height )
+                                 Reference< XBitmap > xFillBitmap( xNewGraphic, UNO_QUERY );
+                                 if ( xFillBitmap.is() )
                                  {
-                                     rxPropertySet->setPropertyValue( TKGet( TK_FillBitmapLogicalSize ), Any( sal_True ) );
-                                     rxPropertySet->setPropertyValue( TKGet( TK_FillBitmapSizeX ), Any( aGraphicUserIter->maLogicalSize.Width ) );
-                                     rxPropertySet->setPropertyValue( TKGet( TK_FillBitmapSizeY ), Any( aGraphicUserIter->maLogicalSize.Height ) );
+                                     awt::Size aSize;
+                                     sal_Bool bLogicalSize;
+ 
+                                     Reference< XPropertySet >& rxPropertySet( aGraphicUserIter->mxPropertySet );
+                                     rxPropertySet->setPropertyValue( TKGet( TK_FillBitmap ), Any( xFillBitmap ) );
+                                     if ( ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapLogicalSize ) ) >>= bLogicalSize )
+                                         && ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapSizeX ) ) >>= aSize.Width )
+                                         && ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapSizeY ) ) >>= aSize.Height ) )
+                                     {
+                                         if ( !aSize.Width || !aSize.Height )
+                                         {
+                                             rxPropertySet->setPropertyValue( TKGet( TK_FillBitmapLogicalSize ), Any( sal_True ) );
+                                             rxPropertySet->setPropertyValue( TKGet( TK_FillBitmapSizeX ), Any( aGraphicUserIter->maLogicalSize.Width ) );
+                                             rxPropertySet->setPropertyValue( TKGet( TK_FillBitmapSizeY ), Any( aGraphicUserIter->maLogicalSize.Height ) );
+                                         }
+                                     }
+                                     if ( aGraphicUserIter->mxPagePropertySet.is() )
+                                         aGraphicUserIter->mxPagePropertySet->setPropertyValue( TKGet( TK_Background ), Any( rxPropertySet ) );
                                  }
                              }
-                             if ( aGraphicUserIter->mxPagePropertySet.is() )
-                                 aGraphicUserIter->mxPagePropertySet->setPropertyValue( TKGet( TK_Background ), Any( rxPropertySet ) );
 -                            aGraphicUserIter++;
++                            ++aGraphicUserIter;
                          }
                      }
-                     ++aGraphicUserIter;
                  }
 -            }			
 -            aGraphicIter++;
 +            }
 +            ++aGraphicIter;
          }
      }
      catch ( Exception& )
diff --cc sdext/source/minimizer/makefile.mk
index 0ab276f,4158119..164f106
mode 100755,100644..100644
--- a/sdext/source/minimizer/makefile.mk
+++ b/sdext/source/minimizer/makefile.mk
diff --cc sdext/source/pdfimport/config/description.xml
index 6ba2604,f4b2633..416e549
mode 100755,100644..100644
--- a/sdext/source/pdfimport/config/description.xml
+++ b/sdext/source/pdfimport/config/description.xml
@@@ -10,7 -10,13 +10,7 @@@
          <OpenOffice.org-minimal-version value="3.0" dep:name="OpenOffice.org 3.0"/>
      </dependencies>
  
-     <version value="1.0.3" />
 -    <registration>
 -        <simple-license accept-by="admin" default-license-id="lic-en-US" suppress-if-required="true" >
 -        <license-text xlink:href="licensefile" lang="isocode" license-id="lic-isocode"/>
 -        </simple-license>
 -    </registration>
 -
+     <version value="1.0.5" />
  
      <platform value="UPDATED_SUPPORTED_PLATFORM" />
  
diff --cc sdext/source/pdfimport/inc/pdfparse.hxx
index b579fde,a0a58bb..5c21323
--- a/sdext/source/pdfimport/inc/pdfparse.hxx
+++ b/sdext/source/pdfimport/inc/pdfparse.hxx
@@@ -261,6 -260,8 +261,8 @@@ struct PDFFile : public PDFContaine
      bool decrypt( const sal_uInt8* pInBuffer, sal_uInt32 nLen,
                    sal_uInt8* pOutBuffer,
                    unsigned int nObject, unsigned int nGeneration ) const;
 -    
++
+     rtl::OUString getDecryptionKey() const;
  };
  
  struct PDFObject : public PDFContainer
diff --cc sdext/source/pdfimport/makefile.mk
index 2a9697f,8444086..64accda
mode 100755,100644..100644
--- a/sdext/source/pdfimport/makefile.mk
+++ b/sdext/source/pdfimport/makefile.mk
diff --cc sdext/source/pdfimport/tree/pdfiprocessor.cxx
index cd94b97,6c2e410..806f24a
--- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx
+++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
@@@ -1046,7 -1046,415 +1047,417 @@@ void PDFIProcessor::sortElements( Eleme
              // over and out.
              return outRect;
          }
+         
+ // helper method: get a mirrored string
+ rtl::OUString PDFIProcessor::mirrorString( const rtl::OUString& i_rString )
+ {
+     if( ! m_xMirrorMapper.is() && ! m_bMirrorMapperTried )
+     {
+         m_bMirrorMapperTried = true;
+         uno::Reference< lang::XMultiComponentFactory > xMSF(  m_xContext->getServiceManager(), uno::UNO_SET_THROW );
+         uno::Reference < uno::XInterface > xInterface = xMSF->createInstanceWithContext(::rtl::OUString::createFromAscii("com.sun.star.awt.StringMirror"), m_xContext);
+         m_xMirrorMapper = uno::Reference< util::XStringMapping >( xInterface, uno::UNO_QUERY );
+         #if OSL_DEBUG_LEVEL > 1
+         if( m_xMirrorMapper.is() )
+             fprintf( stderr, "using mirror mapper service\n" );
+         #endif
+     }
+     if( m_xMirrorMapper.is() )
+     {
+         uno::Sequence< rtl::OUString > aSeq( 1 );
+         aSeq.getArray()[0] = i_rString;
+         m_xMirrorMapper->mapStrings( aSeq );
+         return  aSeq[0];
+     }
+ 
+     prepareMirrorMap();
+     sal_Int32 nLen = i_rString.getLength();
+     rtl::OUStringBuffer aRet( nLen );
+     for(int i = nLen - 1; i >= 0; i--)
+     {
+         sal_Unicode cChar = i_rString[ i ];
+         aRet.append( m_aMirrorMap[cChar] );
+     }
+     return aRet.makeStringAndClear();
+ }
+ 
+ void PDFIProcessor::prepareMirrorMap()
+ {
+     if( m_aMirrorMap.empty() )
+     {
+         #if OSL_DEBUG_LEVEL > 1
+         fprintf( stderr, "falling back to static mirror list\n" );
+         #endif
+     
+         m_aMirrorMap.reserve( 0x10000 );
+         for( int i = 0; i < 0x10000; i++ )
+             m_aMirrorMap.push_back( sal_Unicode(i) );
+         
+         m_aMirrorMap[ 0x0028 ] = 0x0029; // LEFT PARENTHESIS
+         m_aMirrorMap[ 0x0029 ] = 0x0028; // RIGHT PARENTHESIS
+         m_aMirrorMap[ 0x003C ] = 0x003E; // LESS-THAN SIGN
+         m_aMirrorMap[ 0x003E ] = 0x003C; // GREATER-THAN SIGN
+         m_aMirrorMap[ 0x005B ] = 0x005D; // LEFT SQUARE BRACKET
+         m_aMirrorMap[ 0x005D ] = 0x005B; // RIGHT SQUARE BRACKET
+         m_aMirrorMap[ 0x007B ] = 0x007D; // LEFT CURLY BRACKET
+         m_aMirrorMap[ 0x007D ] = 0x007B; // RIGHT CURLY BRACKET
+         m_aMirrorMap[ 0x00AB ] = 0x00BB; // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+         m_aMirrorMap[ 0x00BB ] = 0x00AB; // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+         m_aMirrorMap[ 0x0F3A ] = 0x0F3B; // TIBETAN MARK GUG RTAGS GYON
+         m_aMirrorMap[ 0x0F3B ] = 0x0F3A; // TIBETAN MARK GUG RTAGS GYAS
+         m_aMirrorMap[ 0x0F3C ] = 0x0F3D; // TIBETAN MARK ANG KHANG GYON
+         m_aMirrorMap[ 0x0F3D ] = 0x0F3C; // TIBETAN MARK ANG KHANG GYAS
+         m_aMirrorMap[ 0x169B ] = 0x169C; // OGHAM FEATHER MARK
+         m_aMirrorMap[ 0x169C ] = 0x169B; // OGHAM REVERSED FEATHER MARK
+         m_aMirrorMap[ 0x2039 ] = 0x203A; // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+         m_aMirrorMap[ 0x203A ] = 0x2039; // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+         m_aMirrorMap[ 0x2045 ] = 0x2046; // LEFT SQUARE BRACKET WITH QUILL
+         m_aMirrorMap[ 0x2046 ] = 0x2045; // RIGHT SQUARE BRACKET WITH QUILL
+         m_aMirrorMap[ 0x207D ] = 0x207E; // SUPERSCRIPT LEFT PARENTHESIS
+         m_aMirrorMap[ 0x207E ] = 0x207D; // SUPERSCRIPT RIGHT PARENTHESIS
+         m_aMirrorMap[ 0x208D ] = 0x208E; // SUBSCRIPT LEFT PARENTHESIS
+         m_aMirrorMap[ 0x208E ] = 0x208D; // SUBSCRIPT RIGHT PARENTHESIS
+         m_aMirrorMap[ 0x2208 ] = 0x220B; // ELEMENT OF
+         m_aMirrorMap[ 0x2209 ] = 0x220C; // NOT AN ELEMENT OF
+         m_aMirrorMap[ 0x220A ] = 0x220D; // SMALL ELEMENT OF
+         m_aMirrorMap[ 0x220B ] = 0x2208; // CONTAINS AS MEMBER
+         m_aMirrorMap[ 0x220C ] = 0x2209; // DOES NOT CONTAIN AS MEMBER
+         m_aMirrorMap[ 0x220D ] = 0x220A; // SMALL CONTAINS AS MEMBER
+         m_aMirrorMap[ 0x2215 ] = 0x29F5; // DIVISION SLASH
+         m_aMirrorMap[ 0x223C ] = 0x223D; // TILDE OPERATOR
+         m_aMirrorMap[ 0x223D ] = 0x223C; // REVERSED TILDE
+         m_aMirrorMap[ 0x2243 ] = 0x22CD; // ASYMPTOTICALLY EQUAL TO
+         m_aMirrorMap[ 0x2252 ] = 0x2253; // APPROXIMATELY EQUAL TO OR THE IMAGE OF
+         m_aMirrorMap[ 0x2253 ] = 0x2252; // IMAGE OF OR APPROXIMATELY EQUAL TO
+         m_aMirrorMap[ 0x2254 ] = 0x2255; // COLON EQUALS
+         m_aMirrorMap[ 0x2255 ] = 0x2254; // EQUALS COLON
+         m_aMirrorMap[ 0x2264 ] = 0x2265; // LESS-THAN OR EQUAL TO
+         m_aMirrorMap[ 0x2265 ] = 0x2264; // GREATER-THAN OR EQUAL TO
+         m_aMirrorMap[ 0x2266 ] = 0x2267; // LESS-THAN OVER EQUAL TO
+         m_aMirrorMap[ 0x2267 ] = 0x2266; // GREATER-THAN OVER EQUAL TO
+         m_aMirrorMap[ 0x2268 ] = 0x2269; // [BEST FIT] LESS-THAN BUT NOT EQUAL TO
+         m_aMirrorMap[ 0x2269 ] = 0x2268; // [BEST FIT] GREATER-THAN BUT NOT EQUAL TO
+         m_aMirrorMap[ 0x226A ] = 0x226B; // MUCH LESS-THAN
+         m_aMirrorMap[ 0x226B ] = 0x226A; // MUCH GREATER-THAN
+         m_aMirrorMap[ 0x226E ] = 0x226F; // [BEST FIT] NOT LESS-THAN
+         m_aMirrorMap[ 0x226F ] = 0x226E; // [BEST FIT] NOT GREATER-THAN
+         m_aMirrorMap[ 0x2270 ] = 0x2271; // [BEST FIT] NEITHER LESS-THAN NOR EQUAL TO
+         m_aMirrorMap[ 0x2271 ] = 0x2270; // [BEST FIT] NEITHER GREATER-THAN NOR EQUAL TO
+         m_aMirrorMap[ 0x2272 ] = 0x2273; // [BEST FIT] LESS-THAN OR EQUIVALENT TO
+         m_aMirrorMap[ 0x2273 ] = 0x2272; // [BEST FIT] GREATER-THAN OR EQUIVALENT TO
+         m_aMirrorMap[ 0x2274 ] = 0x2275; // [BEST FIT] NEITHER LESS-THAN NOR EQUIVALENT TO
+         m_aMirrorMap[ 0x2275 ] = 0x2274; // [BEST FIT] NEITHER GREATER-THAN NOR EQUIVALENT TO
+         m_aMirrorMap[ 0x2276 ] = 0x2277; // LESS-THAN OR GREATER-THAN
+         m_aMirrorMap[ 0x2277 ] = 0x2276; // GREATER-THAN OR LESS-THAN
+         m_aMirrorMap[ 0x2278 ] = 0x2279; // [BEST FIT] NEITHER LESS-THAN NOR GREATER-THAN
+         m_aMirrorMap[ 0x2279 ] = 0x2278; // [BEST FIT] NEITHER GREATER-THAN NOR LESS-THAN
+         m_aMirrorMap[ 0x227A ] = 0x227B; // PRECEDES
+         m_aMirrorMap[ 0x227B ] = 0x227A; // SUCCEEDS
+         m_aMirrorMap[ 0x227C ] = 0x227D; // PRECEDES OR EQUAL TO
+         m_aMirrorMap[ 0x227D ] = 0x227C; // SUCCEEDS OR EQUAL TO
+         m_aMirrorMap[ 0x227E ] = 0x227F; // [BEST FIT] PRECEDES OR EQUIVALENT TO
+         m_aMirrorMap[ 0x227F ] = 0x227E; // [BEST FIT] SUCCEEDS OR EQUIVALENT TO
+         m_aMirrorMap[ 0x2280 ] = 0x2281; // [BEST FIT] DOES NOT PRECEDE
+         m_aMirrorMap[ 0x2281 ] = 0x2280; // [BEST FIT] DOES NOT SUCCEED
+         m_aMirrorMap[ 0x2282 ] = 0x2283; // SUBSET OF
+         m_aMirrorMap[ 0x2283 ] = 0x2282; // SUPERSET OF
+         m_aMirrorMap[ 0x2284 ] = 0x2285; // [BEST FIT] NOT A SUBSET OF
+         m_aMirrorMap[ 0x2285 ] = 0x2284; // [BEST FIT] NOT A SUPERSET OF
+         m_aMirrorMap[ 0x2286 ] = 0x2287; // SUBSET OF OR EQUAL TO
+         m_aMirrorMap[ 0x2287 ] = 0x2286; // SUPERSET OF OR EQUAL TO
+         m_aMirrorMap[ 0x2288 ] = 0x2289; // [BEST FIT] NEITHER A SUBSET OF NOR EQUAL TO
+         m_aMirrorMap[ 0x2289 ] = 0x2288; // [BEST FIT] NEITHER A SUPERSET OF NOR EQUAL TO
+         m_aMirrorMap[ 0x228A ] = 0x228B; // [BEST FIT] SUBSET OF WITH NOT EQUAL TO
+         m_aMirrorMap[ 0x228B ] = 0x228A; // [BEST FIT] SUPERSET OF WITH NOT EQUAL TO
+         m_aMirrorMap[ 0x228F ] = 0x2290; // SQUARE IMAGE OF
+         m_aMirrorMap[ 0x2290 ] = 0x228F; // SQUARE ORIGINAL OF
+         m_aMirrorMap[ 0x2291 ] = 0x2292; // SQUARE IMAGE OF OR EQUAL TO
+         m_aMirrorMap[ 0x2292 ] = 0x2291; // SQUARE ORIGINAL OF OR EQUAL TO
+         m_aMirrorMap[ 0x2298 ] = 0x29B8; // CIRCLED DIVISION SLASH
+         m_aMirrorMap[ 0x22A2 ] = 0x22A3; // RIGHT TACK
+         m_aMirrorMap[ 0x22A3 ] = 0x22A2; // LEFT TACK
+         m_aMirrorMap[ 0x22A6 ] = 0x2ADE; // ASSERTION
+         m_aMirrorMap[ 0x22A8 ] = 0x2AE4; // TRUE
+         m_aMirrorMap[ 0x22A9 ] = 0x2AE3; // FORCES
+         m_aMirrorMap[ 0x22AB ] = 0x2AE5; // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+         m_aMirrorMap[ 0x22B0 ] = 0x22B1; // PRECEDES UNDER RELATION
+         m_aMirrorMap[ 0x22B1 ] = 0x22B0; // SUCCEEDS UNDER RELATION
+         m_aMirrorMap[ 0x22B2 ] = 0x22B3; // NORMAL SUBGROUP OF
+         m_aMirrorMap[ 0x22B3 ] = 0x22B2; // CONTAINS AS NORMAL SUBGROUP
+         m_aMirrorMap[ 0x22B4 ] = 0x22B5; // NORMAL SUBGROUP OF OR EQUAL TO
+         m_aMirrorMap[ 0x22B5 ] = 0x22B4; // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+         m_aMirrorMap[ 0x22B6 ] = 0x22B7; // ORIGINAL OF
+         m_aMirrorMap[ 0x22B7 ] = 0x22B6; // IMAGE OF
+         m_aMirrorMap[ 0x22C9 ] = 0x22CA; // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+         m_aMirrorMap[ 0x22CA ] = 0x22C9; // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+         m_aMirrorMap[ 0x22CB ] = 0x22CC; // LEFT SEMIDIRECT PRODUCT
+         m_aMirrorMap[ 0x22CC ] = 0x22CB; // RIGHT SEMIDIRECT PRODUCT
+         m_aMirrorMap[ 0x22CD ] = 0x2243; // REVERSED TILDE EQUALS
+         m_aMirrorMap[ 0x22D0 ] = 0x22D1; // DOUBLE SUBSET
+         m_aMirrorMap[ 0x22D1 ] = 0x22D0; // DOUBLE SUPERSET
+         m_aMirrorMap[ 0x22D6 ] = 0x22D7; // LESS-THAN WITH DOT
+         m_aMirrorMap[ 0x22D7 ] = 0x22D6; // GREATER-THAN WITH DOT
+         m_aMirrorMap[ 0x22D8 ] = 0x22D9; // VERY MUCH LESS-THAN
+         m_aMirrorMap[ 0x22D9 ] = 0x22D8; // VERY MUCH GREATER-THAN
+         m_aMirrorMap[ 0x22DA ] = 0x22DB; // LESS-THAN EQUAL TO OR GREATER-THAN
+         m_aMirrorMap[ 0x22DB ] = 0x22DA; // GREATER-THAN EQUAL TO OR LESS-THAN
+         m_aMirrorMap[ 0x22DC ] = 0x22DD; // EQUAL TO OR LESS-THAN
+         m_aMirrorMap[ 0x22DD ] = 0x22DC; // EQUAL TO OR GREATER-THAN
+         m_aMirrorMap[ 0x22DE ] = 0x22DF; // EQUAL TO OR PRECEDES
+         m_aMirrorMap[ 0x22DF ] = 0x22DE; // EQUAL TO OR SUCCEEDS
+         m_aMirrorMap[ 0x22E0 ] = 0x22E1; // [BEST FIT] DOES NOT PRECEDE OR EQUAL
+         m_aMirrorMap[ 0x22E1 ] = 0x22E0; // [BEST FIT] DOES NOT SUCCEED OR EQUAL
+         m_aMirrorMap[ 0x22E2 ] = 0x22E3; // [BEST FIT] NOT SQUARE IMAGE OF OR EQUAL TO
+         m_aMirrorMap[ 0x22E3 ] = 0x22E2; // [BEST FIT] NOT SQUARE ORIGINAL OF OR EQUAL TO
+         m_aMirrorMap[ 0x22E4 ] = 0x22E5; // [BEST FIT] SQUARE IMAGE OF OR NOT EQUAL TO
+         m_aMirrorMap[ 0x22E5 ] = 0x22E4; // [BEST FIT] SQUARE ORIGINAL OF OR NOT EQUAL TO
+         m_aMirrorMap[ 0x22E6 ] = 0x22E7; // [BEST FIT] LESS-THAN BUT NOT EQUIVALENT TO
+         m_aMirrorMap[ 0x22E7 ] = 0x22E6; // [BEST FIT] GREATER-THAN BUT NOT EQUIVALENT TO
+         m_aMirrorMap[ 0x22E8 ] = 0x22E9; // [BEST FIT] PRECEDES BUT NOT EQUIVALENT TO
+         m_aMirrorMap[ 0x22E9 ] = 0x22E8; // [BEST FIT] SUCCEEDS BUT NOT EQUIVALENT TO
+         m_aMirrorMap[ 0x22EA ] = 0x22EB; // [BEST FIT] NOT NORMAL SUBGROUP OF
+         m_aMirrorMap[ 0x22EB ] = 0x22EA; // [BEST FIT] DOES NOT CONTAIN AS NORMAL SUBGROUP
+         m_aMirrorMap[ 0x22EC ] = 0x22ED; // [BEST FIT] NOT NORMAL SUBGROUP OF OR EQUAL TO
+         m_aMirrorMap[ 0x22ED ] = 0x22EC; // [BEST FIT] DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+         m_aMirrorMap[ 0x22F0 ] = 0x22F1; // UP RIGHT DIAGONAL ELLIPSIS
+         m_aMirrorMap[ 0x22F1 ] = 0x22F0; // DOWN RIGHT DIAGONAL ELLIPSIS
+         m_aMirrorMap[ 0x22F2 ] = 0x22FA; // ELEMENT OF WITH LONG HORIZONTAL STROKE
+         m_aMirrorMap[ 0x22F3 ] = 0x22FB; // ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+         m_aMirrorMap[ 0x22F4 ] = 0x22FC; // SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+         m_aMirrorMap[ 0x22F6 ] = 0x22FD; // ELEMENT OF WITH OVERBAR
+         m_aMirrorMap[ 0x22F7 ] = 0x22FE; // SMALL ELEMENT OF WITH OVERBAR
+         m_aMirrorMap[ 0x22FA ] = 0x22F2; // CONTAINS WITH LONG HORIZONTAL STROKE
+         m_aMirrorMap[ 0x22FB ] = 0x22F3; // CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+         m_aMirrorMap[ 0x22FC ] = 0x22F4; // SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+         m_aMirrorMap[ 0x22FD ] = 0x22F6; // CONTAINS WITH OVERBAR
+         m_aMirrorMap[ 0x22FE ] = 0x22F7; // SMALL CONTAINS WITH OVERBAR
+         m_aMirrorMap[ 0x2308 ] = 0x2309; // LEFT CEILING
+         m_aMirrorMap[ 0x2309 ] = 0x2308; // RIGHT CEILING
+         m_aMirrorMap[ 0x230A ] = 0x230B; // LEFT FLOOR
+         m_aMirrorMap[ 0x230B ] = 0x230A; // RIGHT FLOOR
+         m_aMirrorMap[ 0x2329 ] = 0x232A; // LEFT-POINTING ANGLE BRACKET
+         m_aMirrorMap[ 0x232A ] = 0x2329; // RIGHT-POINTING ANGLE BRACKET
+         m_aMirrorMap[ 0x2768 ] = 0x2769; // MEDIUM LEFT PARENTHESIS ORNAMENT
+         m_aMirrorMap[ 0x2769 ] = 0x2768; // MEDIUM RIGHT PARENTHESIS ORNAMENT
+         m_aMirrorMap[ 0x276A ] = 0x276B; // MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
+         m_aMirrorMap[ 0x276B ] = 0x276A; // MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
+         m_aMirrorMap[ 0x276C ] = 0x276D; // MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
+         m_aMirrorMap[ 0x276D ] = 0x276C; // MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
+         m_aMirrorMap[ 0x276E ] = 0x276F; // HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
+         m_aMirrorMap[ 0x276F ] = 0x276E; // HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
+         m_aMirrorMap[ 0x2770 ] = 0x2771; // HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
+         m_aMirrorMap[ 0x2771 ] = 0x2770; // HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
+         m_aMirrorMap[ 0x2772 ] = 0x2773; // LIGHT LEFT TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x2773 ] = 0x2772; // LIGHT RIGHT TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x2774 ] = 0x2775; // MEDIUM LEFT CURLY BRACKET ORNAMENT
+         m_aMirrorMap[ 0x2775 ] = 0x2774; // MEDIUM RIGHT CURLY BRACKET ORNAMENT
+         m_aMirrorMap[ 0x27C3 ] = 0x27C4; // OPEN SUBSET
+         m_aMirrorMap[ 0x27C4 ] = 0x27C3; // OPEN SUPERSET
+         m_aMirrorMap[ 0x27C5 ] = 0x27C6; // LEFT S-SHAPED BAG DELIMITER
+         m_aMirrorMap[ 0x27C6 ] = 0x27C5; // RIGHT S-SHAPED BAG DELIMITER
+         m_aMirrorMap[ 0x27C8 ] = 0x27C9; // REVERSE SOLIDUS PRECEDING SUBSET
+         m_aMirrorMap[ 0x27C9 ] = 0x27C8; // SUPERSET PRECEDING SOLIDUS
+         m_aMirrorMap[ 0x27D5 ] = 0x27D6; // LEFT OUTER JOIN
+         m_aMirrorMap[ 0x27D6 ] = 0x27D5; // RIGHT OUTER JOIN
+         m_aMirrorMap[ 0x27DD ] = 0x27DE; // LONG RIGHT TACK
+         m_aMirrorMap[ 0x27DE ] = 0x27DD; // LONG LEFT TACK
+         m_aMirrorMap[ 0x27E2 ] = 0x27E3; // WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
+         m_aMirrorMap[ 0x27E3 ] = 0x27E2; // WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
+         m_aMirrorMap[ 0x27E4 ] = 0x27E5; // WHITE SQUARE WITH LEFTWARDS TICK
+         m_aMirrorMap[ 0x27E5 ] = 0x27E4; // WHITE SQUARE WITH RIGHTWARDS TICK
+         m_aMirrorMap[ 0x27E6 ] = 0x27E7; // MATHEMATICAL LEFT WHITE SQUARE BRACKET
+         m_aMirrorMap[ 0x27E7 ] = 0x27E6; // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+         m_aMirrorMap[ 0x27E8 ] = 0x27E9; // MATHEMATICAL LEFT ANGLE BRACKET
+         m_aMirrorMap[ 0x27E9 ] = 0x27E8; // MATHEMATICAL RIGHT ANGLE BRACKET
+         m_aMirrorMap[ 0x27EA ] = 0x27EB; // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+         m_aMirrorMap[ 0x27EB ] = 0x27EA; // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+         m_aMirrorMap[ 0x27EC ] = 0x27ED; // MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x27ED ] = 0x27EC; // MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x27EE ] = 0x27EF; // MATHEMATICAL LEFT FLATTENED PARENTHESIS
+         m_aMirrorMap[ 0x27EF ] = 0x27EE; // MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+         m_aMirrorMap[ 0x2983 ] = 0x2984; // LEFT WHITE CURLY BRACKET
+         m_aMirrorMap[ 0x2984 ] = 0x2983; // RIGHT WHITE CURLY BRACKET
+         m_aMirrorMap[ 0x2985 ] = 0x2986; // LEFT WHITE PARENTHESIS
+         m_aMirrorMap[ 0x2986 ] = 0x2985; // RIGHT WHITE PARENTHESIS
+         m_aMirrorMap[ 0x2987 ] = 0x2988; // Z NOTATION LEFT IMAGE BRACKET
+         m_aMirrorMap[ 0x2988 ] = 0x2987; // Z NOTATION RIGHT IMAGE BRACKET
+         m_aMirrorMap[ 0x2989 ] = 0x298A; // Z NOTATION LEFT BINDING BRACKET
+         m_aMirrorMap[ 0x298A ] = 0x2989; // Z NOTATION RIGHT BINDING BRACKET
+         m_aMirrorMap[ 0x298B ] = 0x298C; // LEFT SQUARE BRACKET WITH UNDERBAR
+         m_aMirrorMap[ 0x298C ] = 0x298B; // RIGHT SQUARE BRACKET WITH UNDERBAR
+         m_aMirrorMap[ 0x298D ] = 0x2990; // LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+         m_aMirrorMap[ 0x298E ] = 0x298F; // RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+         m_aMirrorMap[ 0x298F ] = 0x298E; // LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+         m_aMirrorMap[ 0x2990 ] = 0x298D; // RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+         m_aMirrorMap[ 0x2991 ] = 0x2992; // LEFT ANGLE BRACKET WITH DOT
+         m_aMirrorMap[ 0x2992 ] = 0x2991; // RIGHT ANGLE BRACKET WITH DOT
+         m_aMirrorMap[ 0x2993 ] = 0x2994; // LEFT ARC LESS-THAN BRACKET
+         m_aMirrorMap[ 0x2994 ] = 0x2993; // RIGHT ARC GREATER-THAN BRACKET
+         m_aMirrorMap[ 0x2995 ] = 0x2996; // DOUBLE LEFT ARC GREATER-THAN BRACKET
+         m_aMirrorMap[ 0x2996 ] = 0x2995; // DOUBLE RIGHT ARC LESS-THAN BRACKET
+         m_aMirrorMap[ 0x2997 ] = 0x2998; // LEFT BLACK TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x2998 ] = 0x2997; // RIGHT BLACK TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x29B8 ] = 0x2298; // CIRCLED REVERSE SOLIDUS
+         m_aMirrorMap[ 0x29C0 ] = 0x29C1; // CIRCLED LESS-THAN
+         m_aMirrorMap[ 0x29C1 ] = 0x29C0; // CIRCLED GREATER-THAN
+         m_aMirrorMap[ 0x29C4 ] = 0x29C5; // SQUARED RISING DIAGONAL SLASH
+         m_aMirrorMap[ 0x29C5 ] = 0x29C4; // SQUARED FALLING DIAGONAL SLASH
+         m_aMirrorMap[ 0x29CF ] = 0x29D0; // LEFT TRIANGLE BESIDE VERTICAL BAR
+         m_aMirrorMap[ 0x29D0 ] = 0x29CF; // VERTICAL BAR BESIDE RIGHT TRIANGLE
+         m_aMirrorMap[ 0x29D1 ] = 0x29D2; // BOWTIE WITH LEFT HALF BLACK
+         m_aMirrorMap[ 0x29D2 ] = 0x29D1; // BOWTIE WITH RIGHT HALF BLACK
+         m_aMirrorMap[ 0x29D4 ] = 0x29D5; // TIMES WITH LEFT HALF BLACK
+         m_aMirrorMap[ 0x29D5 ] = 0x29D4; // TIMES WITH RIGHT HALF BLACK
+         m_aMirrorMap[ 0x29D8 ] = 0x29D9; // LEFT WIGGLY FENCE
+         m_aMirrorMap[ 0x29D9 ] = 0x29D8; // RIGHT WIGGLY FENCE
+         m_aMirrorMap[ 0x29DA ] = 0x29DB; // LEFT DOUBLE WIGGLY FENCE
+         m_aMirrorMap[ 0x29DB ] = 0x29DA; // RIGHT DOUBLE WIGGLY FENCE
+         m_aMirrorMap[ 0x29F5 ] = 0x2215; // REVERSE SOLIDUS OPERATOR
+         m_aMirrorMap[ 0x29F8 ] = 0x29F9; // BIG SOLIDUS
+         m_aMirrorMap[ 0x29F9 ] = 0x29F8; // BIG REVERSE SOLIDUS
+         m_aMirrorMap[ 0x29FC ] = 0x29FD; // LEFT-POINTING CURVED ANGLE BRACKET
+         m_aMirrorMap[ 0x29FD ] = 0x29FC; // RIGHT-POINTING CURVED ANGLE BRACKET
+         m_aMirrorMap[ 0x2A2B ] = 0x2A2C; // MINUS SIGN WITH FALLING DOTS
+         m_aMirrorMap[ 0x2A2C ] = 0x2A2B; // MINUS SIGN WITH RISING DOTS
+         m_aMirrorMap[ 0x2A2D ] = 0x2A2E; // PLUS SIGN IN LEFT HALF CIRCLE
+         m_aMirrorMap[ 0x2A2E ] = 0x2A2D; // PLUS SIGN IN RIGHT HALF CIRCLE
+         m_aMirrorMap[ 0x2A34 ] = 0x2A35; // MULTIPLICATION SIGN IN LEFT HALF CIRCLE
+         m_aMirrorMap[ 0x2A35 ] = 0x2A34; // MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
+         m_aMirrorMap[ 0x2A3C ] = 0x2A3D; // INTERIOR PRODUCT
+         m_aMirrorMap[ 0x2A3D ] = 0x2A3C; // RIGHTHAND INTERIOR PRODUCT
+         m_aMirrorMap[ 0x2A64 ] = 0x2A65; // Z NOTATION DOMAIN ANTIRESTRICTION
+         m_aMirrorMap[ 0x2A65 ] = 0x2A64; // Z NOTATION RANGE ANTIRESTRICTION
+         m_aMirrorMap[ 0x2A79 ] = 0x2A7A; // LESS-THAN WITH CIRCLE INSIDE
+         m_aMirrorMap[ 0x2A7A ] = 0x2A79; // GREATER-THAN WITH CIRCLE INSIDE
+         m_aMirrorMap[ 0x2A7D ] = 0x2A7E; // LESS-THAN OR SLANTED EQUAL TO
+         m_aMirrorMap[ 0x2A7E ] = 0x2A7D; // GREATER-THAN OR SLANTED EQUAL TO
+         m_aMirrorMap[ 0x2A7F ] = 0x2A80; // LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+         m_aMirrorMap[ 0x2A80 ] = 0x2A7F; // GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+         m_aMirrorMap[ 0x2A81 ] = 0x2A82; // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+         m_aMirrorMap[ 0x2A82 ] = 0x2A81; // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+         m_aMirrorMap[ 0x2A83 ] = 0x2A84; // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
+         m_aMirrorMap[ 0x2A84 ] = 0x2A83; // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
+         m_aMirrorMap[ 0x2A8B ] = 0x2A8C; // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+         m_aMirrorMap[ 0x2A8C ] = 0x2A8B; // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+         m_aMirrorMap[ 0x2A91 ] = 0x2A92; // LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
+         m_aMirrorMap[ 0x2A92 ] = 0x2A91; // GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
+         m_aMirrorMap[ 0x2A93 ] = 0x2A94; // LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
+         m_aMirrorMap[ 0x2A94 ] = 0x2A93; // GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
+         m_aMirrorMap[ 0x2A95 ] = 0x2A96; // SLANTED EQUAL TO OR LESS-THAN
+         m_aMirrorMap[ 0x2A96 ] = 0x2A95; // SLANTED EQUAL TO OR GREATER-THAN
+         m_aMirrorMap[ 0x2A97 ] = 0x2A98; // SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
+         m_aMirrorMap[ 0x2A98 ] = 0x2A97; // SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
+         m_aMirrorMap[ 0x2A99 ] = 0x2A9A; // DOUBLE-LINE EQUAL TO OR LESS-THAN
+         m_aMirrorMap[ 0x2A9A ] = 0x2A99; // DOUBLE-LINE EQUAL TO OR GREATER-THAN
+         m_aMirrorMap[ 0x2A9B ] = 0x2A9C; // DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
+         m_aMirrorMap[ 0x2A9C ] = 0x2A9B; // DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
+         m_aMirrorMap[ 0x2AA1 ] = 0x2AA2; // DOUBLE NESTED LESS-THAN
+         m_aMirrorMap[ 0x2AA2 ] = 0x2AA1; // DOUBLE NESTED GREATER-THAN
+         m_aMirrorMap[ 0x2AA6 ] = 0x2AA7; // LESS-THAN CLOSED BY CURVE
+         m_aMirrorMap[ 0x2AA7 ] = 0x2AA6; // GREATER-THAN CLOSED BY CURVE
+         m_aMirrorMap[ 0x2AA8 ] = 0x2AA9; // LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+         m_aMirrorMap[ 0x2AA9 ] = 0x2AA8; // GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+         m_aMirrorMap[ 0x2AAA ] = 0x2AAB; // SMALLER THAN
+         m_aMirrorMap[ 0x2AAB ] = 0x2AAA; // LARGER THAN
+         m_aMirrorMap[ 0x2AAC ] = 0x2AAD; // SMALLER THAN OR EQUAL TO
+         m_aMirrorMap[ 0x2AAD ] = 0x2AAC; // LARGER THAN OR EQUAL TO
+         m_aMirrorMap[ 0x2AAF ] = 0x2AB0; // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+         m_aMirrorMap[ 0x2AB0 ] = 0x2AAF; // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+         m_aMirrorMap[ 0x2AB3 ] = 0x2AB4; // PRECEDES ABOVE EQUALS SIGN
+         m_aMirrorMap[ 0x2AB4 ] = 0x2AB3; // SUCCEEDS ABOVE EQUALS SIGN
+         m_aMirrorMap[ 0x2ABB ] = 0x2ABC; // DOUBLE PRECEDES
+         m_aMirrorMap[ 0x2ABC ] = 0x2ABB; // DOUBLE SUCCEEDS
+         m_aMirrorMap[ 0x2ABD ] = 0x2ABE; // SUBSET WITH DOT
+         m_aMirrorMap[ 0x2ABE ] = 0x2ABD; // SUPERSET WITH DOT
+         m_aMirrorMap[ 0x2ABF ] = 0x2AC0; // SUBSET WITH PLUS SIGN BELOW
+         m_aMirrorMap[ 0x2AC0 ] = 0x2ABF; // SUPERSET WITH PLUS SIGN BELOW
+         m_aMirrorMap[ 0x2AC1 ] = 0x2AC2; // SUBSET WITH MULTIPLICATION SIGN BELOW
+         m_aMirrorMap[ 0x2AC2 ] = 0x2AC1; // SUPERSET WITH MULTIPLICATION SIGN BELOW
+         m_aMirrorMap[ 0x2AC3 ] = 0x2AC4; // SUBSET OF OR EQUAL TO WITH DOT ABOVE
+         m_aMirrorMap[ 0x2AC4 ] = 0x2AC3; // SUPERSET OF OR EQUAL TO WITH DOT ABOVE
+         m_aMirrorMap[ 0x2AC5 ] = 0x2AC6; // SUBSET OF ABOVE EQUALS SIGN
+         m_aMirrorMap[ 0x2AC6 ] = 0x2AC5; // SUPERSET OF ABOVE EQUALS SIGN
+         m_aMirrorMap[ 0x2ACD ] = 0x2ACE; // SQUARE LEFT OPEN BOX OPERATOR
+         m_aMirrorMap[ 0x2ACE ] = 0x2ACD; // SQUARE RIGHT OPEN BOX OPERATOR
+         m_aMirrorMap[ 0x2ACF ] = 0x2AD0; // CLOSED SUBSET
+         m_aMirrorMap[ 0x2AD0 ] = 0x2ACF; // CLOSED SUPERSET
+         m_aMirrorMap[ 0x2AD1 ] = 0x2AD2; // CLOSED SUBSET OR EQUAL TO
+         m_aMirrorMap[ 0x2AD2 ] = 0x2AD1; // CLOSED SUPERSET OR EQUAL TO
+         m_aMirrorMap[ 0x2AD3 ] = 0x2AD4; // SUBSET ABOVE SUPERSET
+         m_aMirrorMap[ 0x2AD4 ] = 0x2AD3; // SUPERSET ABOVE SUBSET
+         m_aMirrorMap[ 0x2AD5 ] = 0x2AD6; // SUBSET ABOVE SUBSET
+         m_aMirrorMap[ 0x2AD6 ] = 0x2AD5; // SUPERSET ABOVE SUPERSET
+         m_aMirrorMap[ 0x2ADE ] = 0x22A6; // SHORT LEFT TACK
+         m_aMirrorMap[ 0x2AE3 ] = 0x22A9; // DOUBLE VERTICAL BAR LEFT TURNSTILE
+         m_aMirrorMap[ 0x2AE4 ] = 0x22A8; // VERTICAL BAR DOUBLE LEFT TURNSTILE
+         m_aMirrorMap[ 0x2AE5 ] = 0x22AB; // DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
+         m_aMirrorMap[ 0x2AEC ] = 0x2AED; // DOUBLE STROKE NOT SIGN
+         m_aMirrorMap[ 0x2AED ] = 0x2AEC; // REVERSED DOUBLE STROKE NOT SIGN
+         m_aMirrorMap[ 0x2AF7 ] = 0x2AF8; // TRIPLE NESTED LESS-THAN
+         m_aMirrorMap[ 0x2AF8 ] = 0x2AF7; // TRIPLE NESTED GREATER-THAN
+         m_aMirrorMap[ 0x2AF9 ] = 0x2AFA; // DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
+         m_aMirrorMap[ 0x2AFA ] = 0x2AF9; // DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
+         m_aMirrorMap[ 0x2E02 ] = 0x2E03; // LEFT SUBSTITUTION BRACKET
+         m_aMirrorMap[ 0x2E03 ] = 0x2E02; // RIGHT SUBSTITUTION BRACKET
+         m_aMirrorMap[ 0x2E04 ] = 0x2E05; // LEFT DOTTED SUBSTITUTION BRACKET
+         m_aMirrorMap[ 0x2E05 ] = 0x2E04; // RIGHT DOTTED SUBSTITUTION BRACKET
+         m_aMirrorMap[ 0x2E09 ] = 0x2E0A; // LEFT TRANSPOSITION BRACKET
+         m_aMirrorMap[ 0x2E0A ] = 0x2E09; // RIGHT TRANSPOSITION BRACKET
+         m_aMirrorMap[ 0x2E0C ] = 0x2E0D; // LEFT RAISED OMISSION BRACKET
+         m_aMirrorMap[ 0x2E0D ] = 0x2E0C; // RIGHT RAISED OMISSION BRACKET
+         m_aMirrorMap[ 0x2E1C ] = 0x2E1D; // LEFT LOW PARAPHRASE BRACKET
+         m_aMirrorMap[ 0x2E1D ] = 0x2E1C; // RIGHT LOW PARAPHRASE BRACKET
+         m_aMirrorMap[ 0x2E20 ] = 0x2E21; // LEFT VERTICAL BAR WITH QUILL
+         m_aMirrorMap[ 0x2E21 ] = 0x2E20; // RIGHT VERTICAL BAR WITH QUILL
+         m_aMirrorMap[ 0x2E22 ] = 0x2E23; // TOP LEFT HALF BRACKET
+         m_aMirrorMap[ 0x2E23 ] = 0x2E22; // TOP RIGHT HALF BRACKET
+         m_aMirrorMap[ 0x2E24 ] = 0x2E25; // BOTTOM LEFT HALF BRACKET
+         m_aMirrorMap[ 0x2E25 ] = 0x2E24; // BOTTOM RIGHT HALF BRACKET
+         m_aMirrorMap[ 0x2E26 ] = 0x2E27; // LEFT SIDEWAYS U BRACKET
+         m_aMirrorMap[ 0x2E27 ] = 0x2E26; // RIGHT SIDEWAYS U BRACKET
+         m_aMirrorMap[ 0x2E28 ] = 0x2E29; // LEFT DOUBLE PARENTHESIS
+         m_aMirrorMap[ 0x2E29 ] = 0x2E28; // RIGHT DOUBLE PARENTHESIS
+         m_aMirrorMap[ 0x3008 ] = 0x3009; // LEFT ANGLE BRACKET
+         m_aMirrorMap[ 0x3009 ] = 0x3008; // RIGHT ANGLE BRACKET
+         m_aMirrorMap[ 0x300A ] = 0x300B; // LEFT DOUBLE ANGLE BRACKET
+         m_aMirrorMap[ 0x300B ] = 0x300A; // RIGHT DOUBLE ANGLE BRACKET
+         m_aMirrorMap[ 0x300C ] = 0x300D; // [BEST FIT] LEFT CORNER BRACKET
+         m_aMirrorMap[ 0x300D ] = 0x300C; // [BEST FIT] RIGHT CORNER BRACKET
+         m_aMirrorMap[ 0x300E ] = 0x300F; // [BEST FIT] LEFT WHITE CORNER BRACKET
+         m_aMirrorMap[ 0x300F ] = 0x300E; // [BEST FIT] RIGHT WHITE CORNER BRACKET
+         m_aMirrorMap[ 0x3010 ] = 0x3011; // LEFT BLACK LENTICULAR BRACKET
+         m_aMirrorMap[ 0x3011 ] = 0x3010; // RIGHT BLACK LENTICULAR BRACKET
+         m_aMirrorMap[ 0x3014 ] = 0x3015; // LEFT TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x3015 ] = 0x3014; // RIGHT TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x3016 ] = 0x3017; // LEFT WHITE LENTICULAR BRACKET
+         m_aMirrorMap[ 0x3017 ] = 0x3016; // RIGHT WHITE LENTICULAR BRACKET
+         m_aMirrorMap[ 0x3018 ] = 0x3019; // LEFT WHITE TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x3019 ] = 0x3018; // RIGHT WHITE TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0x301A ] = 0x301B; // LEFT WHITE SQUARE BRACKET
+         m_aMirrorMap[ 0x301B ] = 0x301A; // RIGHT WHITE SQUARE BRACKET
+         m_aMirrorMap[ 0xFE59 ] = 0xFE5A; // SMALL LEFT PARENTHESIS
+         m_aMirrorMap[ 0xFE5A ] = 0xFE59; // SMALL RIGHT PARENTHESIS
+         m_aMirrorMap[ 0xFE5B ] = 0xFE5C; // SMALL LEFT CURLY BRACKET
+         m_aMirrorMap[ 0xFE5C ] = 0xFE5B; // SMALL RIGHT CURLY BRACKET
+         m_aMirrorMap[ 0xFE5D ] = 0xFE5E; // SMALL LEFT TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0xFE5E ] = 0xFE5D; // SMALL RIGHT TORTOISE SHELL BRACKET
+         m_aMirrorMap[ 0xFE64 ] = 0xFE65; // SMALL LESS-THAN SIGN
+         m_aMirrorMap[ 0xFE65 ] = 0xFE64; // SMALL GREATER-THAN SIGN
+         m_aMirrorMap[ 0xFF08 ] = 0xFF09; // FULLWIDTH LEFT PARENTHESIS
+         m_aMirrorMap[ 0xFF09 ] = 0xFF08; // FULLWIDTH RIGHT PARENTHESIS
+         m_aMirrorMap[ 0xFF1C ] = 0xFF1E; // FULLWIDTH LESS-THAN SIGN
+         m_aMirrorMap[ 0xFF1E ] = 0xFF1C; // FULLWIDTH GREATER-THAN SIGN
+         m_aMirrorMap[ 0xFF3B ] = 0xFF3D; // FULLWIDTH LEFT SQUARE BRACKET
+         m_aMirrorMap[ 0xFF3D ] = 0xFF3B; // FULLWIDTH RIGHT SQUARE BRACKET
+         m_aMirrorMap[ 0xFF5B ] = 0xFF5D; // FULLWIDTH LEFT CURLY BRACKET
+         m_aMirrorMap[ 0xFF5D ] = 0xFF5B; // FULLWIDTH RIGHT CURLY BRACKET
+         m_aMirrorMap[ 0xFF5F ] = 0xFF60; // FULLWIDTH LEFT WHITE PARENTHESIS
+         m_aMirrorMap[ 0xFF60 ] = 0xFF5F; // FULLWIDTH RIGHT WHITE PARENTHESIS
+         m_aMirrorMap[ 0xFF62 ] = 0xFF63; // [BEST FIT] HALFWIDTH LEFT CORNER BRACKET
+         m_aMirrorMap[ 0xFF63 ] = 0xFF62; // [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET        
+     }
+ }
  
  }
 +
 +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc sdext/source/pdfimport/wrapper/wrapper.cxx
index 047ccf5,4445f22..3c48fbb
mode 100644,100755..100644
--- a/sdext/source/pdfimport/wrapper/wrapper.cxx
+++ b/sdext/source/pdfimport/wrapper/wrapper.cxx
diff --cc sdext/source/presenter/description.xml
index 85393f7,19fefec..85393f7
mode 100755,100644..100644
--- a/sdext/source/presenter/description.xml
+++ b/sdext/source/presenter/description.xml
diff --cc sdext/source/presenter/makefile.mk
index 6fe1db1,e751a6e..3c93866
mode 100755,100644..100644
--- a/sdext/source/presenter/makefile.mk
+++ b/sdext/source/presenter/makefile.mk
commit dff4613b22cf811fdeb732ed527e0b113c2259aa
Merge: 102638f... ab1e1cb...
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Mon Mar 7 13:55:23 2011 +0100

    CWS-TOOLING: integrate CWS vcl119

commit ab1e1cb9882cdd54d7bab8b7e57c0d4ea78f4a9d
Merge: 95ef155... 102638f...
Author: Philipp Lohmann [pl] <Philipp.Lohmann at Oracle.COM>
Date:   Wed Feb 23 16:37:27 2011 +0100

    vcl119: rebase to DEV300_m101

commit 102638f7029beb44fc5d5b62417e118f9d04ea76
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Tue Feb 22 19:07:34 2011 +0100

    masterfix DEV300: #i10000# usage of L10N build_type

diff --git a/sdext/prj/build.lst b/sdext/prj/build.lst
index 3603afb..2604633 100644
--- a/sdext/prj/build.lst
+++ b/sdext/prj/build.lst
@@ -1,4 +1,4 @@
-dx	sdext	:	l10n offuh comphelper unotools readlicense_oo cppu tools cppuhelper sal javaunohelper officecfg XPDF:xpdf LIBXSLT:libxslt xmlhelp NULL
+dx	sdext	:	L10N:l10n offuh comphelper unotools readlicense_oo cppu tools cppuhelper sal javaunohelper officecfg XPDF:xpdf LIBXSLT:libxslt xmlhelp NULL
 dx	sdext									usr1	-	all	sdext_mkout NULL
 dx	sdext\prj								get		-	all	sdext_prj NULL
 dx	sdext\source\minimizer					nmake	-	all sdext_minimizer sdext_minimizer_rdoooe sdext_minimizer_rdooo sdext_inc NULL
diff --git a/swext/prj/build.lst b/swext/prj/build.lst
index aa07df3..143351e 100644
--- a/swext/prj/build.lst
+++ b/swext/prj/build.lst
@@ -1,4 +1,4 @@
-swext swext :   officecfg l10n javaunohelper ridljar unoil jurt APACHE_COMMONS:apache-commons readlicense_oo xsltml xmlhelp NULL
+swext swext :   officecfg L10N:l10n javaunohelper ridljar unoil jurt APACHE_COMMONS:apache-commons readlicense_oo xsltml xmlhelp NULL
 swext swext             usr1    -    all    swext_mkout NULL
 swext swext\mediawiki\help                                              nmake   -    all    swext_mwhelp NULL
 swext swext\mediawiki\src\registry\schema\org\openoffice\Office\Custom  nmake   -    all    swext_mwschema NULL
commit 95ef1554f87c6c8607d4450028716a38135a1649
Merge: fbcd1a7... 4e41f1d...
Author: Philipp Lohmann [pl] <Philipp.Lohmann at Oracle.COM>
Date:   Wed Feb 16 15:57:58 2011 +0100

    rebase to DEV300_m100

diff --cc xpdf/makefile.mk
index 482df3b,c3dea0f..191eefd
--- a/xpdf/makefile.mk
+++ b/xpdf/makefile.mk
@@@ -48,7 -48,7 +48,7 @@@ dummy
  
  TARFILE_NAME=xpdf-3.02
  TARFILE_MD5=599dc4cc65a07ee868cf92a667a913d2
- PATCH_FILES=$(TARFILE_NAME).patch xpdf-3.02-sec.patch xpdf-3.02-ooopwd.patch
 -PATCH_FILES=$(TARFILE_NAME).patch
++PATCH_FILES=$(TARFILE_NAME).patch xpdf-3.02-ooopwd.patch
  
  CONFIGURE_DIR=
  BUILD_DIR=$(CONFIGURE_DIR)
commit 4e41f1dc37325da6ab51ebed9f1670d8ab17b8fd
Merge: 55e620d... d3bbb30...
Author: Mathias Bauer <mba at openoffice.org>
Date:   Tue Feb 8 11:49:29 2011 +0100

    CWS gnumake3: pull in cws removetooltypes01

commit fbcd1a7495421bcbf624e8723c12ed29b9939ea9
Author: Philipp Lohmann [pl] <Philipp.Lohmann at Oracle.COM>
Date:   Mon Feb 7 18:22:37 2011 +0100

    vcl119: update micro to reflect changes

diff --git a/sdext/source/pdfimport/config/description.xml b/sdext/source/pdfimport/config/description.xml
index 4810fd6..f4b2633 100644
--- a/sdext/source/pdfimport/config/description.xml
+++ b/sdext/source/pdfimport/config/description.xml
@@ -16,7 +16,7 @@
         </simple-license>
     </registration>
 
-    <version value="1.0.4" />
+    <version value="1.0.5" />
 
     <platform value="UPDATED_SUPPORTED_PLATFORM" />
 
commit d3bbb305d38bc95f6bba8311219102e375a10aac
Merge: 241f925... d9c23e5...
Author: Carsten Driesner <cd at openoffice.org>
Date:   Mon Feb 7 13:06:08 2011 +0100

    removetooltypes01: Rebase to DEV300m99

commit b259edcfa34729a7a18460819d60abd1348becee
Author: Philipp Lohmann [pl] <Philipp.Lohmann at Oracle.COM>
Date:   Fri Feb 4 16:18:43 2011 +0100

    vcl119: #i105133# tell fillFrameProps whether to apply transformation (thanks joekidd)

diff --git a/sdext/source/pdfimport/tree/drawtreevisiting.cxx b/sdext/source/pdfimport/tree/drawtreevisiting.cxx
index 5c8d359..7f4eaf6 100644
--- a/sdext/source/pdfimport/tree/drawtreevisiting.cxx
+++ b/sdext/source/pdfimport/tree/drawtreevisiting.cxx
@@ -212,7 +212,9 @@ void DrawXmlEmitter::visit( ParagraphElement& elem, const std::list< Element* >:
 
 void DrawXmlEmitter::fillFrameProps( DrawElement&       rElem, 
                                      PropertyMap&       rProps, 
-                                     const EmitContext& rEmitContext )
+                                     const EmitContext& rEmitContext,
+                                     bool               bWasTransformed
+                                     )
 {
     double rel_x = rElem.x, rel_y = rElem.y;
   
@@ -223,7 +225,7 @@ void DrawXmlEmitter::fillFrameProps( DrawElement&       rElem,
     
     const GraphicsContext& rGC =
         rEmitContext.rProcessor.getGraphicsContext( rElem.GCId );
-    if( rGC.Transformation.isIdentity() )
+    if( rGC.Transformation.isIdentity() || bWasTransformed )
     {
         rProps[ USTR( "svg:x" ) ]       = convertPixelToUnitString( rel_x );
         rProps[ USTR( "svg:y" ) ]       = convertPixelToUnitString( rel_y );
@@ -350,7 +352,10 @@ void DrawXmlEmitter::visit( PolyPolyElement& elem, const std::list< Element* >::
     }
     
     PropertyMap aProps;
-    fillFrameProps( elem, aProps, m_rEmitContext );
+    // PDFIProcessor transforms geometrical objects, not images and text
+    // so we need to tell fillFrameProps here that the transformation for
+    // a PolyPolyElement was already applied (aside form translation)
+    fillFrameProps( elem, aProps, m_rEmitContext, true );
     rtl::OUStringBuffer aBuf( 64 );
     aBuf.appendAscii( "0 0 " );
     aBuf.append( convPx2mmPrec2(elem.w)*100.0 );
diff --git a/sdext/source/pdfimport/tree/drawtreevisiting.hxx b/sdext/source/pdfimport/tree/drawtreevisiting.hxx
index 9931d4b..fc190d7 100644
--- a/sdext/source/pdfimport/tree/drawtreevisiting.hxx
+++ b/sdext/source/pdfimport/tree/drawtreevisiting.hxx
@@ -101,7 +101,9 @@ namespace pdfi
 
         void fillFrameProps( DrawElement&       rElem, 
                              PropertyMap&       rProps, 
-                             const EmitContext& rEmitContext );
+                             const EmitContext& rEmitContext,
+                             bool               bWasTransformed = false
+                             );
 
     public:
     const ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator >& GetBreakIterator();
commit 7301a57940a724fbc6504023a378c297d6e21e26
Author: Philipp Lohmann [pl] <Philipp.Lohmann at Oracle.COM>
Date:   Fri Feb 4 15:10:20 2011 +0100

    vcl119: #i109708# use fill, then stroke one small polygons (thanks joekidd)

diff --git a/sdext/source/pdfimport/wrapper/wrapper.cxx b/sdext/source/pdfimport/wrapper/wrapper.cxx
index d881b3b..4445f22 100755
--- a/sdext/source/pdfimport/wrapper/wrapper.cxx
+++ b/sdext/source/pdfimport/wrapper/wrapper.cxx
@@ -158,6 +158,8 @@ class Parser
     sal_Int32                                    m_nNextToken;
     sal_Int32                                    m_nCharIndex;
 
+    const double                                 minAreaThreshold;
+    const double								 minLineWidth;
 
     ::rtl::OString readNextToken();
     void           readInt32( sal_Int32& o_Value );
@@ -167,7 +169,7 @@ class Parser
     double         readDouble();
     void           readBinaryData( uno::Sequence<sal_Int8>& rBuf );
 
-    uno::Reference<rendering::XPolyPolygon2D> readPath();
+    uno::Reference<rendering::XPolyPolygon2D> readPath( double* );
 
     void                 readChar();
     void                 readLineCap();
@@ -199,7 +201,9 @@ public:
         m_aLine(),
         m_aFontMap(101),
         m_nNextToken(-1),
-        m_nCharIndex(-1)
+        m_nCharIndex(-1),
+        minAreaThreshold( 300.0 ),
+        minLineWidth( 12 )
     {}
 
     void parseLine( const ::rtl::OString& rLine );
@@ -306,7 +310,7 @@ void Parser::readBinaryData( uno::Sequence<sal_Int8>& rBuf )
     OSL_PRECOND(nRes==osl_File_E_None, "inconsistent data");
 }
 
-uno::Reference<rendering::XPolyPolygon2D> Parser::readPath()
+uno::Reference<rendering::XPolyPolygon2D> Parser::readPath( double* pArea = NULL )
 {
     const rtl::OString aSubPathMarker( "subpath" );
 
@@ -365,6 +369,15 @@ uno::Reference<rendering::XPolyPolygon2D> Parser::readPath()
         if( m_nCharIndex != -1 )
             readNextToken();
     }
+    
+    if( pArea )
+    {
+        basegfx::B2DRange aRange( aResult.getB2DRange() );
+        if( aRange.getWidth() <= minLineWidth || aRange.getHeight() <= minLineWidth)
+            *pArea = 0.0;
+        else
+            *pArea = aRange.getWidth() * aRange.getHeight();
+    }
 
     return static_cast<rendering::XLinePolyPolygon2D*>(
         new basegfx::unotools::UnoPolyPolygon(aResult));
@@ -805,9 +818,25 @@ void Parser::parseLine( const ::rtl::OString& rLine )
         case EOCLIPPATH:
             m_pSink->intersectEoClip(readPath()); break;
         case EOFILLPATH:
-            m_pSink->eoFillPath(readPath()); break;
+        {
+            double area = 0.0;
+            uno::Reference<rendering::XPolyPolygon2D> path = readPath( &area ); 
+            m_pSink->eoFillPath(path);
+            // if area is smaller than required, add borders.
+            if(area < minAreaThreshold)
+                m_pSink->strokePath(path);
+        }
+        break;
         case FILLPATH:
-            m_pSink->fillPath(readPath()); break;
+        {
+            double area = 0.0;
+            uno::Reference<rendering::XPolyPolygon2D> path = readPath( &area ); 
+            m_pSink->fillPath(path);
+            // if area is smaller than required, add borders.
+            if(area < minAreaThreshold)
+                m_pSink->strokePath(path);
+        }
+        break;
         case RESTORESTATE:
             m_pSink->popState(); break;
         case SAVESTATE:
commit b56d4eb36a2ae7428b6ce9beb3563cc4db6a6379
Author: Philipp Lohmann [pl] <Philipp.Lohmann at Oracle.COM>
Date:   Thu Feb 3 17:54:31 2011 +0100

    vcl119: #163136# do not pass a clear text password to xpdf

diff --git a/sdext/source/pdfimport/filterdet.cxx b/sdext/source/pdfimport/filterdet.cxx
index cd10464..2cec8d8 100644
--- a/sdext/source/pdfimport/filterdet.cxx
+++ b/sdext/source/pdfimport/filterdet.cxx
@@ -718,6 +718,8 @@ uno::Reference< io::XStream > getAdditionalStream( const rtl::OUString&
                                     rtl::OString aIsoPwd = rtl::OUStringToOString( io_rPwd,
                                                                                    RTL_TEXTENCODING_ISO_8859_1 );
                                     bAuthenticated = pPDFFile->setupDecryptionData( aIsoPwd.getStr() );
+                                    // trash password string on heap
+                                    rtl_zeroMemory( (void*)aIsoPwd.getStr(), aIsoPwd.getLength() );
                                 }
                                 if( ! bAuthenticated )
                                 {
@@ -745,6 +747,8 @@ uno::Reference< io::XStream > getAdditionalStream( const rtl::OUString&
                                         rtl::OString aIsoPwd = rtl::OUStringToOString( io_rPwd,
                                                                                        RTL_TEXTENCODING_ISO_8859_1 );
                                         bAuthenticated = pPDFFile->setupDecryptionData( aIsoPwd.getStr() );
+                                        // trash password string on heap
+                                        rtl_zeroMemory( (void*)aIsoPwd.getStr(), aIsoPwd.getLength() );
                                     } while( bEntered && ! bAuthenticated );
                                 }
 
diff --git a/sdext/source/pdfimport/inc/pdfparse.hxx b/sdext/source/pdfimport/inc/pdfparse.hxx
index 5dd73c9..a0a58bb 100644
--- a/sdext/source/pdfimport/inc/pdfparse.hxx
+++ b/sdext/source/pdfimport/inc/pdfparse.hxx
@@ -260,6 +260,8 @@ struct PDFFile : public PDFContainer
     bool decrypt( const sal_uInt8* pInBuffer, sal_uInt32 nLen,
                   sal_uInt8* pOutBuffer,
                   unsigned int nObject, unsigned int nGeneration ) const;
+    
+    rtl::OUString getDecryptionKey() const;
 };
 
 struct PDFObject : public PDFContainer
diff --git a/sdext/source/pdfimport/pdfparse/pdfentries.cxx b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
index 116c51c..b121a50 100644
--- a/sdext/source/pdfimport/pdfparse/pdfentries.cxx
+++ b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
@@ -32,6 +32,7 @@
 
 #include <rtl/strbuf.hxx>
 #include <rtl/ustring.hxx>
+#include <rtl/ustrbuf.hxx>
 #include <rtl/alloc.h>
 #include <rtl/digest.h>
 #include <rtl/cipher.h>
@@ -1277,6 +1278,23 @@ bool PDFFile::setupDecryptionData( const OString& rPwd ) const
     return bValid;
 }
 
+rtl::OUString PDFFile::getDecryptionKey() const
+{
+    rtl::OUStringBuffer aBuf( ENCRYPTION_KEY_LEN * 2 );
+    if( impl_getData()->m_bIsEncrypted )
+    {
+        for( sal_uInt32 i = 0; i < m_pData->m_nKeyLength; i++ )
+        {
+            static const sal_Unicode pHexTab[16] = { '0', '1', '2', '3', '4', '5', '6', '7',
+                                                     '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
+            aBuf.append( pHexTab[(m_pData->m_aDecryptionKey[i] >> 4) & 0x0f] );
+            aBuf.append( pHexTab[(m_pData->m_aDecryptionKey[i] & 0x0f)] );
+        }
+       
+    }
+    return aBuf.makeStringAndClear();
+}
+
 PDFFileImplData* PDFFile::impl_getData() const
 {
     if( m_pData )
diff --git a/sdext/source/pdfimport/wrapper/wrapper.cxx b/sdext/source/pdfimport/wrapper/wrapper.cxx
index cd89d8f..d881b3b 100755
--- a/sdext/source/pdfimport/wrapper/wrapper.cxx
+++ b/sdext/source/pdfimport/wrapper/wrapper.cxx
@@ -913,6 +913,8 @@ static bool checkEncryption( const rtl::OUString&
                     rtl::OString aIsoPwd = rtl::OUStringToOString( io_rPwd, 
                                                                    RTL_TEXTENCODING_ISO_8859_1 );
                     bAuthenticated = pPDFFile->setupDecryptionData( aIsoPwd.getStr() );
+                    // trash password string on heap
+                    rtl_zeroMemory( (void*)aIsoPwd.getStr(), aIsoPwd.getLength() );
                 }
                 if( bAuthenticated )
                     bSuccess = true;
@@ -927,12 +929,23 @@ static bool checkEncryption( const rtl::OUString&
                             rtl::OString aIsoPwd = rtl::OUStringToOString( io_rPwd, 
                                                                            RTL_TEXTENCODING_ISO_8859_1 );
                             bAuthenticated = pPDFFile->setupDecryptionData( aIsoPwd.getStr() );
+                            // trash password string on heap
+                            rtl_zeroMemory( (void*)aIsoPwd.getStr(), aIsoPwd.getLength() );
                         } while( bEntered && ! bAuthenticated );
                     }
         
                     OSL_TRACE( "password: %s\n", bAuthenticated ? "matches" : "does not match" );
                     bSuccess = bAuthenticated;
                 }
+                // trash password string on heap
+                rtl_zeroMemory( (void*)io_rPwd.getStr(), io_rPwd.getLength()*sizeof(sal_Unicode) );
+                if( bAuthenticated )
+                {
+                    rtl::OUStringBuffer aBuf( 128 );
+                    aBuf.appendAscii( "_OOO_pdfi_Credentials_" );
+                    aBuf.append( pPDFFile->getDecryptionKey() );
+                    io_rPwd = aBuf.makeStringAndClear();
+                }
             }
             else
                 bSuccess = true;
diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
index 0bc92f6..ef34021 100644
--- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
@@ -107,8 +107,8 @@ int main(int argc, char **argv)
 #endif
 
     // try to read a possible open password form stdin
-    char aPwBuf[34];
-    aPwBuf[33] = 0;
+    char aPwBuf[129];
+    aPwBuf[128] = 0;
     if( ! fgets( aPwBuf, sizeof(aPwBuf)-1, stdin ) )
         aPwBuf[0] = 0; // mark as empty
     else
@@ -132,17 +132,17 @@ int main(int argc, char **argv)
    
         
     // check for password string(s)
-    GooString* pOwnerPasswordStr( ownerPassword[0] != '\001'
-                                  ? new GooString(ownerPassword)
-                                  : (GooString *)NULL );
-    GooString* pUserPasswordStr( aPwBuf[0] != 0
+    GooString* pOwnerPasswordStr( aPwBuf[0] != 0
                                  ? new GooString( aPwBuf )
-                                 : ( userPassword[0] != '\001'
-                                     ? new GooString(userPassword)
-                                     : (GooString *)NULL ) );
+                                 : (ownerPassword[0] != '\001'
+                                    ? new GooString(ownerPassword)
+                                    : (GooString *)NULL ) );
+    GooString* pUserPasswordStr(  userPassword[0] != '\001'
+                                  ? new GooString(userPassword)
+                                  : (GooString *)NULL );
     if( outputFile[0] != '\001' )
         g_binary_out = fopen(outputFile,"wb");
-
+    
 #ifdef WNT
     // Win actually modifies output for O_TEXT file mode, so need to
     // revert to binary here
@@ -188,7 +188,6 @@ int main(int argc, char **argv)
    }
    else
    {  
-      
       pdfi::PDFOutDev* pOutDev( new pdfi::PDFOutDev(&aDoc) );
 
       // tell receiver early - needed for proper progress calculation
diff --git a/xpdf/makefile.mk b/xpdf/makefile.mk
index 452ab84..482df3b 100644
--- a/xpdf/makefile.mk
+++ b/xpdf/makefile.mk
@@ -48,7 +48,7 @@ dummy:
 
 TARFILE_NAME=xpdf-3.02
 TARFILE_MD5=599dc4cc65a07ee868cf92a667a913d2
-PATCH_FILES=$(TARFILE_NAME).patch xpdf-3.02-sec.patch
+PATCH_FILES=$(TARFILE_NAME).patch xpdf-3.02-sec.patch xpdf-3.02-ooopwd.patch
 
 CONFIGURE_DIR=
 BUILD_DIR=$(CONFIGURE_DIR)
diff --git a/xpdf/xpdf-3.02-ooopwd.patch b/xpdf/xpdf-3.02-ooopwd.patch
new file mode 100644
index 0000000..f773585
--- /dev/null
+++ b/xpdf/xpdf-3.02-ooopwd.patch
@@ -0,0 +1,101 @@
+--- misc/xpdf-3.02/xpdf/SecurityHandler.cc	2007-02-27 23:05:52.000000000 +0100
++++ misc/build/xpdf-3.02/xpdf/SecurityHandler.cc	2011-02-03 16:41:49.000000000 +0100
+@@ -40,7 +40,7 @@
+ 
+   encryptDictA->dictLookup("Filter", &filterObj);
+   if (filterObj.isName("Standard")) {
+-    secHdlr = new StandardSecurityHandler(docA, encryptDictA);
++    secHdlr = new OOoImportSecurityhandler(docA, encryptDictA);
+   } else if (filterObj.isName()) {
+ #ifdef ENABLE_PLUGINS
+     if ((xsh = globalParams->getSecurityHandler(filterObj.getName()))) {
+@@ -310,6 +310,60 @@
+   return gTrue;
+ }
+ 
++//------------------------------------------------------------------------
++// OOoImportSecurityhandler
++//------------------------------------------------------------------------
++
++OOoImportSecurityhandler::~OOoImportSecurityhandler()
++{
++}
++
++inline Guchar toNum( Guchar digit )
++{
++    return (digit >= '0') && digit <= '9'
++           ? digit - '0'
++           : (digit >= 'A' && digit <= 'F')
++             ? digit - 'A' + 10
++             : (digit >= 'a' && digit <= 'f')
++               ? digit - 'a' + 10
++               : Guchar(0xff);
++}
++
++GBool OOoImportSecurityhandler::authorize(void* authData)
++{
++    if( !ok )
++        return gFalse;
++    if( authData )
++    {
++        GString* ownerPassword = ((StandardAuthData *)authData)->ownerPassword;
++        if( ownerPassword )
++        {
++            const char* pStr = ownerPassword->getCString();
++            if( strncmp( pStr, "_OOO_pdfi_Credentials_", 22 ) == 0 )
++            {
++                // a hex encoded byte sequence should follow until end of string
++                // the length must match fileKeyLength
++                // if this is the case we can assume that the password checked out
++                // and the file key is valid
++                // max len is 16 (the size of the fileKey array)
++                pStr += 22;
++                size_t i = 0;
++                while( pStr[0] && pStr[1] && i < sizeof( fileKey ) )
++                {
++                    fileKey[i++] = (toNum( *pStr++ ) << 4)
++                                 | (toNum( *pStr++ ));
++                }
++                if( i == size_t(fileKeyLength) )
++                {
++                    ownerPasswordOk = gTrue;
++                    return gTrue;
++                }
++            }
++        }
++    }
++    return StandardSecurityHandler::authorize( authData );
++}
++
+ #ifdef ENABLE_PLUGINS
+ 
+ //------------------------------------------------------------------------
+--- misc/xpdf-3.02/xpdf/SecurityHandler.h	2007-02-27 23:05:52.000000000 +0100
++++ misc/build/xpdf-3.02/xpdf/SecurityHandler.h	2011-02-03 16:26:17.000000000 +0100
+@@ -103,7 +103,7 @@
+   virtual int getEncVersion() { return encVersion; }
+   virtual CryptAlgorithm getEncAlgorithm() { return encAlgorithm; }
+ 
+-private:
++protected:
+ 
+   int permFlags;
+   GBool ownerPasswordOk;
+@@ -119,6 +119,17 @@
+   GBool ok;
+ };
+ 
++class OOoImportSecurityhandler : public StandardSecurityHandler
++{
++public:
++    OOoImportSecurityhandler( PDFDoc* docA, Object* encryptDictA )
++    : StandardSecurityHandler( docA, encryptDictA )
++    {}
++    virtual ~OOoImportSecurityhandler();
++    
++    virtual  GBool authorize(void* authData);
++};
++
+ #ifdef ENABLE_PLUGINS
+ //------------------------------------------------------------------------
+ // ExternalSecurityHandler
commit 55e620d42d628c120dec7af69bc7b01969ae611b
Merge: 6b8f34c... d9c23e5...
Author: Mathias Bauer <mba at openoffice.org>
Date:   Thu Feb 3 15:53:56 2011 +0100

    CWS gnumake3: resync to m99

commit 4dae175d7d32cb2329ddeab748eb08633d166edf
Author: Philipp Lohmann [pl] <Philipp.Lohmann at Oracle.COM>
Date:   Thu Feb 3 11:28:51 2011 +0100

    vcl119: #163136# fix warnings

diff --git a/sdext/source/pdfimport/pdfparse/pdfparse.cxx b/sdext/source/pdfimport/pdfparse/pdfparse.cxx
index d8d64cb..9b8a8e7 100644
--- a/sdext/source/pdfimport/pdfparse/pdfparse.cxx
+++ b/sdext/source/pdfimport/pdfparse/pdfparse.cxx
@@ -572,7 +572,7 @@ PDFEntry* PDFReader::read( const char* pBuffer, unsigned int nLen )
                  aInfo.stop, pBuffer, aInfo.stop - pBuffer,
                  aInfo.hit ? "true" : "false",
                  aInfo.full ? "true" : "false",
-                 aInfo.length );
+                 (int)aInfo.length );
         #endif
     }
     catch( parser_error<const char*, const char*>& rError )
@@ -650,7 +650,7 @@ PDFEntry* PDFReader::read( const char* pFileName )
                  aInfo.stop - file_start,
                  aInfo.hit ? "true" : "false",
                  aInfo.full ? "true" : "false",
-                 aInfo.length );
+                 (int)aInfo.length );
         #endif
     }
     catch( parser_error< const char*, file_iterator<> >& rError )
commit 95c1676eb00d1552f1fbf713accaee6bcc08688f
Author: Philipp Lohmann [pl] <Philipp.Lohmann at Oracle.COM>
Date:   Thu Feb 3 11:28:03 2011 +0100

    vcl119: #163136# produce correct output when decrypting

diff --git a/sdext/source/pdfimport/pdfparse/pdfentries.cxx b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
index 96d2dab..116c51c 100644
--- a/sdext/source/pdfimport/pdfparse/pdfentries.cxx
+++ b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
@@ -59,6 +59,8 @@ struct EmitImplData
     XRefTable m_aXRefTable;
     // container of all indirect objects (usually a PDFFile*)
     const PDFContainer* m_pObjectContainer;
+    unsigned int m_nDecryptObject;
+    unsigned int m_nDecryptGeneration;
     
     // returns true if the xref table was updated
     bool insertXref( unsigned int nObject, unsigned int nGeneration, unsigned int nOffset )
@@ -80,7 +82,9 @@ struct EmitImplData
     }
     
     EmitImplData( const PDFContainer* pTopContainer ) :
-        m_pObjectContainer( pTopContainer )
+        m_pObjectContainer( pTopContainer ),
+        m_nDecryptObject( 0 ),
+        m_nDecryptGeneration( 0 )
     {}
     ~EmitImplData() {}
     bool decrypt( const sal_uInt8* pInBuffer, sal_uInt32 nLen, sal_uInt8* pOutBuffer,
@@ -89,6 +93,12 @@ struct EmitImplData
         const PDFFile* pFile = dynamic_cast<const PDFFile*>(m_pObjectContainer);
         return pFile ? pFile->decrypt( pInBuffer, nLen, pOutBuffer, nObject, nGeneration ) : false;
     }
+    
+    void setDecryptObject( unsigned int nObject, unsigned int nGeneration )
+    {
+        m_nDecryptObject = nObject;
+        m_nDecryptGeneration = nGeneration;
+    }
 };
 
 }
@@ -199,6 +209,46 @@ bool PDFString::emit( EmitContext& rWriteContext ) const
 {
     if( ! rWriteContext.write( " ", 1 ) )
         return false;
+    EmitImplData* pEData = getEmitData( rWriteContext );
+    if( rWriteContext.m_bDecrypt && pEData && pEData->m_nDecryptObject )
+    {
+        OString aFiltered( getFilteredString() );
+        // decrypt inplace (evil since OString is supposed to be const
+        // however in this case we know that getFilteredString returned a singular string instance
+        pEData->decrypt( (sal_uInt8*)aFiltered.getStr(), aFiltered.getLength(),
+                         (sal_uInt8*)aFiltered.getStr(),
+                         pEData->m_nDecryptObject, pEData->m_nDecryptGeneration );
+        // check for string or hex string
+        const sal_Char* pStr = aFiltered.getStr();
+        if( aFiltered.getLength() > 1 &&
+           ( (pStr[0] == sal_Char(0xff) && pStr[1] == sal_Char(0xfe)) ||
+             (pStr[0] == sal_Char(0xfe) && pStr[1] == sal_Char(0xff)) ) )
+        {
+            static const char pHexTab[16] = { '0', '1', '2', '3', '4', '5', '6', '7',
+                                              '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
+            if( ! rWriteContext.write( "<", 1 ) )
+                return false;
+            for( sal_Int32 i = 0; i < aFiltered.getLength(); i++ )
+            {
+                if( ! rWriteContext.write( pHexTab + ((sal_uInt32(pStr[i]) >> 4) & 0x0f), 1 ) )
+                    return false;
+                if( ! rWriteContext.write( pHexTab + (sal_uInt32(pStr[i]) & 0x0f), 1 ) )
+                    return false;
+            }
+            if( ! rWriteContext.write( ">", 1 ) )
+                return false;
+        }
+        else
+        {
+            if( ! rWriteContext.write( "(", 1 ) )
+                return false;
+            if( ! rWriteContext.write( aFiltered.getStr(), aFiltered.getLength() ) )
+                return false;
+            if( ! rWriteContext.write( ")", 1 ) )
+                return false;
+        }
+        return true;
+    }
     return rWriteContext.write( m_aString.getStr(), m_aString.getLength() );
 }
 
@@ -418,6 +468,15 @@ bool PDFContainer::emitSubElements( EmitContext& rWriteContext ) const
     int nEle = m_aSubElements.size();
     for( int i = 0; i < nEle; i++ )
     {
+        if( rWriteContext.m_bDecrypt )
+        {
+            const PDFName* pName = dynamic_cast<PDFName*>(m_aSubElements[i]);
+            if( pName && pName->m_aName.equals( rtl::OString("Encrypt") ) )
+            {
+                i++;
+                continue;
+            }
+        }
         if( ! m_aSubElements[i]->emit( rWriteContext ) )
             return false;
     }
@@ -735,7 +794,7 @@ bool PDFObject::writeStream( EmitContext& rWriteContext, const PDFFile* pParsedF
     {
         char* pStream = NULL;
         unsigned int nBytes = 0;
-        if( getDeflatedStream( &pStream, &nBytes, pParsedFile, rWriteContext ) && nBytes )
+        if( getDeflatedStream( &pStream, &nBytes, pParsedFile, rWriteContext ) && nBytes && rWriteContext.m_bDeflate )
         {
             sal_uInt8* pOutBytes = NULL;
             sal_uInt32 nOutBytes = 0;
@@ -767,17 +826,27 @@ bool PDFObject::emit( EmitContext& rWriteContext ) const
     if( ! rWriteContext.write( aBuf.getStr(), aBuf.getLength() ) )
         return false;
     
-    if( rWriteContext.m_bDeflate && pEData )
+    if( pEData )
+        pEData->setDecryptObject( m_nNumber, m_nGeneration );
+    if( (rWriteContext.m_bDeflate || rWriteContext.m_bDecrypt) && pEData )
     {
         char* pStream = NULL;
         unsigned int nBytes = 0;
-        if( getDeflatedStream( &pStream, &nBytes, pEData->m_pObjectContainer, rWriteContext )
-            && pStream && nBytes )
+        bool bDeflate = getDeflatedStream( &pStream, &nBytes, pEData->m_pObjectContainer, rWriteContext );
+        if( pStream && nBytes )
         {
             // unzip the stream
             sal_uInt8* pOutBytes = NULL;
             sal_uInt32 nOutBytes = 0;
-            unzipToBuffer( pStream, nBytes, &pOutBytes, &nOutBytes );
+            if( bDeflate && rWriteContext.m_bDeflate )
+                unzipToBuffer( pStream, nBytes, &pOutBytes, &nOutBytes );
+            else
+            {
+                // nothing to deflate, but decryption has happened
+                pOutBytes = (sal_uInt8*)pStream;
+                nOutBytes = (sal_uInt32)nBytes;
+            }
+            
             if( nOutBytes )
             {
                 // clone this object
@@ -785,8 +854,32 @@ bool PDFObject::emit( EmitContext& rWriteContext ) const
                 // set length in the dictionary to new stream length
                 PDFNumber* pNewLen = new PDFNumber( double(nOutBytes) );
                 pClone->m_pStream->m_pDict->insertValue( "Length", pNewLen );
-                // delete flatedecode filter
-                pClone->m_pStream->m_pDict->eraseValue( "Filter" );
+
+                if( bDeflate && rWriteContext.m_bDeflate )
+                {
+                    // delete flatedecode filter
+                    std::hash_map<OString,PDFEntry*,OStringHash>::const_iterator it =
+                    pClone->m_pStream->m_pDict->m_aMap.find( "Filter" );
+                    if( it != pClone->m_pStream->m_pDict->m_aMap.end() )
+                    {
+                        PDFName* pFilter = dynamic_cast<PDFName*>(it->second);
+                        if( pFilter && pFilter->m_aName.equals( "FlateDecode" ) )
+                            pClone->m_pStream->m_pDict->eraseValue( "Filter" );
+                        else
+                        {
+                            PDFArray* pArray = dynamic_cast<PDFArray*>(it->second);
+                            if( pArray && ! pArray->m_aSubElements.empty() )
+                            {
+                                pFilter = dynamic_cast<PDFName*>(pArray->m_aSubElements.front());
+                                if( pFilter && pFilter->m_aName.equals( "FlateDecode" ) )
+                                {
+                                    delete pFilter;
+                                    pArray->m_aSubElements.erase( pArray->m_aSubElements.begin() );
+                                }
+                            }
+                        }
+                    }
+                }
 
                 // write sub elements except stream
                 bool bRet = true;
@@ -805,17 +898,23 @@ bool PDFObject::emit( EmitContext& rWriteContext ) const
                 if( bRet )
                     bRet = rWriteContext.write( "\nendstream\nendobj\n", 18 );
                 rtl_freeMemory( pStream );
-                rtl_freeMemory( pOutBytes );
+                if( pOutBytes != (sal_uInt8*)pStream )
+                    rtl_freeMemory( pOutBytes );
+                if( pEData )
+                    pEData->setDecryptObject( 0, 0 );
                 return bRet;
             }
-            rtl_freeMemory( pOutBytes );
+            if( pOutBytes != (sal_uInt8*)pStream )
+                rtl_freeMemory( pOutBytes );
         }
         rtl_freeMemory( pStream );
     }
 
-    if( ! emitSubElements( rWriteContext ) )
-        return false;
-    return rWriteContext.write( "\nendobj\n", 8 );
+    bool bRet = emitSubElements( rWriteContext ) &&
+                rWriteContext.write( "\nendobj\n", 8 );
+    if( pEData )
+        pEData->setDecryptObject( 0, 0 );
+    return bRet;
 }
 
 PDFEntry* PDFObject::clone() const
@@ -1304,13 +1403,13 @@ PDFFileImplData* PDFFile::impl_getData() const
                             if( pNum )
                                 m_pData->m_nPEntry = static_cast<sal_uInt32>(static_cast<sal_Int32>(pNum->m_fValue));
                             #if OSL_DEBUG_LEVEL > 1
-                            fprintf( stderr, "p entry is %p\n", m_pData->m_nPEntry );
+                            fprintf( stderr, "p entry is %p\n", (void*)m_pData->m_nPEntry );
                             #endif
                         }
                         #if OSL_DEBUG_LEVEL > 1
                         fprintf( stderr, "Encryption dict: sec handler: %s, version = %d, revision = %d, key length = %d\n",
                                  pFilter ? OUStringToOString( pFilter->getFilteredName(), RTL_TEXTENCODING_UTF8 ).getStr() : "<unknown>",
-                                 (int)m_pData->m_nAlgoVersion, (int)m_pData->m_nStandardRevision, m_pData->m_nKeyLength );
+                                 (int)m_pData->m_nAlgoVersion, (int)m_pData->m_nStandardRevision, (int)m_pData->m_nKeyLength );
                         #endif
                         break;
                     }
commit d9c23e52c8db58a11f07bdc9ac090227b58d0db9
Author: Vladimir Glazunov <vg at openoffice.org>
Date:   Tue Feb 1 17:39:17 2011 +0100

    #i10000# removed obsolete second patch

diff --git a/xpdf/xpdf-3.02-sec.patch b/xpdf/xpdf-3.02-sec.patch
deleted file mode 100644
index a33b85e..0000000
--- a/xpdf/xpdf-3.02-sec.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- misc/xpdf-3.02/fofi/FoFiType1.cc	2007-02-27 23:05:51.000000000 +0100
-+++ misc/build/xpdf-3.02/fofi/FoFiType1.cc	2010-10-20 18:10:09.000000000 +0200
-@@ -224,7 +224,7 @@
- 		code = code * 8 + (*p2 - '0');
- 	      }
- 	    }
--	    if (code < 256) {
-+	    if (code < 256 && code >= 0) {
- 	      for (p = p2; *p == ' ' || *p == '\t'; ++p) ;
- 	      if (*p == '/') {
- 		++p;
---- misc/xpdf-3.02/xpdf/Gfx.cc	2007-02-27 23:05:52.000000000 +0100
-+++ misc/build/xpdf-3.02/xpdf/Gfx.cc	2010-10-20 18:14:32.000000000 +0200
-@@ -444,6 +444,7 @@
-   xref = xrefA;
-   subPage = gFalse;
-   printCommands = globalParams->getPrintCommands();
-+  parser = NULL;
- 
-   // start the resource stack
-   res = new GfxResources(xref, resDict, NULL);
-@@ -486,6 +487,7 @@
-   xref = xrefA;
-   subPage = gTrue;
-   printCommands = globalParams->getPrintCommands();
-+  parser = NULL;
- 
-   // start the resource stack
-   res = new GfxResources(xref, resDict, NULL);
commit 467ebb8816a32e721fd8256b6091613b6098ed0e
Author: Vladimir Glazunov <vg at openoffice.org>
Date:   Tue Feb 1 17:18:26 2011 +0100

    #i10000# ne need for second patch

diff --git a/xpdf/makefile.mk b/xpdf/makefile.mk
index 452ab84..c3dea0f 100644
--- a/xpdf/makefile.mk
+++ b/xpdf/makefile.mk
@@ -48,7 +48,7 @@ dummy:
 
 TARFILE_NAME=xpdf-3.02
 TARFILE_MD5=599dc4cc65a07ee868cf92a667a913d2
-PATCH_FILES=$(TARFILE_NAME).patch xpdf-3.02-sec.patch
+PATCH_FILES=$(TARFILE_NAME).patch
 
 CONFIGURE_DIR=
 BUILD_DIR=$(CONFIGURE_DIR)
commit caeffab52de94b2fefeeaa900dca27f154f4d9a1
Merge: fec6100... ebbb961...
Author: Vladimir Glazunov <vg at openoffice.org>
Date:   Tue Feb 1 11:12:15 2011 +0100

    CWS-TOOLING: integrate CWS dba34b

commit fec610021b781875d1a7a8d9818d4fb0cc2370bc
Merge: 112553a... 62c3f9f...
Author: Vladimir Glazunov <vg at openoffice.org>
Date:   Tue Jan 25 09:58:16 2011 +0100

    #i10000# #i10000# changes from OOO330 m20

commit 241f925ede0e40da2b4cbcfff56d4ee676c1fc23
Author: Carsten Driesner <cd at openoffice.org>
Date:   Fri Jan 21 13:06:20 2011 +0100

    removetooltypes01: #i112600# Fix build problems on non-pro

diff --git a/sdext/source/presenter/PresenterWindowManager.cxx b/sdext/source/presenter/PresenterWindowManager.cxx
index 72c5a1e..a63dc4a 100644
--- a/sdext/source/presenter/PresenterWindowManager.cxx
+++ b/sdext/source/presenter/PresenterWindowManager.cxx
@@ -452,7 +452,7 @@ void SAL_CALL PresenterWindowManager::windowPaint (const awt::PaintEvent& rEvent
         }
         catch (RuntimeException&)
         {
-            OSL_ASSERT(FALSE);
+            OSL_ASSERT(sal_False);
         }
     }
 }
@@ -600,7 +600,7 @@ bool PresenterWindowManager::PaintChildren (const awt::PaintEvent& rEvent) const
         }
         catch (RuntimeException&)
         {
-            OSL_ASSERT(FALSE);
+            OSL_ASSERT(sal_False);
         }
     }
 
commit 4d00845c26e0f2f40aa14aadb00016cd77234d10
Merge: c236180... 6b8f34c...
Author: Mikhail Voytenko <mav at openoffice.org>
Date:   Thu Jan 6 14:57:12 2011 +0100

    removetooltypes01: rebase to DEV300_m96

diff --cc reportbuilder/util/makefile.mk
index c52e858,8106868..8106868
mode 100755,100644..100755
--- a/reportbuilder/util/makefile.mk
+++ b/reportbuilder/util/makefile.mk
diff --cc sdext/source/minimizer/description.xml
index 64a67a0,a4f172d..a4f172d
mode 100755,100644..100755
--- a/sdext/source/minimizer/description.xml
+++ b/sdext/source/minimizer/description.xml
diff --cc sdext/source/presenter/description.xml
index ede52f0,19fefec..19fefec
mode 100755,100644..100755
--- a/sdext/source/presenter/description.xml
+++ b/sdext/source/presenter/description.xml
commit ebbb961bb78e6685f424092a61fb458c4340d60a
Merge: cfa2232... 6b8f34c...
Author: Frank Schoenheit [fs] <frank.schoenheit at oracle.com>
Date:   Wed Jan 5 10:07:18 2011 +0100

    dba34b: merged DEV300m96

commit 112553a18b9651b2d98fbd58d21fb79387ca89ca
Merge: c15d083... 6b8f34c...
Author: Daniel Rentz [dr] <daniel.rentz at oracle.com>
Date:   Mon Dec 27 12:33:29 2010 +0100

    dr77: rebase to DEV300m96

commit 6b8f34ca47207069c05569c8b8d8713e771f8865
Merge: d1c719c... 77eda54...
Author: Hans-Joachim Lankenau <hjs at openoffice.org>
Date:   Fri Dec 17 17:08:13 2010 +0100

    CWS-TOOLING: integrate CWS fwk160

commit d1c719c1207bbd1be70ed930d8ee6145039953c0
Merge: 3460a80... 1d67b3e...
Author: Hans-Joachim Lankenau <hjs at openoffice.org>
Date:   Fri Dec 17 15:06:49 2010 +0100

    CWS-TOOLING: integrate CWS ause128

commit 3460a804438f2eaad70b4c4ae5bb025346fd886b
Merge: 2f770fe... 53e7c64...
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Fri Dec 3 13:41:14 2010 +0100

    CWS-TOOLING: integrate CWS srb1

diff --cc reportbuilder/util/makefile.mk
index c52e858,8106868..8106868
mode 100755,100755..100644
--- a/reportbuilder/util/makefile.mk
+++ b/reportbuilder/util/makefile.mk
commit 2f770fe53a2f5b6db8206e47b805d1e691021fbd
Merge: e195a7e... c6467fe...
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Tue Nov 30 16:19:53 2010 +0100

    OOO330

diff --cc sdext/source/minimizer/description.xml
index 64a67a0,a4f172d..a4f172d
mode 100755,100755..100644
--- a/sdext/source/minimizer/description.xml
+++ b/sdext/source/minimizer/description.xml
diff --cc sdext/source/presenter/description.xml
index ede52f0,19fefec..19fefec
mode 100755,100755..100644
--- a/sdext/source/presenter/description.xml
+++ b/sdext/source/presenter/description.xml
commit 1d67b3e8732450baf17ac9031371fe7726142986
Author: Hans-Joachim Lankenau <hjs at openoffice.org>
Date:   Mon Nov 29 18:50:33 2010 +0100

    ause128: #i115689# guard additional dependencies of ZIPnTARGETN

diff --git a/sdext/source/presenter/makefile.mk b/sdext/source/presenter/makefile.mk
index 997d430..e751a6e 100644
--- a/sdext/source/presenter/makefile.mk
+++ b/sdext/source/presenter/makefile.mk
@@ -307,8 +307,11 @@ $(ZIP1DIR)/help/%/com.sun.PresenterScreen-$(PLATFORMID)/presenter.xhp : $(COMMON
     @-$(MKDIRHIER) $(@:d)
     $(TYPE) $< | sed "s/PLATFORMID/$(PLATFORMID)/" | sed 's/@PRESENTEREXTENSIONPRODUCTNAME@/Presenter Console/g' > $@
 
+.IF "$(ZIP1TARGETN)"!=""
 $(ZIP1TARGETN) : $(HELPLINKALLTARGETS)
 
+.ENDIF          # "$(ZIP1TARGETN)"!=""
+
 $(COMPONENT_BITMAPS) : bitmaps$/$$(@:f)
     @-$(MKDIRHIER) $(@:d)
     +$(COPY) $< $@
commit cfa2232afa710da7a5eb9d464b3370f873289016
Merge: 543a813... 400d10a...
Author: Ocke.Janssen <Ocke.Janssen at oracle.com>
Date:   Thu Nov 25 14:56:27 2010 +0100

    Automated merge with http://hg.services.openoffice.org/cws/dba34b

commit 400d10a3f09569ca57d809870bdd4f0fdf6275a1
Merge: 543a813... 4040e96...
Author: Ocke.Janssen <Ocke.Janssen at oracle.com>
Date:   Wed Nov 24 11:27:33 2010 +0100

    dba34b: merge

commit 4040e96d58e9c456ad5ebda01c0d2235fa98cd96
Author: Ocke.Janssen <Ocke.Janssen at oracle.com>
Date:   Wed Nov 24 10:12:13 2010 +0100

    dba34b: localize properties

diff --git a/reportbuilder/java/com/sun/star/report/function/metadata/makefile.mk b/reportbuilder/java/com/sun/star/report/function/metadata/makefile.mk
index e67713a..04b24bb 100644
--- a/reportbuilder/java/com/sun/star/report/function/metadata/makefile.mk
+++ b/reportbuilder/java/com/sun/star/report/function/metadata/makefile.mk
@@ -47,19 +47,20 @@ JAVAFILES       :=	AuthorFunction.java \
                     MetaDataFunctionCategory.java
 
 # PROPERTYFILES := $(shell @$(FIND) . -name "*.properties")
-PROPERTYFILES := $(CLASSDIR)$/$(PACKAGE)$/category.properties \
-                 $(CLASSDIR)$/$(PACKAGE)$/Title-Function.properties
-                 
-L10NPROPERTYFILES := $(CLASSDIR)$/$(PACKAGE)$/category_en_US.properties \
+PROPERTYFILES:=$(CLASSDIR)$/$(PACKAGE)$/category.properties \
+                 $(CLASSDIR)$/$(PACKAGE)$/Title-Function.properties\
+                $(CLASSDIR)$/$(PACKAGE)$/category_en_US.properties \
                 $(CLASSDIR)$/$(PACKAGE)$/Author-Function.properties \
                 $(CLASSDIR)$/$(PACKAGE)$/Author-Function_en_US.properties \
                 $(CLASSDIR)$/$(PACKAGE)$/Title-Function_en_US.properties
                  
+L10NPROPERTYFILES = $(PROPERTYFILES)
+ALLTAR : $(PROPERTYFILES)
 # --- Targets ------------------------------------------------------
 .INCLUDE :  target.mk
 
-ALLTAR : $(PROPERTYFILES)
-
-$(CLASSDIR)$/$(PACKAGE)$/%.properties : %.properties
+.IF "$(WITH_LANG)"==""
+$(CLASSDIR)/$(PACKAGE)/%.properties : %.properties
     @@-$(MKDIRHIER) $(@:d)
-    $(COPY) $< $@
+    $(COMMAND_ECHO)$(COPY) $< $@
+.ENDIF
commit 3917966ba03333ef33e894aa81886d3dd13a686a
Author: Ocke.Janssen <Ocke.Janssen at oracle.com>
Date:   Wed Nov 24 09:58:37 2010 +0100

    dba34b: localize properties

diff --git a/reportbuilder/java/com/sun/star/report/function/metadata/makefile.mk b/reportbuilder/java/com/sun/star/report/function/metadata/makefile.mk
index d68a2f8..e67713a 100644
--- a/reportbuilder/java/com/sun/star/report/function/metadata/makefile.mk
+++ b/reportbuilder/java/com/sun/star/report/function/metadata/makefile.mk
@@ -48,11 +48,12 @@ JAVAFILES       :=	AuthorFunction.java \
 
 # PROPERTYFILES := $(shell @$(FIND) . -name "*.properties")
 PROPERTYFILES := $(CLASSDIR)$/$(PACKAGE)$/category.properties \
-         $(CLASSDIR)$/$(PACKAGE)$/category_en_US.properties \
-                 $(CLASSDIR)$/$(PACKAGE)$/Author-Function.properties \
-         $(CLASSDIR)$/$(PACKAGE)$/Author-Function_en_US.properties \
-                 $(CLASSDIR)$/$(PACKAGE)$/Title-Function.properties	\
-         $(CLASSDIR)$/$(PACKAGE)$/Title-Function_en_US.properties
+                 $(CLASSDIR)$/$(PACKAGE)$/Title-Function.properties
+                 

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list