diff options
author | nobody <nobody@gnome.org> | 2005-05-12 09:16:27 +0000 |
---|---|---|
committer | nobody <nobody@gnome.org> | 2005-05-12 09:16:27 +0000 |
commit | 17061c9dc4e648b7950b630291ca1267175b0759 (patch) | |
tree | 2d6299f95d0b8b9a642227be8b339bfcb1263fe5 | |
parent | ac2340f0dad18c048fb6ced7504b25b011428619 (diff) |
This commit was manufactured by cvs2svn to create tagOOO_BUILD_1_3_12
'OOO_BUILD_1_3_12'.
48 files changed, 3923 insertions, 953 deletions
diff --git a/bin/build-ooo b/bin/build-ooo index 9e46c4e31..49871449d 100755 --- a/bin/build-ooo +++ b/bin/build-ooo @@ -22,13 +22,13 @@ if test "z$FORCE_GCC33" = "zYES"; then CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS CFLAGS= CXXFLAGS= CC=gcc33 CXX=g++33" fi -./configure $CONFIGURE_OPTIONS || exit 1; +eval "./configure $CONFIGURE_OPTIONS" || exit 1; # Unfortunately, on when forcing gcc33 on x86, RPM attempts to # inject its %{optflags} everywhere. Since gcc33 doesn't support # -mtune, override that here if test "z$FORCE_GCC33" = "zYES"; then - if test "z$DISTRO" = "zRHFedora"; then + if test "z$DISTRO" = "zFedoraCore3" -o "z$DISTRO" = "zRHEL4"; then # Set up x86 optimization flags that gcc33 can deal with ARCH_FLAGS="" if test "z$INPATH" = "zunxlngi4.pro"; then @@ -49,7 +49,7 @@ export LANG="C"; if test "z$ENABLE_JAVA" = "zyes"; then # Many Java's can't cope with the NPTL on Linux. - LD_ASSUME_KERNEL=2.2.5 /bin/true 2> /dev/null || LD_ASSUME_KERNEL=2.4.10 /bin/true 2> /dev/null || LD_ASSUME_KERNEL=2.6.0 2> /dev/null || unset LD_ASSUME_KERNEL + LD_ASSUME_KERNEL=2.2.5 /bin/true 2> /dev/null || LD_ASSUME_KERNEL=2.4.10 /bin/true 2> /dev/null || LD_ASSUME_KERNEL=2.6.0 /bin/true 2> /dev/null || unset LD_ASSUME_KERNEL export LD_ASSUME_KERNEL fi # Don't do a massive painful install @@ -60,7 +60,7 @@ if test "z$HOME" = "z"; then fi cd $OOBUILDDIR # Import all of the OO.o environment -if test "z$DISTRO" = "zWin32"; then +if test "z$BUILD_WIN32" = "zyes"; then . $OOBUILDDIR/*.set.sh else . $OOBUILDDIR/*.Set.sh @@ -76,7 +76,7 @@ echo 'Verifying environment' echo "Path: \'$PATH\'" echo "Shell: \'$SHELL\'" echo "Lang: \'$LANGS\'" -if test "z$DISTRO" != "zWin32"; then +if test "z$BUILD_WIN32" != "zyes"; then echo "Gcc: " gcc -dumpversion fi @@ -90,7 +90,7 @@ EXTRA_BUILD_FLAGS= if test $BUILD_NCPUS -gt 1; then EXTRA_BUILD_FLAGS="-P$BUILD_NCPUS" fi -if test "z$BUILD_WIN32"="z"; then +if test "z$BUILD_WIN32" = "z"; then EXTRA_BUILD_FLAGS="--dlv_switch link $EXTRA_BUILD_FLAGS" fi @@ -104,7 +104,7 @@ fi unset MAKEFLAGS # Accelerate straight-through compiles by not building / using dependencies -export nodep=1 +# export nodep=1 echo "Env:" set diff --git a/bin/openoffice-xlate-lang b/bin/openoffice-xlate-lang index 2fcd9922d..8c1e9f0bb 100755 --- a/bin/openoffice-xlate-lang +++ b/bin/openoffice-xlate-lang @@ -114,9 +114,11 @@ __DATA__ 01:en:english 03:pt:portuguese 07:ru:russian +10:eu:basque 26:ns:northernsotho 27:af:afrikaans 28:zu:zulu +29:tn:tswana 30:el:greek 31:nl:dutch 33:fr:french @@ -124,6 +126,7 @@ __DATA__ 35:fi:finnish 36:hu:hungarian 37:ca:catalan +38:gl:galician 39:it:italian 42:cs:czech 43:sk:slovak @@ -135,6 +138,8 @@ __DATA__ 50:sl:slovenian 53:cy:welsh 55:pt-BR:portuguese_brazilian +58:lt:lithuanian +66:th:thai 77:et:estonian 79:nn:norwegian_nynorsk 81:ja:japanese @@ -143,5 +148,8 @@ __DATA__ 88:zh-TW:chinese_traditional 90:tr:turkish 91:hi:hindi +92:ta:tamil +93:kn:kannada +94:gu:gujarati 96:ar:arabic 97:he:hebrew diff --git a/bin/setup.in b/bin/setup.in index 331eda47b..e9f3b7040 100755 --- a/bin/setup.in +++ b/bin/setup.in @@ -27,6 +27,8 @@ OOO_ICONS_VERS='@OOO_ICONS_VERS@' OOO_ICONS_NAMES='@OOO_ICONS_NAMES@' OOO_WIDGET_FLAGS='@OOO_WIDGET_FLAGS@' OOO_BUILDVERSION='@OOO_BUILDVERSION@' +SYSTEM_DB_VERSION='@SYSTEM_DB_VERSION@' +TOOLSDIR='@TOOLSDIR@' # shrink this to ENUS,GERM for a faster build LANGS="ENUS,FREN,GERM,SPAN,ITAL,DTCH,PORT,SWED,POL,RUSS"; @@ -37,68 +39,22 @@ if test "z$VERSION" != "z1.1.0"; then LANGS="$LANGS,HUNG,ESTONIAN,SLOVENIAN"; fi -if test "z$DISTRO" = "zRHFedora"; then - CONFIGURE_OPTIONS="--with-lang=ALL \ - --enable-libart \ - --enable-libsn \ - --enable-crashdump=no \ - --enable-symbols=yes \ - --enable-fontconfig \ - --with-system-zlib \ - --with-system-freetype \ - --with-system-db \ - --with-db-version=4.2 \ - --without-fonts \ - --enable-gtk \ - --enable-kde \ - --disable-mozilla"; - -elif test "z$DISTRO" = "zRHEL3"; then - CONFIGURE_OPTIONS="--with-lang=ALL \ - --enable-libart \ - --enable-libsn \ - --enable-crashdump=no \ - --enable-symbols=yes \ - --enable-fontconfig \ - --with-system-zlib \ - --with-system-freetype \ - --with-system-db \ - --with-db-version=4.1 \ - --without-fonts \ - --disable-mozilla"; - -elif test "z$DISTRO" = "zRHL9"; then - CONFIGURE_OPTIONS="--with-lang=ALL \ - --enable-libart \ - --enable-libsn \ - --enable-crashdump=no \ - --enable-symbols=yes \ - --enable-fontconfig \ - --with-system-zlib \ - --with-system-freetype \ - --with-system-db \ - --with-db-version=4.1 \ - --without-fonts \ - --disable-mozilla"; - -elif test "z$DISTRO" = "zArk"; then - CONFIGURE_OPTIONS="--with-lang=$LANGS \ - --enable-libart --enable-crashdump=no \ - --without-fonts --with-system-zlib --enable-fontconfig \ - --with-system-freetype --with-system-db \ - --with-system-sane-headers \ - --with-system-x11-extensions-headers \ - --with-system-unixodbc-headers \ - --with-system-curl --disable-mozilla\ - --with-python=/usr/bin/python \ - --with-system-xrender \ - --enable-kde" - -elif test "z$BUILD_WIN32" != "z"; then - CONFIGURE_OPTIONS="--with-lang=$LANGS --with-use-shell=tcsh \ - --enable-libart --enable-crashdump=no \ - --disable-mozilla" +if test "z$DISTRO" = "zNLD" ; then + LANGS="$LANGS,PORTBR"; +fi +# We pull config options in from distro-specific config +# files, if present +if test "z$DISTRO" != "z"; then + if test -f "$TOOLSDIR/distro-configs/$DISTRO.conf"; then + CONFIGURE_OPTIONS="`cat $TOOLSDIR/distro-configs/$DISTRO.conf | xargs`"; + CONFIGURE_OPTIONS=`eval echo $CONFIGURE_OPTIONS`; + else + echo "Could not find the distribution specific configure options"; + echo " file in $TOOLSDIR/distro-configs/. Please add one for this"; + echo " distribution."; + exit 1; + fi else if test "z$CONFIGURE_OPTIONS" = "z"; then if [ -s ./setup.configure ]; then @@ -129,8 +85,8 @@ CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS $OOO_WIDGET_FLAGS" ENABLE_BONOBO=@ENABLE_BONOBO@ ENABLE_JAVA=@ENABLE_JAVA@ JDK_HOME=@JDK_HOME@ +ANT_HOME=@ANT_HOME@ # Misc. internal -TOOLSDIR='@TOOLSDIR@' OOBUILDDIR='@OOBUILDDIR@' SYSTEM_GCC='@SYSTEM_GCC@' FORCE_GCC33='@FORCE_GCC33@' @@ -168,6 +124,10 @@ TCSH=/bin/tcsh # setup paths PATH="$BUILDDIR/bin:$PATH:$TOOLSDIR/bin" if test "z$ENABLE_JAVA" = "zyes"; then + if test "z$ANT_HOME" != "z"; then + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS --with-ant-home=$ANT_HOME" + PATH="$ANT_HOME:$PATH" + fi if test "z$JDK_HOME" != "z"; then CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS --with-jdk-home=$JDK_HOME" PATH="$JDK_HOME:$PATH" diff --git a/doc/internal-libdb-java-issue.txt b/doc/internal-libdb-java-issue.txt new file mode 100644 index 000000000..3c71777c4 --- /dev/null +++ b/doc/internal-libdb-java-issue.txt @@ -0,0 +1,19 @@ +The internal libdb-4.2 makes problems with java on SL 9.2. There is the same +libdb-4.2.so installed on the system which provides one more symbol +(NTPL related path) and OOo setup ends with: + +./javaldx: symbol lookup error: /lib/libnss_ldap.so.2: undefined symbol: __db185 +_open +/usr/lib/ooo-1.1/program/setup.bin: symbol lookup error: /lib/libnss_ldap.so.2: +undefined symbol: __db185_open + +It is because OOo setup sets export LD_LIBRARY_PATH=/usr/lib/ooo-1.1:/usr/lib/ooo-1.1/program, +so the internal libdb is used also for a java call. The external java is linked +against the system libnss_ldap.so.2 which is linked against the system libdb-4.2 +and requires the extra symbol. + +It would be better to build OOo with the system libdb. Another problem is that +SUSE's system libdb does not provide the java part. + +We actualy rename the internal libdb-4.2.so because the system one +provides the required symbols. It is done in the SUSE's spec file.
\ No newline at end of file diff --git a/patches/OOO_1_1/allow-free-jars.diff b/patches/OOO_1_1/allow-free-jars.diff new file mode 100644 index 000000000..d24c83b2d --- /dev/null +++ b/patches/OOO_1_1/allow-free-jars.diff @@ -0,0 +1,116 @@ +--- officecfg/org/openoffice/configuration/XMLDefaultGenerator.java.orig Mon Oct 20 09:53:18 2003 ++++ officecfg/org/openoffice/configuration/XMLDefaultGenerator.java Mon Oct 20 15:05:46 2003 +@@ -62,12 +62,12 @@ + + import org.xml.sax.*; + import org.w3c.dom.*; +-import com.sun.xml.tree.XmlDocument; ++//import com.sun.xml.tree.XmlDocument; + import org.xml.sax.SAXException; + import org.xml.sax.SAXParseException; + import javax.xml.parsers.SAXParserFactory; + import javax.xml.parsers.SAXParser; +-import com.sun.xml.tree.*; ++//import com.sun.xml.tree.*; + import java.util.*; + import java.io.*; + import com.jclark.xsl.sax.Driver; +--- XmlSearch/prj/build.lst.orig Mon Oct 20 13:58:06 2003 ++++ XmlSearch/prj/build.lst Mon Oct 20 13:58:11 2003 +@@ -1,2 +1 @@ + xh XmlSearch : external codemaker NULL +-xh XmlSearch\src\com\sun\xmlsearch nmake - all xs NULL +--- xmlhelp/prj/build.lst.orig Mon Oct 20 13:53:25 2003 ++++ xmlhelp/prj/build.lst Mon Oct 20 13:53:33 2003 +@@ -2,7 +2,6 @@ + xh xmlhelp usr1 - all xh_mkout NULL + xh xmlhelp\source\helpprovider nmake - all xh_helpprovider NULL + xh xmlhelp\source\treeview nmake - all xh_treeview NULL +-xh xmlhelp\source\com\sun\star\help nmake - all xh_help NULL + xh xmlhelp\source\cxxhelp\util nmake - all xh_cutil NULL + xh xmlhelp\source\cxxhelp\qe nmake - all xh_qe NULL + xh xmlhelp\source\cxxhelp\db nmake - all xh_db NULL +Index: util/makefile.pmk +=================================================================== +RCS file: /cvs/installation/readlicense/util/makefile.pmk,v +retrieving revision 1.2.30.1 +diff -u -u -r1.2.30.1 makefile.pmk +--- readlicense_oo/util/makefile.pmk 9 Jan 2004 18:10:12 -0000 1.2.30.1 ++++ readlicense_oo/util/makefile.pmk 17 Oct 2004 22:32:06 -0000 +@@ -79,7 +79,7 @@ + $(MISC)$/%.html : + @+-$(MKDIR) $(@:d) + .IF "$(SOLAR_JAVA)"!="" +- $(JAVA) -classpath $(COMMON_BUILD_TOOLS)$/xt.jar$(PATH_SEPERATOR)$(COMMON_BUILD_TOOLS)$/parser.jar -Dcom.jclark.xsl.sax.parser=com.sun.xml.parser.Parser com.jclark.xsl.sax.Driver $(subst,$(@::d:d:b), $(@:b).xrm) ..$/readme.xsl os1=$(OS) gui1=$(GUI) cp1=$(CPUNAME) com1=$(COM) lang1=$(iso_$(@:d:d:b)) type=html file=$@ ++ $(JAVA) -classpath $(COMMON_BUILD_TOOLS)$/xt.jar$(PATH_SEPERATOR)$(COMMON_BUILD_TOOLS)$/parser.jar com.jclark.xsl.sax.Driver $(subst,$(@::d:d:b), $(@:b).xrm) ..$/readme.xsl os1=$(OS) gui1=$(GUI) cp1=$(CPUNAME) com1=$(COM) lang1=$(iso_$(@:d:d:b)) type=html file=$@ + .ELSE + sed 's|xmlns:xt="http://www.jclark.com/xt"||;s|extension-element-prefixes="xt"||;s|.*xt:document.*||;s|<xsl:output method = "HTML" doctype-public = "-//W3C//DTD HTML 3.2//EN" />|<xsl:output method="html" doctype-public="-//W3C//DTD HTML 3.2//EN" />|' < ..$/readme.xsl > ..$/readme2.xsl + xsltproc -o $@ \ +@@ -97,7 +97,7 @@ + $(MISC)$/%.txt : + @+-$(MKDIR) $(@:d) + .IF "$(SOLAR_JAVA)"!="" +- $(JAVA) -classpath $(COMMON_BUILD_TOOLS)$/xt.jar$(PATH_SEPERATOR)$(COMMON_BUILD_TOOLS)$/parser.jar -Dcom.jclark.xsl.sax.parser=com.sun.xml.parser.Parser com.jclark.xsl.sax.Driver $(subst,$(@::d:d:b), $(@:b).xrm) ..$/readme.xsl os1=$(OS) gui1=$(GUI) cp1=$(CPUNAME) com1=$(COM) lang1=$(iso_$(@:d:d:b)) type=text file=$@ ++ $(JAVA) -classpath $(COMMON_BUILD_TOOLS)$/xt.jar$(PATH_SEPERATOR)$(COMMON_BUILD_TOOLS)$/parser.jar com.jclark.xsl.sax.Driver $(subst,$(@::d:d:b), $(@:b).xrm) ..$/readme.xsl os1=$(OS) gui1=$(GUI) cp1=$(CPUNAME) com1=$(COM) lang1=$(iso_$(@:d:d:b)) type=text file=$@ + .ELSE + sed 's|xmlns:xt="http://www.jclark.com/xt"||;s|extension-element-prefixes="xt"||;s|.*xt:document.*||;s|<xsl:output method = "HTML" doctype-public = "-//W3C//DTD HTML 3.2//EN" />|<xsl:output method="text" />|' < ..$/readme.xsl > ..$/readme2.xsl + xsltproc -o $@ \ +Index: makefile.pmk +=================================================================== +RCS file: /cvs/util/officecfg/util/makefile.pmk,v +retrieving revision 1.23.94.1 +diff -u -u -r1.23.94.1 makefile.pmk +--- officecfg/util/makefile.pmk 9 Jan 2004 18:06:41 -0000 1.23.94.1 ++++ officecfg/util/makefile.pmk 17 Oct 2004 22:35:53 -0000 +@@ -68,11 +68,11 @@ + @+echo -------------+ validating and stripping schema files + -$(MKDIR) -p $(@:d) + .IF "$(SOLAR_JAVA)"!="" +- $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar -Djavax.xml.parsers.SAXParserFactory=com.sun.xml.parser.SAXParserFactoryImpl org.openoffice.configuration.Inspector $< +- $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar -Dcom.jclark.xsl.sax.parser=com.sun.xml.parser.Parser com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/schema_val.xsl $(@:d)$(<:b).val file=$(<:d)$(<:b) pathSeparator=$/ +- $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar -Dcom.jclark.xsl.sax.parser=com.sun.xml.parser.Parser com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/sanity.xsl $(@:d)$(<:b).san file=$(<:d)$(<:b) pathSeparator=$/ +- $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar -Dcom.jclark.xsl.sax.parser=com.sun.xml.parser.Parser com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/schema_trim.xsl $(@:d)$(<:b).tmp +- $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/schema.jar -Djavax.xml.parsers.SAXParserFactory=com.sun.xml.parser.SAXParserFactoryImpl org.openoffice.helper.PrettyPrinter $(@:d)$(<:b).tmp $(@:d)$(<:b).xcs ++ $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar org.openoffice.configuration.Inspector $< ++ $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/schema_val.xsl $(@:d)$(<:b).val file=$(<:d)$(<:b) pathSeparator=$/ ++ $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/sanity.xsl $(@:d)$(<:b).san file=$(<:d)$(<:b) pathSeparator=$/ ++ $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/schema_trim.xsl $(@:d)$(<:b).tmp ++ $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/schema.jar org.openoffice.helper.PrettyPrinter $(@:d)$(<:b).tmp $(@:d)$(<:b).xcs + .ELSE + # xsltproc already validates against the dtd. For additional validation, + # org.openoffice.configuration.Inspector should be replaced and the +@@ -98,7 +98,7 @@ + @+echo -------------+ creating locale dependent resource bundles + -$(MKDIR) -p $(@:d) + .IF "$(SOLAR_JAVA)"!="" +- $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar -Dcom.jclark.xsl.sax.parser=com.sun.xml.parser.Parser com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/resource.xsl $(@:d)$(<:b).properties locale={$(subst,$/$<, $(subst,$(MISC)$/registry$/res$/, $(subst,.properties,.xcs $@)))} ++ $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/resource.xsl $(@:d)$(<:b).properties locale={$(subst,$/$<, $(subst,$(MISC)$/registry$/res$/, $(subst,.properties,.xcs $@)))} + .ELSE + $(XSLTPROC) -o $(@:d)$(<:b).properties \ + --stringparam locale {$(subst,$/$<, $(subst,$(MISC)$/registry$/res$/, $(subst,.properties,.xcs $@)))} \ +@@ -111,10 +111,10 @@ + @+echo -------------+ validating and creating a locale independent file + -$(MKDIR) -p $(@:d) + .IF "$(SOLAR_JAVA)"!="" +- $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar -Djavax.xml.parsers.SAXParserFactory=com.sun.xml.parser.SAXParserFactoryImpl org.openoffice.configuration.Inspector $< +- $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar -Dcom.jclark.xsl.sax.parser=com.sun.xml.parser.Parser com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/data_val.xsl $(@:d)$(<:b).val xcs=$(PRJ)$/registry$/schema$/$(<:d)$(<:b).xcs schemaRoot=$(PRJ)$/registry$/schema +- $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar -Dcom.jclark.xsl.sax.parser=com.sun.xml.parser.Parser com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/alllang.xsl $(@:d)$(<:b).tmp xcs=$(PRJ)$/registry$/schema$/$(<:d)$(<:b).xcs schemaRoot=$(PRJ)$/registry$/schema +- $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/schema.jar -Djavax.xml.parsers.SAXParserFactory=com.sun.xml.parser.SAXParserFactoryImpl org.openoffice.helper.PrettyPrinter $(@:d)$(<:b).tmp $(@:d)$(<:b).xcu ++ $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar org.openoffice.configuration.Inspector $< ++ $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/data_val.xsl $(@:d)$(<:b).val xcs=$(PRJ)$/registry$/schema$/$(<:d)$(<:b).xcs schemaRoot=$(PRJ)$/registry$/schema ++ $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/alllang.xsl $(@:d)$(<:b).tmp xcs=$(PRJ)$/registry$/schema$/$(<:d)$(<:b).xcs schemaRoot=$(PRJ)$/registry$/schema ++ $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/schema.jar org.openoffice.helper.PrettyPrinter $(@:d)$(<:b).tmp $(@:d)$(<:b).xcu + .ELSE + # xsltproc already validates against the dtd. For additional validation, + # org.openoffice.configuration.Inspector should be replaced and the +@@ -142,8 +142,8 @@ + @+echo -------------+ creating locale dependent entries + -$(MKDIR) -p $(@:d) + .IF "$(SOLAR_JAVA)"!="" +- $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar -Dcom.jclark.xsl.sax.parser=com.sun.xml.parser.Parser com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/alllang.xsl $(@:d)$(<:b).tmp xcs=$(PRJ)$/registry$/schema$/$(<:d)$(<:b).xcs schemaRoot=$(PRJ)$/registry$/schema locale={$(subst,$/$<, $(subst,$(MISC)$/registry$/res$/, $@))} +- $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/schema.jar -Djavax.xml.parsers.SAXParserFactory=com.sun.xml.parser.SAXParserFactoryImpl org.openoffice.helper.PrettyPrinter $(@:d)$(<:b).tmp $(@:d)$(<:b).xcu ++ $(JAVA) -classpath $(SOLARBINDIR)$/xt.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/cfgimport.jar com.jclark.xsl.sax.Driver $< $(PRJ)$/util$/alllang.xsl $(@:d)$(<:b).tmp xcs=$(PRJ)$/registry$/schema$/$(<:d)$(<:b).xcs schemaRoot=$(PRJ)$/registry$/schema locale={$(subst,$/$<, $(subst,$(MISC)$/registry$/res$/, $@))} ++ $(JAVA) -classpath $(SOLARBINDIR)$/jaxp.jar$(PATH_SEPERATOR)$(SOLARBINDIR)$/parser.jar$(PATH_SEPERATOR)$(CLASSDIR)$/schema.jar org.openoffice.helper.PrettyPrinter $(@:d)$(<:b).tmp $(@:d)$(<:b).xcu + .ELSE + $(SED) 's|xmlns:filehelper="http://www.jclark.com/xt/java/org.openoffice.configuration.FileHelper"||;s|extension-element-prefixes="filehelper"||;s|filehelper:makeAbs(\(.*\))|\1|' < $(PRJ)$/util$/alllang.xsl > $(PRJ)$/util$/alllang2.xsl + $(XSLTPROC) -o $(@:d)$(<:b).tmp \ diff --git a/patches/OOO_1_1/basic-array-fix.diff b/patches/OOO_1_1/basic-array-fix.diff new file mode 100644 index 000000000..851e8bdab --- /dev/null +++ b/patches/OOO_1_1/basic-array-fix.diff @@ -0,0 +1,27 @@ +Index: methods1.cxx +=================================================================== +RCS file: /cvs/script/basic/source/runtime/methods1.cxx,v +retrieving revision 1.14.32.3 +retrieving revision 1.14.32.3.2.1 +diff -u -p -u -r1.14.32.3 -r1.14.32.3.2.1 +--- basic/source/runtime/methods1.cxx ++++ basic/source/runtime/methods1.cxx +@@ -625,6 +625,8 @@ RTLFUNC(Array) + // Option Base zunaechst ignorieren (kennt leider nur der Compiler) + if( nArraySize ) + pArray->AddDim( 0, nArraySize-1 ); ++ else ++ pArray->unoAddDim( 0, -1 ); + + // Parameter ins Array uebernehmen + for( short i = 0 ; i < nArraySize ; i++ ) +@@ -664,6 +666,9 @@ RTLFUNC(DimArray) + pArray->AddDim32( 0, ub ); + } + } ++ else ++ pArray->unoAddDim( 0, -1 ); ++ + // Array zurueckliefern + SbxVariableRef refVar = rPar.Get(0); + USHORT nFlags = refVar->GetFlags(); diff --git a/patches/OOO_1_1/calc-new-acceleration.diff b/patches/OOO_1_1/calc-new-acceleration.diff new file mode 100644 index 000000000..2a0b2b198 --- /dev/null +++ b/patches/OOO_1_1/calc-new-acceleration.diff @@ -0,0 +1,11 @@ +--- sc/source/ui/src/menue.src 2005-02-07 12:18:12.836070783 +0530 ++++ sc/source/ui/src/menue.src 2005-02-04 22:22:12.000000000 +0530 +@@ -236,6 +236,8 @@ + USR_ACCEL ( SID_STYLE_CATALOG , KEY_F11 , FALSE , TRUE , FALSE ) + USR_ACCEL ( FID_FILL_TO_BOTTOM, KEY_D , FALSE , TRUE , FALSE ) + USR_ACCEL ( SID_SETINPUTMODE , KEY_F2 , FALSE , FALSE , FALSE ) ++ USR_ACCEL ( FID_DELETE_CELL , KEY_SUBTRACT , FALSE , TRUE , FALSE ) ++ USR_ACCEL ( FID_INS_CELL , KEY_ADD , TRUE , TRUE , FALSE ) + USR_ACCEL ( SID_OPENDLG_FUNCTION , KEY_F2 , FALSE , TRUE , FALSE ) + USR_ACCEL ( SID_FOCUS_INPUTLINE , KEY_F2 , TRUE , TRUE , FALSE ) + USR_ACCEL ( FID_DEFINE_NAME , KEY_F3 , FALSE , TRUE , FALSE ) diff --git a/patches/OOO_1_1/find-xinerama.diff b/patches/OOO_1_1/find-xinerama.diff new file mode 100644 index 000000000..8eeca909b --- /dev/null +++ b/patches/OOO_1_1/find-xinerama.diff @@ -0,0 +1,10 @@ +--- config_office/configure.in.ark 2005-01-25 16:01:34.000000000 +0100 ++++ config_office/configure.in 2005-01-25 16:01:44.000000000 +0100 +@@ -1835,6 +1835,7 @@ + AC_SUBST(XINC) + XLIB="$x_libraries" + AC_SUBST(XLIB) ++CPPFLAGS="$CPPFLAGS -I$XINC" + + dnl *************************************** + dnl testing libc version for Linux... diff --git a/patches/OOO_1_1/fixup-typedetection-mimetypes.diff b/patches/OOO_1_1/fixup-typedetection-mimetypes.diff new file mode 100644 index 000000000..0c85425e9 --- /dev/null +++ b/patches/OOO_1_1/fixup-typedetection-mimetypes.diff @@ -0,0 +1,209 @@ +--- officecfg/registry/data/org/openoffice/Office/TypeDetection.xcu 27 Apr 2004 16:32:24 -0000 1.44.8.5 ++++ officecfg/registry/data/org/openoffice/Office/TypeDetection.xcu 8 Nov 2004 11:56:22 -0000 +@@ -232,7 +232,7 @@ + <value xml:lang="en-US">Microsoft Excel 4.0</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,xls;xlw,0,</value> ++ <value>0,application/vnd.ms-excel,,,xls;xlw,0,</value> + </prop> + </node> + <node oor:name="calc_MS_Excel_40_VorlageTemplate" oor:op="replace"> +@@ -240,7 +240,7 @@ + <value xml:lang="en-US">MS Excel 4.0 Template</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,xlt,0,</value> ++ <value>0,application/vnd.ms-excel,,,xlt,0,</value> + </prop> + </node> + <node oor:name="calc_MS_Excel_5095" oor:op="replace"> +@@ -248,7 +248,7 @@ + <value xml:lang="en-US">Microsoft Excel 5.0</value> + </prop> + <prop oor:name="Data"> +- <value>0,,Biff5,,xls;xlw,0,</value> ++ <value>0,application/vnd.ms-excel,Biff5,,xls;xlw,0,</value> + </prop> + </node> + <node oor:name="calc_MS_Excel_5095_VorlageTemplate" oor:op="replace"> +@@ -256,7 +256,7 @@ + <value xml:lang="en-US">MS Excel 5.0 Template</value> + </prop> + <prop oor:name="Data"> +- <value>0,,Biff5,,xlt,0,</value> ++ <value>0,application/vnd.ms-excel,Biff5,,xlt,0,</value> + </prop> + </node> + <node oor:name="calc_MS_Excel_95" oor:op="replace"> +@@ -264,7 +264,7 @@ + <value xml:lang="en-US">Microsoft Excel 95</value> + </prop> + <prop oor:name="Data"> +- <value>0,,Biff5,,xls;xlw,0,</value> ++ <value>0,application/vnd.ms-excel,Biff5,,xls;xlw,0,</value> + </prop> + </node> + <node oor:name="calc_MS_Excel_95_VorlageTemplate" oor:op="replace"> +@@ -272,7 +272,7 @@ + <value xml:lang="en-US">MS Excel 95 Template</value> + </prop> + <prop oor:name="Data"> +- <value>0,,Biff5,,xlt,0,</value> ++ <value>0,application/vnd.ms-excel,Biff5,,xlt,0,</value> + </prop> + </node> + <node oor:name="calc_MS_Excel_97" oor:op="replace"> +@@ -280,7 +280,7 @@ + <value xml:lang="en-US">Microsoft Excel 97/2000/XP</value> + </prop> + <prop oor:name="Data"> +- <value>1,,Biff8,,xls;xlw,0,</value> ++ <value>1,application/vnd.ms-excel,Biff8,,xls;xlw,0,</value> + </prop> + </node> + <node oor:name="calc_MS_Excel_97_VorlageTemplate" oor:op="replace"> +@@ -288,7 +288,7 @@ + <value xml:lang="en-US">MS Excel 97/2000 Template</value> + </prop> + <prop oor:name="Data"> +- <value>1,,Biff8,,xlt,0,</value> ++ <value>1,application/vnd.ms-excel,Biff8,,xlt,0,</value> + </prop> + </node> + <node oor:name="calc_SYLK" oor:op="replace"> +@@ -1112,7 +1112,7 @@ + <value xml:lang="en-US">Microsoft MacWord 3.0</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,doc,20002,</value> ++ <value>0,application/vnd.ms-word,,,doc,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_MacWord_40_W4W" oor:op="replace"> +@@ -1120,7 +1120,7 @@ + <value xml:lang="en-US">Microsoft MacWord 4.0</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,doc,20002,</value> ++ <value>0,application/vnd.ms-word,,,doc,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_MacWord_5x_W4W" oor:op="replace"> +@@ -1128,7 +1128,7 @@ + <value xml:lang="en-US">Microsoft MacWord 5.x</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,doc,20002,</value> ++ <value>0,application/vnd.ms-word,,,doc,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_WinWord_1x_W4W" oor:op="replace"> +@@ -1136,7 +1136,7 @@ + <value xml:lang="en-US">Microsoft WinWord 1.x</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,doc,20002,</value> ++ <value>0,application/vnd.ms-word,,,doc,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_WinWord_2x_W4W" oor:op="replace"> +@@ -1144,7 +1144,7 @@ + <value xml:lang="en-US">Microsoft WinWord 2.x</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,doc,20002,</value> ++ <value>0,application/vnd.ms-word,,,doc,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_WinWord_5" oor:op="replace"> +@@ -1152,7 +1152,7 @@ + <value xml:lang="en-US">Microsoft WinWord 5</value> + </prop> + <prop oor:name="Data"> +- <value>0,application/msword,MSWordDoc,,doc,20002,</value> ++ <value>0,application/vnd.ms-word,MSWordDoc,,doc,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_WinWord_60" oor:op="replace"> +@@ -1160,7 +1160,7 @@ + <value xml:lang="en-US">Microsoft Word 6.0</value> + </prop> + <prop oor:name="Data"> +- <value>0,application/msword,MSWordDoc,,doc,20002,</value> ++ <value>0,application/vnd.ms-word,MSWordDoc,,doc,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_Word_3x_W4W" oor:op="replace"> +@@ -1168,7 +1168,7 @@ + <value xml:lang="en-US">Microsoft Word 3.x</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,txt,20002,</value> ++ <value>0,application/vnd.ms-word,,,txt,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_Word_4x_W4W" oor:op="replace"> +@@ -1176,7 +1176,7 @@ + <value xml:lang="en-US">Microsoft Word 4.x</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,txt,20002,</value> ++ <value>0,application/vnd.ms-word,,,txt,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_Word_5x_W4W" oor:op="replace"> +@@ -1184,7 +1184,7 @@ + <value xml:lang="en-US">Microsoft Word 5.x</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,txt,20002,</value> ++ <value>0,application/vnd.ms-word,,,txt,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_Word_6x_W4W" oor:op="replace"> +@@ -1192,7 +1192,7 @@ + <value xml:lang="en-US">Microsoft Word 6.x</value> + </prop> + <prop oor:name="Data"> +- <value>0,,,,txt,20002,</value> ++ <value>0,application/vnd.ms-word,,,txt,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_Word_95" oor:op="replace"> +@@ -1200,7 +1200,7 @@ + <value xml:lang="en-US">Microsoft Word 95</value> + </prop> + <prop oor:name="Data"> +- <value>0,application/msword,MSWordDoc,,doc,20002,</value> ++ <value>0,application/vnd.ms-word,MSWordDoc,,doc,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_Word_95_Vorlage" oor:op="replace"> +@@ -1208,7 +1208,7 @@ + <value xml:lang="en-US">MS Word 95 Template</value> + </prop> + <prop oor:name="Data"> +- <value>0,application/msword,MSWordDoc,,dot,20002,</value> ++ <value>0,application/vnd.ms-word,MSWordDoc,,dot,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_Word_97" oor:op="replace"> +@@ -1216,7 +1216,7 @@ + <value xml:lang="en-US">Microsoft Word 97/2000/XP</value> + </prop> + <prop oor:name="Data"> +- <value>1,application/msword,MSWordDoc,,doc,20002,</value> ++ <value>1,application/vnd.ms-word,MSWordDoc,,doc,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_Word_97_Vorlage" oor:op="replace"> +@@ -1224,7 +1224,7 @@ + <value xml:lang="en-US">MS Word 97/2000 Template</value> + </prop> + <prop oor:name="Data"> +- <value>1,application/msword,MSWordDoc,,dot,20002,</value> ++ <value>1,application/vnd.ms-word,MSWordDoc,,dot,20002,</value> + </prop> + </node> + <node oor:name="writer_MS_Works_20_DOS_W4W" oor:op="replace"> diff --git a/patches/OOO_1_1/fpicker-kde-filter-name.diff b/patches/OOO_1_1/fpicker-kde-filter-name.diff new file mode 100644 index 000000000..e7961297e --- /dev/null +++ b/patches/OOO_1_1/fpicker-kde-filter-name.diff @@ -0,0 +1,21 @@ +--- fpicker/source/unx/kde/kdefilepicker.cxx 2005-05-09 15:16:26.005903927 +0200 ++++ fpicker/source/unx/kde/kdefilepicker.cxx 2005-05-09 15:16:13.962981172 +0200 +@@ -714,4 +714,18 @@ void FileFilterComboHack::setCurrentFilt + { + setCurrentText( filter ); + filterChanged(); ++ ++ // Workaround for 'Filter name (*.blah)' vs. 'Filter name' ++ if ( currentText() != text( currentItem() ) ) ++ { ++ int nItem = 0; ++ for ( ; nItem < count() && !text( nItem ).startsWith( filter ); ++nItem ); ++ ++ if ( nItem < count() ) ++ setCurrentItem( nItem ); ++ else ++ setCurrentItem( 0 ); ++ ++ filterChanged(); ++ } + } diff --git a/patches/OOO_1_1/fpicker-kde-urls.diff b/patches/OOO_1_1/fpicker-kde-urls.diff new file mode 100644 index 000000000..6c3090518 --- /dev/null +++ b/patches/OOO_1_1/fpicker-kde-urls.diff @@ -0,0 +1,35 @@ +--- fpicker/source/unx/kde/kdefilepicker.cxx ++++ fpicker/source/unx/kde/kdefilepicker.cxx +@@ -229,6 +229,8 @@ + case CommandEvent::GetDirectory: + { + QString qDirectory = baseURL().url(); ++ if ( qDirectory.startsWith( "file:/" ) && qDirectory.mid( 6, 1 ) != "/" ) ++ qDirectory.replace( "file:/", "file:///" ); + sendCommand( "currentDirectory " + escapeString( qDirectory ) ); + } + break; +@@ -251,7 +253,10 @@ + for ( KURL::List::const_iterator it = qList.begin(); it != qList.end(); ++it ) + { + qString.append( " " ); +- appendEscaped( qString, addExtension( (*it).url() ) ); ++ QString qUrlStr = (*it).url(); ++ if ( qUrlStr.startsWith( "file:/" ) && qUrlStr.mid( 6, 1 ) != "/" ) ++ qUrlStr.replace( "file:/", "file:///" ); ++ appendEscaped( qString, addExtension( qUrlStr ) ); + } + } + else +@@ -261,7 +266,10 @@ + for ( KFileItemListIterator it( *pItems ); it.current(); ++it ) + { + qString.append( " " ); +- appendEscaped( qString, addExtension( (*it)->url().url() ) ); ++ QString qUrlStr = (*it)->url().url(); ++ if ( qUrlStr.startsWith( "file:/" ) && qUrlStr.mid( 6, 1 ) != "/" ) ++ qUrlStr.replace( "file:/", "file:///" ); ++ appendEscaped( qString, addExtension( qUrlStr ) ); + } + } + diff --git a/patches/OOO_1_1/gui-toolbox-large-icons.diff b/patches/OOO_1_1/gui-toolbox-large-icons.diff index 3e8c9eed7..3bef667bf 100644 --- a/patches/OOO_1_1/gui-toolbox-large-icons.diff +++ b/patches/OOO_1_1/gui-toolbox-large-icons.diff @@ -2,10 +2,11 @@ Index: registry/schema/org/openoffice/Office/Common.xcs =================================================================== RCS file: /cvs/util/officecfg/registry/schema/org/openoffice/Office/Common.xcs,v retrieving revision 1.84.8.5 -diff -u -r1.84.8.5 Common.xcs ---- officecfg/registry/schema/org/openoffice/Office/Common.xcs 27 Apr 2004 16:35:22 -0000 1.84.8.5 -+++ officecfg/registry/schema/org/openoffice/Office/Common.xcs 8 Jun 2004 23:01:08 -0000 -@@ -28992,41 +28992,46 @@ +Index: officecfg/registry/schema/org/openoffice/Office/Common.xcs +=================================================================== +--- officecfg/registry/schema/org/openoffice/Office/Common.xcs.orig 2004-09-12 12:14:15.192985792 +0200 ++++ officecfg/registry/schema/org/openoffice/Office/Common.xcs 2004-09-12 12:18:47.003664288 +0200 +@@ -36038,50 +36038,55 @@ </enumeration> <enumeration oor:value="1"> <info> @@ -32,7 +33,7 @@ diff -u -r1.84.8.5 Common.xcs - <desc xml:lang="pt-BR">32x32 pixel icons</desc> - <desc xml:lang="ja">32×32 ピクセルアイコン</desc> - <desc xml:lang="ko">32x32 pixel icons</desc> -- <desc xml:lang="tr">32x32 pixel icons</desc> +- <desc xml:lang="tr">32x32 piksel simgeler</desc> - <desc xml:lang="th">32x32 pixel icons</desc> - <desc xml:lang="x-comment">32x32 pixel icons</desc> - <desc xml:lang="hu">32x32 pixel icons</desc> @@ -40,6 +41,15 @@ diff -u -r1.84.8.5 Common.xcs - <desc xml:lang="ns">32x32 pixel icons</desc> - <desc xml:lang="af">32x32 pixel icons</desc> - <desc xml:lang="zu">32x32 pixel icons</desc> +- <desc xml:lang="nb">32x32 pixel icons</desc> +- <desc xml:lang="et">32x32 pixel icons</desc> +- <desc xml:lang="cy">32x32 pixel icons</desc> +- <desc xml:lang="tn">32x32 pixel icons</desc> +- <desc xml:lang="nn">32x32 pixel icons</desc> +- <desc xml:lang="eu">32x32 pixel icons</desc> +- <desc xml:lang="lt">32x32 taÅ¡kų paveikslai</desc> +- <desc xml:lang="kn-IN">32x32 pixel icons</desc> +- <desc xml:lang="gl">32x32 pixel icons</desc> + <desc xml:lang="en-US">24x24 pixel icons</desc> + <desc xml:lang="el">24x24 pixel icons</desc> + <desc xml:lang="nl">24x24 pixel iconen</desc> @@ -63,7 +73,7 @@ diff -u -r1.84.8.5 Common.xcs + <desc xml:lang="pt-BR">24x24 pixel icons</desc> + <desc xml:lang="ja">24×24 ピクセルアイコン</desc> + <desc xml:lang="ko">24x24 pixel icons</desc> -+ <desc xml:lang="tr">24x24 pixel icons</desc> ++ <desc xml:lang="tr">24x24 piksel simgeler</desc> + <desc xml:lang="th">24x24 pixel icons</desc> + <desc xml:lang="x-comment">24x24 pixel icons</desc> + <desc xml:lang="hu">24x24 pixel icons</desc> @@ -71,6 +81,15 @@ diff -u -r1.84.8.5 Common.xcs + <desc xml:lang="ns">24x24 pixel icons</desc> + <desc xml:lang="af">24x24 pixel icons</desc> + <desc xml:lang="zu">24x24 pixel icons</desc> ++ <desc xml:lang="nb">24x24 pixel icons</desc> ++ <desc xml:lang="et">24x24 pixel icons</desc> ++ <desc xml:lang="cy">24x24 pixel icons</desc> ++ <desc xml:lang="tn">24x24 pixel icons</desc> ++ <desc xml:lang="nn">24x24 pixel icons</desc> ++ <desc xml:lang="eu">24x24 pixel icons</desc> ++ <desc xml:lang="lt">24x24 taÅ¡kų paveikslai</desc> ++ <desc xml:lang="kn-IN">24x24 pixel icons</desc> ++ <desc xml:lang="gl">24x24 pixel icons</desc> + </info> + </enumeration> + <enumeration oor:value="2"> diff --git a/patches/OOO_1_1/i18n-calc-encoding.diff b/patches/OOO_1_1/i18n-calc-encoding.diff index 15c23ed17..11c0cf3b2 100644 --- a/patches/OOO_1_1/i18n-calc-encoding.diff +++ b/patches/OOO_1_1/i18n-calc-encoding.diff @@ -2,10 +2,11 @@ Index: calc/profile_calc.lng =================================================================== RCS file: /cvs/installation/scp/source/calc/Attic/profile_calc.lng,v retrieving revision 1.49.24.5 -diff -u -r1.49.24.5 profile_calc.lng ---- scp/source/calc/profile_calc.lng 27 Apr 2004 18:15:09 -0000 1.49.24.5 -+++ scp/source/calc/profile_calc.lng 10 Jun 2004 15:28:49 -0000 -@@ -598,7 +598,7 @@ +Index: scp/source/calc/profile_calc.lng +=================================================================== +--- scp/source/calc/profile_calc.lng.orig 2004-09-13 22:31:50.000000000 +0200 ++++ scp/source/calc/profile_calc.lng 2004-09-14 15:49:37.746332016 +0200 +@@ -678,7 +678,7 @@ 82 = "%PRODUCTNAME %PRODUCTVERSION ìŠ¤í”„ë ˆë“œì‹œíŠ¸" 86 = "%PRODUCTNAME %PRODUCTVERSION 工作表" 88 = "%PRODUCTNAME %PRODUCTVERSION 工作表" @@ -14,23 +15,11 @@ diff -u -r1.49.24.5 profile_calc.lng 07 = "Ýëåêòðîííàÿ òàáëèöà %PRODUCTNAME %PRODUCTVERSION" 30 = "Õðïëïãéóôéêü öýëëï %PRODUCTNAME %PRODUCTVERSION" 31 = "%PRODUCTNAME %PRODUCTVERSION Werkblad" -@@ -636,7 +636,7 @@ - 34 = "Hoja de ~cálculo" - 55 = "~Planilha" - 48 = "~Arkusz kalkulacyjny" --03 = "Folha de ~cálculo" -+03 = "Folha de ~cálculo" - 82 = "ìŠ¤í”„ë ˆë“œì‹œíŠ¸(~S)" - 33 = "~Classeur" - 96 = "~Spreadsheet" -Index: impress/profile_impress.lng +Index: scp/source/impress/profile_impress.lng =================================================================== -RCS file: /cvs/installation/scp/source/impress/Attic/profile_impress.lng,v -retrieving revision 1.57.24.5 -diff -u -r1.57.24.5 profile_impress.lng ---- scp/source/impress/profile_impress.lng 27 Apr 2004 18:18:43 -0000 1.57.24.5 -+++ scp/source/impress/profile_impress.lng 10 Jun 2004 15:28:51 -0000 -@@ -639,7 +639,7 @@ +--- scp/source/impress/profile_impress.lng.orig 2004-09-13 22:32:00.000000000 +0200 ++++ scp/source/impress/profile_impress.lng 2004-09-14 15:49:37.749331560 +0200 +@@ -724,7 +724,7 @@ 82 = "%PRODUCTNAME %PRODUCTVERSION í”„ë ˆì í…Œì´ì…˜" 86 = "%PRODUCTNAME %PRODUCTVERSION 演示文稿" 88 = "%PRODUCTNAME %PRODUCTVERSION ç°¡å ±" @@ -39,7 +28,7 @@ diff -u -r1.57.24.5 profile_impress.lng 07 = "Ïðåçåíòàöèÿ %PRODUCTNAME %PRODUCTVERSION" 30 = "Ðáñïõóßáóç %PRODUCTNAME %PRODUCTVERSION" 31 = "%PRODUCTNAME %PRODUCTVERSION Presentatie" -@@ -677,7 +677,7 @@ +@@ -767,7 +767,7 @@ 34 = "~Presentación" 55 = "A~presentação" 48 = "~Prezentacja" @@ -48,7 +37,7 @@ diff -u -r1.57.24.5 profile_impress.lng 82 = "í”„ë ˆì í…Œì´ì…˜(~P)" 33 = "~Présentation" 96 = "ÚÑÖ Ê~ÞÏíãí" -@@ -714,7 +714,7 @@ +@@ -809,7 +809,7 @@ 34 = "~Presentación..." 55 = "A~presentação..." 48 = "~Prezentacja..." @@ -56,15 +45,12 @@ diff -u -r1.57.24.5 profile_impress.lng +03 = "A~presentação..." 82 = "í”„ë ˆì í…Œì´ì…˜(~P)..." 33 = "~Présentation..." - 96 = "~Presentation..." -Index: math/profile_math.lng + 96 = "~ÚÑÖ ÊÞÏíãì..." +Index: scp/source/math/profile_math.lng =================================================================== -RCS file: /cvs/installation/scp/source/math/Attic/profile_math.lng,v -retrieving revision 1.40.24.4 -diff -u -r1.40.24.4 profile_math.lng ---- scp/source/math/profile_math.lng 27 Apr 2004 18:20:23 -0000 1.40.24.4 -+++ scp/source/math/profile_math.lng 10 Jun 2004 15:28:51 -0000 -@@ -80,7 +80,7 @@ +--- scp/source/math/profile_math.lng.orig 2004-09-13 22:32:04.000000000 +0200 ++++ scp/source/math/profile_math.lng 2004-09-14 15:49:37.750331408 +0200 +@@ -90,7 +90,7 @@ 34 = "~Fórmula" 55 = "~Fórmula" 48 = "F~ormu³a" @@ -73,14 +59,11 @@ diff -u -r1.40.24.4 profile_math.lng 82 = "수ì‹(~O)" 33 = "F~ormule" 96 = "ÕíÛÉ" -Index: office/profile.lng +Index: scp/source/office/profile.lng =================================================================== -RCS file: /cvs/installation/scp/source/office/Attic/profile.lng,v -retrieving revision 1.58.24.8 -diff -u -r1.58.24.8 profile.lng ---- scp/source/office/profile.lng 4 May 2004 06:48:05 -0000 1.58.24.8 -+++ scp/source/office/profile.lng 10 Jun 2004 15:28:53 -0000 -@@ -1080,7 +1080,7 @@ +--- scp/source/office/profile.lng.orig 2004-09-13 22:32:06.000000000 +0200 ++++ scp/source/office/profile.lng 2004-09-14 15:49:37.756330496 +0200 +@@ -1225,7 +1225,7 @@ 34 = "~Tarjetas de visita" 55 = "Cartões de ~Visita" 48 = "~Wizytówki" @@ -88,8 +71,8 @@ diff -u -r1.58.24.8 profile.lng +03 = "Cartões de ~visita" 82 = "명함(~U)" 33 = "Cartes de ~visite" - 96 = "B~usiness Cards" -@@ -1302,7 +1302,7 @@ + 96 = "ß~ÑÊ ÇáÚãá" +@@ -1477,7 +1477,7 @@ 34 = "Página ~Web..." 55 = "Página da ~Web..." 48 = "Strona ~WWW..." @@ -97,8 +80,8 @@ diff -u -r1.58.24.8 profile.lng +03 = "Página ~Web..." 82 = "웹 페ì´ì§€(~W)..." 33 = "Page ~Web..." - 96 = "~Web Page..." -@@ -1339,7 +1339,7 @@ + 96 = "~ÕÝÍÉ æíÈ..." +@@ -1519,7 +1519,7 @@ 34 = "Formulario..." 55 = "~Formulário..." 48 = "Fo~rmularz..." @@ -106,8 +89,8 @@ diff -u -r1.58.24.8 profile.lng +03 = "F~ormulário..." 82 = "ì–‘ì‹(~R)..." 33 = "Form~ulaire..." - 96 = "Form..." -@@ -1520,7 +1520,7 @@ + 96 = "äã~æÐÌ..." +@@ -1725,7 +1725,7 @@ 01 = "Address Data Source..." 44 = "Address Data Source..." 49 = "Adress-Datenquelle..." diff --git a/patches/OOO_1_1/i18n-indic-default-fonts.diff b/patches/OOO_1_1/i18n-indic-default-fonts.diff new file mode 100644 index 000000000..5fb5aabec --- /dev/null +++ b/patches/OOO_1_1/i18n-indic-default-fonts.diff @@ -0,0 +1,110 @@ +--- officecfg/registry/data/org/openoffice/VCL.xcu.indic 2004-10-19 13:56:32.755677016 -0400 ++++ officecfg/registry/data/org/openoffice/VCL.xcu 2004-10-19 14:38:10.975889816 -0400 +@@ -383,7 +383,106 @@ + <value>Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Luxi Sans;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Nimbus Sans L;Helmet;Interface System;Sans Serif</value> + </prop> + </node> +- ++ <node oor:name="hi-IN" oor:op="replace"> ++ <prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU;Interface User;WarpSans;Geneva;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Nimbus Sans L;Helmet;Interface System;Sans Serif</value> ++ </prop> ++ <prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ </node> ++ <node oor:name="bn-IN" oor:op="replace"> ++ <prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Bengali;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU;Interface User;WarpSans;Geneva;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Nimbus Sans L;Helmet;Interface System;Sans Serif</value> ++ </prop> ++ <prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Bengali;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Bengali;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Bengali;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Bengali;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Bengali;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ </node> ++ <node oor:name="gu-IN" oor:op="replace"> ++ <prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU;Interface User;WarpSans;Geneva;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Nimbus Sans L;Helmet;Interface System;Sans Serif</value> ++ </prop> ++ <prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ </node> ++ <node oor:name="pa-IN" oor:op="replace"> ++ <prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Punjabi;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU;Interface User;WarpSans;Geneva;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Nimbus Sans L;Helmet;Interface System;Sans Serif</value> ++ </prop> ++ <prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Punjabi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Punjabi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Punjabi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Punjabi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Punjabi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ </node> ++ <node oor:name="ta-IN" oor:op="replace"> ++ <prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU;Interface User;WarpSans;Geneva;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Nimbus Sans L;Helmet;Interface System;Sans Serif</value> ++ </prop> ++ <prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ <prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string"> ++ <value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> ++ </prop> ++ </node> + <node oor:name="ar" oor:op="replace"> + <prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string"> + <value>Tahoma;Traditional Arabic;Simplified Arabic;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU;Interface User;WarpSans;Geneva;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Nimbus Sans L;Helmet;Interface System;Sans Serif</value> diff --git a/patches/OOO_1_1/i18n-lang-italian-fontooowizard.diff b/patches/OOO_1_1/i18n-lang-italian-fontooowizard.diff new file mode 100644 index 000000000..b8bc31c61 --- /dev/null +++ b/patches/OOO_1_1/i18n-lang-italian-fontooowizard.diff @@ -0,0 +1,11 @@ +--- scp/source/office/profile.lng.ita 2004-09-25 10:54:15.143495568 +0200 ++++ scp/source/office/profile.lng 2004-09-25 10:55:01.387437949 +0200 +@@ -1858,7 +1858,7 @@ + 46 = "FontOOo Wizard..." + 45 = "Installer skrifttyper fra internettet..." + 49 = "Schriftarten aus dem Internet installieren..." +-39 = "FontOOo Wizard..." ++39 = "Installa font da Internet..." + 35 = "FontOOo Wizard..." + 37 = "Instal·la tipus de lletra des d'Internet..." + 66 = "FontOOo Wizard..." diff --git a/patches/OOO_1_1/ms-interoperability-email-attachment-as-xls-ppt.diff b/patches/OOO_1_1/ms-interoperability-email-attachment-as-xls-ppt.diff new file mode 100644 index 000000000..61620584d --- /dev/null +++ b/patches/OOO_1_1/ms-interoperability-email-attachment-as-xls-ppt.diff @@ -0,0 +1,505 @@ +--- sfx2/source/inc/mailmodel.hxx 2002-08-26 13:30:37.000000000 +0530 ++++ sfx2/source/inc/mailmodel.hxx 2004-11-30 17:05:01.000000000 +0530 +@@ -90,6 +90,9 @@ + enum MailDocType + { + TYPE_SELF, ++ TYPE_ASMSDOC, ++ TYPE_ASMSEXCEL, ++ TYPE_ASMSPOWERPOINT, + TYPE_ASPDF + }; + +@@ -114,7 +117,7 @@ + void ClearList( AddressList_Impl* pList ); + void MakeValueList( AddressList_Impl* pList, String& rValueList ); + SaveResult SaveDocument( String& rFileName, String& rType ); +- SaveResult SaveDocAsPDF( String& rFileName, String& rType ); ++ SaveResult SaveDocAs( String& rFileName, String& rType,MailDocType mailDocType ); + + DECL_LINK( DoneHdl, void* ); + + +--- sfx2/source/dialog/mailmodel.cxx 2004-11-26 21:41:16.000000000 +0530 ++++ sfx2/source/dialog/mailmodel.cxx 2004-11-30 17:09:23.000000000 +0530 +@@ -402,7 +402,7 @@ + return eRet; + } + +-SfxMailModel_Impl::SaveResult SfxMailModel_Impl::SaveDocAsPDF( String& rFileName, String& rType ) ++SfxMailModel_Impl::SaveResult SfxMailModel_Impl::SaveDocAs( String& rFileName, String& rType,MailDocType mailDocType ) + { + SaveResult eRet = SAVE_CANCELLED; + SfxViewFrame* pTopViewFrm = mpBindings->GetDispatcher_Impl()->GetFrame()->GetTopViewFrame(); +@@ -422,9 +422,15 @@ + SfxFactoryFilterContainer* pFilterContainer = xDocShell->GetFactory().GetFilterContainer(); + if ( pFilterContainer ) + { +- String aPDFExtension = String::CreateFromAscii( ".pdf" ); ++ String aExtension ; ++ switch (mailDocType){ ++ case TYPE_ASPDF : aExtension = String::CreateFromAscii( ".pdf" );break; ++ case TYPE_ASMSDOC : aExtension = String::CreateFromAscii( ".doc" );break; ++ case TYPE_ASMSEXCEL : aExtension = String::CreateFromAscii( ".xls" );break; ++ case TYPE_ASMSPOWERPOINT : aExtension = String::CreateFromAscii( ".ppt" );break; ++ } + +- const SfxFilter* pFilter = pFilterContainer->GetFilter4Extension( aPDFExtension, SFX_FILTER_EXPORT ); ++ const SfxFilter* pFilter = pFilterContainer->GetFilter4Extension( aExtension, SFX_FILTER_EXPORT ); + sal_Bool bHasFilter = pFilter ? sal_True : sal_False; + + // create temp file name with leading chars and extension +@@ -440,7 +446,7 @@ + String aName; + if ( aFileObj.hasExtension() ) + { +- pExt = new String( aPDFExtension ); ++ pExt = new String( aExtension ); + aFileObj.removeExtension(); + aLeadingStr = aFileObj.getName( INetURLObject::LAST_SEGMENT, true, INetURLObject::DECODE_WITH_CHARSET ); + // aLeadingStr += String::CreateFromAscii( "_" ); +@@ -463,11 +469,25 @@ + delete pExt; + + rFileName = aTempFile.GetURL(); ++ SfxBoolItem aPicklist( SID_PICKLIST, FALSE ); ++ SfxBoolItem aSaveTo( SID_SAVETO, TRUE ); ++ SfxStringItem* pFilterName = NULL; ++ if ( pFilter && bHasFilter ) ++ pFilterName = new SfxStringItem( SID_FILTER_NAME, pFilter->GetFilterName() ); ++ ++ SfxStringItem* pPassItem = NULL; ++ String aPasswd; ++ if ( GetPasswd_Impl( xDocShell->GetMedium()->GetItemSet(), aPasswd ) ) ++ pPassItem = new SfxStringItem( SID_PASSWORD, aPasswd ); + + // save document to temp file + SfxStringItem aFileName( SID_FILE_NAME, rFileName ); +- const SfxBoolItem *pRet = (const SfxBoolItem*)pDisp->Execute( SID_EXPORTDOCASPDF, SFX_CALLMODE_SYNCHRON, &aFileName, 0L ); +- BOOL bRet = pRet ? pRet->GetValue() : FALSE; ++ const SfxBoolItem *pRet = (const SfxBoolItem*)pDisp->Execute( SID_SAVEASDOC, SFX_CALLMODE_SYNCHRON, &aFileName, &aPicklist, &aSaveTo, ++ pFilterName ? pFilterName : pPassItem, ++ pFilterName ? pPassItem : 0L, 0L ); ++ ++/* const SfxBoolItem *pRet = (const SfxBoolItem*)pDisp->Execute( SID_EXPORTDOCASPDF, SFX_CALLMODE_SYNCHRON, &aFileName, 0L ); ++*/ BOOL bRet = pRet ? pRet->GetValue() : FALSE; + eRet = bRet ? SAVE_SUCCESSFULL : SAVE_CANCELLED; + + if ( pFilter ) +@@ -568,11 +590,16 @@ + String aFileName, aContentType; + + sal_Bool bSuccessfull = sal_False; +- if ( eMailDocType == TYPE_SELF ) +- eSaveResult = SaveDocument( aFileName, aContentType ); +- else +- eSaveResult = SaveDocAsPDF( aFileName, aContentType ); +- ++ switch (eMailDocType){ ++ case TYPE_ASMSDOC: ++ case TYPE_ASMSPOWERPOINT: ++ case TYPE_ASPDF: ++ case TYPE_ASMSEXCEL: ++ eSaveResult = SaveDocAs( aFileName, aContentType,eMailDocType ); ++ break; ++ default: ++ eSaveResult = SaveDocument( aFileName, aContentType); ++ } + if ( eSaveResult == SAVE_SUCCESSFULL ) + { + SfxFrame* pViewFrm = mpBindings->GetDispatcher_Impl()->GetFrame()->GetFrame(); + +--- sfx2/sdi/sfx.sdi 2004-03-30 18:26:27.000000000 +0530 ++++ sfx2/sdi/sfx.sdi 2004-11-30 16:36:40.000000000 +0530 +@@ -6982,7 +6982,6 @@ + ToolBoxConfig = TRUE, + GroupId = GID_DOCUMENT; + ] +- + //-------------------------------------------------------------------------- + SfxBoolItem SendMail SID_MAIL_SENDDOC + (SfxStringItem Recipient SID_MAIL_RECIPIENT,SfxStringItem Subject SID_MAIL_SUBJECT,SfxStringItem MailText SID_MAIL_TEXT,SfxUInt16Item Priority SID_MAIL_PRIORITY,SfxBoolItem AttachedDoc SID_MAIL_ATTACH,SfxStringItem AttachFiles SID_MAIL_ATTACH_FILE) +@@ -7010,7 +7009,88 @@ + ToolBoxConfig = TRUE, + GroupId = GID_DOCUMENT; + ] ++SfxBoolItem SendMailDocAsMSDoc SID_MAIL_SENDDOCASMSDOC ++(SfxStringItem Recipient SID_MAIL_RECIPIENT,SfxStringItem Subject SID_MAIL_SUBJECT,SfxStringItem MailText SID_MAIL_TEXT,SfxUInt16Item Priority SID_MAIL_PRIORITY,SfxBoolItem AttachedDoc SID_MAIL_ATTACH,SfxStringItem AttachFiles SID_MAIL_ATTACH_FILE) ++[ ++ /* flags: */ ++ AutoUpdate = FALSE, ++ Cachable = Cachable, ++ FastCall = FALSE, ++ HasCoreId = FALSE, ++ HasDialog = TRUE, ++ ReadOnlyDoc = TRUE, ++ Toggle = FALSE, ++ Container = FALSE, ++ RecordAbsolute = FALSE, ++ RecordPerSet; ++ Asynchron; ++ ++ /* status: */ ++ SlotType = SfxStringItem + ++ /* config: */ ++ AccelConfig = TRUE, ++ MenuConfig = TRUE, ++ StatusBarConfig = FALSE, ++ ToolBoxConfig = TRUE, ++ GroupId = GID_DOCUMENT; ++] ++//-------------------------------------------------------------------------- ++SfxBoolItem SendMailDocAsMSExcel SID_MAIL_SENDDOCASMSEXCEL ++(SfxStringItem Recipient SID_MAIL_RECIPIENT,SfxStringItem Subject SID_MAIL_SUBJECT,SfxStringItem MailText SID_MAIL_TEXT,SfxUInt16Item Priority SID_MAIL_PRIORITY,SfxBoolItem AttachedDoc SID_MAIL_ATTACH,SfxStringItem AttachFiles SID_MAIL_ATTACH_FILE) ++[ ++ /* flags: */ ++ AutoUpdate = FALSE, ++ Cachable = Cachable, ++ FastCall = FALSE, ++ HasCoreId = FALSE, ++ HasDialog = TRUE, ++ ReadOnlyDoc = TRUE, ++ Toggle = FALSE, ++ Container = FALSE, ++ RecordAbsolute = FALSE, ++ RecordPerSet; ++ Asynchron; ++ ++ /* status: */ ++ SlotType = SfxStringItem ++ ++ /* config: */ ++ AccelConfig = TRUE, ++ MenuConfig = TRUE, ++ StatusBarConfig = FALSE, ++ ToolBoxConfig = TRUE, ++ GroupId = GID_DOCUMENT; ++] ++ ++//-------------------------------------------------------------------------- ++SfxBoolItem SendMailDocAsMSPowerPoint SID_MAIL_SENDDOCASMSPOWERPOINT ++(SfxStringItem Recipient SID_MAIL_RECIPIENT,SfxStringItem Subject SID_MAIL_SUBJECT,SfxStringItem MailText SID_MAIL_TEXT,SfxUInt16Item Priority SID_MAIL_PRIORITY,SfxBoolItem AttachedDoc SID_MAIL_ATTACH,SfxStringItem AttachFiles SID_MAIL_ATTACH_FILE) ++[ ++ /* flags: */ ++ AutoUpdate = FALSE, ++ Cachable = Cachable, ++ FastCall = FALSE, ++ HasCoreId = FALSE, ++ HasDialog = TRUE, ++ ReadOnlyDoc = TRUE, ++ Toggle = FALSE, ++ Container = FALSE, ++ RecordAbsolute = FALSE, ++ RecordPerSet; ++ Asynchron; ++ ++ /* status: */ ++ SlotType = SfxStringItem ++ ++ /* config: */ ++ AccelConfig = TRUE, ++ MenuConfig = TRUE, ++ StatusBarConfig = FALSE, ++ ToolBoxConfig = TRUE, ++ GroupId = GID_DOCUMENT; ++] ++//-------------------------------------------------------------------------- + SfxBoolItem SendMailDocAsPDF SID_MAIL_SENDDOCASPDF + (SfxStringItem Recipient SID_MAIL_RECIPIENT,SfxStringItem Subject SID_MAIL_SUBJECT,SfxStringItem MailText SID_MAIL_TEXT,SfxUInt16Item Priority SID_MAIL_PRIORITY,SfxBoolItem AttachedDoc SID_MAIL_ATTACH,SfxStringItem AttachFiles SID_MAIL_ATTACH_FILE) + [ + +--- sfx2/sdi/sfxslots.src 2004-11-26 21:41:10.000000000 +0530 ++++ sfx2/sdi/sfxslots.src 2004-11-30 16:56:29.000000000 +0530 +@@ -4756,6 +4756,24 @@ + SlotName[ kannada ] = "ದಸà³à²¤à²¾à²µà³‡à²œà²¨à³à²¨à³ ಕಳಿಸà³"; + SlotName[ galician ] = "Enviar o documento"; + }; ++SfxSlotInfo SID_MAIL_SENDDOCASMSDOC ++{ ++ SlotName = "Send document as MS-DOC Attachment"; ++ SlotName [ english ] = "Send document as MS-DOC Attachment"; ++ SlotName [ english_us ] = "Send document as MS-DOC Attachment"; ++}; ++SfxSlotInfo SID_MAIL_SENDDOCASMSEXCEL ++{ ++ SlotName = "Send document as MS-EXCEL Attachment"; ++ SlotName [ english ] = "Send document as MS-EXCEL Attachment"; ++ SlotName [ english_us ] = "Send document as MS-EXCEL Attachment"; ++}; ++SfxSlotInfo SID_MAIL_SENDDOCASMSPOWERPOINT ++{ ++ SlotName = "Send document as MS-POWERPOINT Attachment"; ++ SlotName [ english ] = "Send document as MS-POWERPOINT Attachment"; ++ SlotName [ english_us ] = "Send document as MS-POWERPOINT Attachment"; ++}; + SfxSlotInfo SID_MAIL_SENDDOCASPDF + { + SlotName = "Dokument als PDF-Anhang versenden"; + +--- sfx2/inc/sfxsids.hrc 2004-11-26 21:41:02.000000000 +0530 ++++ sfx2/inc/sfxsids.hrc 2004-11-30 16:30:43.000000000 +0530 +@@ -147,7 +147,10 @@ + #define SID_MAIL_OPEN (SID_SFX_START + 329) + #define SID_MAIL_NOTIFY (SID_SFX_START + 330) + #define SID_MAIL_SENDDOC (SID_SFX_START + 331) +-#define SID_MAIL_SENDDOCASPDF (SID_SFX_START + 1672) ++#define SID_MAIL_SENDDOCASPDF (SID_SFX_START + 1672) ++#define SID_MAIL_SENDDOCASMSDOC (SID_SFX_START + 1686) ++#define SID_MAIL_SENDDOCASMSEXCEL (SID_SFX_START + 1687) ++#define SID_MAIL_SENDDOCASMSPOWERPOINT (SID_SFX_START + 1688) + #define SID_MAIL_INBOX (SID_SFX_START + 332) + + #define SID_MAIL_RECIPIENT (SID_SFX_START + 334) +@@ -554,7 +557,7 @@ + #define SID_REPAIRPACKAGE (SID_SFX_START + 1683) + #define SID_ADDONHELP (SID_SFX_START + 1684) + #define SID_OBJECTSHELL (SID_SFX_START + 1685) +-#define SID_SFX_free_START (SID_SFX_START + 1686) ++#define SID_SFX_free_START (SID_SFX_START + 1689) + #define SID_SFX_free_END (SID_SFX_START + 3999) + + #define SID_OPEN_NEW_VIEW (SID_SFX_START + 520) + +--- sfx2/sdi/viwslots.sdi 2002-08-26 13:02:06.000000000 +0530 ++++ sfx2/sdi/viwslots.sdi 2004-11-30 22:05:45.000000000 +0530 +@@ -22,6 +22,21 @@ + ExecMethod = ExecMisc_Impl ; + StateMethod = GetState_Impl ; + ] ++ SID_MAIL_SENDDOCASMSDOC // ole(no) api(todo) ++ [ ++ ExecMethod = ExecMisc_Impl ; ++ StateMethod = GetState_Impl ; ++ ] ++ SID_MAIL_SENDDOCASMSEXCEL // ole(no) api(todo) ++ [ ++ ExecMethod = ExecMisc_Impl ; ++ StateMethod = GetState_Impl ; ++ ] ++ SID_MAIL_SENDDOCASMSPOWERPOINT // ole(no) api(todo) ++ [ ++ ExecMethod = ExecMisc_Impl ; ++ StateMethod = GetState_Impl ; ++ ] + //--------------------------------------------------------------------- + SID_PRINTDOC // ole(no) api(play/rec) + [ + +--- sfx2/source/view/viewsh.cxx 2003-11-07 15:42:06.000000000 +0530 ++++ sfx2/source/view/viewsh.cxx 2004-12-01 17:46:28.075380424 +0530 +@@ -185,6 +185,9 @@ + + case SID_MAIL_SENDDOCASPDF: + case SID_MAIL_SENDDOC: ++ case SID_MAIL_SENDDOCASMSDOC: ++ case SID_MAIL_SENDDOCASMSEXCEL: ++ case SID_MAIL_SENDDOCASMSPOWERPOINT: + if ( SvtInternalOptions().MailUIEnabled() ) + { + GetViewFrame()->SetChildWindow( SID_MAIL_CHILDWIN, TRUE ); +@@ -209,10 +212,18 @@ + } + + SfxMailModel_Impl::SendMailResult eResult = SfxMailModel_Impl::SEND_MAIL_ERROR; +- if ( nId == SID_MAIL_SENDDOCASPDF ) +- eResult = aModel.Send( SfxMailModel_Impl::TYPE_ASPDF ); +- else +- eResult = aModel.Send( SfxMailModel_Impl::TYPE_SELF ); ++ switch (nId) { ++ case SID_MAIL_SENDDOCASPDF: ++ eResult = aModel.Send( SfxMailModel_Impl::TYPE_ASPDF );break; ++ case SID_MAIL_SENDDOCASMSDOC: ++ eResult = aModel.Send( SfxMailModel_Impl::TYPE_ASMSDOC );break; ++ case SID_MAIL_SENDDOCASMSEXCEL: ++ eResult = aModel.Send( SfxMailModel_Impl::TYPE_ASMSEXCEL );break; ++ case SID_MAIL_SENDDOCASMSPOWERPOINT: ++ eResult = aModel.Send( SfxMailModel_Impl::TYPE_ASMSPOWERPOINT );break; ++ default: ++ eResult = aModel.Send( SfxMailModel_Impl::TYPE_SELF ); ++ } + + if ( eResult == SfxMailModel_Impl::SEND_MAIL_ERROR ) + { +@@ -325,6 +336,9 @@ + // Mail-Funktionen + case SID_MAIL_SENDDOCASPDF: + case SID_MAIL_SENDDOC: ++ case SID_MAIL_SENDDOCASMSDOC: ++ case SID_MAIL_SENDDOCASMSEXCEL: ++ case SID_MAIL_SENDDOCASMSPOWERPOINT: + { + BOOL bEnable = !GetViewFrame()->HasChildWindow( SID_MAIL_CHILDWIN ); + if ( !bEnable ) +@@ -348,6 +362,60 @@ + rSet.DisableItem( nSID ); + } + ++ else if ( nSID == SID_MAIL_SENDDOCASMSDOC ) ++ { ++ SfxObjectShellRef xDocShell = GetViewFrame()->GetObjectShell(); ++ if ( xDocShell.Is() ) ++ { ++ // Get PDF Filter from container ++ SfxFactoryFilterContainer* pFilterContainer = xDocShell->GetFactory().GetFilterContainer(); ++ if ( pFilterContainer ) ++ { ++ String aPDFExtension = String::CreateFromAscii( ".doc" ); ++ const SfxFilter* pFilter = pFilterContainer->GetFilter4Extension( aPDFExtension, SFX_FILTER_EXPORT ); ++ if ( pFilter != NULL ) ++ break; ++ } ++ } ++ ++ rSet.DisableItem( nSID ); ++ } ++ else if ( nSID == SID_MAIL_SENDDOCASMSEXCEL ) ++ { ++ SfxObjectShellRef xDocShell = GetViewFrame()->GetObjectShell(); ++ if ( xDocShell.Is() ) ++ { ++ // Get PDF Filter from container ++ SfxFactoryFilterContainer* pFilterContainer = xDocShell->GetFactory().GetFilterContainer(); ++ if ( pFilterContainer ) ++ { ++ String aPDFExtension = String::CreateFromAscii( ".xls" ); ++ const SfxFilter* pFilter = pFilterContainer->GetFilter4Extension( aPDFExtension, SFX_FILTER_EXPORT ); ++ if ( pFilter != NULL ) ++ break; ++ } ++ } ++ ++ rSet.DisableItem( nSID ); ++ } ++ else if ( nSID == SID_MAIL_SENDDOCASMSPOWERPOINT ) ++ { ++ SfxObjectShellRef xDocShell = GetViewFrame()->GetObjectShell(); ++ if ( xDocShell.Is() ) ++ { ++ // Get PDF Filter from container ++ SfxFactoryFilterContainer* pFilterContainer = xDocShell->GetFactory().GetFilterContainer(); ++ if ( pFilterContainer ) ++ { ++ String aPDFExtension = String::CreateFromAscii( ".ppt" ); ++ const SfxFilter* pFilter = pFilterContainer->GetFilter4Extension( aPDFExtension, SFX_FILTER_EXPORT ); ++ if ( pFilter != NULL ) ++ break; ++ } ++ } ++ ++ rSet.DisableItem( nSID ); ++ } + break; + } + + +--- svx/inc/globlmn.hrc 2004-11-26 21:40:58.000000000 +0530 ++++ svx/inc/globlmn.hrc 2004-12-01 17:33:01.865942888 +0530 +@@ -3251,6 +3251,30 @@ + Text[ kannada ] = "ಸà³à²µà²¯à²‚ಚಾಲಿತ ಅಂಚೆ"; \ + Text[ galician ] = "~Correo automático"; \ + ++#define ITEM_FILE_MAIL_SENDDOCASMSDOC \ ++ Identifier = SID_MAIL_SENDDOCASMSDOC ; \ ++ Command = ".uno:SendMailDocAsMSDoc" ; \ ++ HelpID = SID_MAIL_SENDDOCASMSDOC ; \ ++ Text = "Dokument als E-~Mail..." ; \ ++ Text [ english ] = "Document as MS-~Doc Attachment..." ; \ ++ Text [ english_us ] = "Document as MS-~Doc Attachment..." ; \ ++ ++#define ITEM_FILE_MAIL_SENDDOCASMSEXCEL \ ++ Identifier = SID_MAIL_SENDDOCASMSEXCEL ; \ ++ Command = ".uno:SendMailDocAsMSExcel" ; \ ++ HelpID = SID_MAIL_SENDDOCASMSEXCEL ; \ ++ Text = "Dokument als ~E-Mail..." ; \ ++ Text [ english ] = "Document as MS-~Excel Attachment..." ; \ ++ Text [ english_us ] = "Document as MS-~Excel Attachment..." ; \ ++ ++#define ITEM_FILE_MAIL_SENDDOCASMSPOWERPOINT \ ++ Identifier = SID_MAIL_SENDDOCASMSPOWERPOINT ; \ ++ Command = ".uno:SendMailDocAsMSPowerPoint" ; \ ++ HelpID = SID_MAIL_SENDDOCASMSPOWERPOINT ; \ ++ Text = "Dokument als E-Mail..." ; \ ++ Text [ english ] = "Document as MS-~PPT Attachment..." ; \ ++ Text [ english_us ] = "Document as MS-~PPT Attachment..." ; \ ++ + #define ITEM_FILE_MAIL_SENDDOC \ + Identifier = SID_MAIL_SENDDOC ; \ + Command = ".uno:SendMail" ; \ + +--- sw/sdi/wviewsh.sdi 2003-03-27 21:09:12.000000000 +0530 ++++ sw/sdi/wviewsh.sdi 2004-11-29 20:58:45.000000000 +0530 +@@ -223,6 +223,11 @@ + [ + StateMethod = GetState ; + ] ++ SID_MAIL_SENDDOCASMSDOC ++ [ ++ ExecMethod = Execute ; ++ StateMethod = GetState ; ++ ] + } + + shell SwSrcView : SfxViewShell + +--- sw/source/ui/inc/swmn.hrc 2004-11-26 21:41:10.000000000 +0530 ++++ sw/source/ui/inc/swmn.hrc 2004-11-29 21:04:08.000000000 +0530 +@@ -5121,6 +5121,10 @@ + { + ITEM_FILE_MAIL_SENDDOCASPDF + }; ++ MenuItem ++ { ++ ITEM_FILE_MAIL_SENDDOCASMSDOC ++ }; + }; + }; + Text[ english_us ] = "Send"; +@@ -5182,6 +5186,11 @@ + { + ITEM_FILE_MAIL_SENDDOCASPDF + }; ++ MenuItem ++ { ++ ITEM_FILE_MAIL_SENDDOCASMSDOC ++ }; ++ + SEPARATOR ; + MenuItem + { + +--- /home/mjayant/OOO_113_backup/ooo-build/build/OOO_1_1_3/sd/source/ui/app/menuids2.src 2004-11-26 21:41:10.000000000 +0530 ++++ sd/source/ui/app/menuids2.src 2004-11-30 21:47:12.000000000 +0530 +@@ -249,6 +249,7 @@ + {\ + MI ( ITEM_FILE_MAIL_SENDDOC ) \ + MI ( ITEM_FILE_MAIL_SENDDOCASPDF ) \ ++ MI ( ITEM_FILE_MAIL_SENDDOCASMSPOWERPOINT ) \ + };\ + };\ + Text [ portuguese_brazilian ] = "~Enviar" ; \ + +--- sc/source/ui/src/menue.src 2004-11-26 21:41:10.000000000 +0530 ++++ sc/source/ui/src/menue.src 2004-12-01 18:05:15.435995560 +0530 +@@ -342,6 +342,10 @@ + { + ITEM_FILE_MAIL_SENDDOCASPDF + }; ++ MenuItem ++ { ++ ITEM_FILE_MAIL_SENDDOCASMSEXCEL ++ }; + }; + }; + Text [ portuguese ] = "~Enviar" ; +@@ -6397,6 +6401,10 @@ + { + ITEM_FILE_MAIL_SENDDOCASPDF + }; ++ MenuItem ++ { ++ ITEM_FILE_MAIL_SENDDOCASMSEXCEL ++ }; + }; + }; + Text [ portuguese ] = "~Enviar" ; diff --git a/patches/OOO_1_1/native-fpicker-not-default.diff b/patches/OOO_1_1/native-fpicker-not-default.diff new file mode 100644 index 000000000..26de5a2de --- /dev/null +++ b/patches/OOO_1_1/native-fpicker-not-default.diff @@ -0,0 +1,17 @@ +Index: Common.xcu +=================================================================== +RCS file: /cvs/util/officecfg/registry/data/org/openoffice/Office/Common.xcu,v +retrieving revision 1.13.34.2 +diff -u -r1.13.34.2 Common.xcu +--- officecfg/registry/data/org/openoffice/Office/Common.xcu 6 Jul 2004 10:50:06 -0000 1.13.34.2 ++++ officecfg/registry/data/org/openoffice/Office/Common.xcu 21 Dec 2004 15:40:02 -0000 +@@ -437,4 +437,9 @@ + </node> + </node> + </node> ++ <node oor:name="Misc"> ++ <prop oor:name="UseSystemFileDialog" oor:type="xs:boolean"> ++ <value>false</value> ++ </prop> ++ </node> + </oor:component-data> diff --git a/patches/OOO_1_1/no-sans-serif-default.diff b/patches/OOO_1_1/no-sans-serif-default.diff new file mode 100644 index 000000000..334697810 --- /dev/null +++ b/patches/OOO_1_1/no-sans-serif-default.diff @@ -0,0 +1,266 @@ +--- officecfg/registry/data/org/openoffice/VCL.xcu.u 2005-03-11 03:11:32.451045000 +0100 ++++ officecfg/registry/data/org/openoffice/VCL.xcu 2005-03-11 03:15:19.264564608 +0100 +@@ -71,13 +71,13 @@ + <node oor:name="DefaultFonts"> + <node oor:name="en" oor:op="replace"> + <prop oor:name="LATIN_DISPLAY" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Luxi Sans;Bitstream Vera Sans</value> ++ <value>Albany;Arial;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Luxi Sans;Bitstream Vera Sans;SansSerif</value> + </prop> + <prop oor:name="CJK_DISPLAY" oor:type="xs:string" oor:op="replace"> + <value>Andale Sans UI;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS PGothic;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> + </prop> + <prop oor:name="LATIN_HEADING" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Luxi Sans;Bitstream Vera Sans</value> ++ <value>Albany;Arial;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Luxi Sans;Bitstream Vera Sans;SansSerif</value> + </prop> + <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> + <value>Cumberland;Courier New;Bitstream Vera Sans Mono;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced;Luxi Mono</value> +@@ -86,7 +86,7 @@ + <value>Thorndale;Times New Roman;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif;Nimbus Roman No9 L;Luxi Serif</value> + </prop> + <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Luxi Sans;Bitstream Vera Sans</value> ++ <value>Albany;Arial;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Luxi Sans;Bitstream Vera Sans;SansSerif</value> + </prop> + <prop oor:name="LATIN_TEXT" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif;Luxi Serif;Nimbus Roman No9 L</value> +@@ -116,7 +116,7 @@ + <value>Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value> + </prop> + <prop oor:name="SANS" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Luxi Sans;Bitstream Vera Sans</value> ++ <value>Albany;Arial;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Luxi Sans;Bitstream Vera Sans;SansSerif</value> + </prop> + <prop oor:name="SANS_UNICODE" oor:type="xs:string" oor:op="replace"> + <value>Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif;Luxi Sans</value> +@@ -140,10 +140,10 @@ + + <node oor:name="cs-CZ" oor:op="replace"> + <prop oor:name="LATIN_DISPLAY" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_HEADING" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> + <value>Cumberland;Courier New;Luxi Mono;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> +@@ -152,13 +152,13 @@ + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_TEXT" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="SANS" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="SERIF" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> +@@ -175,10 +175,10 @@ + </node> + <node oor:name="hr-HR" oor:op="replace"> + <prop oor:name="LATIN_DISPLAY" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_HEADING" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> + <value>Cumberland;Courier New;Luxi Mono;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> +@@ -187,13 +187,13 @@ + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_TEXT" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="SANS" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="SERIF" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> +@@ -210,10 +210,10 @@ + </node> + <node oor:name="hu-HU" oor:op="replace"> + <prop oor:name="LATIN_DISPLAY" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_HEADING" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> + <value>Cumberland;Courier New;Luxi Mono;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> +@@ -222,13 +222,13 @@ + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_TEXT" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="SANS" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="SERIF" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> +@@ -245,10 +245,10 @@ + </node> + <node oor:name="pl-PL" oor:op="replace"> + <prop oor:name="LATIN_DISPLAY" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_HEADING" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> + <value>Cumberland;Courier New;Luxi Mono;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> +@@ -257,13 +257,13 @@ + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_TEXT" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="SANS" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="SERIF" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> +@@ -280,10 +280,10 @@ + </node> + <node oor:name="ro-RO" oor:op="replace"> + <prop oor:name="LATIN_DISPLAY" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_HEADING" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> + <value>Cumberland;Courier New;Luxi Mono;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> +@@ -292,13 +292,13 @@ + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_TEXT" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="SANS" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="SERIF" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> +@@ -315,10 +315,10 @@ + </node> + <node oor:name="sk-SK" oor:op="replace"> + <prop oor:name="LATIN_DISPLAY" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_HEADING" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> + <value>Cumberland;Courier New;Luxi Mono;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> +@@ -327,13 +327,13 @@ + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_TEXT" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="SANS" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="SERIF" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> +@@ -350,10 +350,10 @@ + </node> + <node oor:name="sl-SI" oor:op="replace"> + <prop oor:name="LATIN_DISPLAY" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Serif;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_HEADING" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> + <value>Cumberland;Courier New;Luxi Mono;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> +@@ -362,13 +362,13 @@ + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_TEXT" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> + </prop> + <prop oor:name="SANS" oor:type="xs:string" oor:op="replace"> +- <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Albany;Arial;Luxi Sans;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="SERIF" oor:type="xs:string" oor:op="replace"> + <value>Thorndale;Times New Roman;Luxi Serif;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> +@@ -599,22 +599,22 @@ + <value>ì¬êµ´ë¦¼;SunGulim;Cumberland;Courier New;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> + </prop> + <prop oor:name="LATIN_DISPLAY" oor:type="xs:string" oor:op="replace"> +- <value>ì¬ë‹ì›€;SunDotum;ì¬êµ´ë¦¼;SunGulim;Gulim;Roundgothic;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>ì¬ë‹ì›€;SunDotum;ì¬êµ´ë¦¼;SunGulim;Gulim;Roundgothic;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_HEADING" oor:type="xs:string" oor:op="replace"> +- <value>ì¬ë°”탕;SunBatang;Batang;Myeongjo;ì¬êµ´ë¦¼;SunGulim;Gulim;Roundgothic;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>ì¬ë°”탕;SunBatang;Batang;Myeongjo;ì¬êµ´ë¦¼;SunGulim;Gulim;Roundgothic;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_PRESENTATION" oor:type="xs:string" oor:op="replace"> + <value>ì¬êµ´ë¦¼;SunGulim;Batang;Myeongjo;Gulim;Roundgothic;Thorndale;Times New Roman;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> + </prop> + <prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace"> +- <value>ì¬ë‹ì›€;SunDotum;Batang;Myeongjo;ì¬êµ´ë¦¼;SunGulim;Gulim;Roundgothic;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>ì¬ë‹ì›€;SunDotum;Batang;Myeongjo;ì¬êµ´ë¦¼;SunGulim;Gulim;Roundgothic;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="LATIN_TEXT" oor:type="xs:string" oor:op="replace"> + <value>ì¬ë°”탕;SunBatang;Batang;Myeongjo;ì¬êµ´ë¦¼;SunGulim;Gulim;Roundgothic;Thorndale;Times New Roman;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> + </prop> + <prop oor:name="SANS" oor:type="xs:string" oor:op="replace"> +- <value>ì¬ë‹ì›€;SunDotum;Batang;Myeongjo;ì¬êµ´ë¦¼;SunGulim;Gulim;Roundgothic;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>ì¬ë‹ì›€;SunDotum;Batang;Myeongjo;ì¬êµ´ë¦¼;SunGulim;Gulim;Roundgothic;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;SansSerif</value> + </prop> + <prop oor:name="SANS_UNICODE" oor:type="xs:string" oor:op="replace"> + <value>ì¬êµ´ë¦¼;SunGulim;Gulim;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif</value> diff --git a/patches/OOO_1_1/no-splash-takeover.patch b/patches/OOO_1_1/no-splash-takeover.patch index 632e24458..167e44bd6 100644 --- a/patches/OOO_1_1/no-splash-takeover.patch +++ b/patches/OOO_1_1/no-splash-takeover.patch @@ -1,6 +1,6 @@ ---- vcl/source/window/introwin.cxx.nosplashontop 2003-11-17 17:52:25.000000000 -0500 -+++ vcl/source/window/introwin.cxx 2003-11-17 17:52:36.000000000 -0500 -@@ -126,10 +126,10 @@ +--- vcl/source/window/introwin.cxx ++++ vcl/source/window/introwin.cxx +@@ -114,10 +120,11 @@ void IntroWindow::ImplInitData() // ----------------------------------------------------------------------- IntroWindow::IntroWindow( ) : @@ -10,6 +10,7 @@ ImplInitData(); - WorkWindow::ImplInit( 0, WB_INTROWIN, NULL ); + WorkWindow::ImplInit( 0, WB_NOBORDER, NULL ); ++ SetText(XubString(RTL_CONSTASCII_USTRINGPARAM("OpenOffice.org..."))); } // ----------------------------------------------------------------------- diff --git a/patches/OOO_1_1/novell-japanese-fonts.diff b/patches/OOO_1_1/novell-japanese-fonts.diff index 870f8103b..1d41ce06e 100644 --- a/patches/OOO_1_1/novell-japanese-fonts.diff +++ b/patches/OOO_1_1/novell-japanese-fonts.diff @@ -1,6 +1,6 @@ ---- officecfg/registry/data/org/openoffice/VCL.xcu.orig 2004-09-23 17:24:21.660322994 +0200 -+++ officecfg/registry/data/org/openoffice/VCL.xcu 2004-09-23 17:33:21.481583768 +0200 -@@ -452,25 +452,25 @@ +--- officecfg/registry/data/org/openoffice/VCL.xcu 2005-01-18 13:36:29.538302380 -0800 ++++ officecfg/registry/data/org/openoffice/VCL.xcu 2005-01-18 13:39:04.100290571 -0800 +@@ -457,25 +457,25 @@ </node> <node oor:name="ja-jp" oor:op="replace"> <prop oor:name="CJK_HEADING" oor:type="xs:string" oor:op="replace"> @@ -13,11 +13,11 @@ </prop> <prop oor:name="CJK_SPREADSHEET" oor:type="xs:string" oor:op="replace"> - <value>Andale Sans UI;MS P ゴシック;TLPゴシック;LXゴシック;æ±é¢¨ã‚´ã‚·ãƒƒã‚¯;kochigothic;Gothic;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS PGothic;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> -+ <value>Andale Sans UI;MS P ゴシック;HGPGothicB;TLPゴシック;LXゴシック;IPAPGothic;Sazanami Gothic;æ±é¢¨ã‚´ã‚·ãƒƒã‚¯;kochigothic;Gothic;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS PGothic;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> ++ <value>Andale Sans UI;MS P ゴシック;HGPGothicB;TLPゴシック;LXゴシック;IPAPGothic;Sazanami Gothic;æ±é¢¨ã‚´ã‚·ãƒƒã‚¯;kochigothic;Gothic;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS PGothic;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma</value> </prop> <prop oor:name="CJK_TEXT" oor:type="xs:string" oor:op="replace"> - <value>HG Mincho Light J;MS P 明æœ;TLP明æœ;LX明æœ;æ±é¢¨æ˜Žæœ;Kochi Mincho;Mincho;Thorndale;Times New Roman;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> -+ <value>HG Mincho Light J;MS P 明æœ;HGPMinchoL;TLP明æœ;LX明æœ;IPAPMincho;Sazanami Mincho;æ±é¢¨æ˜Žæœ;Kochi Mincho;Mincho;Thorndale AMT;Thorndale;Times New Roman;Nimbus Roman No9 L;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> ++ <value>HG Mincho Light J;MS P 明æœ;HGPMinchoL;TLP明æœ;LX明æœ;IPAPMincho;Sazanami Mincho;æ±é¢¨æ˜Žæœ;Kochi Mincho;Mincho;Thorndale AMT;Thorndale;Times New Roman;Nimbus Roman No9 L;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif</value> </prop> <prop oor:name="UI_FIXED" oor:type="xs:string" oor:op="replace"> - <value>HG Mincho Light J;MS P ゴシック;TLPゴシック;LXゴシック;æ±é¢¨ã‚´ã‚·ãƒƒã‚¯;kochigothic;Gothic;Cumberland;Courier New;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> @@ -29,16 +29,7 @@ </prop> <prop oor:name="UI_SANS" oor:type="xs:string" oor:op="replace"> - <value>Andale Sans UI;HG Mincho Light J;MS UI Gothic;TLPゴシック;LXゴシック;æ±é¢¨ã‚´ã‚·ãƒƒã‚¯;kochigothic;Gothic;gnu-unifont</value> -+ <value>Andale Sans UI;HG Mincho Light J;MS UI Gothic;HGPGothicB;TLPゴシック;LXゴシック;IPAUIGothic;Sazanami Gothic;æ±é¢¨ã‚´ã‚·ãƒƒã‚¯;kochigothic;Gothic;gnu-unifont</value> ++ <value>æ–¹æ£å®‹ä½“;Andale Sans UI;ZYSong18030;AR PL SungtiL GB;AR PL KaitiM GB;SimSun;Arial Unicode MS;Fangsong;Hei;Song;Kai;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif</value> </prop> <prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace"> <value>HG Mincho Light J;Cumberland;Courier New;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> -@@ -502,7 +502,7 @@ - <value>æ–¹æ£å®‹ä½“;MSung Light SC;Cumberland;Courier New;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced</value> - </prop> - <prop oor:name="UI_SANS" oor:type="xs:string" oor:op="replace"> -- <value>Andale Sans UI;ZYSong18030;AR PL SungtiL GB;AR PL KaitiM GB;SimSun;Arial Unicode MS;Fangsong;Hei;Song;Kai;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif</value> -+ <value>æ–¹æ£å®‹ä½“;Andale Sans UI;ZYSong18030;AR PL SungtiL GB;AR PL KaitiM GB;SimSun;Arial Unicode MS;Fangsong;Hei;Song;Kai;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif</value> - </prop> - </node> - <node oor:name="zh-tw" oor:op="replace"> diff --git a/patches/OOO_1_1/rpath-origin-python.diff b/patches/OOO_1_1/rpath-origin-python.diff new file mode 100644 index 000000000..e79069f21 --- /dev/null +++ b/patches/OOO_1_1/rpath-origin-python.diff @@ -0,0 +1,16 @@ +--- python/makefile.mk ++++ python/makefile.mk +@@ -200,9 +200,13 @@ $(PYTHONCORESHL) : makefile.mk $(PACKAGE + .IF "$(OS)" == "MACOSX" + cp $(MISC)$/build$/$(TARFILE_NAME)$/$(DLLPRE)python$(PYMAJOR).$(PYMINOR)$(DLLPOST) $(OUT)$/lib + .ELSE ++.IF "$(OS)" == "LINUX" ++ ld -shared -o $@ -rpath \''$$ORIGIN'\' --whole-archive $(MISC)$/build$/$(TARFILE_NAME)$/libpython$(PYMAJOR).$(PYMINOR).a --no-whole-archive -soname libpython.so.$(PYMAJOR) -lm -ldl -lutil -lc -lpthread ++.ELSE + echo "$(OS)" + ld -shared -o $@ --whole-archive $(MISC)$/build$/$(TARFILE_NAME)$/libpython$(PYMAJOR).$(PYMINOR).a --no-whole-archive -soname libpython.so.$(PYMAJOR) -lm -ldl -lutil -lc -lpthread + .ENDIF # MACOSX ++.ENDIF # LINUX + .ENDIF # IRIX + .ENDIF # NETBSD + .ENDIF # FREEBSD diff --git a/patches/OOO_1_1/sc-autofilter-empty-nonempty.diff b/patches/OOO_1_1/sc-autofilter-empty-nonempty.diff new file mode 100644 index 000000000..564dd650a --- /dev/null +++ b/patches/OOO_1_1/sc-autofilter-empty-nonempty.diff @@ -0,0 +1,42 @@ +--- /home/sragavan/cvs/bk/ooo-build/build/OOO_1_1_2/sc/source/ui/view/gridwin.cxx 2003-06-02 12:58:42.000000000 +0530 ++++ sc/source/ui/view/gridwin.cxx 2004-10-11 11:22:24.000000000 +0530 +@@ -159,6 +159,8 @@ + #define SC_AUTOFILTER_ALL 0 + #define SC_AUTOFILTER_CUSTOM 1 + #define SC_AUTOFILTER_TOP10 2 ++#define SC_AUTOFILTER_EMPTY 3 ++#define SC_AUTOFILTER_NOTEMPTY 4 + + // Modi fuer die FilterListBox + enum ScFilterBoxMode +@@ -711,7 +713,7 @@ + long nMaxText = 0; + + // default entries +- static const USHORT nDefIDs[] = { SCSTR_ALL, SCSTR_STDFILTER, SCSTR_TOP10FILTER }; ++ static const USHORT nDefIDs[] = { SCSTR_ALL, SCSTR_STDFILTER, SCSTR_TOP10FILTER, SCSTR_EMPTY, SCSTR_NOTEMPTY }; + const USHORT nDefCount = sizeof(nDefIDs) / sizeof(USHORT); + for (i=0; i<nDefCount; i++) + { +@@ -1087,6 +1089,21 @@ + rNewEntry.eOp = SC_TOPVAL; + *rNewEntry.pStr = String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("10")); + } ++ else if (nSel == SC_AUTOFILTER_EMPTY) ++ { ++ rNewEntry.pStr->Erase(); ++ rNewEntry.bQueryByString = FALSE; ++ rNewEntry.eOp = SC_EQUAL; ++ rNewEntry.nVal = SC_EMPTYFIELDS; ++ ++ } ++ else if (nSel == SC_AUTOFILTER_NOTEMPTY) ++ { ++ rNewEntry.pStr->Erase(); ++ rNewEntry.bQueryByString = FALSE; ++ rNewEntry.eOp = SC_EQUAL; ++ rNewEntry.nVal = SC_NONEMPTYFIELDS; ++ } + else + { + rNewEntry.eOp = SC_EQUAL; diff --git a/patches/OOO_1_1/sc-datapilot-autoformat.diff b/patches/OOO_1_1/sc-datapilot-autoformat.diff new file mode 100644 index 000000000..d5d229b69 --- /dev/null +++ b/patches/OOO_1_1/sc-datapilot-autoformat.diff @@ -0,0 +1,406 @@ +diff -u -r ../OOO_1_1_3_bak/sc/idl/pivotsh.idl sc/idl/pivotsh.idl +--- ../OOO_1_1_3_bak/sc/idl/pivotsh.idl 2004-10-20 10:04:47.000000000 +0530 ++++ sc/idl/pivotsh.idl 2004-11-17 10:31:29.000000000 +0530 +@@ -64,6 +64,7 @@ + + SID_PIVOT_RECALC [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ] + SID_PIVOT_KILL [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ] ++ SID_PIVOT_AFMT [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ] + } + + shell ScPivotShell +diff -u -r ../OOO_1_1_3_bak/sc/idl/scalc.idl sc/idl/scalc.idl +--- ../OOO_1_1_3_bak/sc/idl/scalc.idl 2004-10-20 10:04:47.000000000 +0530 ++++ sc/idl/scalc.idl 2004-11-17 11:26:06.000000000 +0530 +@@ -326,6 +326,63 @@ + ] + + //-------------------------------------------------------------------------- ++SfxVoidItem AutoFormatPivotTable SID_PIVOT_AFMT ++( ) ++[ ++// ### ACHTUNG: Neuer ConfigName in Resource? "Datenpilottabelle l<94>schen" : "Datenpilottabelle löschen" ++ ConfigName = "Datenpilottabelle l<94>schen" ; ++// ### ACHTUNG: Neuer Helptext in Resource? "Datenpilottabelle l<94>schen" : "Datenpilottabelle löschen" ++ HelpText = "Datenpilottabelle l<94>schen" ; ++ ++ /* flags: */ ++ AutoUpdate = FALSE , ++ Cachable = Cachable , ++ FastCall = FALSE , ++ HasCoreId = FALSE , ++ HasDialog = FALSE , ++ ReadOnlyDoc = TRUE , ++ Toggle = FALSE , ++ Synchron ; ++ ++ /* plugin: */ ++ Container = FALSE , ++ PlugComm = FALSE , ++ ++ /* api: */ ++ Export = TRUE , ++ IsCollection = FALSE , ++ RecordAbsolute = FALSE , ++ RecordPerSet ; ++ ++ /* config: */ ++ AccelConfig = FALSE , ++ MenuConfig = TRUE , ++ StatusBarConfig = FALSE , ++ ToolBoxConfig = FALSE , ++ GroupId = GID_DATA ; ++ //idlpp ConfigName [ english_us ] = "Delete DataPilot Table" ; ++ //idlpp HelpText [ english_us ] = "Delete DataPilot table" ; ++ //idlpp ConfigName [ portuguese ] = "Eliminar tabela do Piloto de dados" ; ++ //idlpp HelpText [ portuguese ] = "Elimina a tabela do Piloto de dados" ; ++ //idlpp ConfigName [ dutch ] = "Datapiloottabel wissen" ; ++ //idlpp HelpText [ dutch ] = "Datapiloottabel wissen" ; ++ //idlpp ConfigName [ french ] = "Supprimer tableau analytique du DataPilote" ; ++ //idlpp HelpText [ french ] = "Supprime le tableau analytique du DataPilote" ; ++ //idlpp ConfigName [ spanish ] = "Eliminar tabla del Piloto de datos" ; ++ //idlpp HelpText [ spanish ] = "Eliminar la tabla del piloto de datos" ; ++ //idlpp ConfigName [ italian ] = "Elimina tabella DataPilot" ; ++ //idlpp HelpText [ italian ] = "Datenpilottabelle löschen" ; ++ //idlpp ConfigName [ danish ] = "DeletePivotTable" ; ++ //idlpp HelpText [ danish ] = "Datenpilottabelle löschen" ; ++ //idlpp ConfigName [ swedish ] = "Ta bort datapilottabell" ; ++ //idlpp HelpText [ swedish ] = "Ta bort datapilottabell" ; ++ //idlpp ConfigName [ portuguese_brazilian ] = "DeletePivotTable" ; ++ //idlpp HelpText [ portuguese_brazilian ] = "Datenpilottabelle löschen" ; ++] ++ ++ ++ ++ //-------------------------------------------------------------------------- + SfxVoidItem DefineDBName SID_DEFINE_DBNAME + ( ) + [ +diff -u -r ../OOO_1_1_3_bak/sc/inc/dpobject.hxx sc/inc/dpobject.hxx +--- ../OOO_1_1_3_bak/sc/inc/dpobject.hxx 2004-10-20 10:04:48.000000000 +0530 ++++ sc/inc/dpobject.hxx 2004-11-17 16:07:35.669577984 +0530 +@@ -131,7 +131,7 @@ + ScDPOutput* pOutput; + BOOL bSettingsChanged; + BOOL bAlive; // FALSE if only used to hold settings +- ++ USHORT nAutoFormatIndex; + + void CreateObjects(); + void CreateOutput(); +@@ -157,6 +157,9 @@ + void SetOutRange(const ScRange& rRange); + const ScRange& GetOutRange() const { return aOutRange; } + ++ void SetAutoFormatIndex (const USHORT nIndex); ++ const USHORT GetAutoFormatIndex () { if (this == NULL) return 65535; else return nAutoFormatIndex; } ++ + void SetSheetDesc(const ScSheetSourceDesc& rDesc); + void SetImportDesc(const ScImportSourceDesc& rDesc); + void SetServiceData(const ScDPServiceDesc& rDesc); +diff -u -r ../OOO_1_1_3_bak/sc/inc/sc.hrc sc/inc/sc.hrc +--- ../OOO_1_1_3_bak/sc/inc/sc.hrc 2004-10-20 10:04:48.000000000 +0530 ++++ sc/inc/sc.hrc 2004-11-17 14:08:31.000000000 +0530 +@@ -1575,6 +1575,7 @@ + + #define RID_SCDLG_LINKAREA (SC_DIALOGS_START + 132) + ++#define SID_PIVOT_AFMT (SC_DIALOGS_START + 133) + #define SC_DIALOGS_END (SC_DIALOGS_START + 150) + + #ifndef STD_MASKCOLOR +diff -u -r ../OOO_1_1_3_bak/sc/sdi/pivotsh.sdi sc/sdi/pivotsh.sdi +--- ../OOO_1_1_3_bak/sc/sdi/pivotsh.sdi 2004-10-20 10:04:54.000000000 +0530 ++++ sc/sdi/pivotsh.sdi 2004-11-17 14:55:13.000000000 +0530 +@@ -5,6 +5,7 @@ + SID_PIVOT_RECALC [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ] + SID_PIVOT_KILL [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ] + SID_DP_FILTER [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ] ++ SID_PIVOT_AFMT [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ] + } + + shell ScPivotShell +diff -u -r ../OOO_1_1_3_bak/sc/sdi/scalc.sdi sc/sdi/scalc.sdi +--- ../OOO_1_1_3_bak/sc/sdi/scalc.sdi 2004-10-20 10:04:54.000000000 +0530 ++++ sc/sdi/scalc.sdi 2004-11-17 14:59:48.000000000 +0530 +@@ -1846,6 +1846,31 @@ + GroupId = GID_DATA; + ] + ++SfxVoidItem AutoFormatPivotTable SID_PIVOT_AFMT ++() ++[ ++ /* flags: */ ++ AutoUpdate = FALSE, ++ Cachable = Cachable, ++ FastCall = FALSE, ++ HasCoreId = FALSE, ++ HasDialog = FALSE, ++ ReadOnlyDoc = TRUE, ++ Toggle = FALSE, ++ Container = FALSE, ++ RecordAbsolute = FALSE, ++ RecordPerSet; ++ Synchron; ++ ++ /* config: */ ++ AccelConfig = FALSE, ++ MenuConfig = TRUE, ++ StatusBarConfig = FALSE, ++ ToolBoxConfig = FALSE, ++ GroupId = GID_DATA; ++] ++ ++ + //-------------------------------------------------------------------------- + SfxVoidItem DeletePrintArea SID_DELETE_PRINTAREA + () +diff -u -r ../OOO_1_1_3_bak/sc/source/core/data/dpobject.cxx sc/source/core/data/dpobject.cxx +--- ../OOO_1_1_3_bak/sc/source/core/data/dpobject.cxx 2004-10-20 10:05:04.000000000 +0530 ++++ sc/source/core/data/dpobject.cxx 2004-10-28 14:59:46.000000000 +0530 +@@ -171,6 +171,7 @@ + pImpDesc( NULL ), + pServDesc( NULL ), + pOutput( NULL ), ++ nAutoFormatIndex(65535), + bSettingsChanged( FALSE ) + { + } +@@ -182,6 +183,7 @@ + aTableName( r.aTableName ), + aTableTag( r.aTableTag ), + aOutRange( r.aOutRange ), ++ nAutoFormatIndex(r.nAutoFormatIndex), + pSheetDesc( NULL ), + pImpDesc( NULL ), + pServDesc( NULL ), +@@ -226,6 +228,11 @@ + InvalidateData(); // re-init source from SaveData + } + ++void ScDPObject::SetAutoFormatIndex(const USHORT nIndex) ++{ ++ nAutoFormatIndex = nIndex; ++} ++ + void ScDPObject::SetOutRange(const ScRange& rRange) + { + aOutRange = rRange; +diff -u -r ../OOO_1_1_3_bak/sc/source/ui/docshell/dbdocfun.cxx sc/source/ui/docshell/dbdocfun.cxx +--- ../OOO_1_1_3_bak/sc/source/ui/docshell/dbdocfun.cxx 2004-10-20 10:05:03.000000000 +0530 ++++ sc/source/ui/docshell/dbdocfun.cxx 2004-10-29 09:10:47.000000000 +0530 +@@ -1357,6 +1357,37 @@ + delete pNewUndoDoc; + delete pUndoDPObj; + ++ if (const_cast<ScDPObject *>(pNewObj)->GetAutoFormatIndex() != 65535) ++ { ++ ScViewData* pViewData = rDocShell.GetViewData(); ++ ScDocument* pDoc = pViewData->GetDocument(); ++ rDocShell.GetViewData()->GetViewShell()->GetDBData( TRUE, SC_DB_OLD ); ++ const ScMarkData& rMark1 = pViewData->GetMarkData(); ++ USHORT nStartCol; ++ USHORT nStartRow; ++ USHORT nStartTab; ++ USHORT nEndCol; ++ USHORT nEndRow; ++ USHORT nEndTab; ++ ++ rDocShell.GetViewData()->GetSimpleArea( nStartCol,nStartRow,nStartTab, ++ nEndCol,nEndRow,nEndTab ); ++ ScRange Outrange = pNewObj->GetOutRange(); ++ if (( (Outrange.aStart.Col() <= nStartCol) && (nStartCol <= Outrange.aEnd.Col() )&& (nStartTab == Outrange.aStart.Tab())) ++ && ( (Outrange.aStart.Row() <= nStartRow) && (nStartRow <= Outrange.aEnd.Row() )) ) ++ { ++ ++ if ( !rMark1.IsMarked() && !rMark1.IsMultiMarked() ) ++ rDocShell.GetViewData()->GetViewShell()->MarkDataArea( TRUE ); ++ //FIXME: Autoformat even when clicked from a non-dp cell. ++ pViewData->MoveNextRow(); ++ rDocShell.GetViewData()->GetViewShell()->AutoFormat( const_cast<ScDPObject *>(pNewObj)->GetAutoFormatIndex()); ++ rDocShell.GetViewData()->GetViewShell()->AutoFormatPivotTable( const_cast<ScDPObject *>(pNewObj), const_cast<ScDPObject *>(pNewObj)->GetAutoFormatIndex() ); ++ pViewData->MovePrevRow(); ++ } ++ } ++ ++ + if (bDone) + aModificator.SetDocumentModified(); + +diff -u -r ../OOO_1_1_3_bak/sc/source/ui/inc/dbfunc.hxx sc/source/ui/inc/dbfunc.hxx +--- ../OOO_1_1_3_bak/sc/source/ui/inc/dbfunc.hxx 2004-10-20 10:04:56.000000000 +0530 ++++ sc/source/ui/inc/dbfunc.hxx 2004-10-28 15:27:28.000000000 +0530 +@@ -112,7 +112,9 @@ + const ScDPObject& rSource, BOOL bApi = FALSE ); + void DeletePivotTable(); + void RecalcPivotTable(); +- ++ void AutoFormatPivotTable(USHORT nIndex); ++ void AutoFormatPivotTable(ScDPObject* pDPObj, USHORT nIndex); ++ + void MakeOutline( BOOL bColumns, BOOL bRecord = TRUE ); + void RemoveOutline( BOOL bColumns, BOOL bRecord = TRUE ); + void RemoveAllOutlines( BOOL bRecord = TRUE ); +diff -u -r ../OOO_1_1_3_bak/sc/source/ui/inc/viewdata.hxx sc/source/ui/inc/viewdata.hxx +--- ../OOO_1_1_3_bak/sc/source/ui/inc/viewdata.hxx 2004-10-20 10:04:55.000000000 +0530 ++++ sc/source/ui/inc/viewdata.hxx 2004-10-28 16:32:32.000000000 +0530 +@@ -321,6 +321,8 @@ + + BOOL GetSimpleArea( USHORT& rStartCol, USHORT& rStartRow, USHORT& rStartTab, + USHORT& rEndCol, USHORT& rEndRow, USHORT& rEndTab ); ++ void MoveNextRow(); ++ void MovePrevRow(); + BOOL GetSimpleArea( ScRange& rRange ); + void GetMultiArea( ScRangeListRef& rRange ); + +diff -u -r ../OOO_1_1_3_bak/sc/source/ui/src/popup.src sc/source/ui/src/popup.src +--- ../OOO_1_1_3_bak/sc/source/ui/src/popup.src 2004-10-20 10:04:59.000000000 +0530 ++++ sc/source/ui/src/popup.src 2004-11-17 15:36:31.310003720 +0530 +@@ -1040,6 +1040,14 @@ + Text[ kannada ] = "ಆರಂà²..."; + }; + MenuItem ++ { ++ Identifier = SID_PIVOT_AFMT ; ++ HelpId = SID_PIVOT_AFMT ; ++ Text = "A~ktualisieren" ; ++ Text [ ENGLISH ] = "~AutoFormat..." ; ++ Text [ english_us ] = "~AutoFormat..." ; ++ }; ++ MenuItem + { + Identifier = SID_PIVOT_RECALC ; + HelpId = SID_PIVOT_RECALC ; +diff -u -r ../OOO_1_1_3_bak/sc/source/ui/view/dbfunc3.cxx sc/source/ui/view/dbfunc3.cxx +--- ../OOO_1_1_3_bak/sc/source/ui/view/dbfunc3.cxx 2004-10-20 10:05:00.000000000 +0530 ++++ sc/source/ui/view/dbfunc3.cxx 2004-10-28 15:26:15.000000000 +0530 +@@ -679,7 +679,29 @@ + else + ErrorMessage(STR_PIVOT_NOTFOUND); + } ++void ScDBFunc::AutoFormatPivotTable(USHORT nIndex) ++{ ++ ScDocShell* pDocSh = GetViewData()->GetDocShell(); ++ ScDocument* pDoc = GetViewData()->GetDocument(); ++ ++ // old pivot not used any more + ++ ScDPObject* pDPObj = pDoc->GetDPAtCursor( GetViewData()->GetCurX(), ++ GetViewData()->GetCurY(), ++ GetViewData()->GetTabNo() ); ++ if ( pDPObj ) ++ { ++ pDPObj->SetAutoFormatIndex(nIndex); ++ } ++ else ++ ErrorMessage(STR_PIVOT_NOTFOUND); ++ ++} ++ ++void ScDBFunc::AutoFormatPivotTable(ScDPObject* pDPObj, USHORT nIndex) ++{ ++ pDPObj->SetAutoFormatIndex(nIndex); ++} + + // + // DB-Operationen (Sortieren, Filtern, Teilergebnisse) wiederholen +diff -u -r ../OOO_1_1_3_bak/sc/source/ui/view/pivotsh.cxx sc/source/ui/view/pivotsh.cxx +--- ../OOO_1_1_3_bak/sc/source/ui/view/pivotsh.cxx 2004-10-20 10:05:00.000000000 +0530 ++++ sc/source/ui/view/pivotsh.cxx 2004-11-17 10:29:37.000000000 +0530 +@@ -87,6 +87,9 @@ + #include "dbdocfun.hxx" + #include "uiitems.hxx" + #include "pfiltdlg.hxx" ++#include "autoform.hxx" ++#include "autofmt.hxx" ++#include "editable.hxx" + + //------------------------------------------------------------------------ + +@@ -125,13 +128,56 @@ + { + switch ( rReq.GetSlot() ) + { +- case SID_PIVOT_RECALC: +- pViewShell->RecalcPivotTable(); +- break; ++ case SID_PIVOT_AFMT: ++ { ++ ScViewData* pViewData = pViewShell->GetViewData(); ++ ++ pViewShell->GetDBData( TRUE, SC_DB_OLD ); ++ const ScMarkData& rMark1 = pViewData->GetMarkData(); ++ if ( !rMark1.IsMarked() && !rMark1.IsMultiMarked() ) ++ pViewShell->MarkDataArea( TRUE ); ++ ++ Window* pDlgParent = pViewShell->GetDialogParent(); ++ ++ pViewData->MoveNextRow(); ++ ++ ScGlobal::ClearAutoFormat(); ++ ScAutoFormatData* pNewEntry = pViewShell->CreateAutoFormatData(); ++ ScAutoFormatDlg* pDlg = new ScAutoFormatDlg( ++ pDlgParent, ++ ScGlobal::GetAutoFormat(), ++ pNewEntry, ++ pViewShell->GetViewData()->GetDocument() ); ++ ++ if ( pDlg->Execute() == RET_OK ) ++ { ++ ScEditableTester aTester( pViewShell ); ++ if ( !aTester.IsEditable() ) ++ { ++ pViewShell->ErrorMessage(aTester.GetMessageId()); ++ } ++ else ++ { ++ /* AutoFormat and Store the index */ ++ pViewShell->AutoFormat( pDlg->GetIndex() ); ++ pViewShell->AutoFormatPivotTable( pDlg->GetIndex() ); ++ } ++ } ++ delete pDlg; ++ delete pNewEntry; ++ + ++ //pViewShell->DeletePivotTable(); ++ //pViewShell->RecalcPivotTable(); ++ break; ++ } + case SID_PIVOT_KILL: + pViewShell->DeletePivotTable(); + break; ++ case SID_PIVOT_RECALC: ++ //pViewShell->DeletePivotTable(); ++ pViewShell->RecalcPivotTable(); ++ break; + + case SID_DP_FILTER: + { +diff -u -r ../OOO_1_1_3_bak/sc/source/ui/view/viewdata.cxx sc/source/ui/view/viewdata.cxx +--- ../OOO_1_1_3_bak/sc/source/ui/view/viewdata.cxx 2004-10-20 10:05:00.000000000 +0530 ++++ sc/source/ui/view/viewdata.cxx 2004-10-28 16:32:16.000000000 +0530 +@@ -645,6 +645,23 @@ + aLogicMode.SetScaleY( GetZoomY() ); + } + ++void ScViewData::MoveNextRow() ++{ ++ ScRange aMarkRange; ++ aMarkData.GetMarkArea(aMarkRange); ++ aMarkRange.aStart.Set(aMarkRange.aStart.Col(), aMarkRange.aStart.Row() +1, aMarkRange.aStart.Tab()); ++ aMarkData.SetMarkArea(aMarkRange); ++} ++ ++void ScViewData::MovePrevRow() ++{ ++ ScRange aMarkRange; ++ aMarkData.GetMarkArea(aMarkRange); ++ aMarkRange.aStart.Set(aMarkRange.aStart.Col(), aMarkRange.aStart.Row() -1, aMarkRange.aStart.Tab()); ++ aMarkData.SetMarkArea(aMarkRange); ++} ++ ++ + BOOL ScViewData::GetSimpleArea( USHORT& rStartCol, USHORT& rStartRow, USHORT& rStartTab, + USHORT& rEndCol, USHORT& rEndRow, USHORT& rEndTab ) + { diff --git a/patches/OOO_1_1/sc-dp-fix.diff b/patches/OOO_1_1/sc-dp-fix.diff new file mode 100644 index 000000000..cbc4e3497 --- /dev/null +++ b/patches/OOO_1_1/sc-dp-fix.diff @@ -0,0 +1,63 @@ +diff -u -r sc.prev/source/ui/dbgui/pvlaydlg.cxx sc/source/ui/dbgui/pvlaydlg.cxx +--- sc.prev/source/ui/dbgui/pvlaydlg.cxx 2005-02-09 09:29:56.097118264 +0530 ++++ sc/source/ui/dbgui/pvlaydlg.cxx 2005-02-09 09:31:47.654159016 +0530 +@@ -1380,7 +1380,7 @@ + { + if ( aBtnMore.GetState() ) + { +- bRefInputMode = TRUE; ++ bRefInputMode = FALSE; + //@BugID 54702 Enablen/Disablen nur noch in Basisklasse + //SFX_APPWINDOW->Enable(); + aEdOutPos.Enable(); +diff -u -r sc.prev/source/ui/inc/anyrefdg.hxx sc/source/ui/inc/anyrefdg.hxx +--- sc.prev/source/ui/inc/anyrefdg.hxx 2005-02-09 09:29:55.808162192 +0530 ++++ sc/source/ui/inc/anyrefdg.hxx 2005-02-09 09:35:37.740180624 +0530 +@@ -128,6 +128,7 @@ + Image aImgRefDoneHC; /// Stop reference input (high contrast) + ScAnyRefDlg* pAnyRefDlg; // parent dialog + ScRefEdit* pRefEdit; // zugeordnetes Edit-Control ++ BOOL bState; + + protected: + virtual void Click(); +diff -u -r sc.prev/source/ui/inc/pvlaydlg.hxx sc/source/ui/inc/pvlaydlg.hxx +--- sc.prev/source/ui/inc/pvlaydlg.hxx 2005-02-09 09:29:55.841157176 +0530 ++++ sc/source/ui/inc/pvlaydlg.hxx 2005-02-09 09:36:07.703625488 +0530 +@@ -133,6 +133,7 @@ + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + virtual BOOL IsRefInputMode() const { return bRefInputMode; } ++ void SetRefInputMode (BOOL bMode) { bRefInputMode = bMode; } + virtual void SetActive(); + virtual BOOL Close(); + +diff -u -r sc.prev/source/ui/miscdlgs/anyrefdg.cxx sc/source/ui/miscdlgs/anyrefdg.cxx +--- sc.prev/source/ui/miscdlgs/anyrefdg.cxx 2005-02-09 09:29:56.236097136 +0530 ++++ sc/source/ui/miscdlgs/anyrefdg.cxx 2005-02-09 09:59:40.354869856 +0530 +@@ -95,6 +95,7 @@ + #include "cell.hxx" + #include "global.hxx" + #include "inputopt.hxx" ++#include "pvlaydlg.hxx" + + //---------------------------------------------------------------------------- + +@@ -286,6 +287,7 @@ + pAnyRefDlg( pParent ), + pRefEdit( pEdit ) + { ++ bState = FALSE; + SetStartImage(); + } + +@@ -323,6 +325,9 @@ + + void ScRefButton::Click() + { ++ bState = !bState; ++ ScDPLayoutDlg *pDlg = (ScDPLayoutDlg *) this->pAnyRefDlg; ++ pDlg->SetRefInputMode (bState); + if( pAnyRefDlg ) + pAnyRefDlg->ToggleCollapsed( pRefEdit, this ); + } diff --git a/patches/OOO_1_1/sc-no-delete-filteredrows.diff b/patches/OOO_1_1/sc-no-delete-filteredrows.diff new file mode 100644 index 000000000..eee9ed408 --- /dev/null +++ b/patches/OOO_1_1/sc-no-delete-filteredrows.diff @@ -0,0 +1,94 @@ +Index: sc/source/core/data/column.cxx +=================================================================== +--- sc/source/core/data/column.cxx.orig 2004-11-26 13:35:37.996537216 +0000 ++++ sc/source/core/data/column.cxx 2004-11-26 17:09:57.853541792 +0000 +@@ -1322,6 +1322,9 @@ void ScColumn::CopyToClip(USHORT nRow1, + for (i = 0; i < nCount; i++) + if ((pItems[i].nRow >= nRow1) && (pItems[i].nRow <= nRow2)) + { ++ ++ if ( pDocument->RowFiltered( pItems[i].nRow , nTab)) ++ continue; + if (!nBlockCount) + nStartIndex = i; + nEndIndex = i; +@@ -1342,7 +1345,11 @@ void ScColumn::CopyToClip(USHORT nRow1, + { + rColumn.Resize( rColumn.GetCellCount() + nBlockCount ); + for (i = nStartIndex; i <= nEndIndex; i++) ++ { ++ if ( pDocument->RowFiltered( pItems[i].nRow , nTab)) ++ continue; + rColumn.Append(pItems[i].nRow, pItems[i].pCell->Clone(rColumn.pDocument)); ++ } + } + } + +Index: sc/source/core/data/column3.cxx +=================================================================== +--- sc/source/core/data/column3.cxx.orig 2004-11-26 13:35:37.999536760 +0000 ++++ sc/source/core/data/column3.cxx 2004-11-26 17:09:57.867539664 +0000 +@@ -398,6 +398,17 @@ void ScColumn::DeleteRange( USHORT nStar + BOOL bSimple = ((nDelFlag & IDF_CONTENTS) == IDF_CONTENTS); + USHORT i; + ++ /* ++ *If we are deleting a range that has filtered column, let it not be simple ++ */ ++ ++ if (bSimple) ++ { ++ for (i = nStartIndex; i <= nEndIndex && bSimple; i++) ++ if ( pDocument->RowFiltered(pItems[i].nRow, nTab)) ++ bSimple = FALSE; ++ } ++ + // Notiz-Zeichenobjekte + if (nDelFlag & IDF_NOTE) + { +@@ -452,6 +463,16 @@ void ScColumn::DeleteRange( USHORT nStar + BOOL bDelete = FALSE; + ScBaseCell* pOldCell = pItems[j].pCell; + CellType eCellType = pOldCell->GetCellType(); ++ ++ /* ++ * If the rows are filtered continue instead deleting. ++ */ ++ if ( pDocument->RowFiltered( pItems[j].nRow, nTab)) ++ { ++ ++j; ++ continue; ++ } ++ + switch ( eCellType ) + { + case CELLTYPE_VALUE: +Index: sc/inc/document.hxx +=================================================================== +--- sc/inc/document.hxx.orig 2004-11-26 13:35:38.064526880 +0000 ++++ sc/inc/document.hxx 2004-11-26 17:10:55.795733240 +0000 +@@ -508,6 +508,8 @@ public: + long GetWeightedCount() const; // Formeln und Edit staerker gewichtet + ULONG GetCodeCount() const; // RPN-Code in Formeln + DECL_LINK( GetUserDefinedColor, USHORT * ); ++ BOOL RowFiltered( USHORT nRow, USHORT nTab ) const; // FillInfo ++ BOOL ColFiltered( USHORT nCol, USHORT nTab ) const; // FillInfo + // Numberformatter + + public: +@@ -1698,6 +1700,15 @@ inline BOOL ScDocument::RowHidden( USHOR + return ( pTab[nTab]->pRowFlags[nRow] & CR_HIDDEN ) != 0; + } + ++inline BOOL ScDocument::ColFiltered( USHORT nCol, USHORT nTab ) const ++{ ++ return ( pTab[nTab]->pColFlags[nCol] & CR_FILTERED) != 0; ++} ++ ++inline BOOL ScDocument::RowFiltered( USHORT nRow, USHORT nTab ) const ++{ ++ return pTab[nTab]->IsFiltered(nRow); ++} + + + #endif diff --git a/patches/OOO_1_1/sc-paste-insert-rows.diff b/patches/OOO_1_1/sc-paste-insert-rows.diff new file mode 100644 index 000000000..ef783c7d6 --- /dev/null +++ b/patches/OOO_1_1/sc-paste-insert-rows.diff @@ -0,0 +1,13 @@ +--- /home/sragavan/cvs/bk/ooo-build/build/OOO_1_1_2/sc/source/ui/view/viewfun3.cxx 2003-10-31 21:40:15.000000000 +0530 ++++ sc/source/ui/view/viewfun3.cxx 2004-10-14 13:29:36.754960480 +0530 +@@ -442,8 +442,8 @@ + + if (pOwnClip) + PasteFromClip( IDF_ALL, pOwnClip->GetDocument(), +- PASTE_NOFUNC, FALSE, FALSE, FALSE, INS_NONE, IDF_NONE, +- TRUE ); // allow warning dialog ++ PASTE_NOFUNC, FALSE, FALSE, FALSE, INS_CELLSDOWN, IDF_NONE, ++ FALSE ); + else if (pDrawClip) + PasteDraw(); + else diff --git a/patches/OOO_1_1/sc-standard-filter-options.diff b/patches/OOO_1_1/sc-standard-filter-options.diff new file mode 100644 index 000000000..676d97b2d --- /dev/null +++ b/patches/OOO_1_1/sc-standard-filter-options.diff @@ -0,0 +1,362 @@ +--- /home/sragavan/cvs/bk/ooo-build/build/OOO_1_1_2/sc/inc/global.hxx 2003-04-28 21:00:46.000000000 +0530 ++++ sc/inc/global.hxx 2004-10-08 16:23:48.000000000 +0530 +@@ -1329,6 +1329,8 @@ + + enum ScQueryOp + { ++ SC_BEGINS_WITH, ++ SC_ENDS_WITH, + SC_EQUAL, + SC_LESS, + SC_GREATER, +--- /home/sragavan/cvs/bk/ooo-build/build/OOO_1_1_2/sc/source/ui/dbgui/filtdlg.cxx 2004-01-09 20:11:10.000000000 +0530 ++++ sc/source/ui/dbgui/filtdlg.cxx 2004-10-08 16:24:56.000000000 +0530 +@@ -83,6 +83,7 @@ + #include "viewdata.hxx" + #include "document.hxx" + #include "scresid.hxx" ++#include "docoptio.hxx" + + #include "foptmgr.hxx" + +@@ -219,6 +220,7 @@ + aBtnMore, + aBtnCase, + aBtnRegExp, ++ aBtnWholeWord, + aBtnHeader, + aBtnUnique, + aBtnCopyResult, +@@ -573,6 +575,17 @@ + bCopyPosOk = ( SCA_VALID == (nResult & SCA_VALID) ); + } + ++ /* ++ * The reg exp checkbutton read is moved up, since, ++ * for begins and ends with query we are makeing them as re query transparently ++ * Checking this later spoils the entire transparent work. ++ */ ++ theParam.bRegExp = aBtnRegExp.IsChecked(); ++ ++ ScDocOptions pDocOpts = pDoc->GetDocOptions(); ++ pDocOpts.SetMatchWholeCell(aBtnWholeWord.IsChecked()); ++ pDoc->SetDocOptions(pDocOpts); ++ + for ( USHORT i=0; i<3; i++ ) + { + USHORT nField = aFieldLbArr[i]->GetSelectEntryPos(); +@@ -606,6 +619,19 @@ + } + else + { ++ if (eOp == SC_BEGINS_WITH ) { ++ String tmp ('^'); ++ tmp .Append(aStrVal); ++ ::rtl::OUString str (tmp); ++ aStrVal.Assign(tmp); ++ eOp = SC_EQUAL; ++ theParam.bRegExp = TRUE; ++ } ++ else if (eOp == SC_ENDS_WITH ) { ++ aStrVal.Append (String('$')); ++ eOp = SC_EQUAL; ++ theParam.bRegExp = TRUE; ++ } + *rEntry.pStr = aStrVal; + rEntry.nVal = 0; + rEntry.bQueryByString = TRUE; +@@ -642,7 +668,7 @@ + theParam.bByRow = TRUE; + theParam.bDuplicate = !aBtnUnique.IsChecked(); + theParam.bCaseSens = aBtnCase.IsChecked(); +- theParam.bRegExp = aBtnRegExp.IsChecked(); ++ + theParam.bDestPers = aBtnDestPers.IsChecked(); + + // nur die drei eingestellten - alles andere zuruecksetzen +--- /home/sragavan/cvs/bk/ooo-build/build/OOO_1_1_2/sc/source/ui/inc/filtdlg.hxx 2001-09-24 22:59:58.000000000 +0530 ++++ sc/source/ui/inc/filtdlg.hxx 2004-10-08 12:23:49.000000000 +0530 +@@ -101,6 +101,7 @@ + CheckBox aBtnCase; \ + CheckBox aBtnRegExp; \ + CheckBox aBtnHeader; \ ++ CheckBox aBtnWholeWord; \ + CheckBox aBtnUnique; \ + CheckBox aBtnCopyResult; \ + ListBox aLbCopyArea; \ +@@ -122,6 +123,7 @@ + aFlOptions ( this, ScResId( FL_OPTIONS ) ), \ + aBtnCase ( this, ScResId( BTN_CASE ) ), \ + aBtnRegExp ( this, ScResId( BTN_REGEXP ) ), \ ++ aBtnWholeWord ( this, ScResId( BTN_MATCH) ), \ + aBtnHeader ( this, ScResId( BTN_HEADER ) ), \ + aBtnUnique ( this, ScResId( BTN_UNIQUE ) ), \ + aBtnCopyResult ( this, ScResId( BTN_COPY_RESULT ) ), \ +--- /home/sragavan/cvs/bk/ooo-build/build/OOO_1_1_2/sc/source/ui/inc/filter.hrc 2001-05-21 14:52:56.000000000 +0530 ++++ sc/source/ui/inc/filter.hrc 2004-10-08 12:27:21.000000000 +0530 +@@ -81,7 +81,7 @@ + #define FT_DBAREA_LABEL 10 + #define FT_DBAREA 11 + #define BTN_DEST_PERS 12 +- ++#define BTN_MATCH 13 + // Filter: + #define FT_OP 20 + #define FT_FIELD 21 +--- /home/sragavan/cvs/bk/ooo-build/build/OOO_1_1_2/sc/source/ui/src/filter.src 2004-04-27 22:31:47.000000000 +0530 ++++ sc/source/ui/src/filter.src 2004-10-08 14:55:38.000000000 +0530 +@@ -66,7 +66,7 @@ + HelpId = SID_FILTER ; + Hide = TRUE ; + SVLook = TRUE ; +- Size = MAP_APPFONT ( 298 , 83 ) ; ++ Size = MAP_APPFONT ( 298 , 98 ) ; + Text = "Standardfilter" ; + Text [ ENGLISH ] = "Standard Filter" ; + Text [ norwegian ] = "Standardfilter" ; +@@ -708,12 +708,14 @@ + }; + stringlist [ english_us ] = + { +- < "=" ; Default ; > ; ++ < "Begins with" ; Default ; > ; ++ < "Ends with" ; Default ; > ; ++ < "Equals" ; Default ; > ; + < "<" ; Default ; > ; + < ">" ; Default ; > ; + < "<=" ; Default ; > ; + < ">=" ; Default ; > ; +- < "<>" ; Default ; > ; ++ < "Not equals" ; Default ; > ; + < "Largest" ; Default ; > ; + < "Smallest" ; Default ; > ; + < "Largest %" ; Default ; > ; +@@ -2278,6 +2280,14 @@ + Text[ zulu ] = "Isisho esi~jwayelekile"; + Text[ norwegian_nynorsk ] = "~Regulært uttrykk"; + }; ++ ++ CheckBox BTN_MATCH ++ { ++ Pos = MAP_APPFONT ( 12 , 126 ) ; ++ Size = MAP_APPFONT ( 239 , 10 ) ; ++ Text [ english_us ] = "Search criteria must apply to ~whole cells" ; ++ }; ++ + CheckBox BTN_HEADER + { + Hide = TRUE ; +@@ -2458,7 +2468,7 @@ + { + Border = TRUE ; + Hide = TRUE ; +- Pos = MAP_APPFONT ( 21 , 126 ) ; ++ Pos = MAP_APPFONT ( 21 , 138 ) ; + Size = MAP_APPFONT ( 90 , 90 ) ; + TabStop = TRUE ; + DropDown = TRUE ; +@@ -2467,7 +2477,7 @@ + { + Border = TRUE ; + Hide = TRUE ; +- Pos = MAP_APPFONT ( 115 , 126 ) ; ++ Pos = MAP_APPFONT ( 115 , 138 ) ; + Size = MAP_APPFONT ( 104 , 12 ) ; + TabStop = TRUE ; + }; +@@ -2475,7 +2485,7 @@ + { + QuickHelpText = "Verkleinern" ; + QuickHelpText [ ENGLISH ] = "Shrink" ; +- Pos = MAP_APPFONT ( 221 , 126 ) ; ++ Pos = MAP_APPFONT ( 221 , 138 ) ; + Size = MAP_APPFONT ( 12 , 12 ) ; + TabStop = FALSE ; + QuickHelpText [ english_us ] = "Shrink" ; +@@ -2605,7 +2615,7 @@ + FixedText FT_DBAREA_LABEL + { + Hide = TRUE ; +- Pos = MAP_APPFONT ( 6 , 144 ) ; ++ Pos = MAP_APPFONT ( 6 , 156 ) ; + Size = MAP_APPFONT ( 58 , 8 ) ; + Text = "Datenbereich:" ; + Text [ ENGLISH ] = "Data area:" ; +@@ -3204,10 +3214,10 @@ + Text [ danish ] = "dummy" ; + Text [ french ] = "factice" ; + Text [ swedish ] = "dummy" ; ++ Left = TRUE ; + Text [ dutch ] = "dummy" ; + Text [ spanish ] = "Texto ejemplo" ; + Text [ english_us ] = "dummy" ; +- Left = TRUE ; + Text[ chinese_simplified ] = "æ ·æœ¬"; + Text[ russian ] = "ôèêòèâíûé"; + Text[ polish ] = "Zaœlepka"; +--- /home/sragavan/cvs/bk/ooo-build/build/OOO_1_1_2/sc/source/ui/dbgui/foptmgr.cxx 2001-10-23 14:35:11.000000000 +0530 ++++ sc/source/ui/dbgui/foptmgr.cxx 2004-10-08 16:04:15.000000000 +0530 +@@ -76,6 +76,7 @@ + #include "dbcolect.hxx" + #include "viewdata.hxx" + #include "document.hxx" ++#include "docoptio.hxx" + + #define _FOPTMGR_CXX + #include "foptmgr.hxx" +@@ -111,6 +111,7 @@ + rBtnMore ( refBtnMore ), + rBtnCase ( refBtnCase ), + rBtnRegExp ( refBtnRegExp ), ++ rBtnWholeWord ( refBtnRegExp ), + rBtnHeader ( refBtnHeader ), + rBtnUnique ( refBtnUnique ), + rBtnCopyResult ( refBtnCopyResult ), +@@ -123,9 +124,53 @@ + rStrNoName ( refStrNoName ), + rStrUndefined ( refStrUndefined ) + { +- Init(); ++ Init(FALSE); + } + ++ScFilterOptionsMgr::ScFilterOptionsMgr( ++ Dialog* ptrDlg, ++ ScViewData* ptrViewData, ++ const ScQueryParam& refQueryData, ++ MoreButton& refBtnMore, ++ CheckBox& refBtnCase, ++ CheckBox& refBtnRegExp, ++ CheckBox& refBtnWholeWord, ++ CheckBox& refBtnHeader, ++ CheckBox& refBtnUnique, ++ CheckBox& refBtnCopyResult, ++ CheckBox& refBtnDestPers, ++ ListBox& refLbCopyArea, ++ Edit& refEdCopyArea, ++ ScRefButton& refRbCopyArea, ++ FixedText& refFtDbAreaLabel, ++ FixedInfo& refFtDbArea, ++ FixedLine& refFlOptions, ++ const String& refStrNoName, ++ const String& refStrUndefined ) ++ ++ : pDlg ( ptrDlg ), ++ pViewData ( ptrViewData ), ++ pDoc ( ptrViewData ? ptrViewData->GetDocument() : NULL ), ++ rQueryData ( refQueryData ), ++ rBtnMore ( refBtnMore ), ++ rBtnCase ( refBtnCase ), ++ rBtnRegExp ( refBtnRegExp ), ++ rBtnWholeWord ( refBtnWholeWord), ++ rBtnHeader ( refBtnHeader ), ++ rBtnUnique ( refBtnUnique ), ++ rBtnCopyResult ( refBtnCopyResult ), ++ rBtnDestPers ( refBtnDestPers ), ++ rLbCopyPos ( refLbCopyArea ), ++ rEdCopyPos ( refEdCopyArea ), ++ rRbCopyPos ( refRbCopyArea ), ++ rFtDbAreaLabel ( refFtDbAreaLabel ), ++ rFtDbArea ( refFtDbArea ), ++ rFlOptions ( refFlOptions ), ++ rStrNoName ( refStrNoName ), ++ rStrUndefined ( refStrUndefined ) ++{ ++ Init(TRUE); ++} + + //---------------------------------------------------------------------------- + +@@ -141,7 +186,7 @@ + + //---------------------------------------------------------------------------- + +-void ScFilterOptionsMgr::Init() ++void ScFilterOptionsMgr::Init(BOOL param) + { + DBG_ASSERT( pViewData && pDoc, "Init failed :-/" ); + +@@ -151,6 +196,8 @@ + + rBtnMore.AddWindow( &rBtnCase ); + rBtnMore.AddWindow( &rBtnRegExp ); ++ if (param) ++ rBtnMore.AddWindow(&rBtnWholeWord); + rBtnMore.AddWindow( &rBtnHeader ); + rBtnMore.AddWindow( &rBtnUnique ); + rBtnMore.AddWindow( &rBtnCopyResult ); +@@ -160,13 +207,18 @@ + rBtnMore.AddWindow( &rRbCopyPos ); + rBtnMore.AddWindow( &rFtDbAreaLabel ); + rBtnMore.AddWindow( &rFtDbArea ); +- rBtnMore.AddWindow( &rFlOptions ); ++ rBtnMore.AddWindow( &rFlOptions ); ++ + + rBtnCase .Check( rQueryData.bCaseSens ); + rBtnHeader .Check( rQueryData.bHasHeader ); + rBtnRegExp .Check( rQueryData.bRegExp ); + rBtnUnique .Check( !rQueryData.bDuplicate ); +- ++ if (param) { ++ BOOL bMatchWholeCell = pDoc->GetDocOptions().IsMatchWholeCell(); ++ rBtnWholeWord.Check(bMatchWholeCell); ++ } ++ + if ( pViewData && pDoc ) + { + String theAreaStr; +@@ -266,6 +318,7 @@ + } + else + rEdCopyPos.SetText( EMPTY_STRING ); ++ rFtDbArea.SetPosPixel(Point(158,331)); + } + + +--- /home/sragavan/cvs/bk/ooo-build/build/OOO_1_1_2/sc/source/ui/inc/foptmgr.hxx 2001-05-21 14:52:56.000000000 +0530 ++++ sc/source/ui/inc/foptmgr.hxx 2004-10-08 16:02:56.000000000 +0530 +@@ -108,6 +108,26 @@ + FixedLine& refFlOptions, + const String& refStrNoName, + const String& refStrUndefined ); ++ ScFilterOptionsMgr( Dialog* ptrDlg, ++ ScViewData* ptrViewData, ++ const ScQueryParam& refQueryData, ++ MoreButton& refBtnMore, ++ CheckBox& refBtnCase, ++ CheckBox& refBtnRegExp, ++ CheckBox& refBtnWholeWord, ++ CheckBox& refBtnHeader, ++ CheckBox& refBtnUnique, ++ CheckBox& refBtnCopyResult, ++ CheckBox& refBtnDestPers, ++ ListBox& refLbCopyArea, ++ Edit& refEdCopyArea, ++ ScRefButton& refRbCopyArea, ++ FixedText& refFtDbAreaLabel, ++ FixedInfo& refFtDbArea, ++ FixedLine& refFlOptions, ++ const String& refStrNoName, ++ const String& refStrUndefined ); ++ + ~ScFilterOptionsMgr(); + + BOOL VerifyPosStr ( const String& rPosStr ) const; +@@ -119,6 +139,7 @@ + + MoreButton& rBtnMore; + CheckBox& rBtnCase; ++ CheckBox& rBtnWholeWord; + CheckBox& rBtnRegExp; + CheckBox& rBtnHeader; + CheckBox& rBtnUnique; +@@ -138,7 +159,7 @@ + + #ifdef _FOPTMGR_CXX + private: +- void Init(); ++ void Init(BOOL param); + + // Handler: + DECL_LINK( EdPosModifyHdl, Edit* ); diff --git a/patches/OOO_1_1/sfx2-no-summary-crash-fix.diff b/patches/OOO_1_1/sfx2-no-summary-crash-fix.diff new file mode 100644 index 000000000..d55ee3bb5 --- /dev/null +++ b/patches/OOO_1_1/sfx2-no-summary-crash-fix.diff @@ -0,0 +1,16 @@ +Index: sfx2/source/doc/docinf.cxx +=================================================================== +RCS file: /cvs/framework/sfx2/source/doc/docinf.cxx,v +retrieving revision 1.24 +diff -u -p -r1.24 docinf.cxx +--- sfx2/source/doc/docinf.cxx 26 May 2003 08:29:06 -0000 1.24 ++++ sfx2/source/doc/docinf.cxx 1 Nov 2004 11:23:17 -0000 +@@ -924,7 +924,7 @@ ULONG SfxDocumentInfo::LoadPropertySet( + { + SvStorageStreamRef aStrPropSet = pStorage->OpenStream( + String::CreateFromAscii( pPropSlot ), STREAM_STD_READ ); +- if ( !aStrPropSet.Is() ) ++ if ( !aStrPropSet.Is() || aStrPropSet->GetError() != SVSTREAM_OK) + return ERRCODE_IO_ACCESSDENIED; + aStrPropSet->SetBufferSize( STREAM_BUFFER_SIZE ); + SfxPS_Impl* pPS = new SfxPS_Impl; diff --git a/patches/OOO_1_1/svtools-default-CTL-on.diff b/patches/OOO_1_1/svtools-default-CTL-on.diff new file mode 100644 index 000000000..b14f07169 --- /dev/null +++ b/patches/OOO_1_1/svtools-default-CTL-on.diff @@ -0,0 +1,11 @@ +--- svtools/source/config/ctloptions.cxx.default-on 2004-12-09 11:15:05.895615360 -0500 ++++ svtools/source/config/ctloptions.cxx 2004-12-09 11:40:31.287720512 -0500 +@@ -165,7 +165,7 @@ + utl::ConfigItem( ASCII_STR("Office.Common/I18N/CTL") ), + + m_bIsLoaded ( sal_False ), +- m_bCTLFontEnabled ( sal_False ), ++ m_bCTLFontEnabled ( sal_True ), + m_bCTLSequenceChecking ( sal_False ), + m_eCTLCursorMovement ( SvtCTLOptions::MOVEMENT_LOGICAL ), + m_eCTLTextNumerals ( SvtCTLOptions::NUMERALS_ARABIC ), diff --git a/patches/OOO_1_1/svx-default-font-tracks-LANGUAGE_SYSTEM.diff b/patches/OOO_1_1/svx-default-font-tracks-LANGUAGE_SYSTEM.diff new file mode 100644 index 000000000..c226c9710 --- /dev/null +++ b/patches/OOO_1_1/svx-default-font-tracks-LANGUAGE_SYSTEM.diff @@ -0,0 +1,75 @@ +Index: svx/source/items/textitem.cxx +=================================================================== +RCS file: /cvs/graphics/svx/source/items/textitem.cxx,v +retrieving revision 1.52 +diff -u -p -r1.52 textitem.cxx +--- svx/source/items/textitem.cxx 17 Apr 2003 09:57:58 -0000 1.52 ++++ svx/source/items/textitem.cxx 9 Dec 2004 11:43:56 -0000 +@@ -3704,24 +3704,21 @@ void GetDefaultFonts( SvxFontItem& rLati + { + const USHORT nItemCnt = 3; + +- static struct ++ USHORT aOutTypeArr[ nItemCnt ] = + { +- USHORT nFontType; +- USHORT nLanguage; +- } +- aOutTypeArr[ nItemCnt ] = +- { +- { DEFAULTFONT_LATIN_TEXT, LANGUAGE_ENGLISH_US }, +- { DEFAULTFONT_CJK_TEXT, LANGUAGE_ENGLISH_US }, +- { DEFAULTFONT_CTL_TEXT, LANGUAGE_ARABIC_SAUDI_ARABIA } ++ DEFAULTFONT_LATIN_TEXT, ++ DEFAULTFONT_CJK_TEXT, ++ DEFAULTFONT_CTL_TEXT + }; + ++ LanguageType eLanguage = Application::GetSettings().GetLanguage(); ++ + SvxFontItem* aItemArr[ nItemCnt ] = { &rLatin, &rAsian, &rComplex }; + + for ( USHORT n = 0; n < nItemCnt; ++n ) + { +- Font aFont( OutputDevice::GetDefaultFont( aOutTypeArr[ n ].nFontType, +- aOutTypeArr[ n ].nLanguage, ++ Font aFont( OutputDevice::GetDefaultFont( aOutTypeArr[ n ], ++ eLanguage, + DEFAULTFONT_FLAGS_ONLYONE, 0 ) ); + SvxFontItem* pItem = aItemArr[ n ]; + pItem->GetFamily() = aFont.GetFamily(); +Index: svx/source/svdraw/svdmodel.cxx +=================================================================== +RCS file: /cvs/graphics/svx/source/svdraw/svdmodel.cxx,v +retrieving revision 1.48 +diff -u -p -r1.48 svdmodel.cxx +--- svx/source/svdraw/svdmodel.cxx 24 Apr 2003 16:42:29 -0000 1.48 ++++ svx/source/svdraw/svdmodel.cxx 9 Dec 2004 11:44:19 -0000 +@@ -935,19 +935,20 @@ void SdrModel::SetTextDefaults() const + void ImpGetDefaultFontsLanguage( SvxFontItem& rLatin, SvxFontItem& rAsian, SvxFontItem& rComplex) + { + const USHORT nItemCnt = 3; +- static struct { +- USHORT nFntType, nLanguage; +- } aOutTypeArr[ nItemCnt ] = { +- { DEFAULTFONT_LATIN_TEXT, LANGUAGE_ENGLISH_US }, +- { DEFAULTFONT_CJK_TEXT, LANGUAGE_ENGLISH_US }, +- { DEFAULTFONT_CTL_TEXT, LANGUAGE_ARABIC_SAUDI_ARABIA } ++ USHORT aOutTypeArr[ nItemCnt ] = ++ { ++ DEFAULTFONT_LATIN_TEXT, ++ DEFAULTFONT_CJK_TEXT, ++ DEFAULTFONT_CTL_TEXT + }; ++ ++ LanguageType eLanguage = Application::GetSettings().GetLanguage(); + SvxFontItem* aItemArr[ nItemCnt ] = { &rLatin, &rAsian, &rComplex }; + + for( USHORT n = 0; n < nItemCnt; ++n ) + { + Font aFnt( OutputDevice::GetDefaultFont( +- aOutTypeArr[ n ].nFntType, aOutTypeArr[ n ].nLanguage, ++ aOutTypeArr[ n ], eLanguage, + DEFAULTFONT_FLAGS_ONLYONE, 0 )); + SvxFontItem* pI = aItemArr[ n ]; + pI->GetFamily() = aFnt.GetFamily(); diff --git a/patches/OOO_1_1/sw-online-layout-crash-fix.diff b/patches/OOO_1_1/sw-online-layout-crash-fix.diff new file mode 100644 index 000000000..5e80568bd --- /dev/null +++ b/patches/OOO_1_1/sw-online-layout-crash-fix.diff @@ -0,0 +1,19 @@ +Index: source/core/layout/fly.cxx +=================================================================== +RCS file: /cvs/sw/sw/source/core/layout/fly.cxx,v +retrieving revision 1.46.52.3 +diff -u -p -r1.46.52.3 fly.cxx +--- sw/source/core/layout/fly.cxx 28 Apr 2004 10:29:47 -0000 1.46.52.3 ++++ sw/source/core/layout/fly.cxx 5 Nov 2004 11:15:08 -0000 +@@ -1695,8 +1695,9 @@ void SwFlyFrm::MakeFlyPos() + const long nBottom = GetAnchor()->Frm().Top() + aRelPos.Y() + Frm().Height(); + if ( nAnchorBottom < nBottom ) + { +- ((SwPageFrm*)GetAnchor())->FindBodyCont()-> +- Grow( nBottom - nAnchorBottom PHEIGHT ); ++ if (SwPageFrm *pOne = ((SwPageFrm*)GetAnchor())) ++ if (SwLayoutFrm *pTwo = pOne->FindBodyCont()) ++ pTwo->Grow( nBottom - nAnchorBottom PHEIGHT ); + } + } + diff --git a/patches/OOO_1_1/vba-sc-export.diff b/patches/OOO_1_1/vba-sc-export.diff index fc13b77ed..7a04a66ed 100644 --- a/patches/OOO_1_1/vba-sc-export.diff +++ b/patches/OOO_1_1/vba-sc-export.diff @@ -1,101 +1,3 @@ -Index: sc/source/filter/excel/excrecds.cxx -=================================================================== -RCS file: /cvs/sc/sc/source/filter/excel/excrecds.cxx,v -retrieving revision 1.64.18.1 -diff -u -r1.64.18.1 excrecds.cxx ---- sc/source/filter/excel/excrecds.cxx 9 Jan 2004 14:40:43 -0000 1.64.18.1 -+++ sc/source/filter/excel/excrecds.cxx 8 Sep 2004 09:55:45 -0000 -@@ -1592,6 +1592,12 @@ - } - - -+const String &ExcNameListEntry::GetName() const -+{ -+ static String sEmpty; -+ return sEmpty; -+} -+ - void ExcNameListEntry::SetCode( const ExcUPN& rUPN ) - { - DeleteData(); -@@ -1646,14 +1652,27 @@ - } - - -+UINT16 -+ExcNameList::GetMacroIdx( RootData &rRootData, const String &rName ) -+{ -+ for( USHORT nIndex = 0; nIndex < List::Count(); nIndex++ ) -+ { -+ ExcNameListEntry* pName = _Get( nIndex ); -+ if(pName && pName->GetName().Equals(rName)) -+ return nIndex+1; -+ } -+ return Append( new ExcName( rRootData, rName ) ); -+} -+ - - //------------------------------------------------------------- class ExcName - - --void ExcName::Init( BOOL bHid, BOOL bBIn ) -+void ExcName::Init( BOOL bHid, BOOL bBIn, BOOL bBMacro ) - { - eBiff = pExcRoot->eDateiTyp; - bHidden = bHid; - bBuiltIn = bBIn; -+ bMacro = bBMacro; - } - - -@@ -1701,6 +1720,13 @@ - } - } - -+ExcName::ExcName( RootData& rRootData, const String& rName ) : -+ ExcRoot( &rRootData ) -+{ -+ Init(); -+ bMacro = TRUE; -+ aName = rName; -+} - - ExcName::ExcName( RootData& rRootData, ScDBData* pArea ) : - ExcRoot( &rRootData ) -@@ -1734,7 +1760,7 @@ - ExcNameListEntry( rRootData, rRange.aStart.Tab(), nKey ), - ExcRoot( &rRootData ) - { -- Init( bHid, TRUE ); -+ Init( bHid, TRUE, FALSE ); - aName = sal_Unicode( nKey ); - BuildFormula( rRange ); - } -@@ -1803,8 +1829,8 @@ - { - UINT8 nNameLen = (UINT8) Min( aName.Len(), (xub_StrLen)255 ); - UINT16 nGrbit = (bHidden ? EXC_NAME_HIDDEN : 0) | (bBuiltIn ? EXC_NAME_BUILTIN : 0); -- if( !nFormLen ) -- nGrbit |= EXC_NAME_VB | EXC_NAME_PROC; -+ if( !nFormLen || bMacro ) -+ nGrbit |= EXC_NAME_FUNC | EXC_NAME_VB | EXC_NAME_PROC; - - rStrm << nGrbit // grbit - << (BYTE) 0x00 // chKey -Index: sc/source/filter/excel/functab.cxx -=================================================================== -RCS file: /cvs/sc/sc/source/filter/excel/functab.cxx,v -retrieving revision 1.9 -diff -u -r1.9 functab.cxx ---- sc/source/filter/excel/functab.cxx 23 Nov 2001 13:04:17 -0000 1.9 -+++ sc/source/filter/excel/functab.cxx 8 Sep 2004 09:55:45 -0000 -@@ -310,6 +310,7 @@ - { 0 }, - //! from here on only >= Biff8 - { ocExternal , 255, nTypeVal, FALSE, nVarParam, 2, nTypeInsert, nTypeRef }, -+ { ocMacro , 255, nTypeVal, FALSE, nVarParam, 1, nTypeRef }, - { ocISPMT , 350, nTypeVal, FALSE, 4, 1, nTypeVal, nTypeVal, nTypeVal, nTypeVal }, - { ocAverageA , 361, nTypeVal, FALSE, nVarParam, 1, nTypeRef }, - { ocMaxA , 362, nTypeVal, FALSE, nVarParam, 1, nTypeRef }, Index: sc/source/filter/excel/xelink.cxx =================================================================== RCS file: /cvs/sc/sc/source/filter/excel/xelink.cxx,v @@ -125,102 +27,6 @@ diff -u -r1.4 xelink.cxx bool XclExpLinkManager::InsertDde( sal_uInt16& rnXti, sal_uInt16& rnExtName, const String& rApplic, const String& rTopic, const String& rItem ) -Index: sc/source/filter/excel/exccomp.cxx -=================================================================== -RCS file: /cvs/sc/sc/source/filter/excel/exccomp.cxx,v -retrieving revision 1.28 -diff -u -r1.28 exccomp.cxx ---- sc/source/filter/excel/exccomp.cxx 23 Apr 2003 17:28:24 -0000 1.28 -+++ sc/source/filter/excel/exccomp.cxx 8 Sep 2004 09:55:46 -0000 -@@ -1370,12 +1370,34 @@ - - // for ptgNameX (extern name): [0] = EXTERNSHEET index, [1] = EXTERNNAME index - UINT16 pExtNameData[ 2 ] = { 0, 0xFFFF }; -+ UINT16 nFunctionOp = pCur->GetOpCode(); - -- if( pCur->GetOpCode() == ocExternal ) -+ if( nFunctionOp == ocExternal ) - pExcRoot->pER->GetLinkManager().InsertAddIn( - pExtNameData[ 0 ], pExtNameData[ 1 ], - pExcRoot->pER->GetXclAddInName( pCur->GetExternal() ) ); - -+ else if (nFunctionOp == ocMacro) -+ { -+ UINT16 nIdx = pExcRoot->pNameList->GetMacroIdx(*pExcRoot,pCur->GetExternal() ); -+ -+ SToken aToken; -+ -+ aToken.ptg = ptgName; -+ aToken.Set( 0, nIdx ); -+ if ( pExcRoot->eDateiTyp >= Biff8 ) -+ aToken.Set( 2, UINT16(0) ); -+ else -+ memset( &aToken.Data[2], 0, 12 ); -+ -+ // Force raw ptgName -+ UINT8 nParamStore = m_nParamType; -+ m_nParamType = nTypeRef; -+ PutCode( aToken ); -+ m_nParamType = nParamStore; -+ nParamCount++; -+ } -+ - pFacToken = new SToken( m_Token ); - GetNextToken(); - if (m_Token.ptg == ptgParen) -Index: sc/source/filter/inc/excrecds.hxx -=================================================================== -RCS file: /cvs/sc/sc/source/filter/inc/excrecds.hxx,v -retrieving revision 1.34 -diff -u -r1.34 excrecds.hxx ---- sc/source/filter/inc/excrecds.hxx 28 Apr 2003 15:37:12 -0000 1.34 -+++ sc/source/filter/inc/excrecds.hxx 8 Sep 2004 09:55:46 -0000 -@@ -832,6 +832,7 @@ - - virtual UINT16 GetNum() const; - virtual ULONG GetLen() const; -+ virtual const String &GetName() const; - }; - - -@@ -844,8 +845,9 @@ - BiffTyp eBiff; - BOOL bHidden; - BOOL bBuiltIn; -+ BOOL bMacro; - -- void Init( BOOL bHid = FALSE, BOOL bBIn = FALSE ); -+ void Init( BOOL bHid = FALSE, BOOL bBIn = FALSE, BOOL bBMacro = FALSE ); - void BuildFormula( const ScRange& rRange ); - - void SetName( const String& rRangeName ); -@@ -862,8 +864,9 @@ - const String& rName ); - ExcName( RootData& rRootData, const ScRange& rRange, - UINT8 nKey, BOOL bHid = FALSE ); -+ ExcName( RootData& rRootData, const String& rName ); - -- inline const String& GetName() const { return aName; } -+ inline virtual const String& GetName() const { return aName; } - - virtual ULONG GetLen() const; - }; -@@ -921,11 +924,15 @@ - ExcNameList( RootData& rRootData ); - virtual ~ExcNameList(); - -+ inline ExcNameListEntry *GetObject( ULONG nIndex ) const -+ { return (ExcNameListEntry*) List::GetObject( nIndex ); } -+ - UINT16 GetBuiltInIx( const ExcNameListEntry* pName ); - - /** Inserts a named range in table name sort order. */ - void InsertSorted( RootData& rRootData, ExcNameListEntry* pName, sal_uInt16 nScTab ); - -+ UINT16 GetMacroIdx( RootData &rRootData, const String &rName ); - - virtual void Save( XclExpStream& rStrm ); - }; Index: sc/source/filter/inc/xelink.hxx =================================================================== RCS file: /cvs/sc/sc/source/filter/inc/xelink.hxx,v @@ -239,3 +45,16 @@ diff -u -r1.4 xelink.hxx /** Finds or inserts an EXTERNNAME record for DDE links. @param rnXti Returns the index of the XTI structure which contains the DDE link. @param rnExtName Returns the 1-based EXTERNNAME record index. */ +--- sc/source/filter/excel/exccomp.cxx.bak 2005-01-17 15:13:40.281789882 -0800 ++++ sc/source/filter/excel/exccomp.cxx 2005-01-17 15:13:53.583550657 -0800 +@@ -1371,10 +1371,6 @@ + // for ptgNameX (extern name): [0] = EXTERNSHEET index, [1] = EXTERNNAME index + UINT16 pExtNameData[ 2 ] = { 0, 0xFFFF }; + +- if( pCur->GetOpCode() == ocExternal ) +- pExcRoot->pER->GetLinkManager().InsertAddIn( +- pExtNameData[ 0 ], pExtNameData[ 1 ], +- pExcRoot->pER->GetXclAddInName( pCur->GetExternal() ) ); + UINT16 nFunctionOp = pCur->GetOpCode(); + if( nFunctionOp == ocExternal ) + { diff --git a/patches/OOO_1_1/win32-gw-send-mail.diff b/patches/OOO_1_1/win32-gw-send-mail.diff index d3e8c71ee..ae9322ac9 100755 --- a/patches/OOO_1_1/win32-gw-send-mail.diff +++ b/patches/OOO_1_1/win32-gw-send-mail.diff @@ -10,7 +10,7 @@ - aSysPath.getLength( ), - osl_getThreadTextEncoding( ) ) ); - -+ OString aFullPath = OUStringToOString( aSysPath, ++ OString aFullPath = ::rtl::OUStringToOString( aSysPath, + osl_getThreadTextEncoding() ); + sal_Int32 nLastSlash = aFullPath.lastIndexOf('\\'); + OString aFileName = aFullPath.copy( nLastSlash + 1 ); diff --git a/patches/OOO_1_1/writer-default-as-optimal-page-wrap.diff b/patches/OOO_1_1/writer-default-as-optimal-page-wrap.diff new file mode 100644 index 000000000..6516c179c --- /dev/null +++ b/patches/OOO_1_1/writer-default-as-optimal-page-wrap.diff @@ -0,0 +1,16 @@ +Index: source/core/doc/poolfmt.cxx +=================================================================== +RCS file: /cvs/sw/sw/source/core/doc/poolfmt.cxx,v +retrieving revision 1.25.108.1 +diff -u -r1.25.108.1 poolfmt.cxx +--- sw/source/core/doc/poolfmt.cxx 9 Jan 2004 14:31:26 -0000 1.25.108.1 ++++ sw/source/core/doc/poolfmt.cxx 24 Oct 2004 14:25:15 -0000 +@@ -1516,7 +1516,7 @@ + aSet.Put( SwFmtAnchor( FLY_AT_CNTNT )); + aSet.Put( SwFmtHoriOrient( 0, HORI_CENTER, FRAME )); + aSet.Put( SwFmtVertOrient( 0, VERT_TOP, FRAME )); +- aSet.Put( SwFmtSurround( SURROUND_NONE )); ++ aSet.Put( SwFmtSurround( SURROUND_IDEAL )); + } + break; + case RES_POOLFRM_FORMEL: diff --git a/patches/evo2/connectivity-source-drivers-evoab1-5-EApi-cxx.diff b/patches/evo2/connectivity-source-drivers-evoab1-5-EApi-cxx.diff new file mode 100644 index 000000000..2904ec4b0 --- /dev/null +++ b/patches/evo2/connectivity-source-drivers-evoab1-5-EApi-cxx.diff @@ -0,0 +1,167 @@ +--- /dev/null 2004-08-25 23:04:59.000000000 +0530 ++++ connectivity/source/drivers/evoab1.5/EApi.cxx 2005-02-22 17:41:54.999516706 +0530 +@@ -0,0 +1,164 @@ ++ /************************************************************************* ++ * ++ * $RCSfile$ ++ * ++ * $Revision$ ++ * ++ * last change: $Author$ $Date$ ++ * ++ * The Contents of this file are made available subject to the terms of ++ * either of the following licenses ++ * ++ * - GNU Lesser General Public License Version 2.1 ++ * - Sun Industry Standards Source License Version 1.1 ++ * ++ * Sun Microsystems Inc., October, 2000 ++ * ++ * GNU Lesser General Public License Version 2.1 ++ * ============================================= ++ * Copyright 2000 by Sun Microsystems, Inc. ++ * 901 San Antonio Road, Palo Alto, CA 94303, USA ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License version 2.1, as published by the Free Software Foundation. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ * ++ * ++ * Sun Industry Standards Source License Version 1.1 ++ * ================================================= ++ * The contents of this file are subject to the Sun Industry Standards ++ * Source License Version 1.1 (the License); You may not use this file ++ * except in compliance with the License. You may obtain a copy of the ++ * License at http://www.openoffice.org/license.html. ++ * ++ * Software provided under this License is provided on an AS IS basis, ++ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, ++ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, ++ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. ++ * See the License for the specific provisions governing your rights and ++ * obligations concerning the Software. ++ * ++ * The Initial Developer of the Original Code is: Sun Microsystems, Inc. ++ * ++ * Copyright: 2000 by Sun Microsystems, Inc. ++ * ++ * All Rights Reserved. ++ * ++ * Contributor(s): Michael Meeks, Jayant Madavi ++ * ++ * ++ ************************************************************************/ ++ ++#include <rtl/ustring.hxx> ++#include <osl/module.h> ++#include <stdio.h> ++#define _EVOLUTION_ALREADY_DEFINED_ 1 ++#ifndef _CONNECTIVITY_EVOAB_EVOLUTION_API_HXX_ ++#include "EApi.h" ++#endif ++static char *eBookLibNames[] = { ++ "libebook.so.8", // evolution-2.0 ++ "libebook-1.2.so.3" // evolution-2.2 ++ // FIXME: ask JPR about ABI compatibility going forwards ++ // "libebook-1.3.so.0", ++ // "libebook-1.4.so.0", ++ // "libebook-1.5.so.0" ++}; ++ ++typedef void (*SymbolFunc) (void); ++ ++#define SYM_MAP(a) { #a, (SymbolFunc *)&a } ++ static struct { ++ const char *sym_name; ++ SymbolFunc *ref_value; ++ } aApiMap[] = { ++ SYM_MAP( e_contact_get_type ), ++ SYM_MAP( e_contact_field_id ), ++ SYM_MAP( e_source_peek_name ), ++ SYM_MAP( e_source_get_property ), ++ SYM_MAP( e_source_list_peek_groups ), ++ SYM_MAP( e_source_group_peek_sources ), ++ SYM_MAP( e_book_new ), ++ SYM_MAP( e_book_open ), ++ SYM_MAP( e_book_get_uri ), ++ SYM_MAP( e_book_get_source ), ++ SYM_MAP( e_book_get_addressbooks ), ++ SYM_MAP( e_book_get_contacts ), ++ SYM_MAP( e_book_authenticate_user ), ++ SYM_MAP( e_book_query_field_test ), ++ SYM_MAP( e_book_query_and ), ++ SYM_MAP( e_book_query_or ), ++ SYM_MAP( e_book_query_not ), ++ SYM_MAP( e_book_query_unref ), ++ SYM_MAP( e_book_query_to_string ), ++ SYM_MAP( e_book_query_field_exists ), ++ SYM_MAP( e_source_group_peek_base_uri) ++ }; ++#undef SYM_MAP ++ ++static bool ++tryLink( oslModule &aModule, const char *pName ) ++{ ++ for( guint i = 0; i < G_N_ELEMENTS( aApiMap ); i++ ) ++ { ++ SymbolFunc aMethod; ++ aMethod = (SymbolFunc) osl_getSymbol ++ ( aModule, rtl::OUString::createFromAscii ( aApiMap[ i ].sym_name ).pData ); ++ if( !aMethod ) ++ { ++ fprintf( stderr, "Warning: missing symbol '%s' in '%s'", ++ aApiMap[ i ].sym_name, pName ); ++ return false; ++ } ++ * aApiMap[ i ].ref_value = aMethod; ++ } ++ return true; ++} ++ ++bool EApiInit() ++{ ++ oslModule aModule; ++ ++ for( guint j = 0; j < G_N_ELEMENTS( eBookLibNames ); j++ ) ++ { ++ aModule = osl_loadModule( rtl::OUString::createFromAscii ++ ( eBookLibNames[ j ] ).pData, ++ SAL_LOADMODULE_DEFAULT ); ++ if( aModule) ++ { ++ if ( tryLink( aModule, eBookLibNames[ j ] ) ) ++ return true; ++ osl_unloadModule( aModule ); ++ } ++ } ++ fprintf( stderr, "Can find no compliant libebook client libraries\n" ); ++ return false; ++} ++ ++#if 0 ++ ++ Test code - enable & ++ * ++ * Compile with ( after source LinuxIntelEnv.Set.sh ) ++ gcc $SOLARDEF -I $SOLARSRC/sal/inc -I $SOLARSRC/sal/unxlngi4.pro/inc \ ++ -I. `pkg-config --cflags --libs gobject-2.0` \ ++ -L $SOLARSRC/sal/unxlngi4.pro/lib -luno_sal -lstdc++ EApi.cxx ++ ++ ++int main( int argc, char **argv) ++{ ++ return EApiInit(); ++} ++ ++#endif ++ diff --git a/patches/order b/patches/order index 28a3555e4..eadf73021 100644 --- a/patches/order +++ b/patches/order @@ -1,2 +1,2 @@ -OOO_1_1_1 1.1 -OOO_1_1_2 1.1 buildable +OOO_1_1_4 1.1 buildable +OOO_1_1_3 1.1 buildable diff --git a/patches/vclplug/crash-ppd-parse.diff b/patches/vclplug/crash-ppd-parse.diff index 8c41014b0..6d0edd6cc 100644 --- a/patches/vclplug/crash-ppd-parse.diff +++ b/patches/vclplug/crash-ppd-parse.diff @@ -1,22 +1,28 @@ ---- psprint.good/source/printer/cupsmgr.cxx 2004-09-27 04:24:33.000000000 +0100 -+++ psprint/source/printer/cupsmgr.cxx 2004-09-29 17:19:32.578417056 +0100 -@@ -495,11 +495,14 @@ - - rInfo.m_pParser = pNewParser; - rInfo.m_aContext.setParser( pNewParser ); -- for( int i = 0; i < pPPD->num_groups; i++ ) -- updatePrinterContextInfo( pPPD->groups + i, rInfo ); -- -- // clean up the mess -- m_pCUPSWrapper->ppdClose( pPPD ); -+ if (pPPD) -+ { -+ for( int i = 0; i < pPPD->num_groups; i++ ) -+ updatePrinterContextInfo( pPPD->groups + i, rInfo ); -+ -+ // clean up the mess -+ m_pCUPSWrapper->ppdClose( pPPD ); -+ } - - // remove temporary PPD file - unlink( pPPDFile ); +diff -urd psprint/source/printer/cupsmgr.cxx psprint-fixppdcrash/source/printer/cupsmgr.cxx +--- psprint/source/printer/cupsmgr.cxx 2004-11-09 16:37:51.000000000 +0000 ++++ psprint-fixppdcrash/source/printer/cupsmgr.cxx 2004-11-24 21:42:59.000000000 +0000 +@@ -601,14 +601,20 @@ + // remember the default context for later use + PPDContext& rContext = m_aDefaultContexts[ aPrinter ]; + rContext.setParser( pNewParser ); +- for( int i = 0; i < pPPD->num_groups; i++ ) +- updatePrinterContextInfo( pPPD->groups + i, rContext ); ++ if(pPPD) ++ { ++ for( int i = 0; i < pPPD->num_groups; i++ ) ++ updatePrinterContextInfo( pPPD->groups + i, rContext ); ++ } + + rInfo.m_pParser = pNewParser; + rInfo.m_aContext = rContext; + +- // clean up the mess +- m_pCUPSWrapper->ppdClose( pPPD ); ++ if(pPPD) ++ { ++ // clean up the mess ++ m_pCUPSWrapper->ppdClose( pPPD ); ++ } + } + #if OSL_DEBUG_LEVEL > 1 + else diff --git a/patches/vclplug/font-substitution-fixups.diff b/patches/vclplug/font-substitution-fixups.diff new file mode 100644 index 000000000..456993809 --- /dev/null +++ b/patches/vclplug/font-substitution-fixups.diff @@ -0,0 +1,505 @@ +--- psprint/inc/psprint/fontmanager.hxx.lang 2005-01-05 11:52:20.000000000 -0500 ++++ psprint/inc/psprint/fontmanager.hxx 2005-01-05 11:54:36.973031125 -0500 +@@ -75,6 +75,9 @@ + #ifndef _PSPRINT_HELPER_HXX_ + #include <psprint/helper.hxx> + #endif ++#ifndef _LANG_HXX ++#include <tools/lang.hxx> ++#endif + + #ifndef _COM_SUN_STAR_LANG_LOCALE_HPP_ + #include <com/sun/star/lang/Locale.hpp> +@@ -193,6 +196,7 @@ + weight::type m_eWeight; + pitch::type m_ePitch; + rtl_TextEncoding m_aEncoding; ++ std::vector< LanguageType > m_aLangs; + + FastPrintFontInfo() : + m_nID( 0 ), +@@ -299,6 +303,7 @@ + pitch::type m_ePitch; + rtl_TextEncoding m_aEncoding; + bool m_bFontEncodingOnly; // set if font should be only accessed by builtin encoding ++ std::vector< LanguageType > m_aLangs; + CharacterMetric m_aGlobalMetricX; + CharacterMetric m_aGlobalMetricY; + PrintFontMetrics* m_pMetrics; +@@ -459,6 +464,10 @@ + */ + void deinitFontconfig(); + ++ // pLangSet should be of type FcLangSet* but since not everyone uses ++ // Fontconfig, we have to make it void* here ++ void fillFontSupportedLanguages (PrintFont *pFont, void *pLangSetIn); ++ + static bool parseXLFD( const rtl::OString& rXLFD, XLFDEntry& rEntry ); + void parseXLFD_appendAliases( const std::list< rtl::OString >& rXLFDs, std::list< XLFDEntry >& rEntries ) const; + void initFontsAlias(); +--- psprint/source/fontmanager/fontconfig.cxx.lang 2005-01-05 11:38:33.000000000 -0500 ++++ psprint/source/fontmanager/fontconfig.cxx 2005-01-05 12:02:32.228042143 -0500 +@@ -74,6 +74,8 @@ + typedef int FcBool; + typedef int FcMatchKind; + typedef char FcChar8; ++typedef void FcCharSet; ++typedef void FcLangSet; + #endif + + #include <cstdio> +@@ -97,6 +99,9 @@ + #ifndef _RTL_USTRBUF_HXX + #include <rtl/ustrbuf.hxx> + #endif ++#ifndef _LANG_HXX ++#include <tools/lang.hxx> ++#endif + + using namespace psp; + using namespace osl; +@@ -125,6 +130,11 @@ + FcBool (*m_pFcConfigSubstitute)(FcConfig*,FcPattern*,FcMatchKind); + FcBool (*m_pFcPatternAddInteger)(FcPattern*,const char*,int); + FcBool (*m_pFcPatternAddString)(FcPattern*,const char*,const FcChar8*); ++ FcResult (*m_pFcPatternGetCharSet)(const FcPattern*,const char*,int,FcCharSet**); ++ void (*m_pFcCharSetDestroy)(FcCharSet *fcs); ++ FcResult (*m_pFcPatternGetLangSet)(const FcPattern*,const char*,int,FcLangSet**); ++ FcLangResult (*m_pFcLangSetHasLang)(const FcLangSet *ls, const FcChar8 *lang); ++ void (*m_pFcLangSetDestroy)(FcLangSet *ls); + + void* loadSymbol( const char* ); + +@@ -193,6 +203,21 @@ + { return m_pFcPatternAddInteger( pPattern, pObject, nValue ); } + FcBool FcPatternAddString( FcPattern* pPattern, const char* pObject, const FcChar8* pString ) + { return m_pFcPatternAddString( pPattern, pObject, pString ); } ++ ++ FcResult FcPatternGetCharSet( const FcPattern* pPattern, const char* object, int n, FcCharSet** s ) ++ { return m_pFcPatternGetCharSet( pPattern, object, n, s ); } ++ ++ void FcCharSetDestroy( FcCharSet *fcs ) ++ { m_pFcCharSetDestroy( fcs ); } ++ ++ FcResult FcPatternGetLangSet( const FcPattern* pPattern, const char* object, int n, FcLangSet** s ) ++ { return m_pFcPatternGetLangSet( pPattern, object, n, s ); } ++ ++ FcLangResult FcLangSetHasLang( const FcLangSet *ls, const FcChar8 *lang ) ++ { return m_pFcLangSetHasLang( ls, lang ); } ++ ++ void FcLangSetDestroy( FcLangSet *ls ) ++ { m_pFcLangSetDestroy( ls ); } + }; + + void* FontCfgWrapper::loadSymbol( const char* pSymbol ) +@@ -263,6 +288,16 @@ + loadSymbol( "FcPatternAddInteger" ); + m_pFcPatternAddString = (FcBool(*)(FcPattern*,const char*,const FcChar8*)) + loadSymbol( "FcPatternAddString" ); ++ m_pFcPatternGetCharSet = (FcResult(*)(const FcPattern*,const char*,int,FcCharSet**)) ++ loadSymbol( "FcPatternGetCharSet" ); ++ m_pFcCharSetDestroy = (void(*)(FcCharSet *)) ++ loadSymbol( "FcCharSetDestroy" ); ++ m_pFcPatternGetLangSet = (FcResult(*)(const FcPattern*,const char*,int,FcLangSet**)) ++ loadSymbol( "FcPatternGetLangSet" ); ++ m_pFcLangSetHasLang = (FcLangResult(*)(const FcLangSet *ls, const FcChar8 *lang)) ++ loadSymbol( "FcLangSetHasLang" ); ++ m_pFcLangSetDestroy = (void(*)(FcLangSet *)) ++ loadSymbol( "FcLangSetDestroy" ); + + if( ! ( + m_pFcInitLoadConfigAndFonts && +@@ -282,7 +317,14 @@ + m_pFcFontMatch && + m_pFcConfigSubstitute && + m_pFcPatternAddInteger && +- m_pFcPatternAddString ++ m_pFcPatternAddString && ++ m_pFcPatternGetBool && ++ m_pFcPatternGetCharSet && ++ m_pFcPatternGetCharSet && ++ m_pFcCharSetDestroy && ++ m_pFcPatternGetLangSet && ++ m_pFcLangSetHasLang && ++ m_pFcLangSetDestroy + ) ) + { + osl_unloadModule( m_pLib ); +@@ -324,6 +366,310 @@ + } + } + ++#ifdef ENABLE_FONTCONFIG ++ ++// Copied from tools/intnl/isolang.cxx, this saves us ++// from having to iterate over the entire list of LANGUAGE_* ++// and call ConvertLanguageToIsoByteString(), which itself just ++// searches some tables. Its faster this way, and perhaps we can ++// get the isolang API to do some form of iteration in the future. ++struct IsoLangEntry ++{ ++ LanguageType meLang; ++ sal_Char maLangStr[3]; ++ sal_Char maCountry[3]; ++}; ++ ++// ----------------------------------------------------------------------- ++ ++// Entries for languages are lower case, for countries upper case, ++// as recommended by rfc1766. ++// ConvertIsoNamesToLanguage is case insensitive ++ ++// Sortorder: Most used first ++// The default entry for every language string has to be first. ++ ++static IsoLangEntry aIsoLangEntries[] = ++{ ++ // Lang (MS-LCID-Codes) ISO639-1 ISO3166 ++ { LANGUAGE_ENGLISH, "en", "" }, ++ { LANGUAGE_ENGLISH_US, "en", "US" }, ++ { LANGUAGE_ENGLISH_UK, "en", "GB" }, ++ { LANGUAGE_ENGLISH_AUS, "en", "AU" }, ++ { LANGUAGE_ENGLISH_CAN, "en", "CA" }, ++ { LANGUAGE_FRENCH, "fr", "FR" }, ++ { LANGUAGE_GERMAN, "de", "DE" }, ++ { LANGUAGE_ITALIAN, "it", "IT" }, ++ { LANGUAGE_DUTCH, "nl", "NL" }, ++ { LANGUAGE_SPANISH, "es", "ES" }, ++ { LANGUAGE_SPANISH_MODERN, "es", "ES" }, ++ { LANGUAGE_PORTUGUESE, "pt", "PT" }, ++ { LANGUAGE_PORTUGUESE_BRAZILIAN, "pt", "BR" }, ++ { LANGUAGE_DANISH, "da", "DK" }, ++ { LANGUAGE_GREEK, "el", "GR" }, ++ { LANGUAGE_CHINESE, "zh", "" }, ++ { LANGUAGE_CHINESE_TRADITIONAL, "zh", "TW" }, ++ { LANGUAGE_CHINESE_SIMPLIFIED, "zh", "CN" }, ++ { LANGUAGE_CHINESE_HONGKONG, "zh", "HK" }, ++ { LANGUAGE_CHINESE_SINGAPORE, "zh", "SG" }, ++ { LANGUAGE_CHINESE_MACAU, "zh", "MO" }, ++ { LANGUAGE_JAPANESE, "ja", "JP" }, ++ { LANGUAGE_KOREAN, "ko", "KR" }, ++ { LANGUAGE_KOREAN_JOHAB, "ko", "KR" }, ++ { LANGUAGE_KOREAN, "ko", "KP" }, // North Korea ++ { LANGUAGE_SWEDISH, "sv", "SE" }, ++ { LANGUAGE_SWEDISH_FINLAND, "sv", "FI" }, ++ { LANGUAGE_FINNISH, "fi", "FI" }, ++ { LANGUAGE_RUSSIAN, "ru", "RU" }, ++ { LANGUAGE_ENGLISH_NZ, "en", "NZ" }, ++ { LANGUAGE_ENGLISH_EIRE, "en", "IE" }, ++ { LANGUAGE_ENGLISH_SAFRICA, "en", "ZA" }, ++ { LANGUAGE_DUTCH_BELGIAN, "nl", "BE" }, ++ { LANGUAGE_FRENCH_BELGIAN, "fr", "BE" }, ++ { LANGUAGE_FRENCH_CANADIAN, "fr", "CA" }, ++ { LANGUAGE_FRENCH_SWISS, "fr", "CH" }, ++ { LANGUAGE_GERMAN_SWISS, "de", "CH" }, ++ { LANGUAGE_GERMAN_AUSTRIAN, "de", "AT" }, ++ { LANGUAGE_ITALIAN_SWISS, "it", "CH" }, ++ { LANGUAGE_ARABIC, "ar", "" }, ++ { LANGUAGE_ARABIC_SAUDI_ARABIA, "ar", "SA" }, ++ { LANGUAGE_ARABIC_EGYPT, "ar", "EG" }, ++ { LANGUAGE_ARABIC_UAE, "ar", "AE" }, ++ { LANGUAGE_AFRIKAANS, "af", "ZA" }, ++ { LANGUAGE_ALBANIAN, "sq", "AL" }, ++ { LANGUAGE_ARABIC_IRAQ, "ar", "IQ" }, ++ { LANGUAGE_ARABIC_LIBYA, "ar", "LY" }, ++ { LANGUAGE_ARABIC_ALGERIA, "ar", "DZ" }, ++ { LANGUAGE_ARABIC_MOROCCO, "ar", "MA" }, ++ { LANGUAGE_ARABIC_TUNISIA, "ar", "TN" }, ++ { LANGUAGE_ARABIC_OMAN, "ar", "OM" }, ++ { LANGUAGE_ARABIC_YEMEN, "ar", "YE" }, ++ { LANGUAGE_ARABIC_SYRIA, "ar", "SY" }, ++ { LANGUAGE_ARABIC_JORDAN, "ar", "JO" }, ++ { LANGUAGE_ARABIC_LEBANON, "ar", "LB" }, ++ { LANGUAGE_ARABIC_KUWAIT, "ar", "KW" }, ++ { LANGUAGE_ARABIC_BAHRAIN, "ar", "BH" }, ++ { LANGUAGE_ARABIC_QATAR, "ar", "QA" }, ++ { LANGUAGE_BASQUE, "eu", "" }, ++ { LANGUAGE_BULGARIAN, "bg", "BG" }, ++ { LANGUAGE_CROATIAN, "hr", "HR" }, ++ { LANGUAGE_CZECH, "cs", "CZ" }, ++ { LANGUAGE_CZECH, "cz", "" }, ++ { LANGUAGE_ENGLISH_JAMAICA, "en", "JM" }, ++ { LANGUAGE_ENGLISH_CARRIBEAN, "en", "BS" }, // not 100%, because AG is Bahamas ++ { LANGUAGE_ENGLISH_BELIZE, "en", "BZ" }, ++ { LANGUAGE_ENGLISH_TRINIDAD, "en", "TT" }, ++ { LANGUAGE_ENGLISH_ZIMBABWE, "en", "ZW" }, ++ { LANGUAGE_ENGLISH_PHILIPPINES, "en", "PH" }, ++ { LANGUAGE_ESTONIAN, "et", "EE" }, ++ { LANGUAGE_FAEROESE, "fo", "FO" }, ++ { LANGUAGE_FARSI, "fa", "" }, ++ { LANGUAGE_FRENCH_LUXEMBOURG, "fr", "LU" }, ++ { LANGUAGE_FRENCH_MONACO, "fr", "MC" }, ++ { LANGUAGE_GERMAN_LUXEMBOURG, "de", "LU" }, ++ { LANGUAGE_GERMAN_LIECHTENSTEIN, "de", "LI" }, ++ { LANGUAGE_HEBREW, "he", "IL" }, // new: old was "iw" ++ { LANGUAGE_HEBREW, "iw", "IL" }, // old: new is "he" ++ { LANGUAGE_HUNGARIAN, "hu", "HU" }, ++ { LANGUAGE_ICELANDIC, "is", "IS" }, ++ { LANGUAGE_INDONESIAN, "id", "ID" }, // new: old was "in" ++ { LANGUAGE_INDONESIAN, "in", "ID" }, // old: new is "id" ++ { LANGUAGE_NORWEGIAN, "no", "NO" }, ++ { LANGUAGE_NORWEGIAN_BOKMAL, "nb", "NO" }, ++ { LANGUAGE_NORWEGIAN_NYNORSK, "nn", "NO" }, ++ { LANGUAGE_POLISH, "pl", "PL" }, ++ { LANGUAGE_RHAETO_ROMAN, "rm", "" }, ++ { LANGUAGE_ROMANIAN, "ro", "RO" }, ++ { LANGUAGE_ROMANIAN_MOLDOVA, "ro", "MD" }, ++ { LANGUAGE_SLOVAK, "sk", "SK" }, ++ { LANGUAGE_SLOVENIAN, "sl", "SI" }, ++ { LANGUAGE_SPANISH_MEXICAN, "es", "MX" }, ++ { LANGUAGE_SPANISH_GUATEMALA, "es", "GT" }, ++ { LANGUAGE_SPANISH_COSTARICA, "es", "CR" }, ++ { LANGUAGE_SPANISH_PANAMA, "es", "PA" }, ++ { LANGUAGE_SPANISH_DOMINICAN_REPUBLIC, "es", "DO" }, ++ { LANGUAGE_SPANISH_VENEZUELA, "es", "VE" }, ++ { LANGUAGE_SPANISH_COLOMBIA, "es", "CO" }, ++ { LANGUAGE_SPANISH_PERU, "es", "PE" }, ++ { LANGUAGE_SPANISH_ARGENTINA, "es", "AR" }, ++ { LANGUAGE_SPANISH_ECUADOR, "es", "EC" }, ++ { LANGUAGE_SPANISH_CHILE, "es", "CL" }, ++ { LANGUAGE_SPANISH_URUGUAY, "es", "UY" }, ++ { LANGUAGE_SPANISH_PARAGUAY, "es", "PY" }, ++ { LANGUAGE_SPANISH_BOLIVIA, "es", "BO" }, ++ { LANGUAGE_SPANISH_EL_SALVADOR, "es", "SV" }, ++ { LANGUAGE_SPANISH_HONDURAS, "es", "HN" }, ++ { LANGUAGE_SPANISH_NICARAGUA, "es", "NI" }, ++ { LANGUAGE_SPANISH_PUERTO_RICO, "es", "PR" }, ++ { LANGUAGE_TURKISH, "tr", "TR" }, ++ { LANGUAGE_UKRAINIAN, "uk", "UA" }, ++ { LANGUAGE_VIETNAMESE, "vi", "VN" }, ++ { LANGUAGE_LATVIAN, "lv", "LV" }, ++ { LANGUAGE_MACEDONIAN, "mk", "MK" }, ++ { LANGUAGE_MALAY, "ms", "" }, ++ { LANGUAGE_MALAY_MALAYSIA, "ms", "MY" }, ++ { LANGUAGE_MALAY_BRUNEI_DARUSSALAM, "ms", "BN" }, ++ { LANGUAGE_THAI, "th", "TH" }, ++ { LANGUAGE_LITHUANIAN, "lt", "LT" }, ++ { LANGUAGE_LITHUANIAN_CLASSIC, "lt", "LT" }, ++ { LANGUAGE_CROATIAN, "hr", "HR" }, // Croatian in Croatia ++ { LANGUAGE_SERBIAN_LATIN, "sh", "YU" }, // Serbo-Croatian in Yugoslavia (default) ++ { LANGUAGE_SERBIAN_LATIN, "sh", "BA" }, // Serbo-Croatian in Bosnia And Herzegovina ++ { LANGUAGE_SERBIAN_CYRILLIC, "sr", "YU" }, ++ { LANGUAGE_SERBIAN, "sr", "" }, // SERBIAN is only LID, MS-LCID not defined (was dupe of CROATIAN) ++ { LANGUAGE_ARMENIAN, "hy", "AM" }, ++ { LANGUAGE_AZERI, "az", "" }, ++ { LANGUAGE_BENGALI, "bn", "BD" }, ++ { LANGUAGE_KAZAK, "kk", "KZ" }, ++ { LANGUAGE_URDU, "ur", "IN" }, ++ { LANGUAGE_HINDI, "hi", "IN" }, ++ { LANGUAGE_GUJARATI, "gu", "IN" }, ++ { LANGUAGE_KANNADA, "kn", "IN" }, ++ { LANGUAGE_ASSAMESE, "as", "IN" }, ++ { LANGUAGE_KASHMIRI, "ks", "" }, ++ { LANGUAGE_KASHMIRI_INDIA, "ks", "IN" }, ++ { LANGUAGE_MALAYALAM, "ml", "IN" }, ++ { LANGUAGE_MARATHI, "mr", "IN" }, ++ { LANGUAGE_NEPALI, "ne", "NP" }, ++ { LANGUAGE_NEPALI_INDIA, "ne", "IN" }, ++ { LANGUAGE_ORIYA, "or", "IN" }, ++ { LANGUAGE_PUNJABI, "pa", "IN" }, ++ { LANGUAGE_SANSKRIT, "sa", "IN" }, ++ { LANGUAGE_SINDHI, "sd", "IN" }, ++ { LANGUAGE_TAMIL, "ta", "IN" }, ++ { LANGUAGE_TELUGU, "te", "IN" }, ++ { LANGUAGE_BELARUSIAN, "be", "BY" }, ++ { LANGUAGE_CATALAN, "ca", "ES" }, // Spain (default) ++ { LANGUAGE_CATALAN, "ca", "AD" }, // Andorra ++ { LANGUAGE_FRENCH_CAMEROON, "fr", "CM" }, ++ { LANGUAGE_FRENCH_COTE_D_IVOIRE, "fr", "CI" }, ++ { LANGUAGE_FRENCH_MALI, "fr", "ML" }, ++ { LANGUAGE_FRENCH_SENEGAL, "fr", "SN" }, ++ { LANGUAGE_FRENCH_ZAIRE, "fr", "CD" }, // Democratic Republic Of Congo ++ { LANGUAGE_FRISIAN_NETHERLANDS, "fy", "NL" }, ++ { LANGUAGE_GAELIC_IRELAND, "ga", "IE" }, ++ { LANGUAGE_GAELIC_SCOTLAND, "gd", "GB" }, ++ { LANGUAGE_GALICIAN, "gl", "ES" }, ++ { LANGUAGE_GEORGIAN, "ka", "GE" }, ++ { LANGUAGE_KHMER, "km", "KH" }, ++ { LANGUAGE_KIRGHIZ, "ky", "KG" }, ++ { LANGUAGE_LAO, "lo", "LA" }, ++ { LANGUAGE_MALTESE, "mt", "MT" }, ++ { LANGUAGE_MONGOLIAN, "mn", "MN" }, ++ { LANGUAGE_RUSSIAN_MOLDOVA, "mo", "MD" }, ++ { LANGUAGE_SESOTHO, "st", "LS" }, // Lesotho (default) ++ { LANGUAGE_SESOTHO, "st", "ZA" }, // South Africa ++ { LANGUAGE_SWAHILI, "sw", "KE" }, ++ { LANGUAGE_TAJIK, "tg", "TJ" }, ++ { LANGUAGE_TIBETAN, "bo", "CN" }, // CN politically correct? ++ { LANGUAGE_TSONGA, "ts", "ZA" }, ++ { LANGUAGE_TSWANA, "tn", "BW" }, // Botswana (default) ++ { LANGUAGE_TSWANA, "tn", "ZA" }, // South Africa ++ { LANGUAGE_TURKMEN, "tk", "TM" }, ++ { LANGUAGE_WELSH, "cy", "GB" }, ++ { LANGUAGE_NORTHERNSOTHO, "ns", "ZA" }, ++ { LANGUAGE_XHOSA, "xh", "ZA" }, ++ { LANGUAGE_ZULU, "zu", "ZA" }, ++// { LANGUAGE_ARABIC_SUDAN, "ar", "SD" }, // unknown MS-LCID ++// { LANGUAGE_FRENCH_REUNION, "fr", "" }, // unknown ISO country code ++// { LANGUAGE_FRENCH_WEST_INDIES, "fr", "" }, // unknown ISO country code ++// { LANGUAGE_KONKANI, "kok", "" }, // only ISO639-2 language code ++// { LANGUAGE_MANIPURI, "mni", "" }, // only ISO639-2 language code ++// { LANGUAGE_SAMI_LAPPISH, "", "" }, // unknown ISO code (could be "se_SE", but there is more than one Sami and more than one country) ++// { LANGUAGE_SORBIAN, "wen", "" }, // only ISO639-2 language code and is not used anymore from MS ++// { LANGUAGE_VENDA, "ven", "ZA" }, // only ISO639-2 language code ++// { LANGUAGE_BURMESE "my", "" }, // undetermined ISO country code (could be Burma, Thailand, Yunna, Vietnam) ++ { LANGUAGE_USER_KINYARWANDA, "rw", "RW" }, ++ { LANGUAGE_USER_MAORI, "mi", "NZ" }, ++ { LANGUAGE_USER_LATIN, "la", "" }, ++ { LANGUAGE_USER_ESPERANTO, "eo", "" }, ++ { LANGUAGE_DONTKNOW, "", "" } // marks end of table ++}; ++#endif ++ ++void PrintFontManager::fillFontSupportedLanguages (PrintFont *pFont, void *pLangSetIn) ++{ ++#ifdef ENABLE_FONTCONFIG ++ // There really doesn't seem to be a better way to do this than looping over ++ // the entire set of languages that OOo supports, and asking Fontconfig whether ++ // the particular language set contains that language. There's no iterator ++ // for FcLangSet structures that we can use, so what we're doing here is bound ++ // to be inefficient. An API to covert an FcLangSet into an FcStrSet to fix this ++ // problem has been submitted for fontconfig 2.3 and should appear soon. ++ ++ FcLangSet *pLangSet = (FcLangSet *)pLangSetIn; ++ IsoLangEntry *pLang = &aIsoLangEntries[0]; ++ FontCfgWrapper& rWrapper = FontCfgWrapper::get(); ++ std::vector<char*> found_locales; ++ ++ if (!pFont || !pLang) ++ return; ++ ++#if OSL_DEBUG_LEVEL > 1 ++ int i = 0; ++ fprintf (stderr, " Languages supported:"); ++#endif ++ while (pLang->meLang != LANGUAGE_DONTKNOW) ++ { ++ char locale[10]; ++ bool success = true; ++ ++ memset (locale, 0, 10); ++ strncpy (locale, pLang->maLangStr, 3); ++ if (strnlen (pLang->maCountry, 3)) ++ { ++ strcat (locale, "-"); ++ strncat (locale, pLang->maCountry, 3); ++ } ++ ++ if (rWrapper.FcLangSetHasLang (pLangSet, (const FcChar8*)locale) != FcLangEqual) ++ { ++ // Back down to just the language name like "en" or "da" ++ memset (locale, 0, 10); ++ strncpy (locale, pLang->maLangStr, 3); ++ if (rWrapper.FcLangSetHasLang (pLangSet, (const FcChar8*)locale) != FcLangEqual) ++ success = false; ++ } ++ ++ if (success) ++ { ++ std::vector<char*>::iterator it = found_locales.begin(); ++ std::vector<char*>::iterator end = found_locales.end(); ++ ++ while ((it != end) && strcmp (*it, locale)) ++ it++; ++ ++ if (it == end) ++ { ++ char *s = strdup (locale); ++ found_locales.push_back (s); ++ ++ pFont->m_aLangs.push_back (pLang->meLang); ++ #if OSL_DEBUG_LEVEL > 1 ++ fprintf (stderr, " %s", locale); ++ i++; ++ #endif ++ } ++ } ++ ++ pLang++; ++ } ++#if OSL_DEBUG_LEVEL > 1 ++ if (!i) ++ fprintf (stderr, " none"); ++ fprintf (stderr, "\n"); ++#endif ++ ++ // Clear out the found locales list ++ while (!found_locales.empty()) ++ { ++ free (found_locales.back()); ++ found_locales.pop_back(); ++ } ++#endif ++} ++ ++ + /* + * PrintFontManager::initFontconfig + */ +@@ -345,6 +691,7 @@ + FC_FILE, + FC_OUTLINE, + FC_INDEX, ++ FC_LANG, + NULL ); + FcPattern* pPattern = rWrapper.FcPatternCreate(); + FcFontSet* pFSet = rWrapper.FcFontList( pConfig, pPattern, pOSet ); +@@ -364,7 +711,9 @@ + int spacing = 0; + int nCollectionEntry = -1; + FcBool outline = false; +- ++ FcCharSet *charset = NULL; ++ FcLangSet *langset = NULL; ++ + FcResult eFileRes = rWrapper.FcPatternGetString( pFSet->fonts[i], FC_FILE, 0, &file ); + FcResult eFamilyRes = rWrapper.FcPatternGetString( pFSet->fonts[i], FC_FAMILY, 0, &family ); + FcResult eStyleRes = rWrapper.FcPatternGetString( pFSet->fonts[i], FC_STYLE, 0, &style ); +@@ -373,9 +722,19 @@ + FcResult eSpacRes = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_SPACING, 0, &spacing ); + FcResult eOutRes = rWrapper.FcPatternGetBool( pFSet->fonts[i], FC_OUTLINE, 0, &outline ); + FcResult eIndexRes = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_INDEX, 0, &nCollectionEntry ); +- +- if( eFileRes != FcResultMatch || eFamilyRes != FcResultMatch || eOutRes != FcResultMatch ) ++ FcResult eCharSet = rWrapper.FcPatternGetCharSet( pFSet->fonts[i], FC_CHARSET, 0, &charset ); ++ FcResult eLangRes = rWrapper.FcPatternGetLangSet( pFSet->fonts[i], FC_LANG, 0, &langset); ++ ++ if( eFileRes != FcResultMatch || eFamilyRes != FcResultMatch || eOutRes != FcResultMatch || eLangRes != FcResultMatch ) ++ { ++#if 0 ++ if (charset) ++ aWrapper.FcCharSetDestroy (charset); ++ if (langset) ++ aWrapper.FcLangSetDestroy (langset); ++#endif + continue; ++ } + + #if OSL_DEBUG_LEVEL > 1 + fprintf( stderr, "found font \"%s\" in file %s\n" +@@ -504,6 +863,25 @@ + else if( slant == FC_SLANT_OBLIQUE ) + pUpdate->m_eItalic = italic::Oblique; + } ++ if( (eCharSet == FcResultMatch) && charset) ++ { ++ /* Ok, so we have to call Type1 fonts Unicode, because most ++ * (for example, Luxi Sans) have their encoding set to "FontSpecific" ++ * in their .afm file, which makes OOo decide to call the fonts "symbol" ++ * fonts. That messes up stuff a _lot_. Therefore, call all Type1 fonts ++ * unicode fonts unless they have "ymbol" or "ingbats" in their name. ++ */ ++ if ( !strncmp (((const char *)file+strlen((const char *)file)-4), ".pf", 3) ++ && !(strstr((const char *)family, "ymbol") || strstr((const char *)family, "ingbat")) ) ++ pUpdate->m_aEncoding = RTL_TEXTENCODING_UNICODE; ++ } ++ ++ fillFontSupportedLanguages (pUpdate, langset); ++ ++#if 0 ++ aWrapper.FcCharSetDestroy (charset); ++ aWrapper.FcLangSetDestroy (langset); ++#endif + + // update font cache + m_pFontCache->updateFontCacheEntry( pUpdate, false ); diff --git a/patches/vclplug/fpicker-gnome-filepicker-hxx.diff b/patches/vclplug/fpicker-gnome-filepicker-hxx.diff index 0d6605948..089fc6f40 100644 --- a/patches/vclplug/fpicker-gnome-filepicker-hxx.diff +++ b/patches/vclplug/fpicker-gnome-filepicker-hxx.diff @@ -1,6 +1,6 @@ --- /dev/null 2004-08-25 23:04:59.000000000 +0530 -+++ fpicker/source/unx/gnome/SalGtkFilePicker.hxx 2004-09-10 14:33:32.000000000 +0530 -@@ -0,0 +1,401 @@ ++++ fpicker/source/unx/gnome/SalGtkFilePicker.hxx 2005-03-11 11:44:03.000000000 +0530 +@@ -0,0 +1,404 @@ +/************************************************************************* + * + * $RCSfile$ @@ -328,6 +328,9 @@ + FilterList *m_pFilterList; + GtkWidget *m_pVBox; + GtkWidget *m_pFilterComboBox; ++ GtkWidget *m_pFilterComboLabel; ++ GtkWidget *m_pFilterComboHBox; ++ GtkWidget *m_pFilterComboAlign; + + enum { + AUTOEXTENSION, @@ -361,7 +364,7 @@ + }; + + GtkWidget *m_pHBoxs[ LIST_LAST ]; -+ GtkWidget *m_pAligns[ LIST_LAST ]; ++ GtkWidget *m_pAligns[ LIST_LAST ]; + GtkWidget *m_pLists[ LIST_LAST ]; + GtkWidget *m_pListLabels[ LIST_LAST ]; + bool mbListVisibility[ LIST_LAST ]; @@ -377,7 +380,7 @@ + void implAddFilterGroup( const OUString& rFilter, + const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair>& _rFilters ); + -+ bool bVersionWidthUnset; ++ bool bVersionWidthUnset; + sal_Bool mbPreviewState; + gulong mHID_Preview; + gulong mHID_FolderChange; @@ -386,9 +389,9 @@ + sal_Int32 m_PreviewImageWidth; + sal_Int32 m_PreviewImageHeight; + -+ void HandleSetListValue(GtkComboBox *pWidget, sal_Int16 nControlAction, -+ const ::com::sun::star::uno::Any& rValue); -+ ::com::sun::star::uno::Any HandleGetListValue(GtkComboBox *pWidget, sal_Int16 nControlAction) const; ++ void HandleSetListValue(GtkComboBox *pWidget, sal_Int16 nControlAction, ++ const ::com::sun::star::uno::Any& rValue); ++ ::com::sun::star::uno::Any HandleGetListValue(GtkComboBox *pWidget, sal_Int16 nControlAction) const; + + static void preview_toggled_cb (GtkObject *cb, SalGtkFilePicker *pobjFP); + static void filter_changed_cb (GtkFileChooser *file_chooser, GParamSpec *pspec, SalGtkFilePicker *pobjFP); @@ -400,5 +403,5 @@ + virtual ~SalGtkFilePicker(); + +}; -+ ++/* vi:set tabstop=4 shiftwidth=4 expandtab: */ +#endif // _SALGTKFILEPICKER_HXX_ diff --git a/patches/vclplug/fpicker-gnome-folderpicker-cxx.diff b/patches/vclplug/fpicker-gnome-folderpicker-cxx.diff index 5aa4a79ad..111f8199f 100644 --- a/patches/vclplug/fpicker-gnome-folderpicker-cxx.diff +++ b/patches/vclplug/fpicker-gnome-folderpicker-cxx.diff @@ -1,6 +1,6 @@ --- /dev/null 2004-08-25 23:04:59.000000000 +0530 -+++ fpicker/source/unx/gnome/SalGtkFolderPicker.cxx 2004-09-10 14:33:32.000000000 +0530 -@@ -0,0 +1,298 @@ ++++ fpicker/source/unx/gnome/SalGtkFolderPicker.cxx 2005-03-11 11:44:03.000000000 +0530 +@@ -0,0 +1,300 @@ +/************************************************************************* + * + * $RCSfile$ @@ -150,8 +150,10 @@ +SalGtkFolderPicker::SalGtkFolderPicker( const uno::Reference<lang::XMultiServiceFactory>& xServiceMgr ) : + m_xServiceMgr( xServiceMgr ) +{ -+ m_pDialog = gtk_file_chooser_dialog_new( "Folder Selection", NULL, -+ GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, ++ CResourceProvider aResProvider; ++ m_pDialog = gtk_file_chooser_dialog_new( ++ OUStringToOString( aResProvider.getResString( FOLDERPICKER_TITLE ), RTL_TEXTENCODING_UTF8 ).getStr(), ++ NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL ); + + gtk_dialog_set_default_response( GTK_DIALOG (m_pDialog), GTK_RESPONSE_ACCEPT ); @@ -234,8 +236,8 @@ + + sal_Int16 retVal = 0; + -+ gint nStatus = gtk_dialog_run( GTK_DIALOG( m_pDialog ) ); -+ gtk_widget_hide( m_pDialog ); ++ RunDialog aRunInMain(m_pDialog); ++ gint nStatus = aRunInMain.runandwaitforresult(); + switch( nStatus ) + { + case GTK_RESPONSE_ACCEPT: diff --git a/patches/vclplug/fpicker-gnome-vfs-utf-8-encode.diff b/patches/vclplug/fpicker-gnome-vfs-utf-8-encode.diff new file mode 100644 index 000000000..820d952ed --- /dev/null +++ b/patches/vclplug/fpicker-gnome-vfs-utf-8-encode.diff @@ -0,0 +1,156 @@ +Index: fpicker/source/unx/gnome/SalGtkFilePicker.cxx +=================================================================== +RCS file: /cvs/gsl/fpicker/source/unx/gnome/SalGtkFilePicker.cxx,v +retrieving revision 1.5 +diff -u -p -r1.5 SalGtkFilePicker.cxx +--- fpicker/source/unx/gnome/SalGtkFilePicker.cxx 18 Mar 2005 09:48:46 -0000 1.5 ++++ fpicker/source/unx/gnome/SalGtkFilePicker.cxx 30 Mar 2005 12:27:00 -0000 +@@ -857,10 +857,8 @@ uno::Sequence<rtl::OUString> SAL_CALL Sa + { + gchar *path = gtk_file_chooser_get_current_folder_uri( + GTK_FILE_CHOOSER( m_pDialog )); +- nURLOffset = strlen( path ); +- aSelectedFiles[0] = OUString( reinterpret_cast<const sal_Char*>(path), +- nURLOffset, RTL_TEXTENCODING_UTF8 ); +- ++nURLOffset; ++ nURLOffset = strlen(path) + 1; ++ aSelectedFiles[0] = uritounicode(path); + g_free(path); + } + +@@ -872,9 +870,7 @@ uno::Sequence<rtl::OUString> SAL_CALL Sa + { + const gchar *path = reinterpret_cast<gchar*>(pPathList->data) + + nURLOffset; +- aSelectedFiles[ nToIndex ] = +- OUString( reinterpret_cast<const sal_Char*>( path ), +- strlen( path ), RTL_TEXTENCODING_UTF8 ); ++ aSelectedFiles[ nToIndex ] = uritounicode(path); + + if( GTK_FILE_CHOOSER_ACTION_SAVE == eAction ) + { +@@ -986,7 +982,7 @@ sal_Int16 SAL_CALL SalGtkFilePicker::exe + Sequence < OUString > aPathSeq = getFiles(); + if( aPathSeq.getLength() == 1 ) + { +- OString sFileName = rtl::OUStringToOString( aPathSeq[0], RTL_TEXTENCODING_UTF8 ); ++ OString sFileName = unicodetouri( aPathSeq[0] ); + if( g_file_test( g_filename_from_uri( sFileName.getStr(), NULL, NULL ), G_FILE_TEST_IS_REGULAR ) ) + { + CResourceProvider aResProvider; +Index: fpicker/source/unx/gnome/SalGtkFolderPicker.cxx +=================================================================== +RCS file: /cvs/gsl/fpicker/source/unx/gnome/SalGtkFolderPicker.cxx,v +retrieving revision 1.4 +diff -u -p -r1.4 SalGtkFolderPicker.cxx +--- fpicker/source/unx/gnome/SalGtkFolderPicker.cxx 18 Mar 2005 09:49:04 -0000 1.4 ++++ fpicker/source/unx/gnome/SalGtkFolderPicker.cxx 30 Mar 2005 12:27:00 -0000 +@@ -173,7 +173,7 @@ void SAL_CALL SalGtkFolderPicker::setDis + OSL_ASSERT( m_pDialog != NULL ); + ::vos::OGuard aGuard( Application::GetSolarMutex() ); + +- OString aTxt = OUStringToOString( aDirectory, RTL_TEXTENCODING_UTF8 ); ++ OString aTxt = unicodetouri( aDirectory ); + + if( aTxt.lastIndexOf('/') == aTxt.getLength() - 1 ) + aTxt = aTxt.copy( 0, aTxt.getLength() - 1 ); +@@ -191,9 +191,7 @@ rtl::OUString SAL_CALL SalGtkFolderPicke + + gchar* pCurrentFolder = + gtk_file_chooser_get_current_folder_uri( GTK_FILE_CHOOSER( m_pDialog ) ); +- ::rtl::OUString aCurrentFolderName = +- ::rtl::OUString( const_cast<const sal_Char *>( pCurrentFolder ), +- strlen( pCurrentFolder ), RTL_TEXTENCODING_UTF8 ); ++ ::rtl::OUString aCurrentFolderName = uritounicode(pCurrentFolder); + g_free( pCurrentFolder ); + + return aCurrentFolderName; +Index: fpicker/source/unx/gnome/SalGtkPicker.cxx +=================================================================== +RCS file: /cvs/gsl/fpicker/source/unx/gnome/SalGtkPicker.cxx,v +retrieving revision 1.5 +diff -u -p -r1.5 SalGtkPicker.cxx +--- fpicker/source/unx/gnome/SalGtkPicker.cxx 18 Mar 2005 09:49:17 -0000 1.5 ++++ fpicker/source/unx/gnome/SalGtkPicker.cxx 30 Mar 2005 12:27:01 -0000 +@@ -90,6 +90,9 @@ + #ifndef _SALGTKPICKER_HXX_ + #include "SalGtkPicker.hxx" + #endif ++#ifndef _URLOBJ_HXX ++#include <tools/urlobj.hxx> ++#endif + #include <stdio.h> + + //------------------------------------------------------------------------ +@@ -101,6 +104,34 @@ using namespace ::com::sun::star; + using namespace ::com::sun::star::lang; + using namespace ::com::sun::star::uno; + ++rtl::OUString SalGtkPicker::uritounicode(const gchar* pIn) ++{ ++ rtl::OUString sURL( const_cast<const sal_Char *>(pIn), strlen(pIn), ++ RTL_TEXTENCODING_UTF8 ); ++ INetURLObject aURL(sURL); ++ if (INET_PROT_FILE == aURL.GetProtocol()) ++ { ++ gchar *pEncodedFileName = g_filename_from_uri(pIn, NULL, NULL); ++ rtl::OUString sEncoded(pEncodedFileName, strlen(pEncodedFileName), osl_getThreadTextEncoding()); ++ INetURLObject aCurrentURL(OUString::createFromAscii("file:///") + sEncoded); ++ aCurrentURL.SetHost(aURL.GetHost()); ++ sURL = aCurrentURL.getExternalURL(); ++ } ++ return sURL; ++} ++ ++rtl::OString SalGtkPicker::unicodetouri(const rtl::OUString &rURL) ++{ ++ OString sURL = OUStringToOString(rURL, RTL_TEXTENCODING_UTF8); ++ INetURLObject aURL(rURL); ++ if (INET_PROT_FILE == aURL.GetProtocol()) ++ { ++ rtl::OUString sOUURL = aURL.getExternalURL(INetURLObject::DECODE_WITH_CHARSET, osl_getThreadTextEncoding()); ++ sURL = OUStringToOString( sOUURL, osl_getThreadTextEncoding()); ++ } ++ return sURL; ++} ++ + gboolean rundialog(RunDialog *pDialog) + { + pDialog->run(); +@@ -136,7 +167,7 @@ void SAL_CALL SalGtkPicker::implsetDispl + OSL_ASSERT( m_pDialog != NULL ); + ::vos::OGuard aGuard( Application::GetSolarMutex() ); + +- OString aTxt = OUStringToOString( aDirectory, RTL_TEXTENCODING_UTF8 ); ++ OString aTxt = unicodetouri(aDirectory); + + if( aTxt.lastIndexOf('/') == aTxt.getLength() - 1 ) + aTxt = aTxt.copy( 0, aTxt.getLength() - 1 ); +@@ -154,9 +185,7 @@ rtl::OUString SAL_CALL SalGtkPicker::imp + + gchar* pCurrentFolder = + gtk_file_chooser_get_current_folder_uri( GTK_FILE_CHOOSER( m_pDialog ) ); +- ::rtl::OUString aCurrentFolderName = +- ::rtl::OUString( const_cast<const sal_Char *>( pCurrentFolder ), +- strlen( pCurrentFolder ), RTL_TEXTENCODING_UTF8 ); ++ ::rtl::OUString aCurrentFolderName = uritounicode(pCurrentFolder); + g_free( pCurrentFolder ); + + return aCurrentFolderName; +Index: fpicker/source/unx/gnome/SalGtkPicker.hxx +=================================================================== +RCS file: /cvs/gsl/fpicker/source/unx/gnome/SalGtkPicker.hxx,v +retrieving revision 1.3 +diff -u -p -r1.3 SalGtkPicker.hxx +--- fpicker/source/unx/gnome/SalGtkPicker.hxx 18 Mar 2005 09:49:32 -0000 1.3 ++++ fpicker/source/unx/gnome/SalGtkPicker.hxx 30 Mar 2005 12:27:01 -0000 +@@ -110,7 +110,8 @@ class SalGtkPicker + + virtual rtl::OUString SAL_CALL implgetDisplayDirectory( ) + throw( com::sun::star::uno::RuntimeException ); +- ++ static rtl::OUString uritounicode(const gchar *pIn); ++ static rtl::OString unicodetouri(const rtl::OUString &rURL); + }; + + class RunDialog diff --git a/patches/vclplug/fpicker-gnome-xml.diff b/patches/vclplug/fpicker-gnome-xml.diff index 4b017ec45..170f1a09a 100644 --- a/patches/vclplug/fpicker-gnome-xml.diff +++ b/patches/vclplug/fpicker-gnome-xml.diff @@ -1,5 +1,5 @@ --- /dev/null 2004-08-25 23:04:59.000000000 +0530 -+++ fpicker/source/unx/gnome/fps_gnome.xml 2004-09-10 14:33:32.000000000 +0530 ++++ fpicker/source/unx/gnome/fps_gnome.xml 2004-09-08 22:39:55.000000000 +0530 @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd"> diff --git a/patches/vclplug/psprint-fontconfigvar.diff b/patches/vclplug/psprint-fontconfigvar.diff new file mode 100644 index 000000000..c951eae0c --- /dev/null +++ b/patches/vclplug/psprint-fontconfigvar.diff @@ -0,0 +1,11 @@ +--- psprint/source/fontmanager/makefile.mk 2004-03-15 12:03:52.000000000 +0000 ++++ psprint-patched/source/fontmanager/makefile.mk 2004-11-25 23:01:53.000000000 +0000 +@@ -72,7 +72,7 @@ + + CFLAGS+= -I..$/fontsubset + +-.IF "$(ENABLE_FONTCONFIG)" != "" ++.IF "$(FONTCONFIG_FONTS)" != "" + CDEFS += -DENABLE_FONTCONFIG + .ENDIF + diff --git a/patches/vclplug/vcl-nwf-kde-font-resolving.diff b/patches/vclplug/vcl-nwf-kde-font-resolving.diff new file mode 100644 index 000000000..2142dfa19 --- /dev/null +++ b/patches/vclplug/vcl-nwf-kde-font-resolving.diff @@ -0,0 +1,199 @@ +--- vcl/unx/kde/salnativewidgets-kde.cxx 2005-03-24 14:15:25.620450399 +0100 ++++ vcl/unx/kde/salnativewidgets-kde.cxx 2005-03-24 15:24:07.582058524 +0100 +@@ -126,6 +126,14 @@ + #include <iostream> + #include <sm.hxx> + ++#ifndef _OSL_PROCESS_H_ ++#include <osl/process.h> ++#endif ++#ifndef _RTL_LOCALE_HXX_ ++#include <rtl/locale.hxx> ++#endif ++#include <fontconfig/fontconfig.h> ++ + using namespace ::rtl; + + /** Cached native widgets. +@@ -1427,36 +1435,109 @@ static Color readColor( KConfig *pConfig + return toColor( pConfig->readColorEntry( pKey ) ); + } + ++/*getFontconfigAlias - get the appropriate font the specific locale ++ from font-config ++ ++ Cut&paste from the Gtk+ vclplug ++*/ ++void getFontconfigAlias( const OUString &aFont) ++{ ++ // Unfortunately, OOo is not smart enough to take font coverages into ++ // account when falling back to get the UI font. For example, since the ++ // "Sans" font returned by Fontconfig as the system default gets re-mapped ++ // to an actual font from VCL.xcu, but that font may or may not have the ++ // correct coverage for all locales, we run into a situation where the ++ // locale is ja_JP but the font specified by VCL.xcu doesn't have Japanese ++ // coverage, resulting in no text drawn at all. So, use fontconfig to ++ // return a font that actually can display the current locale's glyphs ++ ++ FcPattern * pFcOldFont; ++ FcPattern * pFcNewFont; ++ FcResult result = (FcResult)0; // Matching fails if result is not initialized to 0 ++ ByteString aFontName; ++ FcChar8 * pNewFontName = NULL; ++ OLocale loc( osl_getSystemLocale(rtl_LocaleSystemMessages) ); ++ ByteString aLocale( UniString(loc.getRawName()), osl_getThreadTextEncoding() ); ++ ++ aFontName = ByteString(OUStringToOString(aFont, osl_getThreadTextEncoding())); ++ ++ pFcOldFont = FcPatternCreate(); ++ if ( pFcOldFont ) ++ { ++ FcValue aFcValLang; ++ FcValue aFcValName; ++ ++ // Since we always want to make sure that the font can display ++ // characters in the current langauge, the font name is added ++ // as a weak value, so that the locale will override it. ++ aFcValLang.type = FcTypeString; ++ aFcValLang.u.s = (FcChar8 *)(aLocale.GetBuffer()); ++ aFcValName.type = FcTypeString; ++ aFcValName.u.s = (FcChar8 *)(aFontName.GetBuffer()); ++ ++ FcPatternAdd( pFcOldFont, FC_LANG, aFcValLang, false ); ++ FcPatternAddWeak( pFcOldFont, FC_FAMILY, aFcValName, true ); ++ ++ FcConfigSubstitute( 0, pFcOldFont, FcMatchPattern ); ++ FcDefaultSubstitute( pFcOldFont ); ++ ++ // Ask fontconfig to pull together a list of fonts that match ++ // our criteria, language coverage first, then font name ++ pFcNewFont = FcFontMatch( NULL, pFcOldFont, &result ); ++ if ( (FcResultMatch == result) && pFcNewFont ) ++ { ++ // Use the first font that Fontconfig returns ++ result = FcPatternGetString( pFcNewFont, FC_FAMILY, 0, &pNewFontName ); ++ if ( FcResultMatch == result ) ++ { ++ aFont = rtl::OUString::createFromAscii((sal_Char *)pNewFontName); ++#if OSL_DEBUG_LEVEL > 1 ++ fprintf(stderr, "aFont.getStr() = %s\n", ++ OUStringToOString( aFont, RTL_TEXTENCODING_UTF8 ).getStr()); ++#endif ++ } ++ } ++ ++ if ( pFcNewFont ) ++ FcPatternDestroy( pFcNewFont ); ++ ++ FcPatternDestroy( pFcOldFont ); ++ } ++ ++ return; ++} ++ + /** Helper function to add information to Font from QFont. + */ +-static void modifyFont( Font &rFont, const QFont &rQFont ) ++static Font toFont( const QFont &rQFont ) + { + QFontInfo qFontInfo( rQFont ); + +- // Prepend the KDE font, do not override +- OUString aQFontName = String( rQFont.family().utf8(), RTL_TEXTENCODING_UTF8 ); +- OUString aFontName = rFont.GetName(); +- +- if ( aQFontName.getLength() > 0 && +- aFontName.compareTo( aQFontName, aQFontName.getLength() ) != 0 ) +- { +- OUStringBuffer aBuffer( 1024 ); +- aBuffer.append( aQFontName ); +- aBuffer.appendAscii( ";", 1 ); +- aBuffer.append( aFontName ); +- +- rFont.SetName( aBuffer.makeStringAndClear() ); +- } ++ // Get the real name of the KDE font ++ OUString aFontName = String( rQFont.family().utf8(), RTL_TEXTENCODING_UTF8 ); ++ getFontconfigAlias( aFontName ); + + // QFontInfo should give the right point size, but sometimes it does not, + // it seems. +- int nPointSize = qFontInfo.pointSize(); +- if ( nPointSize <= 0 ) +- nPointSize = rQFont.pointSize(); +- if ( nPointSize > 0 ) +- rFont.SetHeight( nPointSize ); ++ int nPointHeight = qFontInfo.pointSize(); ++ if ( nPointHeight <= 0 ) ++ nPointHeight = rQFont.pointSize(); ++ ++ sal_Int32 nDPIX, nDPIY; ++ sal_Int32 nDispDPIY = GetSalData()->GetDisplay()->GetResolution().B(); ++ GetSalData()->GetDisplay()->GetScreenFontResolution( nDPIX, nDPIY ); ++ ++ int nHeight = nPointHeight * nDispDPIY / nDPIY; ++ // allow for rounding in back conversion (at SetFont) ++ while( (nHeight * nDPIY / nDispDPIY) > nPointHeight ) ++ nHeight--; ++ while( (nHeight * nDPIY / nDispDPIY) < nPointHeight ) ++ nHeight++; ++ ++ // Create the font and set its attributes ++ Font aFont( aFontName, Size( 0, nHeight ) ); + +- rFont.SetItalic( qFontInfo.italic()? ITALIC_NORMAL: ITALIC_NONE ); ++ aFont.SetItalic( qFontInfo.italic()? ITALIC_NORMAL: ITALIC_NONE ); + + FontWeight eWeight = WEIGHT_DONTKNOW; + int nWeight = qFontInfo.weight(); +@@ -1470,7 +1551,9 @@ static void modifyFont( Font &rFont, con + eWeight = WEIGHT_BOLD; + else + eWeight = WEIGHT_BLACK; +- rFont.SetWeight( eWeight ); ++ aFont.SetWeight( eWeight ); ++ ++ return aFont; + } + + /** Implementation of KDE integration's main method. +@@ -1514,8 +1597,7 @@ void KDESalFrame::UpdateSettings( AllSet + pKey = "titleFont"; + if ( pConfig->hasKey( pKey ) ) + { +- Font aFont= aStyleSettings.GetTitleFont(); +- modifyFont( aFont, pConfig->readFontEntry( pKey ) ); ++ Font aFont = toFont( pConfig->readFontEntry( pKey ) ); + aStyleSettings.SetTitleFont( aFont ); + bSetTitleFont = true; + } +@@ -1564,8 +1646,7 @@ void KDESalFrame::UpdateSettings( AllSet + aStyleSettings.SetHighlightTextColor( toColor( qColorGroup.highlightedText() ) ); + + // Font +- Font aFont= aStyleSettings.GetAppFont(); +- modifyFont( aFont, kapp->font() ); ++ Font aFont = toFont( kapp->font() ); + + aStyleSettings.SetAppFont( aFont ); + aStyleSettings.SetHelpFont( aFont ); +@@ -1598,8 +1679,7 @@ void KDESalFrame::UpdateSettings( AllSet + aStyleSettings.SetMenuHighlightTextColor( toColor ( qMenuCG.highlightedText() ) ); + + // Font +- Font aFont= aStyleSettings.GetMenuFont(); +- modifyFont( aFont, pMenuBar->font() ); ++ Font aFont = toFont( pMenuBar->font() ); + aStyleSettings.SetMenuFont( aFont ); + } + +@@ -1607,8 +1687,7 @@ void KDESalFrame::UpdateSettings( AllSet + KToolBar *pToolBar = qMainWindow.toolBar(); + if ( pToolBar ) + { +- Font aFont= aStyleSettings.GetToolFont(); +- modifyFont( aFont, pToolBar->font() ); ++ Font aFont = toFont( pToolBar->font() ); + aStyleSettings.SetToolFont( aFont ); + } + diff --git a/patches/vclplug/vcl-source-glyphs.diff b/patches/vclplug/vcl-source-glyphs.diff index b401f7d15..5121c80f1 100644 --- a/patches/vclplug/vcl-source-glyphs.diff +++ b/patches/vclplug/vcl-source-glyphs.diff @@ -2,10 +2,11 @@ Index: vcl/source/glyphs/gcach_ftyp.cxx =================================================================== RCS file: /cvs/gsl/vcl/source/glyphs/gcach_ftyp.cxx,v retrieving revision 1.98.20.2 -diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx ---- vcl/source/glyphs/gcach_ftyp.cxx 28 Jan 2004 15:22:42 -0000 1.98.20.2 -+++ vcl/source/glyphs/gcach_ftyp.cxx 5 Jul 2004 14:01:28 -0000 -@@ -58,13 +59,10 @@ +Index: vcl/source/glyphs/gcach_ftyp.cxx +=================================================================== +--- vcl/source/glyphs/gcach_ftyp.cxx.orig 2004-09-12 14:46:23.000000000 +0200 ++++ vcl/source/glyphs/gcach_ftyp.cxx 2004-09-14 13:53:47.306959408 +0200 +@@ -58,13 +58,10 @@ * ************************************************************************/ @@ -20,7 +21,7 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx #include <gcach_ftyp.hxx> -@@ -72,17 +70,25 @@ +@@ -72,17 +69,25 @@ #include <outfont.hxx> #include <bitmap.hxx> #include <bmpacc.hxx> @@ -53,19 +54,9 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx #ifndef FREETYPE_PATCH // VERSION_MINOR in freetype.h is too coarse -@@ -251,15 +258,22 @@ void FtFontFile::Unmap() - // ======================================================================= - - FtFontInfo::FtFontInfo( const ImplFontData& rFontData, -- const ::rtl::OString& rNativeFileName, int nFaceNum, int nFontId, int nSynthetic ) --: mpFontFile( FtFontFile::FindFontFile( rNativeFileName ) ), -+ const ::rtl::OString& rNativeFileName, -+ int nFaceNum, int nFontId, int nSynthetic, -+ const unicodeKernMap* pKern -+ ) -+: +@@ -258,8 +263,8 @@ FtFontInfo::FtFontInfo( const ImplFontDa + : mpFontFile( FtFontFile::FindFontFile( rNativeFileName ) ), maFontData( rFontData ), -+ mpFontFile( FtFontFile::FindFontFile( rNativeFileName ) ), mnFaceNum( nFaceNum ), - mnFontId( nFontId ), mnSynthetic( nSynthetic ), @@ -73,57 +64,7 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx maFaceFT( NULL ), mnRefCount( 0 ) { -+ if( pKern ) -+ maUnicodeKernPairs = *pKern; -+ - maFontData.mpSysData = (void*)nFontId; - maFontData.mpNext = NULL; - -@@ -336,6 +350,43 @@ void FtFontInfo::ReleaseFaceFT( FT_FaceR - } - } - -+void FtFontInfo::CacheGlyphIndex( sal_Unicode cChar, int nGI ) const -+{ -+ maGlyphMap[ cChar ] = nGI; -+ -+ if( maUnicodeKernPairs.size() != maGlyphKernPairs.size() ) -+ { -+ // move kerning to glyph kerning map -+ unicodeKernMap::const_iterator left_it = -+ maUnicodeKernPairs.find( cChar ); -+ std::map< sal_Unicode, int >::const_iterator right_it; -+ for( left_it = maUnicodeKernPairs.begin(); left_it != maUnicodeKernPairs.end(); ++left_it ) -+ { -+ if( left_it->first == cChar ) -+ { -+ for( right_it = left_it->second.begin(); right_it != left_it->second.end(); ++right_it ) -+ { -+ int nRightGlyph = GetGlyphIndex( right_it->first ); -+ if( nRightGlyph != -1 ) -+ maGlyphKernPairs[ nGI ][ nRightGlyph ] = right_it->second; -+ } -+ } -+ else -+ { -+ int nLeftGlyph = GetGlyphIndex( left_it->first ); -+ if( nLeftGlyph != -1 ) -+ { -+ for( right_it = left_it->second.begin(); right_it != left_it->second.end(); ++right_it ) -+ { -+ if( right_it->first == cChar ) -+ maGlyphKernPairs[ nLeftGlyph ][ nGI ] = right_it->second; -+ } -+ } -+ } -+ } -+ } -+} -+ - // ----------------------------------------------------------------------- - - static unsigned GetUInt( const unsigned char* p ) { return((p[0]<<24)+(p[1]<<16)+(p[2]<<8)+p[3]);} -@@ -382,11 +433,10 @@ const unsigned char* FtFontInfo::GetTabl +@@ -425,11 +467,10 @@ const unsigned char* FtFontInfo::GetTabl // ======================================================================= FreetypeManager::FreetypeManager() @@ -137,28 +78,7 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx #ifdef RTLD_DEFAULT // true if a good dlfcn.h header was included // Get version of freetype library to enable workarounds. // Freetype <= 2.0.9 does not have FT_Library_Version(). -@@ -449,7 +499,10 @@ void* FreetypeManager::GetFontHandle( in - // ----------------------------------------------------------------------- - - void FreetypeManager::AddFontFile( const rtl::OString& rNormalizedName, -- int nFaceNum, int nFontId, const ImplFontData* pData ) -+ int nFaceNum, int nFontId, -+ const ImplFontData* pData, -+ const unicodeKernMap* pKern -+ ) - { - if( !rNormalizedName.getLength() ) - return; -@@ -457,7 +510,7 @@ void FreetypeManager::AddFontFile( const - if( maFontList.find( nFontId ) != maFontList.end() ) - return; - -- FtFontInfo* pFI = new FtFontInfo( *pData, rNormalizedName, nFaceNum, nFontId, 0 ); -+ FtFontInfo* pFI = new FtFontInfo( *pData, rNormalizedName, nFaceNum, nFontId, 0, pKern ); - maFontList[ nFontId ] = pFI; - if( mnMaxFontId < nFontId ) - mnMaxFontId = nFontId; -@@ -482,8 +535,8 @@ long FreetypeManager::AddFontDir( const +@@ -527,8 +568,8 @@ long FreetypeManager::AddFontDir( const rcOSL = aDirItem.getFileStatus( aFileStatus ); ::rtl::OUString aUSytemPath; @@ -169,7 +89,7 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx ::rtl::OString aCFileName = rtl::OUStringToOString( aUSytemPath, theEncoding ); const char* pszFontFileName = aCFileName.getStr(); -@@ -556,8 +609,21 @@ long FreetypeManager::FetchFontList( Imp +@@ -601,8 +642,21 @@ long FreetypeManager::FetchFontList( Imp for( FontList::const_iterator it(maFontList.begin()); it != maFontList.end(); ++it, ++nCount ) { const FtFontInfo& rFFI = *it->second; @@ -193,27 +113,7 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx } return nCount; -@@ -581,7 +647,7 @@ FreetypeServerFont* FreetypeManager::Cre - if( it != maFontList.end() ) - { - FtFontInfo* pFI = it->second; -- FreetypeServerFont* pFont = new FreetypeServerFont( rFSD, pFI ); -+ FreetypeServerFont* pFont = new FreetypeServerFont( rFSD, pFI, pFI->GetGlyphKernMap(), pFI->GetUnicodeKernMap() ); - return pFont; - } - -@@ -592,8 +658,8 @@ FreetypeServerFont* FreetypeManager::Cre - // FreetypeServerFont - // ======================================================================= - --FreetypeServerFont::FreetypeServerFont( const ImplFontSelectData& rFSD, FtFontInfo* pFI ) --: ServerFont( rFSD ), -+FreetypeServerFont::FreetypeServerFont( const ImplFontSelectData& rFSD, FtFontInfo* pFI, const glyphKernMap* pKern, const unicodeKernMap* pUniKern ) -+: ServerFont( rFSD, pKern, pUniKern ), - mpFontInfo( pFI ), - maFaceFT( NULL ), - maSizeFT( NULL ), -@@ -856,23 +944,23 @@ int FreetypeServerFont::ApplyGlyphTransf +@@ -903,23 +957,23 @@ int FreetypeServerFont::ApplyGlyphTransf case GF_ROTL: // left nAngle += 900; bStretched = (mfStretch != 1.0); @@ -248,7 +148,7 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx break; } -@@ -1049,9 +1137,9 @@ void FreetypeServerFont::InitGlyphData( +@@ -1096,9 +1150,9 @@ void FreetypeServerFont::InitGlyphData( if( nGlyphFlags & GF_ROTMASK ) { // for bVertical rotated glyphs const FT_Size_Metrics& rMetrics = maFaceFT->size->metrics; #if (FTVERSION < 2000) @@ -260,7 +160,7 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx #endif } rGD.SetCharWidth( (nCharWidth + 32) >> 6 ); -@@ -1314,34 +1402,6 @@ ULONG FreetypeServerFont::GetFontCodeRan +@@ -1361,34 +1415,6 @@ ULONG FreetypeServerFont::GetFontCodeRan { int nRangeCount = 0; @@ -295,7 +195,7 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx const unsigned char* pCmap = NULL; ULONG nLength = 0; if( FT_IS_SFNT( maFaceFT ) ) -@@ -1409,8 +1469,6 @@ ULONG FreetypeServerFont::GetFontCodeRan +@@ -1456,8 +1482,6 @@ ULONG FreetypeServerFont::GetFontCodeRan *(pCodes++) = cCode; } } @@ -304,34 +204,10 @@ diff -u -p -u -r1.98.20.2 gcach_ftyp.cxx return nRangeCount; } // ----------------------------------------------------------------------- -@@ -1420,7 +1478,10 @@ ULONG FreetypeServerFont::GetFontCodeRan - int FreetypeServerFont::GetGlyphKernValue( int nGlyphLeft, int nGlyphRight ) const - { - if( maSizeFT ) -+ - pFTActivateSize( maSizeFT ); -+ if( !FT_HAS_KERNING( maFaceFT ) || !FT_IS_SFNT( maFaceFT ) ) -+ return ServerFont::GetGlyphKernValue( nGlyphLeft, nGlyphRight ); - - FT_Vector aKernVal; - FT_Error rcFT = FT_Get_Kerning( maFaceFT, nGlyphLeft, nGlyphRight, -@@ -1438,7 +1499,7 @@ ULONG FreetypeServerFont::GetKernPairs( - - *ppKernPairs = NULL; - if( !FT_HAS_KERNING( maFaceFT ) || !FT_IS_SFNT( maFaceFT ) ) -- return 0; -+ return ServerFont::GetKernPairs( ppKernPairs ); - - // first figure out which glyph pairs are involved in kerning - ULONG nKernLength = 0; Index: vcl/source/glyphs/gcach_ftyp.hxx =================================================================== -RCS file: /cvs/gsl/vcl/source/glyphs/gcach_ftyp.hxx,v -retrieving revision 1.24 -retrieving revision 1.27 -diff -u -p -u -r1.24 -r1.27 ---- vcl/source/glyphs/gcach_ftyp.hxx 4 Jul 2003 12:51:33 -0000 1.24 -+++ vcl/source/glyphs/gcach_ftyp.hxx 18 May 2004 10:55:11 -0000 1.27 +--- vcl/source/glyphs/gcach_ftyp.hxx.orig 2004-09-12 14:46:23.000000000 +0200 ++++ vcl/source/glyphs/gcach_ftyp.hxx 2004-09-14 13:53:47.307959256 +0200 @@ -65,11 +65,15 @@ #include <glyphcache.hxx> #include <rtl/textcvt.h> @@ -352,7 +228,7 @@ diff -u -p -u -r1.24 -r1.27 // ----------------------------------------------------------------------- -@@ -87,7 +85,6 @@ public: +@@ -87,7 +91,6 @@ public: const unsigned char* GetBuffer() const { return mpFileMap; } int GetFileSize() const { return mnFileSize; } const ::rtl::OString* GetFileName() const { return &maNativeFileName; } @@ -360,72 +236,7 @@ diff -u -p -u -r1.24 -r1.27 private: FtFontFile( const ::rtl::OString& rNativeFileName ); -@@ -104,7 +101,9 @@ class FtFontInfo - { - public: - FtFontInfo( const ImplFontData&, const ::rtl::OString&, -- int nFaceNum, int nFontId, int nSynthetic ); -+ int nFaceNum, int nFontId, int nSynthetic, -+ const unicodeKernMap* pUnicodeKern = NULL -+ ); - - const unsigned char* GetTable( const char*, ULONG* pLength=0 ) const; - -@@ -121,6 +120,11 @@ public: - - int GetGlyphIndex( sal_Unicode cChar ) const; - void CacheGlyphIndex( sal_Unicode cChar, int nGI ) const; -+ const glyphKernMap* GetGlyphKernMap() const -+ { return (maUnicodeKernPairs.size() || maGlyphKernPairs.size()) ? &maGlyphKernPairs : NULL; } -+ const unicodeKernMap* GetUnicodeKernMap() const -+ { return maUnicodeKernPairs.size() ? &maUnicodeKernPairs : NULL; } -+ - - private: - ImplFontData maFontData; -@@ -135,6 +139,9 @@ private: - // cache unicode->glyphid mapping because looking it up is expensive - typedef ::std::hash_map<sal_Unicode,int> FIGlyphMap; - mutable FIGlyphMap maGlyphMap; -+ -+ mutable glyphKernMap maGlyphKernPairs; -+ unicodeKernMap maUnicodeKernPairs; - }; - - // these two inlines are very important for performance -@@ -147,11 +154,6 @@ inline int FtFontInfo::GetGlyphIndex( sa - return -1; - } - --inline void FtFontInfo::CacheGlyphIndex( sal_Unicode cChar, int nGI ) const --{ -- maGlyphMap[ cChar ] = nGI; --} -- - // ----------------------------------------------------------------------- - - class FreetypeManager -@@ -162,7 +164,9 @@ public: - - long AddFontDir( const String& rUrlName ); - void AddFontFile( const rtl::OString& rNormalizedName, -- int nFaceNum, int nFontId, const ImplFontData* ); -+ int nFaceNum, int nFontId, const ImplFontData*, -+ const unicodeKernMap* pKern = NULL -+ ); - long FetchFontList( ImplDevFontList* ) const; - void ClearFontList(); - -@@ -182,7 +186,7 @@ private: - class FreetypeServerFont : public ServerFont - { - public: -- FreetypeServerFont( const ImplFontSelectData&, FtFontInfo* ); -+ FreetypeServerFont( const ImplFontSelectData&, FtFontInfo*, const glyphKernMap*, const unicodeKernMap* ); - virtual ~FreetypeServerFont(); - - virtual const ::rtl::OString* GetFontFileName() const { return mpFontInfo->GetFontFileName(); } -@@ -206,9 +210,10 @@ public: +@@ -211,9 +222,10 @@ public: const unsigned char* GetTable( const char* pName, ULONG* pLength ) { return mpFontInfo->GetTable( pName, pLength ); } int GetEmUnits() const; @@ -439,13 +250,9 @@ diff -u -p -u -r1.24 -r1.27 virtual void InitGlyphData( int nGlyphIndex, GlyphData& ) const; Index: vcl/source/glyphs/gcach_layout.cxx =================================================================== -RCS file: /cvs/gsl/vcl/source/glyphs/gcach_layout.cxx,v -retrieving revision 1.23.20.1 -retrieving revision 1.29 -diff -u -p -u -r1.23.20.1 -r1.29 ---- vcl/source/glyphs/gcach_layout.cxx 9 Jan 2004 18:13:49 -0000 1.23.20.1 -+++ vcl/source/glyphs/gcach_layout.cxx 25 Jun 2004 17:09:25 -0000 1.29 -@@ -59,30 +59,29 @@ +--- vcl/source/glyphs/gcach_layout.cxx.orig 2004-09-12 14:26:10.000000000 +0200 ++++ vcl/source/glyphs/gcach_layout.cxx 2004-09-14 13:53:47.310958800 +0200 +@@ -59,28 +59,27 @@ ************************************************************************/ #define ENABLE_ICU_LAYOUT @@ -483,9 +290,7 @@ diff -u -p -u -r1.23.20.1 -r1.29 #endif #if OSL_DEBUG_LEVEL > 1 - #include <cstdio> - #endif -@@ -446,6 +446,13 @@ +@@ -450,6 +449,13 @@ IcuLayoutEngine::IcuLayoutEngine( Freety meScriptCode( USCRIPT_INVALID_CODE ) {} @@ -501,12 +306,8 @@ diff -u -p -u -r1.23.20.1 -r1.29 IcuLayoutEngine::~IcuLayoutEngine() Index: vcl/source/glyphs/gcach_rbmp.cxx =================================================================== -RCS file: /cvs/gsl/vcl/source/glyphs/gcach_rbmp.cxx,v -retrieving revision 1.3 -retrieving revision 1.4 -diff -u -p -u -r1.3 -r1.4 ---- vcl/source/glyphs/gcach_rbmp.cxx 13 Dec 2001 14:54:19 -0000 1.3 -+++ vcl/source/glyphs/gcach_rbmp.cxx 6 Jan 2004 13:58:48 -0000 1.4 +--- vcl/source/glyphs/gcach_rbmp.cxx.orig 2004-09-12 14:26:10.000000000 +0200 ++++ vcl/source/glyphs/gcach_rbmp.cxx 2004-09-14 13:53:47.311958648 +0200 @@ -64,7 +64,7 @@ //------------------------------------------------------------------------ @@ -518,12 +319,8 @@ diff -u -p -u -r1.3 -r1.4 //------------------------------------------------------------------------ Index: vcl/source/glyphs/gcach_vdev.cxx =================================================================== -RCS file: /cvs/gsl/vcl/source/glyphs/gcach_vdev.cxx,v -retrieving revision 1.11 -retrieving revision 1.15 -diff -u -p -u -r1.11 -r1.15 ---- vcl/source/glyphs/gcach_vdev.cxx 5 Aug 2002 07:19:22 -0000 1.11 -+++ vcl/source/glyphs/gcach_vdev.cxx 17 Jun 2004 12:21:43 -0000 1.15 +--- vcl/source/glyphs/gcach_vdev.cxx.orig 2004-09-12 14:26:10.000000000 +0200 ++++ vcl/source/glyphs/gcach_vdev.cxx 2004-09-14 13:53:47.312958496 +0200 @@ -75,10 +75,6 @@ long VirtDevServerFont::FetchFontList( ImplDevFontList* pToAdd ) @@ -544,7 +341,7 @@ diff -u -p -u -r1.11 -r1.15 return nCount; } -@@ -202,13 +197,16 @@ void VirtDevServerFont::InitGlyphData( i +@@ -202,13 +196,16 @@ void VirtDevServerFont::InitGlyphData( i vdev.SetFont( aFont ); // get glyph metrics @@ -564,7 +361,7 @@ diff -u -p -u -r1.11 -r1.15 rGD.SetSize( aRect.GetSize() ); } -@@ -223,7 +221,7 @@ bool VirtDevServerFont::GetAntialiasAdvi +@@ -223,7 +220,7 @@ bool VirtDevServerFont::GetAntialiasAdvi bool VirtDevServerFont::GetGlyphBitmap1( int nGlyphIndex, RawBitmap& ) const { @@ -573,7 +370,7 @@ diff -u -p -u -r1.11 -r1.15 // draw bitmap vdev.SetOutputSizePixel( aSize, TRUE ); vdev.DrawText( Point(0,0)-rGD.GetMetric().GetOffset(), nGlyphIndex ); -@@ -233,9 +231,8 @@ bool VirtDevServerFont::GetGlyphBitmap1( +@@ -233,9 +230,8 @@ bool VirtDevServerFont::GetGlyphBitmap1( const Bitmap& rBitmap = vdev.GetBitmap( Point(0,0), aSize ); rGD.SetBitmap( new Bitmap( rBitmap ) ); return true; @@ -584,7 +381,7 @@ diff -u -p -u -r1.11 -r1.15 } // ----------------------------------------------------------------------- -@@ -295,9 +292,8 @@ ULONG VirtDevServerFont::GetKernPairs( I +@@ -295,9 +291,8 @@ ULONG VirtDevServerFont::GetKernPairs( I bool VirtDevServerFont::GetGlyphOutline( int nGlyphIndex, PolyPolygon& rPolyPoly ) const { @@ -595,7 +392,7 @@ diff -u -p -u -r1.11 -r1.15 Font aFont; aFont.SetName ( GetFontSelData().maName ); aFont.SetStyleName ( GetFontSelData().maStyleName ); -@@ -311,7 +307,7 @@ bool VirtDevServerFont::GetGlyphOutline( +@@ -311,7 +306,7 @@ bool VirtDevServerFont::GetGlyphOutline( const bool bOptimize = true; return vdev.GetGlyphOutline( nGlyphIndex, rPolyPoly, bOptimize ); @@ -606,12 +403,8 @@ diff -u -p -u -r1.11 -r1.15 // ======================================================================= Index: vcl/source/glyphs/gcach_vdev.hxx =================================================================== -RCS file: /cvs/gsl/vcl/source/glyphs/gcach_vdev.hxx,v -retrieving revision 1.5 -retrieving revision 1.7 -diff -u -p -u -r1.5 -r1.7 ---- vcl/source/glyphs/gcach_vdev.hxx 15 Feb 2002 15:58:57 -0000 1.5 -+++ vcl/source/glyphs/gcach_vdev.hxx 4 Feb 2004 15:59:34 -0000 1.7 +--- vcl/source/glyphs/gcach_vdev.hxx.orig 2004-09-12 14:26:10.000000000 +0200 ++++ vcl/source/glyphs/gcach_vdev.hxx 2004-09-14 13:53:47.312958496 +0200 @@ -72,7 +72,7 @@ public: virtual bool GetGlyphOutline( int nGlyphIndex, PolyPolygon& ) const; @@ -623,12 +416,8 @@ diff -u -p -u -r1.5 -r1.7 Index: vcl/source/glyphs/glyphcache.cxx =================================================================== -RCS file: /cvs/gsl/vcl/source/glyphs/glyphcache.cxx,v -retrieving revision 1.22.40.2 -retrieving revision 1.26 -diff -u -p -u -r1.22.40.2 -r1.26 ---- vcl/source/glyphs/glyphcache.cxx 26 Jan 2004 17:23:59 -0000 1.22.40.2 -+++ vcl/source/glyphs/glyphcache.cxx 18 May 2004 10:55:25 -0000 1.26 +--- vcl/source/glyphs/glyphcache.cxx.orig 2004-09-12 14:46:23.000000000 +0200 ++++ vcl/source/glyphs/glyphcache.cxx 2004-09-14 13:53:47.313958344 +0200 @@ -88,8 +88,8 @@ GlyphCache::GlyphCache( ULONG nMaxSize ) mnBytesUsed(sizeof(GlyphCache)), mnLruIndex(0), @@ -649,22 +438,7 @@ diff -u -p -u -r1.22.40.2 -r1.26 if( pFontData != it->first.mpFontData ) continue; -@@ -219,10 +219,12 @@ void GlyphCache::AddFontPath( const Stri - // ----------------------------------------------------------------------- - - void GlyphCache::AddFontFile( const rtl::OString& rNormalizedName, int nFaceNum, -- int nFontId, const ImplFontData* pFontData ) -+ int nFontId, const ImplFontData* pFontData, -+ const unicodeKernMap* pKern -+ ) - { - if( mpFtManager ) -- mpFtManager->AddFontFile( rNormalizedName, nFaceNum, nFontId, pFontData ); -+ mpFtManager->AddFontFile( rNormalizedName, nFaceNum, nFontId, pFontData, pKern ); - } - - // ----------------------------------------------------------------------- -@@ -337,7 +339,7 @@ void GlyphCache::GarbageCollect() +@@ -338,7 +338,7 @@ void GlyphCache::GarbageCollect() FontList::iterator it_next = maFontList.begin(), it; while( it_next != maFontList.end() ) { @@ -673,13 +447,7 @@ diff -u -p -u -r1.22.40.2 -r1.26 ServerFont* pSF = it->second; if( (pSF != NULL) && (pSF->GetRefCount() <= 0) -@@ -401,15 +403,17 @@ inline void GlyphCache::RemovingGlyph( S - // ServerFont - // ======================================================================= - --ServerFont::ServerFont( const ImplFontSelectData& rFSD ) -+ServerFont::ServerFont( const ImplFontSelectData& rFSD, const glyphKernMap* pKern, const unicodeKernMap* pUniKern ) - : maFontSelData(rFSD), +@@ -407,8 +407,8 @@ ServerFont::ServerFont( const ImplFontSe mnExtInfo(0), mnRefCount(1), mnBytesUsed( sizeof(ServerFont) ), @@ -687,80 +455,9 @@ diff -u -p -u -r1.22.40.2 -r1.26 mpPrevGCFont( NULL ), + mpNextGCFont( NULL ), nCos( 0x10000), -- nSin( 0) -+ nSin( 0), -+ mpKernPairs( pKern ), -+ mpUnicodeKernPairs( pUniKern ) - { - if( rFSD.mnOrientation != 0 ) - { -@@ -440,6 +444,65 @@ long ServerFont::Release() const - - // ----------------------------------------------------------------------- - -+int ServerFont::GetGlyphKernValue( int left, int right ) const -+{ -+ int kern = 0; -+ if( mpKernPairs ) -+ { -+ std::map< int, std::map< int, int > >::const_iterator left_it = -+ mpKernPairs->find( left ); -+ if( left_it != mpKernPairs->end() ) -+ { -+ std::map< int, int >::const_iterator right_it = left_it->second.find( right ); -+ if( right_it != left_it->second.end() ) -+ kern = right_it->second; -+ } -+ } -+ return kern*(maFontSelData.mnWidth ? maFontSelData.mnWidth : maFontSelData.mnHeight)/1000; -+} -+ -+// ----------------------------------------------------------------------- -+ -+ULONG ServerFont::GetKernPairs( struct ImplKernPairData** ppKernPairs ) const -+{ -+ int nKernEntry = 0; -+ unicodeKernMap::const_iterator left_it; -+ std::map< sal_Unicode, int >::const_iterator right_it; -+ if( mpUnicodeKernPairs ) -+ { -+ // count the kern entries -+ for( left_it = mpUnicodeKernPairs->begin(); left_it != mpUnicodeKernPairs->end(); ++left_it ) -+ { -+ nKernEntry += left_it->second.size(); -+ } -+ } -+ -+ // allocate kern pair table -+ if( nKernEntry ) -+ { -+ *ppKernPairs = new ImplKernPairData[ nKernEntry ]; -+ -+ // fill in kern pairs -+ nKernEntry = 0; -+ for( left_it = mpUnicodeKernPairs->begin(); left_it != mpUnicodeKernPairs->end(); ++left_it ) -+ { -+ for( right_it = left_it->second.begin(); right_it != left_it->second.end(); ++right_it ) -+ { -+ (*ppKernPairs)[ nKernEntry ].mnChar1 = (USHORT)left_it->first; -+ (*ppKernPairs)[ nKernEntry ].mnChar2 = (USHORT)right_it->first; -+ (*ppKernPairs)[ nKernEntry ].mnKern = right_it->second*(maFontSelData.mnWidth ? maFontSelData.mnWidth : maFontSelData.mnHeight)/1000; -+ nKernEntry++; -+ } -+ } -+ } -+ else -+ *ppKernPairs = NULL; -+ -+ return (ULONG)nKernEntry; -+} -+ -+// ----------------------------------------------------------------------- -+ - GlyphData& ServerFont::GetGlyphData( int nGlyphIndex ) - { - // usually the GlyphData is cached -@@ -465,7 +528,7 @@ void ServerFont::GarbageCollect( long nM + nSin( 0), + mpKernPairs( pKern ), +@@ -527,7 +586,7 @@ void ServerFont::GarbageCollect( long nM GlyphList::iterator it_next = maGlyphList.begin(), it; while( it_next != maGlyphList.end() ) { @@ -771,13 +468,9 @@ diff -u -p -u -r1.22.40.2 -r1.26 { Index: vcl/source/glyphs/makefile.mk =================================================================== -RCS file: /cvs/gsl/vcl/source/glyphs/makefile.mk,v -retrieving revision 1.5 -retrieving revision 1.6 -diff -u -p -u -r1.5 -r1.6 ---- vcl/source/glyphs/makefile.mk 15 Feb 2002 15:52:27 -0000 1.5 -+++ vcl/source/glyphs/makefile.mk 6 Jan 2004 14:00:38 -0000 1.6 -@@ -76,11 +76,9 @@ TARGET=glyphs +--- vcl/source/glyphs/makefile.mk.orig 2004-09-12 14:26:10.000000000 +0200 ++++ vcl/source/glyphs/makefile.mk 2004-09-14 13:53:47.314958192 +0200 +@@ -77,11 +77,9 @@ CFLAGS += $(FREETYPE_CFLAGS) SLOFILES=\ $(SLO)$/glyphcache.obj \ $(SLO)$/gcach_rbmp.obj \ diff --git a/patches/vclplug/vcl-unx-source-gdi.diff b/patches/vclplug/vcl-unx-source-gdi.diff index 29d649121..7989f4d08 100644 --- a/patches/vclplug/vcl-unx-source-gdi.diff +++ b/patches/vclplug/vcl-unx-source-gdi.diff @@ -3,9 +3,10 @@ Index: vcl/unx/source/gdi/cdeint.cxx RCS file: /cvs/gsl/vcl/unx/source/gdi/cdeint.cxx,v retrieving revision 1.8 retrieving revision 1.9 -diff -u -p -u -r1.8 -r1.9 ---- vcl/unx/source/gdi/cdeint.cxx 24 Jun 2002 15:53:02 -0000 1.8 -+++ vcl/unx/source/gdi/cdeint.cxx 18 Nov 2003 14:44:27 -0000 1.9 +Index: vcl/unx/source/gdi/cdeint.cxx +=================================================================== +--- vcl/unx/source/gdi/cdeint.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/cdeint.cxx 2004-09-14 14:09:32.367288400 +0200 @@ -64,14 +64,12 @@ #include <salunx.h> #include <saldisp.hxx> @@ -24,12 +25,8 @@ diff -u -p -u -r1.8 -r1.9 mnRefCount++; Index: vcl/unx/source/gdi/dtint.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/dtint.cxx,v -retrieving revision 1.16.82.1 -retrieving revision 1.22 -diff -u -p -u -r1.16.82.1 -r1.22 ---- vcl/unx/source/gdi/dtint.cxx 15 Jan 2004 12:52:24 -0000 1.16.82.1 -+++ vcl/unx/source/gdi/dtint.cxx 10 May 2004 15:58:19 -0000 1.22 +--- vcl/unx/source/gdi/dtint.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/dtint.cxx 2004-09-14 14:09:32.371287792 +0200 @@ -72,10 +72,8 @@ #include <cdeint.hxx> #endif @@ -143,7 +140,7 @@ diff -u -p -u -r1.16.82.1 -r1.22 void DtIntegrator::GetSystemLook( AllSettings& rSettings ) { --} + } - -Color DtIntegrator::parseColor( const ByteString& rLine ) -{ @@ -563,15 +560,11 @@ diff -u -p -u -r1.16.82.1 -r1.22 - rSettings.SetMouseSettings( aMouseSettings ); - rSettings.SetStyleSettings( aStyleSettings ); - } - } +-} Index: vcl/unx/source/gdi/gcach_xpeer.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/gcach_xpeer.cxx,v -retrieving revision 1.32.18.1 -retrieving revision 1.37 -diff -u -p -u -r1.32.18.1 -r1.37 ---- vcl/unx/source/gdi/gcach_xpeer.cxx 9 Jan 2004 18:14:01 -0000 1.32.18.1 -+++ vcl/unx/source/gdi/gcach_xpeer.cxx 4 Feb 2004 11:05:23 -0000 1.37 +--- vcl/unx/source/gdi/gcach_xpeer.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/gcach_xpeer.cxx 2004-09-14 14:09:32.372287640 +0200 @@ -61,6 +61,7 @@ #include <rtl/ustring.hxx> @@ -643,12 +636,8 @@ diff -u -p -u -r1.32.18.1 -r1.37 rGlyphData.SetOffset( +maRawBitmap.mnXOffset, +maRawBitmap.mnYOffset ); Index: vcl/unx/source/gdi/kdeint.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/kdeint.cxx,v -retrieving revision 1.10 -retrieving revision 1.12 -diff -u -p -u -r1.10 -r1.12 ---- vcl/unx/source/gdi/kdeint.cxx 16 Jul 2003 17:46:57 -0000 1.10 -+++ vcl/unx/source/gdi/kdeint.cxx 6 Jan 2004 14:37:00 -0000 1.12 +--- vcl/unx/source/gdi/kdeint.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/kdeint.cxx 2004-09-14 14:09:32.373287488 +0200 @@ -60,18 +60,18 @@ ************************************************************************/ @@ -691,12 +680,8 @@ diff -u -p -u -r1.10 -r1.12 if( pTryFiles[i][0] == '~' ) Index: vcl/unx/source/gdi/makefile.mk =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/makefile.mk,v -retrieving revision 1.9 -retrieving revision 1.13 -diff -u -p -u -r1.9 -r1.13 ---- vcl/unx/source/gdi/makefile.mk 27 Aug 2002 14:52:35 -0000 1.9 -+++ vcl/unx/source/gdi/makefile.mk 10 May 2004 15:58:32 -0000 1.13 +--- vcl/unx/source/gdi/makefile.mk.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/makefile.mk 2004-09-14 14:09:32.374287336 +0200 @@ -80,24 +80,29 @@ dummy: .ELSE # "$(GUIBASE)"!="unx" @@ -733,21 +718,19 @@ diff -u -p -u -r1.9 -r1.13 .IF "$(USE_XPRINT)" == "TRUE" CFLAGS+=-D_USE_PRINT_EXTENSION_=1 -@@ -113,8 +118,6 @@ ENVCFLAGS+=-DUSE_CDE - - .IF "$(USE_BUILTIN_RASTERIZER)" != "" +@@ -115,8 +120,6 @@ ENVCFLAGS+=-DUSE_CDE SLOFILES+= $(SLO)$/gcach_xpeer.obj --.ENDIF -- .ENDIF +-.ENDIF +- .ENDIF # "$(GUIBASE)"!="unx" + + # --- Targets ------------------------------------------------------ Index: vcl/unx/source/gdi/pspgraphics.cxx =================================================================== -RCS file: vcl/unx/source/gdi/pspgraphics.cxx -diff -N vcl/unx/source/gdi/pspgraphics.cxx ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ vcl/unx/source/gdi/pspgraphics.cxx 17 Jun 2004 12:28:07 -0000 1.4 +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ vcl/unx/source/gdi/pspgraphics.cxx 2004-09-14 14:09:32.377286880 +0200 @@ -0,0 +1,1355 @@ +/************************************************************************* + * @@ -2106,12 +2089,8 @@ diff -N vcl/unx/source/gdi/pspgraphics.cxx +} Index: vcl/unx/source/gdi/salbmp.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/salbmp.cxx,v -retrieving revision 1.8.274.1 -retrieving revision 1.14 -diff -u -p -u -r1.8.274.1 -r1.14 ---- vcl/unx/source/gdi/salbmp.cxx 15 Jan 2004 12:52:46 -0000 1.8.274.1 -+++ vcl/unx/source/gdi/salbmp.cxx 22 Jun 2004 17:42:38 -0000 1.14 +--- vcl/unx/source/gdi/salbmp.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/salbmp.cxx 2004-09-14 14:09:32.382286120 +0200 @@ -59,20 +59,18 @@ * ************************************************************************/ @@ -2638,12 +2617,8 @@ diff -u -p -u -r1.8.274.1 -r1.14 { Index: vcl/unx/source/gdi/salgdi.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/salgdi.cxx,v -retrieving revision 1.24.120.2 -retrieving revision 1.33 -diff -u -p -u -r1.24.120.2 -r1.33 ---- vcl/unx/source/gdi/salgdi.cxx 15 Jan 2004 12:53:28 -0000 1.24.120.2 -+++ vcl/unx/source/gdi/salgdi.cxx 22 Jun 2004 17:42:18 -0000 1.33 +--- vcl/unx/source/gdi/salgdi.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/salgdi.cxx 2004-09-14 14:09:32.386285512 +0200 @@ -59,14 +59,22 @@ * ************************************************************************/ @@ -3951,12 +3926,8 @@ diff -u -p -u -r1.24.120.2 -r1.33 - Index: vcl/unx/source/gdi/salgdi2.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/salgdi2.cxx,v -retrieving revision 1.18.68.1 -retrieving revision 1.25 -diff -u -p -u -r1.18.68.1 -r1.25 ---- vcl/unx/source/gdi/salgdi2.cxx 15 Jan 2004 12:53:52 -0000 1.18.68.1 -+++ vcl/unx/source/gdi/salgdi2.cxx 22 Jun 2004 17:42:46 -0000 1.25 +--- vcl/unx/source/gdi/salgdi2.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/salgdi2.cxx 2004-09-14 14:09:32.406282472 +0200 @@ -59,9 +59,6 @@ * ************************************************************************/ @@ -5315,12 +5286,8 @@ diff -u -p -u -r1.18.68.1 -r1.25 Index: vcl/unx/source/gdi/salgdi3.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/salgdi3.cxx,v -retrieving revision 1.105.46.5 -retrieving revision 1.119 -diff -u -p -u -r1.105.46.5 -r1.119 ---- vcl/unx/source/gdi/salgdi3.cxx 13 Feb 2004 14:03:54 -0000 1.105.46.5 -+++ vcl/unx/source/gdi/salgdi3.cxx 17 Jun 2004 12:29:09 -0000 1.119 +--- vcl/unx/source/gdi/salgdi3.cxx.orig 2004-09-12 14:46:23.000000000 +0200 ++++ vcl/unx/source/gdi/salgdi3.cxx 2004-09-14 14:11:55.218571704 +0200 @@ -59,10 +59,6 @@ * ************************************************************************/ @@ -5664,7 +5631,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 for( int nStart = 0; rSalLayout.GetNextGlyphs( 1, &nGlyph, aPos, nStart ); ) { Pixmap aStipple = aX11GlyphPeer.GetPixmap( rFont, nGlyph ); -@@ -1124,186 +1015,27 @@ void SalGraphicsData::DrawServerSimpleFo +@@ -1124,200 +1015,27 @@ void SalGraphicsData::DrawServerSimpleFo //-------------------------------------------------------------------------- @@ -5733,10 +5700,24 @@ diff -u -p -u -r1.105.46.5 -r1.119 - // apply pair kerning to prev glyph if requested - if( SAL_LAYOUT_KERNING_PAIRS & rArgs.mnFlags ) - { -- // TODO: get kerning value from printer -- int nKern = 0; //GetGlyphKernValue( nOldGlyphId, nGlyphIndex ); -- nGlyphWidth += nKern; -- aPrevItem.mnNewWidth = nGlyphWidth; +- if( nOldGlyphId > 0 ) +- { +- const std::list< psp::KernPair >& rKernPairs = mrPrinterGfx.getKernPairs(mbVertical); +- for( std::list< psp::KernPair >::const_iterator it = rKernPairs.begin(); +- it != rKernPairs.end(); ++it ) +- { +- if( it->first == nOldGlyphId && it->second == nGlyphIndex ) +- { +- int nTextScale = mrPrinterGfx.GetFontWidth(); +- if( ! nTextScale ) +- nTextScale = mrPrinterGfx.GetFontHeight(); +- int nKern = (mbVertical ? it->kern_y : it->kern_x) * nTextScale; +- nGlyphWidth += nKern; +- aPrevItem.mnNewWidth = nGlyphWidth; +- break; +- } +- } +- } - } - - // finish previous glyph @@ -5866,7 +5847,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 else { // draw complex text -@@ -1326,35 +1058,7 @@ void SalGraphicsData::DispatchServerFont +@@ -1340,35 +1058,7 @@ void SalGraphicsData::DispatchServerFont //-------------------------------------------------------------------------- @@ -5903,7 +5884,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 const Point& rPoint, const sal_Unicode* pStr, int nLength ) { Display* pDisplay = GetXDisplay(); -@@ -1383,8 +1087,9 @@ void SalGraphicsData::DrawStringUCS2MB( +@@ -1397,8 +1087,9 @@ void SalGraphicsData::DrawStringUCS2MB( { XTextItem16 *pTextItem = (XTextItem16*)alloca( nLength * sizeof(XTextItem16) ); XChar2b *pMBChar = (XChar2b*)pStr; @@ -5914,7 +5895,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 { rtl_TextEncoding nEnc; XFontStruct* pFontStruct = rFont.GetFontStruct( pStr[nChar], &nEnc ); -@@ -1406,15 +1111,13 @@ void SalGraphicsData::DrawStringUCS2MB( +@@ -1420,15 +1111,13 @@ void SalGraphicsData::DrawStringUCS2MB( //-------------------------------------------------------------------------- @@ -5931,7 +5912,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 if( mXFont[0] ) nPairs = mXFont[0]->GetFontCodeRanges( pCodePairs ); return nPairs; -@@ -1449,204 +1152,32 @@ CheckNoNegativeCoordinateWorkaround() +@@ -1463,204 +1152,32 @@ CheckNoNegativeCoordinateWorkaround() // // ---------------------------------------------------------------------------- @@ -5990,29 +5971,29 @@ diff -u -p -u -r1.105.46.5 -r1.119 { -#ifndef _USE_PRINT_EXTENSION_ - if (maGraphicsData.m_pPrinterGfx != NULL) -- { ++ if( nTextColor_ != nSalColor ) + { - psp::PrinterColor aColor (SALCOLOR_RED (nSalColor), - SALCOLOR_GREEN (nSalColor), - SALCOLOR_BLUE (nSalColor)); - maGraphicsData.m_pPrinterGfx->SetTextColor (aColor); -- } ++ nTextColor_ = nSalColor; ++ nTextPixel_ = GetPixel( nSalColor ); ++ bFontGC_ = FALSE; + } - else - { -#endif - - if( _GetTextColor() != nSalColor ) -+ if( nTextColor_ != nSalColor ) - { +- { - _GetTextColor() = nSalColor; - _GetTextPixel() = _GetPixel( nSalColor ); - _IsFontGC() = FALSE; - } - -#ifndef _USE_PRINT_EXTENSION_ -+ nTextColor_ = nSalColor; -+ nTextPixel_ = GetPixel( nSalColor ); -+ bFontGC_ = FALSE; - } +- } -#endif } @@ -6149,7 +6130,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 { // inform font manager rtl::OUString aUSystemPath; -@@ -1662,7 +1193,7 @@ ImplFontData* SalGraphics::AddTempDevFon +@@ -1676,7 +1193,7 @@ ImplFontData* SalGraphics::AddTempDevFon psp::FastPrintFontInfo aInfo; rMgr.getFontFastInfo( nFontId, aInfo ); ImplFontData* pFontData = new ImplFontData; @@ -6158,7 +6139,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 pFontData->maName = rFontName; pFontData->mnQuality += 5800; -@@ -1676,148 +1207,83 @@ ImplFontData* SalGraphics::AddTempDevFon +@@ -1690,164 +1207,82 @@ ImplFontData* SalGraphics::AddTempDevFon // ---------------------------------------------------------------------------- @@ -6167,35 +6148,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 { -#ifndef _USE_PRINT_EXTENSION_ - if (maGraphicsData.m_pJobData != NULL) -+ XlfdStorage* pFonts = GetDisplay()->GetXlfdList(); -+ -+ for ( int nIdx = 0; nIdx < pFonts->GetCount(); nIdx++ ) -+ { -+ ImplFontData *pFontData = new ImplFontData; -+ pFonts->Get(nIdx)->ToImplFontData( pFontData ); -+ if( pFontData->maName.CompareIgnoreCaseToAscii( "itc ", 4 ) == COMPARE_EQUAL ) -+ pFontData->maName = pFontData->maName.Copy( 4 ); -+ pFontData->mbSubsettable = FALSE; -+ pFontData->mbEmbeddable = FALSE; -+ pList->Add( pFontData ); -+ } -+ -+ aX11GlyphPeer.SetDisplay( GetXDisplay(), -+ GetDisplay()->GetVisual()->GetVisual() ); -+#ifdef MACOSX -+ GlyphCache::EnsureInstance( aX11GlyphPeer, true ); -+#else -+ GlyphCache::EnsureInstance( aX11GlyphPeer, false ); -+#endif -+ GlyphCache& rGC = GlyphCache::GetInstance(); -+ -+ const psp::PrintFontManager& rMgr = psp::PrintFontManager::get(); -+ ::std::list< psp::fontID > aList; -+ ::std::list< psp::fontID >::iterator it; -+ rMgr.getFontList( aList ); -+ unicodeKernMap aKernTab; -+ for( it = aList.begin(); it != aList.end(); ++it ) - { +- { - const char* pLangBoost = NULL; - const LanguageType aLang = Application::GetSettings().GetUILanguage(); - switch( aLang ) @@ -6225,39 +6178,17 @@ diff -u -p -u -r1.105.46.5 -r1.119 - - ::std::list< psp::fontID >::iterator it; - for (it = aList.begin(); it != aList.end(); ++it) -+ psp::FastPrintFontInfo aInfo; -+ if( rMgr.getFontFastInfo( *it, aInfo ) ) - { +- { - psp::FastPrintFontInfo aInfo; - if (rMgr.getFontFastInfo (*it, aInfo)) -+ if( aInfo.m_eType == psp::fonttype::Builtin ) -+ continue; -+ ImplFontData aFontData; -+ PspGraphics::SetImplFontData( aInfo, aFontData ); -+ // prefer builtin_rasterizer fonts -+ aFontData.mnQuality += 4096; -+ // prefer truetype fonts -+ if( aInfo.m_eType == psp::fonttype::TrueType ) -+ aFontData.mnQuality += 1000; -+ int nFaceNum = rMgr.getFontFaceNumber( aInfo.m_nID ); -+ if( aFontData.maName.CompareIgnoreCaseToAscii( "itc ", 4 ) == COMPARE_EQUAL ) -+ aFontData.maName = aFontData.maName.Copy( 4 ); -+ if( nFaceNum < 0 ) -+ nFaceNum = 0; -+ -+ -+ const unicodeKernMap* pKernTab = NULL; -+ if( aInfo.m_eType == psp::fonttype::Type1 ) - { +- { - ImplFontData *pFontData = new ImplFontData; - SetImplFontData( aInfo, *pFontData ); - pFontData->mpSysData = (void*)*it; - if( pFontData->maName.CompareIgnoreCaseToAscii( "itc ", 4 ) == COMPARE_EQUAL ) - pFontData->maName = pFontData->maName.Copy( 4 ); - if( aInfo.m_eType == psp::fonttype::TrueType ) -+ const std::list< psp::KernPair >& rKernPairs = rMgr.getKernPairs( *it ); -+ if( rKernPairs.size() ) - { +- { - // prefer truetype fonts - pFontData->mnQuality += 10; - // asian type 1 fonts are not known @@ -6270,29 +6201,35 @@ diff -u -p -u -r1.105.46.5 -r1.119 - if( pLangBoost && aFileName.Copy( nPos+1, 3 ).EqualsIgnoreCaseAscii( pLangBoost ) ) - pFontData->mnQuality += 10; - } -+ aKernTab.clear(); -+ for( std::list< psp::KernPair >::const_iterator it = rKernPairs.begin(); -+ it != rKernPairs.end(); ++it ) -+ aKernTab[ it->first ][ it->second ] = it->kern_x; -+ pKernTab = & aKernTab; - } +- } - pList->Add( pFontData ); - } -+ -+ // handling of alias names is done by GlyphCache::FetchFontList -+ rGC.AddFontFile( rMgr.getFontFileSysPath( aInfo.m_nID ), nFaceNum, -+ aInfo.m_nID, &aFontData, pKernTab ); - } - } +- } +- } +- } - else -#endif - { - XlfdStorage* pFonts = _GetDisplay()->GetXlfdList(); - +- - for ( int nIdx = 0; nIdx < pFonts->GetCount(); nIdx++ ) - { - ImplFontData *pFontData = new ImplFontData; --#ifdef MACOSX ++ XlfdStorage* pFonts = GetDisplay()->GetXlfdList(); ++ ++ for ( int nIdx = 0; nIdx < pFonts->GetCount(); nIdx++ ) ++ { ++ ImplFontData *pFontData = new ImplFontData; ++ pFonts->Get(nIdx)->ToImplFontData( pFontData ); ++ if( pFontData->maName.CompareIgnoreCaseToAscii( "itc ", 4 ) == COMPARE_EQUAL ) ++ pFontData->maName = pFontData->maName.Copy( 4 ); ++ pFontData->mbSubsettable = FALSE; ++ pFontData->mbEmbeddable = FALSE; ++ pList->Add( pFontData ); ++ } ++ ++ aX11GlyphPeer.SetDisplay( GetXDisplay(), ++ GetDisplay()->GetVisual()->GetVisual() ); + #ifdef MACOSX - // don't use bitmap X fonts on OS X - if ( pFonts->Get(nIdx)->GetFontType() != TYPE_RASTER ) -#endif @@ -6311,17 +6248,31 @@ diff -u -p -u -r1.105.46.5 -r1.119 - maGraphicsData.GetDisplay()->GetVisual()->GetVisual() ); -#ifdef MACOSX - GlyphCache::EnsureInstance( aX11GlyphPeer, true ); --#else ++ GlyphCache::EnsureInstance( aX11GlyphPeer, true ); + #else - GlyphCache::EnsureInstance( aX11GlyphPeer, false ); --#endif ++ GlyphCache::EnsureInstance( aX11GlyphPeer, false ); + #endif - GlyphCache& rGC = GlyphCache::GetInstance(); - - const psp::PrintFontManager& rMgr = psp::PrintFontManager::get(); - ::std::list< psp::fontID > aList; - ::std::list< psp::fontID >::iterator it; - rMgr.getFontList( aList ); +- unicodeKernMap aKernTab; - for( it = aList.begin(); it != aList.end(); ++it ) -- { ++ GlyphCache& rGC = GlyphCache::GetInstance(); ++ ++ const psp::PrintFontManager& rMgr = psp::PrintFontManager::get(); ++ ::std::list< psp::fontID > aList; ++ ::std::list< psp::fontID >::iterator it; ++ rMgr.getFontList( aList ); ++ unicodeKernMap aKernTab; ++ for( it = aList.begin(); it != aList.end(); ++it ) ++ { ++ psp::FastPrintFontInfo aInfo; ++ if( rMgr.getFontFastInfo( *it, aInfo ) ) + { - psp::FastPrintFontInfo aInfo; - if( rMgr.getFontFastInfo( *it, aInfo ) ) - { @@ -6339,14 +6290,58 @@ diff -u -p -u -r1.105.46.5 -r1.119 - aFontData.maName = aFontData.maName.Copy( 4 ); - if( nFaceNum < 0 ) - nFaceNum = 0; ++ if( aInfo.m_eType == psp::fonttype::Builtin ) ++ continue; ++ ImplFontData aFontData; ++ PspGraphics::SetImplFontData( aInfo, aFontData ); ++ // prefer builtin_rasterizer fonts ++ aFontData.mnQuality += 4096; ++ // prefer truetype fonts ++ if( aInfo.m_eType == psp::fonttype::TrueType ) ++ aFontData.mnQuality += 1000; ++ int nFaceNum = rMgr.getFontFaceNumber( aInfo.m_nID ); ++ if( aFontData.maName.CompareIgnoreCaseToAscii( "itc ", 4 ) == COMPARE_EQUAL ) ++ aFontData.maName = aFontData.maName.Copy( 4 ); ++ if( nFaceNum < 0 ) ++ nFaceNum = 0; ++ + +- const unicodeKernMap* pKernTab = NULL; +- if( aInfo.m_eType == psp::fonttype::Type1 ) ++ const unicodeKernMap* pKernTab = NULL; ++ if( aInfo.m_eType == psp::fonttype::Type1 ) ++ { ++ const std::list< psp::KernPair >& rKernPairs = rMgr.getKernPairs( *it ); ++ if( rKernPairs.size() ) + { +- const std::list< psp::KernPair >& rKernPairs = rMgr.getKernPairs( *it ); +- if( rKernPairs.size() ) +- { +- aKernTab.clear(); +- for( std::list< psp::KernPair >::const_iterator it = rKernPairs.begin(); +- it != rKernPairs.end(); ++it ) +- aKernTab[ it->first ][ it->second ] = it->kern_x; +- pKernTab = & aKernTab; +- } ++ aKernTab.clear(); ++ for( std::list< psp::KernPair >::const_iterator it = rKernPairs.begin(); ++ it != rKernPairs.end(); ++it ) ++ aKernTab[ it->first ][ it->second ] = it->kern_x; ++ pKernTab = & aKernTab; + } +- - rGC.AddFontFile( rMgr.getFontFileSysPath( aInfo.m_nID ), nFaceNum, -- aInfo.m_nID, &aFontData ); -- } -- } +- aInfo.m_nID, &aFontData, pKernTab ); + } ++ ++ // handling of alias names is done by GlyphCache::FetchFontList ++ rGC.AddFontFile( rMgr.getFontFileSysPath( aInfo.m_nID ), nFaceNum, ++ aInfo.m_nID, &aFontData, pKernTab ); + } - - rGC.FetchFontList( pList ); -#endif // USE_BUILTIN_RASTERIZER -- } + } + rGC.FetchFontList( pList ); } @@ -6369,7 +6364,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 } // ---------------------------------------------------------------------------- -@@ -1831,136 +1297,53 @@ sal_DivideNeg( long n1, long n2 ) +@@ -1861,136 +1296,53 @@ sal_DivideNeg( long n1, long n2 ) // ---------------------------------------------------------------------------- void @@ -6517,7 +6512,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 if( !pSF ) return FALSE; -@@ -1972,13 +1355,13 @@ BOOL SalGraphics::GetGlyphBoundRect( lon +@@ -2002,13 +1354,13 @@ BOOL SalGraphics::GetGlyphBoundRect( lon // --------------------------------------------------------------------------- @@ -6533,7 +6528,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 if( !pSF ) return FALSE; -@@ -1991,29 +1374,13 @@ BOOL SalGraphics::GetGlyphOutline( long +@@ -2021,29 +1373,13 @@ BOOL SalGraphics::GetGlyphOutline( long //-------------------------------------------------------------------------- @@ -6565,7 +6560,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 else if( mXFont[ nFallbackLevel ] ) pLayout = new X11FontLayout( *mXFont[ nFallbackLevel ] ); else -@@ -2024,18 +1391,10 @@ SalLayout* SalGraphicsData::GetTextLayou +@@ -2054,18 +1390,10 @@ SalLayout* SalGraphicsData::GetTextLayou //-------------------------------------------------------------------------- @@ -6586,7 +6581,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 sal_uInt8* pEncoding, sal_Int32* pWidths, int nGlyphs, -@@ -2049,41 +1408,7 @@ BOOL SalGraphics::CreateFontSubset( +@@ -2079,41 +1407,7 @@ BOOL SalGraphics::CreateFontSubset( // which this method was created). The correct way would // be to have the GlyphCache search for the ImplFontData pFont psp::fontID aFont = (psp::fontID)pFont->mpSysData; @@ -6629,7 +6624,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 #else return FALSE; #endif -@@ -2091,7 +1416,7 @@ BOOL SalGraphics::CreateFontSubset( +@@ -2121,7 +1415,7 @@ BOOL SalGraphics::CreateFontSubset( //-------------------------------------------------------------------------- @@ -6638,7 +6633,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 { #ifndef _USE_PRINT_EXTENSION_ // in this context the sysdata member of pFont should -@@ -2100,61 +1425,7 @@ const void* SalGraphics::GetEmbedFontDat +@@ -2130,61 +1424,7 @@ const void* SalGraphics::GetEmbedFontDat // which this method was created). The correct way would // be to have the GlyphCache search for the ImplFontData pFont psp::fontID aFont = (psp::fontID)pFont->mpSysData; @@ -6701,7 +6696,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 #else return NULL; #endif -@@ -2162,14 +1433,16 @@ const void* SalGraphics::GetEmbedFontDat +@@ -2192,14 +1432,16 @@ const void* SalGraphics::GetEmbedFontDat //-------------------------------------------------------------------------- @@ -6721,7 +6716,7 @@ diff -u -p -u -r1.105.46.5 -r1.119 { #ifndef _USE_PRINT_EXTENSION_ // in this context the sysdata member of pFont should -@@ -2178,17 +1451,7 @@ const std::map< sal_Unicode, sal_Int32 > +@@ -2208,17 +1450,7 @@ const std::map< sal_Unicode, sal_Int32 > // which this method was created). The correct way would // be to have the GlyphCache search for the ImplFontData pFont psp::fontID aFont = (psp::fontID)pFont->mpSysData; @@ -6742,10 +6737,8 @@ diff -u -p -u -r1.105.46.5 -r1.119 #endif Index: vcl/unx/source/gdi/salnativewidgets-kde.cxx =================================================================== -RCS file: vcl/unx/source/gdi/salnativewidgets-kde.cxx -diff -N vcl/unx/source/gdi/salnativewidgets-kde.cxx ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ vcl/unx/source/gdi/salnativewidgets-kde.cxx 10 May 2004 15:59:25 -0000 1.2 +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ vcl/unx/source/gdi/salnativewidgets-kde.cxx 2004-09-14 14:09:32.421280192 +0200 @@ -0,0 +1,1633 @@ +/************************************************************************* + * @@ -8382,12 +8375,8 @@ diff -N vcl/unx/source/gdi/salnativewidgets-kde.cxx +/* vim: set tabstop=8 shiftwidth=4: */ Index: vcl/unx/source/gdi/salogl.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/salogl.cxx,v -retrieving revision 1.7 -retrieving revision 1.11 -diff -u -p -u -r1.7 -r1.11 ---- vcl/unx/source/gdi/salogl.cxx 15 Apr 2003 16:10:05 -0000 1.7 -+++ vcl/unx/source/gdi/salogl.cxx 10 May 2004 15:59:38 -0000 1.11 +--- vcl/unx/source/gdi/salogl.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/salogl.cxx 2004-09-14 14:09:32.422280040 +0200 @@ -59,8 +59,6 @@ * ************************************************************************/ @@ -8679,12 +8668,8 @@ diff -u -p -u -r1.7 -r1.11 int nVisuals ) Index: vcl/unx/source/gdi/salprnpsp.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/salprnpsp.cxx,v -retrieving revision 1.27.40.2 -retrieving revision 1.33 -diff -u -p -u -r1.27.40.2 -r1.33 ---- vcl/unx/source/gdi/salprnpsp.cxx 28 Jan 2004 15:25:52 -0000 1.27.40.2 -+++ vcl/unx/source/gdi/salprnpsp.cxx 10 May 2004 15:59:51 -0000 1.33 +--- vcl/unx/source/gdi/salprnpsp.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/salprnpsp.cxx 2004-09-14 14:09:32.426279432 +0200 @@ -79,14 +79,14 @@ #ifndef _SV_JOBSET_H #include <jobset.h> @@ -9256,12 +9241,8 @@ diff -u -p -u -r1.27.40.2 -r1.33 Index: vcl/unx/source/gdi/salvd.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/salvd.cxx,v -retrieving revision 1.4 -retrieving revision 1.8 -diff -u -p -u -r1.4 -r1.8 ---- vcl/unx/source/gdi/salvd.cxx 27 Mar 2003 17:58:52 -0000 1.4 -+++ vcl/unx/source/gdi/salvd.cxx 10 May 2004 16:00:04 -0000 1.8 +--- vcl/unx/source/gdi/salvd.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/salvd.cxx 2004-09-14 14:09:32.427279280 +0200 @@ -59,9 +59,6 @@ * ************************************************************************/ @@ -9484,12 +9465,8 @@ diff -u -p -u -r1.4 -r1.8 } Index: vcl/unx/source/gdi/xfont.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/xfont.cxx,v -retrieving revision 1.29.82.2 -retrieving revision 1.36 -diff -u -p -u -r1.29.82.2 -r1.36 ---- vcl/unx/source/gdi/xfont.cxx 26 Jan 2004 17:26:20 -0000 1.29.82.2 -+++ vcl/unx/source/gdi/xfont.cxx 17 Jun 2004 12:29:36 -0000 1.36 +--- vcl/unx/source/gdi/xfont.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/xfont.cxx 2004-09-14 14:09:32.428279128 +0200 @@ -76,8 +76,11 @@ #ifndef _SV_OUTFONT_HXX #include <outfont.hxx> @@ -9514,7 +9491,7 @@ diff -u -p -u -r1.29.82.2 -r1.36 mpRangeCodes(NULL), mnRangeCount(-1) { -@@ -434,7 +438,7 @@ ExtendedFontStruct::GetDefaultWidth() +@@ -437,7 +440,7 @@ ExtendedFontStruct::GetDefaultWidth() // is compatible with iso8859-X at least in the range to 0x7f sal_Size ExtendedFontStruct::GetCharWidth8( sal_Unicode nFrom, sal_Unicode nTo, @@ -9523,7 +9500,7 @@ diff -u -p -u -r1.29.82.2 -r1.36 { if ( !(nFrom <= nTo) ) return 0; -@@ -477,7 +481,7 @@ ExtendedFontStruct::GetCharWidth8( sal_U +@@ -480,7 +483,7 @@ ExtendedFontStruct::GetCharWidth8( sal_U // Handle utf16 encoded fonts, which do not require conversion sal_Size ExtendedFontStruct::GetCharWidthUTF16( sal_Unicode nFrom, sal_Unicode nTo, @@ -9532,7 +9509,7 @@ diff -u -p -u -r1.29.82.2 -r1.36 { if ( !(nFrom <= nTo) ) return 0; -@@ -523,7 +527,7 @@ ExtendedFontStruct::GetCharWidthUTF16( s +@@ -526,7 +529,7 @@ ExtendedFontStruct::GetCharWidthUTF16( s // font in fontstruct, 8 and 16 bit fonts are handled the same way sal_Size ExtendedFontStruct::GetCharWidth16( sal_Unicode nFrom, sal_Unicode nTo, @@ -9541,7 +9518,7 @@ diff -u -p -u -r1.29.82.2 -r1.36 { if ( nFrom > nTo ) return 0; -@@ -608,8 +612,8 @@ ExtendedFontStruct::GetCharWidth16( sal_ +@@ -611,8 +614,8 @@ ExtendedFontStruct::GetCharWidth16( sal_ } sal_Size @@ -9552,7 +9529,7 @@ diff -u -p -u -r1.29.82.2 -r1.36 { sal_Size nConverted = 0; -@@ -707,7 +711,9 @@ bool X11FontLayout::LayoutText( ImplLayo +@@ -710,7 +713,9 @@ bool X11FontLayout::LayoutText( ImplLayo { Point aNewPos( 0, 0 ); bool bRightToLeft; @@ -9563,7 +9540,7 @@ diff -u -p -u -r1.29.82.2 -r1.36 { sal_Unicode cChar = rArgs.mpStr[ nCharPos ]; if( bRightToLeft ) -@@ -722,7 +728,7 @@ bool X11FontLayout::LayoutText( ImplLayo +@@ -725,7 +730,7 @@ bool X11FontLayout::LayoutText( ImplLayo nGlyphIndex = 0; // drop NotDef fallback glyphs } @@ -9572,7 +9549,7 @@ diff -u -p -u -r1.29.82.2 -r1.36 mrFont.GetCharWidth( cChar, &nPhysGlyphWidth, &nLogGlyphWidth ); int nGlyphFlags = (nPhysGlyphWidth > 0) ? 0 : GlyphItem::IS_IN_CLUSTER; if( bRightToLeft ) -@@ -753,7 +759,7 @@ void X11FontLayout::DrawText( SalGraphic +@@ -756,7 +761,7 @@ void X11FontLayout::DrawText( SalGraphic int nMaxGlyphs = GetOrientation() ? 1 : MAXGLYPHS; Point aPos; @@ -9581,7 +9558,7 @@ diff -u -p -u -r1.29.82.2 -r1.36 sal_Unicode pStr[ MAXGLYPHS ]; for( int nStart=0;;) { -@@ -764,7 +770,7 @@ void X11FontLayout::DrawText( SalGraphic +@@ -767,7 +772,7 @@ void X11FontLayout::DrawText( SalGraphic for( int i = 0; i < nGlyphCount; ++i ) pStr[ i ] = aGlyphAry[ i ] & GF_IDXMASK; @@ -9592,12 +9569,8 @@ diff -u -p -u -r1.29.82.2 -r1.36 Index: vcl/unx/source/gdi/xlfd_attr.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/xlfd_attr.cxx,v -retrieving revision 1.14 -retrieving revision 1.15 -diff -u -p -u -r1.14 -r1.15 ---- vcl/unx/source/gdi/xlfd_attr.cxx 12 Jun 2003 08:19:39 -0000 1.14 -+++ vcl/unx/source/gdi/xlfd_attr.cxx 6 Jan 2004 14:41:47 -0000 1.15 +--- vcl/unx/source/gdi/xlfd_attr.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/xlfd_attr.cxx 2004-09-14 14:09:32.433278368 +0200 @@ -120,10 +120,12 @@ Attribute::Compare( const char *p, int n const rtl::OString& Attribute::GetKey () @@ -9614,12 +9587,8 @@ diff -u -p -u -r1.14 -r1.15 Index: vcl/unx/source/gdi/xlfd_extd.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/xlfd_extd.cxx,v -retrieving revision 1.16.46.2 -retrieving revision 1.21 -diff -u -p -u -r1.16.46.2 -r1.21 ---- vcl/unx/source/gdi/xlfd_extd.cxx 26 Jan 2004 17:26:45 -0000 1.16.46.2 -+++ vcl/unx/source/gdi/xlfd_extd.cxx 30 Mar 2004 13:43:43 -0000 1.21 +--- vcl/unx/source/gdi/xlfd_extd.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/xlfd_extd.cxx 2004-09-14 14:09:32.435278064 +0200 @@ -652,7 +652,7 @@ ScalableBitmapXlfd::ToString( ByteString rString += '-'; rString += ByteString::CreateFromInt32( rInfo.mnResolutionY ); @@ -9733,12 +9702,8 @@ diff -u -p -u -r1.16.46.2 -r1.21 AppendAttribute( mpFactory->RetrieveCharset(rInfo.mnCharset), rString ); Index: vcl/unx/source/gdi/xlfd_extd.hxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/xlfd_extd.hxx,v -retrieving revision 1.9.120.2 -retrieving revision 1.12 -diff -u -p -u -r1.9.120.2 -r1.12 ---- vcl/unx/source/gdi/xlfd_extd.hxx 26 Jan 2004 17:27:37 -0000 1.9.120.2 -+++ vcl/unx/source/gdi/xlfd_extd.hxx 17 Mar 2004 10:07:56 -0000 1.12 +--- vcl/unx/source/gdi/xlfd_extd.hxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/xlfd_extd.hxx 2004-09-14 14:09:32.435278064 +0200 @@ -93,8 +93,8 @@ class XlfdStorage; class ExtendedXlfd { @@ -9752,12 +9717,8 @@ diff -u -p -u -r1.9.120.2 -r1.12 ExtendedXlfd(); Index: vcl/unx/source/gdi/xlfd_smpl.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/xlfd_smpl.cxx,v -retrieving revision 1.5 -retrieving revision 1.7 -diff -u -p -u -r1.5 -r1.7 ---- vcl/unx/source/gdi/xlfd_smpl.cxx 15 Apr 2003 16:11:23 -0000 1.5 -+++ vcl/unx/source/gdi/xlfd_smpl.cxx 18 May 2004 13:49:24 -0000 1.7 +--- vcl/unx/source/gdi/xlfd_smpl.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/xlfd_smpl.cxx 2004-09-14 14:09:32.436277912 +0200 @@ -282,12 +282,12 @@ Xlfd::ToString( ByteString &rString ) co AppendAttribute( mpFactory->RetrieveSetwidth(mnSetwidth), rString ); AppendAttribute( mpFactory->RetrieveAddstyle(mnAddstyle), rString ); @@ -9779,12 +9740,8 @@ diff -u -p -u -r1.5 -r1.7 Index: vcl/unx/source/gdi/xprintext.cxx =================================================================== -RCS file: /cvs/gsl/vcl/unx/source/gdi/xprintext.cxx,v -retrieving revision 1.6 -retrieving revision 1.8 -diff -u -p -u -r1.6 -r1.8 ---- vcl/unx/source/gdi/xprintext.cxx 15 Apr 2003 16:11:42 -0000 1.6 -+++ vcl/unx/source/gdi/xprintext.cxx 30 Mar 2004 13:43:56 -0000 1.8 +--- vcl/unx/source/gdi/xprintext.cxx.orig 2004-09-12 14:26:04.000000000 +0200 ++++ vcl/unx/source/gdi/xprintext.cxx 2004-09-14 14:09:32.437277760 +0200 @@ -59,8 +59,6 @@ * ************************************************************************/ diff --git a/src/openabout_mandrakelinux.bmp b/src/openabout_mandrakelinux.bmp Binary files differnew file mode 100644 index 000000000..a936b8982 --- /dev/null +++ b/src/openabout_mandrakelinux.bmp diff --git a/src/openintro_ark.bmp b/src/openintro_ark.bmp Binary files differnew file mode 100644 index 000000000..14c256e61 --- /dev/null +++ b/src/openintro_ark.bmp |