ooo-build r11542 - in trunk: . patches/dev300



Author: jannieuw
Date: Fri Feb  8 17:00:27 2008
New Revision: 11542
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11542&view=rev

Log:
2008-02-08  Jan Nieuwenhuizen  <janneke gnu org>

	* patches/dev300/novell-win32-agfa-monotype-fonts.diff:
	* patches/dev300/text_grid_enhancement_layout.diff:
	* patches/dev300/split-binfilter-scp2.diff:
	* patches/dev300/apply:
	* patches/dev300/layout-dialogs-config_office-scp2.diff:
	* patches/dev300/text_grid_enhancement_filter.diff:
	* patches/dev300/mono-build.diff:
	Copy from ooh680-m6 and update for src680-m245.

	* patches/dev300/apply: New apply in new dir for OOo-3.0, tracking
	src680-m24x.

	* configure.in: Direct src680-240, dev300 and up to patches/dev300.


Added:
   trunk/patches/dev300/
   trunk/patches/dev300/apply
   trunk/patches/dev300/layout-dialogs-config_office-scp2.diff
   trunk/patches/dev300/mono-build.diff
   trunk/patches/dev300/novell-win32-agfa-monotype-fonts.diff
   trunk/patches/dev300/split-binfilter-scp2.diff
   trunk/patches/dev300/text_grid_enhancement_filter.diff
   trunk/patches/dev300/text_grid_enhancement_layout.diff
Modified:
   trunk/ChangeLog
   trunk/configure.in

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Fri Feb  8 17:00:27 2008
@@ -398,6 +398,8 @@
 
 if echo "$with_tag" | $GREP -E ['^(OOO_|oo[a-z]680-|OO[A-Z]680_)'] >/dev/null 2>/dev/null ; then
    APPLY_DIR="$TOOLSDIR/patches/src680"
+elif echo "$with_tag" | $GREP -E ['^(src680-m2[4-9][0-9]|dev300)'] >/dev/null 2>/dev/null ; then
+   APPLY_DIR="$TOOLSDIR/patches/dev300"
 else
    APPLY_DIR="$TOOLSDIR/patches/$with_tag"
 fi

Added: trunk/patches/dev300/apply
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/apply	Fri Feb  8 17:00:27 2008
@@ -0,0 +1,2168 @@
+#
+# The format of this file is:
+#
+
+# -------- Options --------
+
+PATCHPATH=.:../evo2:../vba:../mono:../64bit:../cairo:../scsolver:../gstreamer:../ooxml:../postgresql:../emf+:../src680
+
+# Copied from ooh680-m6: svn r11539
+OLDEST_SUPPORTED=src680-m241
+
+# -------- Functional sub-sets --------
+Common : BuildBits, TemporaryHacks, FixesNotForUpstream, \
+	 Fixes, DefaultSettings, Features, VCL, Misc, \
+	 Icons, Branding, CalcFixes, WriterFixes, EasterEgg, \
+	 SpeedImageList, GStreamer, CWSBackports, WPG, Cleanups, WMF, \
+	 Layout, VBABits, VBAObjects, CalcErrors, Store, CJK, GCJ, Lwp, \
+	 OOXML, EMFPlus
+
+LinuxCommon : Common, LayoutDialogs, Defaults, TangoIcons, FontConfigTemporaryHacks, \
+	      FedoraFixes, LinuxOnly, NotMacOSX, SystemBits, \
+	      cairocanvas, msaccess, GnomeVFS, OpenGLTransitions, \
+	      Fpickers, Mono, AddressBooks, QuickStarter, UnitTesting
+MacOSXCommon : Common, Defaults, TangoIcons, SystemBits
+Win32Common : Common, Defaults, TangoIcons, \
+	      Win32Only, NotDebian, NotMacOSX
+# Experimental sections
+Experimental: DebianBaseNoHelpContent, \
+              VBAUntested, ArkOnlyExperimental, SharedWorksheets, \
+	      UnUsedButNotYetRemovedFromSVN, \
+	      PostgreSQL, SELinux, VOSremoval, Glib2, \
+	      SVGImport
+# Binfilter patches: a special distro; applied only when building with binfilter
+Binfilter : BFBuildBits, BFFixes
+# System patches: a special distro; applied only when building with the system tarball unpacked
+System : SystemBuildBits
+# Sdk patches: a special distro; applied only when building with the sdk tarball unpacked
+Sdk :
+#Localize
+Localize : 
+# Novell
+NovellBase : LinuxCommon, NovellOnly, NovellOnlyUnix, \
+	     NotDebian, Lockdown, CalcSolver, Split, Shrink, \
+	     CalcDataPilotDrillDown
+SUSE-9.1  : NovellBase
+SUSE-9.2  : NovellBase
+SUSE-9.3  : NovellBase
+SUSE-10.0 : NovellBase
+SUSE-10.1 : NovellBase, BerkeleyDB43
+SUSE-10.2 : NovellBase, BerkeleyDB43
+SUSE-10.3 : NovellBase, BerkeleyDB43
+SUSE      : NovellBase, BerkeleyDB43, Gcc43
+SUSE-reduced:NovellBase,BerkeleyDB43, ReducedDefaults
+# Debian
+DebianBase : LinuxCommon, DebianBaseOnly, Lockdown, GCCSTL, CalcSolver, BerkeleyDB43, Split, PostgreSQL
+Debian : DebianBase, DebianOnly, DebianSidOnly, Debian32Only, CairoFonts, Gcc43
+DebianEtch : DebianBase, DebianOnly, DebianEtchOnly, Debian32Only
+# Ubuntu
+UbuntuBased : DebianBase, UbuntuOnly
+UbuntuDapper : UbuntuBased, UbuntuDapperOnly, Debian32Only
+UbuntuDapper64 : UbuntuBased, UbuntuDapperOnly
+UbuntuEdgy : UbuntuBased, CairoFonts, UbuntuEdgyOnly, Debian32Only
+UbuntuEdgy64 : UbuntuBased, CairoFonts, UbuntuEdgyOnly
+UbuntuFeisty : UbuntuBased, CairoFonts, UbuntuFeistyOnly, Debian32Only
+UbuntuFeisty64 : UbuntuBased, CairoFonts, UbuntuFeistyOnly
+UbuntuGutsy : UbuntuBased, CairoFonts, UbuntuGutsyOnly, Debian32Only
+UbuntuGutsy64 : UbuntuBased, CairoFonts, UbuntuGutsyOnly
+UbuntuL10n : UbuntuBased, UbuntuL10nOnly, Debian32Only
+# a copy of the UbuntuDapper* lines ("Ubuntu: UbuntuDapper" doesn't work)
+Ubuntu : UbuntuBased, UbuntuDapperOnly,  Debian32Only
+Ubuntu64 : UbuntuBased, UbuntuDapperOnly
+# DroplineGNOME
+DroplineGNOME : LinuxCommon, DroplineGNOMEOnly, NotDebian, Mono, msaccess
+DroplineGNOME64 : LinuxCommon, DroplineGNOMEOnly, NotDebian, Mono, msaccess
+# Ark Linux
+Ark: LinuxCommon, NotDebian, ArkOnly, BerkeleyDB43, Gcc43
+# www.pld-linux.org
+PLDBase: LinuxCommon, NotDebian, CalcSolver, CairoFonts, STLport5, OOXSTLport5, PLDOnly
+PLD: PLDBase
+PLD64: PLDBase
+# Mandriva Linux
+MandrivaBase: CairoFonts, MandrivaOnly, LinuxCommon, MandrivaOnlyUnix, LockDown, CalcSolver, Split, NotDebian
+Mandriva: MandrivaBase
+Mandriva64: MandrivaBase
+# Frugalware Linux
+Frugalware: LinuxCommon, GnomeVFS, GlobalDesktopFiles, NonArkCommon, NoRpath, NovellOnly, NovellOnlyUnix, NotDebian, FrugalwareOnly, CalcSolver
+# openmamba
+openmamba: LinuxCommon, GlobalDesktopFiles
+#Gentoo
+GentooBase : LinuxCommon, GentooOnly, NotDebian, Lockdown, CalcSolver, CairoFonts, BerkeleyDB43, STLport5, OOXSTLport5
+GentooUnstable: GentooBase, GentooExperimental
+Gentoo : GentooBase
+Gentoo64: GentooBase
+# rPath Linux
+rPathCommon: LinuxCommon, NotDebian, CalcSolver, Lockdown, BerkeleyDB43, CairoFonts
+rpl2: rPathCommon
+rpl2-64: rPathCommon
+# Win32
+Win32 : Win32Common
+# translate.org.za
+translate-org-za-linux: translate-org-za-common, LinuxCommon, Common, Lockdown
+translate-org-za-win32: translate-org-za-common, Win32Common, Common
+NovellLikeWin32: Win32Common, NovellOnly, NovellOnlyWin32, Lockdown, CalcSolver, cairocanvas, Fpickers
+# Novell
+NovellWin32: NovellLikeWin32
+NovellWin32ISO: NovellLikeWin32
+# go-oo.org Win32
+GoOoWin32: NovellLikeWin32
+# Mac OS X
+MacOSX : MacOSXCommon, CalcSolver, MacOSXOnly
+# Pardus
+Pardus2007: PardusOnly, LinuxCommon, NotDebian, CalcSolver
+Pardus2008: PardusOnly, LinuxCommon, NotDebian, CalcSolver, Gcc43
+# Solaris
+Solaris: NovellBase
+# Universal Upstream-like packages
+GoOoLinux: NovellBase, Glib2
+# OxygenOffice Professional
+OxygenOfficeLinuxCommon :	Common, FontConfigTemporaryHacks, \
+				FedoraFixes, LinuxOnly, NotMacOSX, SystemBits, \
+				cairocanvas, msaccess, GnomeVFS, OpenGLTransitions, \
+				Fpickers, Mono, AddressBooks, QuickStarter, UnitTesting
+OxygenOfficeMacOSXCommon :	Common, SystemBits
+OxygenOfficeWin32Common :	Common, Win32Only, NotDebian, NotMacOSX
+
+OxygenOfficeLinux:	OxygenOfficeLinuxCommon,  CalcSolver, OxygenOfficePalettes, OxygenOfficeDefaultSettings, OxygenOfficeExtras
+OxygenOfficeWindows:	OxygenOfficeWin32Common,  CalcSolver, OxygenOfficePalettes, OxygenOfficeDefaultSettings, OxygenOfficeExtras
+# -------- [ Tag [ >= <tag> etc. ], ] patch sets --------
+
+
+[ LinuxOnly ]
+# Don't stat tons of config files we don't need to read on startup
+speed-configmgr.diff, i#56783, michael
+
+
+[ TemporaryHacks ]
+
+# fix the smoketest
+smoketest-fix.diff, michael, i#84720
+
+# add idl target to toplevel makefile
+makefile-idl-build.diff, noelpwer
+
+# Pagein types.rdb / services.rdb & the ui files
+speed-pagein.diff, i#57679, michael
+# Sort the pagin information by inode number to improve read linearity
+speed-pagein-sort.diff, i#81912, michael
+# Use d_type entry when possible to get file type instead of using stat
+speed-getfilestatus-dtype.diff, rodo, i#63159
+
+# Replace hunspell linked list implementation with hashed implementation
+# Reduces hunspell mem usage by more than half (3.7M to ~680K)
+# (even bigger savings on 64bit, and with dicts like the Czech one)
+#FIXME oog680: hunspell-hashify.diff, i#50842, dkeskar/jholesov
+
+# add no-crashreporter sections to testtool default config;
+# also guess office path from testtool.bin path i#FIXME?
+testtool-more-defaults.diff, martink
+
+#Fix plus/minus in to each heading in Navigator
+plus-minus-sw-navigator.diff, i#64886, n#129410, jianhua
+plus-minus-sw-navigator2.diff, i#64886, n#129410, jianhua
+#set default varchar lenght to 100.
+dbaccess-default-varchar-lenght.diff, i#62664, jianhua
+#make oovbaapi as a link
+linkoo-type.diff
+#for selection delete crash
+selection-crash-svx-svdmrkv.diff, i#76084, jianhua
+
+#Improve the behavior of input field dialog.
+sw-input-field-dialog.diff, Zhang Yun
+
+# Improve the behavior of input fields inline editing.
+# sw-input-field-inline-edit.diff, Zhang Yun # removed since it causes some
+# crashes with undo/redo
+
+#realize a new feature named as Show Data Form in OpenOffice
+sc-dataform.diff, Amelia Wang
+
+#realize extra piece of new feature named as Show Data Form about vba
+sc-dataform-suppor-vba.diff, Amelia Wang
+
+# workaround for a crash in the help on amd64.
+sal-doublefree.diff, i#67740, mklose
+
+# hack for n#240776
+sw-graphic-save-problem.diff, flr, n#240776
+
+# accelerate intern by not using stl
+sal-strintern-speed.diff, i#78496, michael
+sal-strintern-speed-fix.diff, i#78496, michael
+
+# Faster makedepend
+fast-mkdepend.diff, i#73081, jholesov
+
+# temporary hack to avoid the warning about missing return values in gcc4
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20624
+warning-return-values-stlport.diff, jholesov
+
+# Fix linkoo, the ultimate hacker tool
+fix-linkoo.diff, i#83548, jholesov
+
+[ TemporaryHacks < src680-m241 ]
+# libspl680*so does not have to be loaded when we present no startup wizard
+startup-wizard-speedup.diff, i#84169, jholesov
+
+[ TemporaryHacks < src680-m241 ]
+# fixed for n#200505
+Simplified_Traditional_Chinese_convertion_table_n200505.diff, Fong Lin, n#200505
+
+# move gl_ES to localedata_es to save dependency & memory
+i18npool-less-dependencies.diff, i#84206, jholesov
+
+# dont initialize forms on the Writer startup, rather do it when the first form
+# control is created
+svx-delay-load-forms.diff, i#84259, jholesov
+
+[ TemporaryHacks ]
+# Make the historically very verbose build quieter, helps us see warnings.
+quiet-build.diff, i#84497, michael
+
+# further performance tweaks to configmgr
+speed-configmgr-misc.diff, i#84751, michael
+
+# gcc OOMs here otherwise (x86_64)
+writerfilter-qnametostr-NOOPTFILES.diff
+
+# always enable file save even when the document is not modified.
+sfx2-always-allow-save-document.diff, n#347423, kohei
+
+[ CJK ]
+#set default CJK font fontsize as 10.5pt
+sw-default-cjk-fontsize.diff i#72010, jianhua
+
+# Text grid enhancement for better CJK support
+text_grid_enhancement_ww8_filter.diff, Fong Lin
+text_grid_enhancement_officecfg.diff, Fong Lin
+text_grid_enhancement_layout.diff, Fong Lin
+#FIXME:
+#text_grid_enhancement_filter.diff, Fong Lin
+
+# add a new unit 'character unit'
+cjk-character-units-ui.diff, Amelia Wang
+cjk-character-units-imp.diff, Amelia Wang
+cjk-character-units-rulers-sync-with-pggrid-fix.diff, Amelia Wang
+
+#[ CJKTemporaryHacks ]
+# the following patch is disabled temporary.
+# default value of tab stop for Chinese version
+#default-tabstop-Chinese.diff, Fong Lin
+
+# default value of automatic text indent for Chinese version
+#sw-auto-text-indent-zh.diff, Fong Lin
+
+# for mixed font set
+#FIXME src680: font_list_box_cjk.diff, i#73003, Fong Lin
+
+
+[ CWSBackports ]
+# MS Works import filter (following patches depend on each other) Fridrich
+wpsimport-config_office.diff
+wpsimport-filter.diff
+wpsimport-scp2.diff
+wpsimport-writerperfect.diff
+libwps.diff
+
+# T602 import filter
+cws-t602import01.diff
+
+# removal of nas, sndfile, portaudio
+cws-unifysound01-avmedia.diff
+cws-unifysound01-config_office.diff
+cws-unifysound01-filter.diff
+cws-unifysound01-fpicker.diff
+cws-unifysound01-framework.diff
+cws-unifysound01-helpcontent2.diff
+cws-unifysound01-sc.diff
+cws-unifysound01-scp2.diff
+cws-unifysound01-sd.diff
+#cws-unifysound01-slideshow.diff
+cws-unifysound01-solenv.diff
+cws-unifysound01-svx.diff
+cws-unifysound01-sw.diff
+
+[ CWSBackports < src680-m241 ]
+cws-unifysound01-vcl-m1.diff
+
+[ CWSBackports >= src680-m241 < src680-m241 ]
+cws-unifysound01-vcl-m4.diff
+
+[ CWSBackports >= src680-m241 ]
+cws-unifysound01-vcl.diff
+
+[ CWSBackports < src680-m241 ]
+# Use stlport just on the archs where it is needed from historical reasons
+cws-newportstl.diff
+
+[ CWSBackports ]
+#dialog refactor
+cws-npower9.diff
+#basic runtime fixes
+cws-npower10.diff
+#api changes
+cws-npower11.diff
+[ CWSBackports < src680-m241 ]
+buildfix-stl-anachronism.diff, i#83519
+
+[ CWSBackports ]
+# not for upstreaming: hack to work even on gcc's with broken -fvisibility-inlines-hidden
+buildfix-x86-64-visibility-workaround.diff
+
+[ CWSBackports < src680-m241 ]
+cws-thiscomponent-basctl.diff
+cws-thiscomponent-sfx2.diff
+
+[ WPG ]
+# libwpg-based import filter for WordPerfect Graphics
+libwpg.diff
+wpgimporter.diff
+
+
+[ GCJ ]
+# gij/libgcj paths...
+jvmfwk-gij-paths.diff, rengelha
+# Seems that bug #69026 is back
+gcj-workaround-serializer.diff
+
+# Don't break hsqldb with gcj
+# Depends on http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9866
+# FIXME src680-m239 gcjaccessproblem-filter.diff, jholesov
+# FIXME src680-m239 wizards-private-protected-to-public.diff, jholesov
+# FIXME src680: hsqldb-private-protected-to-public.diff, jholesov
+
+# Fix up Javac error, known to happen with gcj, probably happens for other
+# JDKs too
+buildfix-qadevOOo-java-encoding.diff, brosenk
+
+[ GCJ >= src680-m241 < src680-m241 ]
+buildfix-libformula-gcj-source.diff, i#85249
+
+# Fixes that were not accepted up-stream, but are still useful
+[ FixesNotForUpstream ]
+# Make debugging nicer under unix
+debug-bits.diff, i#35336, jholesov
+# Make the scroll-wheel / page popup more sane
+gui-sw-scroll.diff, i#20826, michael
+
+# make menu layout prettier
+vcl-menu-fixes.diff, i#67123, michael
+
+# Tell the desktop we support the VFS
+uses-vfs.diff, i#43504, michael
+
+# add mozilla certificate dir detection to soffice
+soffice-detect-mozilla-certificates.diff
+
+#upload a new libwpd + fix an exception with condensed paragraphs
+libwpd.diff, fridrich
+writerperfect-nocondensedparagraphs.diff, fridrich
+
+#use newer xrender headears for platforms that cannot use the system ones
+#and still want to have the cairo canvas working
+x11_extensions-new-xrender-headers.diff
+
+sdext-no-license.diff
+
+[ FixesNotForUpstream < src680-m241 ]
+# no bogus license question when registering this extension
+reportdesigner-no-license-m1.diff
+
+[ FixesNotForUpstream >= src680-m241 < src680-m241 ]
+# no bogus license question when registering this extension
+reportdesigner-no-license-m3.diff
+
+[ FixesNotForUpstream >= src680-m241 ]
+# no bogus license question when registering this extension
+reportdesigner-no-license.diff
+
+[ Fixes ]
+# sd printing fixes
+printing-bugfix-254573.diff, n#254573, rodo
+
+# let sd accept uri-list drop, n#183719
+sd-accept-uri-list-drop.diff, n#183719, rodo
+
+[ Fixes < src680-m241 ]
+# default formatting PPT export bug n#285959
+sd-default-format-n285959.diff, i#81395, n#285959, hub
+
+[ Fixes ]
+# add some shortcuts to Impress + needed fixes. bug n#352330
+sd-text-shortcut-n352330.diff, i#85247, n#352330, hub
+svx-text-move-fix-i59061.diff, i#59061, hub
+
+# more intelligent nsplugin seeking
+nsplugin-path.diff, i#49590, michael
+
+# use basic (advanced) shapes for rectangle/ellipse on draw/impress's toolbars. make shapes wrap words by default, n#171052, rodo
+sd-toolbar-advanced-shapes.diff, n#171052, rodo
+svx-shapes-default-word-wrap-enable.diff, n#171052, rodo
+
+# fix check box rendering issue - n#80447
+check-buttons-rendering-fix.diff, michael
+
+# disable font management dialog in padmin
+padmin-nofontconfig.diff, michael
+
+[ Fixes < src680-m241 ]
+# Fix for n#113235
+wizards-source-importwizard-filesmodul-xba-m3.diff, i#56633, noelpwer
+
+[ Fixes >= src680-m241 ]
+# Fix for n#113235
+wizards-source-importwizard-filesmodul-xba.diff, i#56633, noelpwer
+
+[ Fixes ]
+# testtool doesn't like oobuild basic compatability defaults
+# ooo-build only fix n#145906#
+automation-testtool-oobuildfix.diff, n#145906, noelpwer
+
+# fixes some .cfg files in helpcontent2/source/auxiliary to use right
+# lang code instead of en-US
+helpcontent2-auxiliary-cfg.diff, pmladek
+
+# Better Hungarian font setting
+helpcontent2-hungarian-fonts.diff, i#71452, n#244488, pmladek
+
+# more secure permissions for the user directory by default
+desktop-safer-user-dir-perm.diff, i#62858, pmladek
+
+# fixes some wrong usages of the function AddBytes that would malform the xml output
+sax-writer.diff, i#66693, pmladek
+
+# Added support for "application/octet-stream" mime type in package manager
+desktop-application-octet-stream-mime-type.diff, i#73301, flr
+
+win32-quickstarter-exit.diff, i#73550, tml
+
+# find locked certs, fix by Jacob Berkman <jberkman novell com>
+libxmlsec-findcerts.diff, i#76870, pmladek
+# allow other types of signing certs, fix by Jacob Berkman <jberkman novell com>
+#FIXME src680: xmlsecurity-verify-usages.diff, i#76871, pmladek
+
+# fix that allows OOo to work with a standard (unpatched) libjpeg,
+jpegc.c.diff, i#80674, n#272574, flr
+
+# process relative SMB paths correctly
+tools-urlobj-smb-scheme-patch.diff, n#261623, flr
+tools-qa-urlobj-unittest.diff, n#261623, flr
+
+# try autodetection if it is allowed and the current java has been removed
+jvmfwk-detect-removed-java.diff, i#83140, n#336242, pmladek
+
+# allow dmake create_patch produce diffable patches
+solenv-dmake-create_patch.diff, i#68917, fridrich
+
+[ Fixes < src680-m241 ] 
+# fix visibility for controls
+svx-sdr-contact-visibility.diff, i#83611. noelpwer
+
+[ Fixes ]
+# look for libmawt.so on x86_64 too
+# FIXED in m245
+# sun-java-amd64-jreextralibdir.diff
+
+# check real help path defined in registry instead of the $(instpath)/help
+sfx-check-real-help-path.diff, i#81139, pmladek
+
+# display help correctly even when the files are symlinks
+xmlhelp-work-with-symlinks.diff, i#81138, pmladek
+
+#don't accept all rows to be header rows in WW8 file
+sw-rowsotrepeat.diff, i#69519, mloiseleur
+
+#generate xhtml that is acceptable for Internet Explorer
+filter-xhtml-title-title.diff,
+
+#fix saving ( as doc format ) word documents with embedded word
+#document ( containing macros ) crashing
+save-doc-withembedded-doc-with-vba-crash.diff, n#339946, i#83632, noelpwer
+
+# enable build debug=t in sw module on x86_64
+sw-debug-build.diff, fridrich
+
+# fix a regression created by my header/footer patch
+sw-my-mess.diff, fridrich
+
+[ Fixes < src680-m241 ]
+#fix conversion of date/time strings in Dutch Word documents
+sw-special-locales-date-string.diff, i#84469, n#344306, fridrich
+
+#fix bug in export to WW8 of page styles without headers/footers
+#that follow sections with headers/footers
+sw-export-empty-headers-footers.diff, i#84747, n#178981, fridrich
+
+# Fix pasting Czech characters (UTF-8 html was not treated as UTF-8)
+sw-paste-czech-characters.diff, i#84642, n#334930, jholesov
+
+[ Fixes == src680-m241 ]
+# not REPRORTJARFILES
+reportdesigner-fix-jarlist.diff, i#85359
+
+[ SELinux ]
+# make OOo work under SELinux
+ooo80816.selinux.bridges.diff, i#80816
+
+
+[ Win32Only ]
+
+accept-underscores-in-hostnames.diff, n#182422, tml
+
+
+[ GnomeVFS ]
+# Locking for gnome-vfs
+# FIXME: file upstream when the correctness proven
+ucb-gnome-vfs-lock.diff, n#203737, jholesov
+sfx2-gnome-vfs-lock.diff, n#203737, jholesov
+config_office-gnome-vfs-lock.diff, n#203737, jholesov
+
+# Fix crash in reading the directories
+# FIXME: file upstream together with the above
+ucb-gnome-vfs-crashfix.diff, i#0, jholesov
+
+# Read as much as possible
+# FIXME: file upstream together with the above
+ucb-gnome-vfs-read-more.diff, i#0, jholesov
+
+# webdav did strange things when it tried to answer on SupportsActiveStreaming
+# property
+# FIXME: file upstream together with the above
+ucb-gnome-vfs-lock-webdav.diff, i#0, n#294620, jholesov
+
+# Fix locking of .xls files
+# FIXME: this is as conservative as possible - a larger redesign appreciated
+# FIXME: file upstream together with the above
+sfx2-gnome-vfs-lock-fix-xls.diff, i#0, jholesov
+
+# Workaround for sftp:// where gnome_vfs_get_file_info() produces
+# GNOME_VFS_ERROR_PROTOCOL_ERROR for broken links
+# FIXME: file upstream together with the above, or throw away when gnome-vfs
+# is fixed
+gnome-vfs-broken-symlinks.diff, i#0, n#293141, jholesov
+
+# Assume that the INET_PROT_GENERIC (generic protocol) is hierarchical - fixes
+# type detection over protocols that are not known to OOo - like sftp://
+gnome-vfs-generic-prot.diff, i#79843, n#264138, jholesov
+
+# Read-only smb share returns GNOME_VFS_ERROR_ACCESS_DENIED when opened with
+# write; fallback to read-only in this case as well
+gnome-vfs-read-only-smb.diff, n#330145, jholesov
+
+# Map ETXTBSY errno to locking violation, necessary for CIFS
+gnome-vfs-cifs-locking.diff, n#333001, jholesov
+
+# Move gnome-vfs out of the startup sequence, load it only when needed
+gnome-vfs-late-init.diff, i#84137, jholesov
+
+[ GnomeVFS >= src680-m241 ]
+# WebDAV locking
+# It is in this section because it needs part of the gvfs-related patches
+webdav-locking.diff, n#346711, i#29152, jholesov
+
+[ GnomeVFS < src680-m241 ]
+# WebDAV locking
+# It is in this section because it needs part of the gvfs-related patches
+webdav-locking-m3.diff, n#346711, i#29152, jholesov
+
+[ QuickStarter < src680-m241 ]
+# External splash screen implementation / 2nd time accelerator
+unxsplash-rework-m1.diff, i#60696, michael/jholesov
+
+[ QuickStarter >= src680-m241 ]
+# External splash screen implementation / 2nd time accelerator
+unxsplash-rework.diff, i#60696, michael/jholesov
+
+[ QuickStarter ]
+# handling of osl pipe has changed, see i#84045
+unxsplash-new-osl-pipe.diff, i#60696, jholesov
+
+[ QuickStarter < src680-m241 ]
+# libstartup-notification is not necessary with oosplash.bin
+libsn-removal.diff, i#84179, jholesov
+
+
+[ WriterFixes ]
+# Allows to copy/paste html text which is between 2 unknown tags.
+sw-html-insert-unknown-tags.diff, i#59064, mloiseleur
+
+
+[ CalcFixes ]
+# Replace usability numb Zoom dialog with a Combo Box
+# FIXME: this conflicts with Sun's duplication of this work,
+# eg. print preview
+zoom-combobox.diff, michael
+
+# make some symbols from sc visible when compiling with gcc4, necessary since m121
+gcc4-visibility-sc.diff, i#53261, pmladek
+# Fix for b.x.c 62193
+sc-sheet-double-click-rename.diff, i#4517, kohei
+# adds to Autofilter Empty-NonEmpty options bxc #62165
+sc-autofilter-empty-nonempty.diff, i#35578, jody
+# Improves the standard filter options and menu. bxc #62187 #62495
+sc-standard-filter-options.diff, i#35579, michael
+# Saves and loads the standard filters in ods
+sc-standard-filter-options-ods-hack.diff, i#35579, jonp
+# Hides the filtered rows when height of rows are changed bxc #62161
+sc-filter-hide-filteredrows.diff, i#35581, jody
+# Autofill doesnt fill filtered rows bxc 62499
+sc-filters-fill-fix.diff, jody
+
+# Provision for dynamic range in data pilot bxc 62522
+# Previously sc-dp-database-crash.diff and sc-pv-crasher.diff are now
+# incorporated into this patch since these two patches are improvement to
+# this patch below.
+sc-datapilot-dynamic-range.diff, i#23658, kohei
+
+# Provision for data-pilot to give autoformat bxc #62162
+#
+# Upstream has already rejected this patch, and closed the issue as WONTFIX.
+# This patch needs to be revised to use 'DataPilot *' cell styles instead of
+# re-using Table AutoFormat, which is fragile and do not always apply
+# correctly.
+sc-datapilot-autoformat.diff, i#37388, jody
+
+# BXC 62488 : Allows insertion of rows by shifting down
+#sc-paste-insert-rows.diff disable...
+
+# Display min password length in dialog BINC 773
+sc-save-password-minlength.diff, i#21923, kohei
+
+# Allow dnd in Change record mode for Data source BINC 70845
+sc-change-record-dnd.diff, i#44982, jody
+
+# keybindings: <ctrl> +/â to insert/delete a complete line in calc (X#62530)
+calc-new-acceleration.diff, i#67029, michael
+
+# sc-dp-gridlayout.diff, i#68544 n#190970, jody
+sc-dp-gridlayout.diff, i#68544, n#190970, jody
+
+# compatibility for numbers in string cells (with leading/trailing space) - i#47811
+sc-string-arg.diff, i#47811, muthusub
+
+# To make CSV Text Import settings persistent
+sc-preserve-imp-opts.diff, i#3687, muthusub
+
+# Print_Area/Print_Titles are only relevant for sheet local names, n#191005
+sc-xls-builtin-name-scope.diff, n#191005, n#257422, jonp
+
+# Allow Cols/Rows to be resized even if document is read-only, n#165980, jody
+sc-read-only-colrow-resize.diff, jody
+
+# Implement 'Toggle merge & center'
+sc-toggle-merge-center.diff, i#67243, jholesov
+
+# Add a 'Natural' variant of sorting, blocking on ODF extension issues
+sc-natural-sort.diff, i#26565, kohei
+
+# Include cell format when sorting via sort icon & determine whether the first
+# row is the column header (depends on sc-natural-sort.diff patch).
+sc-simple-sort-include-format-header.diff, i#13829, kohei
+
+# Add R1C1 address support [ i#49499 for address ]
+sc-r1c1.diff, i#20857, jody
+
+# Paste clipboard when ENTER is pressed, then clear clipboard.
+sc-paste-on-enter.diff, n#358545, i#28535, jonp
+
+[ CalcFixes < src680-m241 ]
+# Add named range support for INDIRECT and INDIRECT_XL
+sc-indirect-named-range.diff, i#4695, n#274387, kohei
+
+[ CalcFixes ]
+# Change default numbering scheme of x-y plot chart from Row 1, Row2, ... to
+# 1, 2, 3... when the X labels are not explicitly given.  This is what Excel
+# does.
+sc-excel-chart-default-xlabels.diff, n#257079, i#83679, kohei
+
+# Fix autoshape excel hyperlink import OOo ( depends on vba-sc-handleautoshapemacro-import.diff )
+vba-sc-autoshapes-hyperlinks.diff, i#66550, noelpwer
+# Delete Rows/Delete Columns should remember the content so that the user is
+# able to paste it elsewhere (similar to Insert Cut Cells in Excel)
+sc-delete-rows-columns-remembers-content.diff, i#71921, jholesov
+
+# load, store and save the sheet protection options from and to an Excel file,
+# and use that information to constrain cell cursor movement when the sheet is
+# protected.
+sc-sheet-protection-options.diff, i#71468, kohei
+
+# Ensure that Print Preview is consistent with Print output.
+sc-print-selected-sheets.diff, n#335684, i#45497, jonp
+
+[ CalcFixes < src680-m241 ]
+# allow Excel A1 style format (e.g. #Sheet2!A2) in hyperlink destination.
+sc-hyperlink-excel-a1-style.diff, i#80448, kohei
+
+# rename sheet name in URL on import when invalid characters are used (such as
+# '&').
+sc-hyperlink-rename-sheet-name.diff, n#246629, i#81154, kohei
+
+# Speed up recalculation of SEARCH function when thousands of cells use it.
+speed-text-search-performance-unotools.diff, i#80981, kohei
+speed-text-search-performance-i18npool.diff, i#80981, kohei
+
+[ CalcFixes ]
+# Allow biffdump.cxx to compile on 64-bit platforms
+sc-biffdump.diff, i#82184, jonp
+
+# Allow to copy-paste on merged cells.
+sc-copy-on-merged-cells.diff, i#7500, mloiseleur
+
+# Allow insertion of cell range that cuts across merged areas.
+# (temporarily disabled as it causes memory exhaustion problem on
+# column insert in empty document).
+#sc-insert-inmerged-range.diff, i#8302, mloiseleur
+
+# Allow objects to stay within cells as expected when rows are resized.
+sc-object-row-position.diff, i#47088, jonp
+
+# Unit conversion fixes in ScDrawLayer.
+sc-drwlayer-units.diff, i#83735, jonp
+
+# Launch navigator when double-clicking the leftmost status area box.
+sc-status-bar-launch-navigator.diff, i#49491, kohei
+
+[ CalcFixes < src680-m241 ]
+# Fix crashes on erf(0.65).  This is fixed in dr58 CWS upstream.
+scaddins-erf-crash-fix-065.diff, i#84395, kohei
+
+# Import sheet names properly from Lotus 1-2-3 document.
+sc-lotus123-import-sheetname.diff, i#84496, kohei
+
+[ CalcFixes ]
+# Enhance FREQUENCY function to make it behave like Excel (ODFF).
+sc-openformula-frequency.diff, i#8946, kohei
+
+# Enhance MATCH function to accept array as the 2nd parameter (ODFF).
+sc-openformula-match.diff, i#8947, kohei
+
+# Enhance SUMIF function to make Calc's handling of the 3rd parameter identical
+# to Excel's (ODFF).
+sc-openformula-sumif.diff, i#85000, kohei
+
+# Return 0 by MIN/MAX/MINA/MAXA when referenced cells are all empty (patch
+# contributed from Lv Yue) (ODFF).
+sc-openformula-minmax.diff, i#38759, kohei
+
+# Support print & page preview for files containing only lines
+sc-print-lines.diff, n#351468, i#85076, jonp
+
+# Dynyamically resize filtered range when new data rows are present.
+sc-dbrange-dynamic-resize.diff, n#352662, i#85305, kohei
+
+# When importing an Excel file, skip un-supported pivot charts altogether 
+# instead of importing them as an empty chart object.
+sc-skip-pivot-charts.diff, n#355300, i#85658, kohei
+
+[ LinuxOnly ]
+# accelerate linking, by extreme cunning i#63927
+speed-local-link-except.diff, i#63927, michael
+speed-local-link.diff, i#63927, michael
+
+# make some symbols from svtools visible for the kde fpicker when compiling with gcc4
+# fix: this breaks win32
+fpicker-kde-gcc4-visibility.diff, pmladek
+
+[ NotMacOSX ]
+
+# Make the delete key happy again in starcalc  - wontfix [!]
+#gui-sc-delete.diff, i#17965, michael
+# Swap the delete and backspace key bindings but leave the menus alone.
+sc-default-delete-backspace-key.diff, i#17965, kohei
+
+[ Misc ]
+# Insert symbol defaults to the Symbol font - not a random one
+gui-sw-insert-symbol.diff, i#15512, michael
+# Address data source ordering x#62860
+addrbk-datasrc-ordering.diff, michael
+# Changed the default option in the Templates and Documents dialog.
+svtools-default-new-document.diff, rodo
+# contextual autocomplete
+context-autocomplete.diff, i#22961, michael
+
+# Fix casts in db_java_wrap.c
+db4-jni-casting.diff, rengelha
+
+# Grouping items in the templates dialog n#106603
+svtools-unsort-template-dialogentries.diff, rodo
+
+# Don't convert certain latin-2 characters into HTML entities when saving as
+# html in ISO-8859-2 encoding.
+svtools-html-iso-8859-2-ignore-chars.diff, i#15456, kohei
+
+# display command line help '-h' to stdout instead of stderr.
+desktop-cmdhelp-stdout.diff, kohei
+
+[ Misc < src680-m241 ]
+# Don't substitute downloadable fonts with resident fonts.
+psprint-do-not-substitute.diff, i#84481, kohei
+
+
+[ EasterEgg ]
+# go-oo.org people active in this release
+go-oo-team.diff, michael
+
+
+[ NovellOnly ]
+# add in an entry for a corporate common dictionary
+corporate-dictionary.diff, michael
+
+# Some Novell colors ...
+novell-palette.diff, michael
+
+[ NovellOnly > src680-m241 ]
+
+# finally disable -fsigned-char on pcc
+solenv-really-use-unsinged-char-on-ppc.diff, i#81127, n#169875, pmladek
+
+[ NovellOnly <= src680-m241 ]
+
+# finally disable -fsigned-char on pcc
+solenv-really-use-unsinged-char-on-ppc-m1.diff, i#81127, n#169875, pmladek
+
+
+[ NotDebian ]
+
+# Fix the system default fpicker
+default-system-fpicker.diff, michael
+# don't display File->Wizards-> install dictionaries/fonts -
+# makes no sense on Linux n#74249
+default-no-install-wizards.diff, michael
+# Disable the printer properties which are unused#583
+# related issue: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=353595
+# also last comment in: https://bugzilla.novell.com/show_bug.cgi?id=83925
+# also http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=373974
+printer-properties-disable.diff, i#14036, michael
+# use --hash-style=gnu linking when supported
+# disabled for Debian as Debian policy (for now) is to use=both
+speed-hash-style.diff, pmladek
+
+[ DebianBaseOnly < src680-m241 ]
+sdk-remove-non-free.diff
+
+[ DebianBaseOnly ]
+SectionOwner => rengelha
+
+sensible-ooomua.diff
+sensible-browser.diff
+no-fontooo-wizard.diff
+pyuno-rpath-ooodir.diff
+default-cairo-disable.diff
+gcj-32bit-runtime-path.diff, i#64888, mklose
+# remove mozilla plug-in option completely since we enable it per default
+# and therefore this option is sense-/useless
+no-mozilla-plug-in-option.diff
+# read variables from /etc/openoffice/sofficerc, since /usr/lib/openoffice/sofficerc
+# just refers to it
+oosplash-etc-openoffice-sofficerc.diff
+# build using -O2 on x86 and sparc according to Debian policy.
+debian-opt.diff
+ubuntu-soffice-config.diff, mklose
+
+# mention openoffice.org-report-builder instead of getting people
+# to download it from elsewhere
+reportdesign-mention-package.diff, rengelha
+
+
+[ DebianOnly ]
+
+SectionOwner => rengelha
+# fix the splash progressbar colors
+debian-splash.diff
+
+[ DroplineGNOMEOnly ]
+SectionOwner => DropLine
+
+pushfont-psstream.diff, i#84481
+scp2-user-config-ooo-2.0.diff
+
+
+[ MandrivaOnly ]
+SectionOwner => gghibo
+gcc401-stlport45-include.diff
+mandriva-archflags.diff
+mandriva-java32_64.diff
+# db42-fix-jni-includes.diff
+# Fixes msfontextract tool (uninitialized variable)
+msfontextract.diff, mrl
+# Fixes ooqstart.desktop Exec command
+ooqstart.desktop-exec.diff, Marcelo Ricardo Leitner
+# Adds Angola currency. FIXME: probably done in the worst way.
+angola.diff, mrl
+# Fix DictOOo.swx and FontOOo.swx paths, as Mandriva doesn't ship them
+# inside share/dict/ooo dir.
+wizards-path.diff, mrl
+
+
+[ MandrivaOnlyUnix ]
+
+SectionOwner => gghibo
+help-support-mdv.diff
+# change user config dir name from ~/.openoffice.org2.0 to ~/.ooo-2.0
+scp2-user-config-ooo-2.0.diff, pmladek
+
+
+[ NovellOnlyUnix ]
+
+# Help Support page
+help-support.diff, michael
+# change user config dir name from ~/.openoffice.org1.9.milestone to ~/.ooo-2.0-pre
+scp2-user-config-ooo-2.0.diff, pmladek
+# Push fonts into the ps stream always
+pushfont-psstream.diff, i#84481, michael
+
+# accelerate run-time linking, somewhat experimental ...
+#link-symb-funct.diff, michael
+
+# search also /usr/share for icons
+# it is a temporary hack; we should do more clean FHS compliant installation
+# we need a good plan before, though ;-)
+split-icons-search-usr-share.diff, n#296502, pmladek
+
+
+[ BuildBits ]
+novell-win32-agfa-monotype-fonts.diff, tml
+
+[ BuildBits < src680-m241 ]
+# allow to define java target, so the build is usable with the JVM 1.4
+# even when it is built with JDK 1.5
+build-java-target-m3.diff, pmladek
+
+[ BuildBits >= src680-m241 ]
+# allow to define java target, so the build is usable with the JVM 1.4
+# even when it is built with JDK 1.5
+build-java-target.diff, pmladek
+
+[ BuildBits < src680-m241 ]
+# don't include asm/sigcontext.h, see Debian Bug #442418
+buildfix-sal-system.h-no-asm-sigcontext.h.diff
+
+[ BuildBits ]
+# fix build with gcc-4.2.1 and -fvisibility-hidden
+buildfix-xmloff-exportxforms.diff, i#84965
+
+[ BuildBits < src680-m241 ]
+# fix building with system neon-0.24
+ucb-neon-0.24.diff, pmladek, i#85265
+
+[ BuildBits == src680-m241 ]
+# fix evoab2 build
+evoab2-adapt-to-new-api.diff, i#85487
+
+[ NovellOnlyWin32 ]
+SectionOwner => tml
+
+novell-win32-installer-branding.diff
+novell-win32-vrb-branding.diff, n#191913, i#68817
+novell-win32-registry-branding.diff, n#191913
+
+win32-prebuilt-writingaids-zip.diff
+
+[ translate-org-za-common ]
+SectionOwner => davidf
+
+# use the dejavu fonts - commented out as different patches in the works
+# dejavu-fonts.diff, i#59853
+
+
+[ FrugalwareOnly ]
+gcc401-stlport45-include.diff, gghibo
+
+
+# ( mmp oo o deals with defaults apparently )
+
+[ Defaults ]
+# Disable the recovery report dialog
+recovery-report.diff, i#53531, martink
+
+#
+# Controversial bits - no use filing up-stream
+#
+
+# automatically do any migration we can, with no wizard
+default-no-startup-wizard.diff, michael
+
+# don't throw up the style dialog on 1st run
+default-no-style-dialog.diff, michael
+
+# pestering people serves no useful purpose
+default-no-registration.diff, michael
+
+# no Help->registration dialog by default
+default-no-registration-menu.diff, michael
+
+# The Industrial OOo icon theme is too old. The OOo Tango icon
+# theme is closer to the current GNOME Industrial theme rules.
+# => Tango should be preferred over Industrial.
+tango-prefer-over-industrial.diff, n#304615, pmladek
+
+[ DefaultSettings ]
+
+# default to anti-alias at point size of 1 point
+default-font-aasize.diff, michael
+# set default font size to 10pt
+default-font-size.diff, i#35565, michael
+# Dramatically improve MS import / export cf. i8276 et. al.
+default-ms-filter-convert.diff, i#8276, michael
+# use pair kerning in new documents
+#KENDY TESTME: should be on using a different patch. default-pairkerning-on.diff, i#35873, jholesov
+# Optimal Page Wrap should be default for graphics insertion (X#59831)
+writer-default-as-optimal-page-wrap.diff, i#38108, jody
+#
+# Controversial bits - no use filing up-stream
+#
+# Use the Gnome VFS on KDE as well if it's there (better than nothing)
+vfs-kde-too.diff, michael
+# Trade speed for reliability with valgrind
+valgrind-alloc.diff, michael
+
+[ Features ]
+# load and save also odf documents in flat xml format as opposed to the
+# compressed ones (conforming to the odf specifications)
+odf-flatxml-import-export.diff
+
+# ask user on logout/shutdown to save documents
+session-management.diff, i#63156, rodo
+
+# search <ooo-home>/share/template/common for language independent templates
+# will not push it upstream because it will be replaced by upcomming kendy's work
+office-cfg-common-template-dir.diff, pmladek
+
+# add new category "Labels" for blank Labels, calling cards, CD labels, etc.
+# will not push it upstream because it will be obsoleted by upcomming kendy's work
+sfx2-template-category-labels.diff, pmladek
+
+
+[ BuildBits ]
+build-identification.diff, tml
+
+# do an optimizing link
+build-optimized-link.diff, michael
+
+# add -dontstrip option to the installer
+installer-strip-optional.diff, i#48814, pmladek
+
+# add possibility to set ARCH_FLAGS when building libnas
+nas-use-arch-flags.diff, pmladek
+
+# add missing #include <stdio.h> in autodoc, breaks when building with STLport5
+autodoc-add-missing-stdio-h.diff, rengelha
+
+# do not pack any potential .orig files with ppds
+psprint_config-no-orig.diff, jholesov
+
+# changes the SDK gid module name to gid_Module_Root_SDK, so the generated list
+# of files does not conflict with the main package, i#64802
+sdk-gid-module-name.diff, pmladek, i#64802
+
+# Workaround for compile failure with glibc 2.4's langinfo.h
+i18nutil-glibc-braindamage-workaround.diff, brosenk
+
+# fix build with system libnss installed apart from mozilla
+# strictly required on SL10.1/SLED10 where the xulrunner-nss.pc is broken, n#195272
+# FIXME src680: libxmlsec-system-nss.diff, i#69368, pmladek
+
+# allow separate helpcontent build
+#FIXME src680: separate-helpcontent.diff, jholesov
+
+# bind all those function / named relocations locally
+speed-symbolic-functions.diff, i#85679, pmladek
+
+# Use -Bdirect linking - this is a really marginal win.
+speed-bdirect.diff, i#58119, brosenk
+
+# fix configure.in
+config_office-liblayout-libfonts.diff
+
+[ MandrivaOnly ]
+SectionOwner => gghibo
+# mozilla-firefox.diff
+
+[ ArkOnly ]
+SectionOwner => brosenk
+
+# Db 4.3/4.4 needs -lpthread
+system-db-4.3-use-lpthread.diff, i#58474, rengelha
+
+
+[PLDOnly]
+SectionOwner => arekm
+
+# fix build of sal project
+solenv-unxlngi4-link.diff, i#66982
+# fix for macro browser crash
+sfx2-badscript.diff, i#67976
+
+
+[ BuildBits ]
+# add automatical detection of serializer.jar into the configure
+# add it to classpath on one more place
+xalan-serializer-jar-more.diff, pmladek
+
+# work around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22392
+svx-customshapes-NOOPTFILES.diff, martink
+
+# This set seem to be related to a gcc bug ...
+# fixes warnings about missing return values
+warning-return-values-filter.diff, i#58977, pmladek
+warning-return-values-registry.diff, i#58979, pmladek
+# fixes warnings about that a variable is used unitialized
+warning-uninitialized-variables-tools-2.diff, i#58984, pmladek
+
+#fix a build issue on solaris with sunpro 5.9 aka Sun Studio 12
+stlport-solaris-fileno.diff, fridrich
+
+[ BuildBits >= src680-m241 ]
+
+# fix build with gcc-4.3 on x86_64
+gcc-4.3-icc.diff, i#85771, pmladek
+
+[ BuildBits >= src680-m241 < src680-m241  ]
+
+# fixes missing sprintf argument
+warning-too-few-arguments-icc.diff. i#85736, pmladek
+
+
+[ BFBuildBits ]
+SectionOwner => pmladek
+
+# STLport fixes
+binfilter-stl.diff, i#63770, hmth
+cws-gcc430two-binfilter.diff, i#83276, pmladek
+
+[ SystemBuildBits ]
+SectionOwner => fridrich
+
+# Mozilla build-bits to not break on Solaris 11
+moz-solaris11-makefiles.diff, fridrich
+
+[ VCL ]
+
+# Don't let the splash screen take over
+no-splash-takeover.diff, i#23609, rodo
+
+# Better fallback when some of the plugins are not available
+vcl-better-fallback.diff, i#50857, jholesov
+
+# prioritize hebrew culmus fonts, Debian bugs #280084, #296152, #300642
+hebrew-culmus.diff, noelpwer
+
+# write setup to %%Begin(End)Setup, instead of %%Begin(End)PageSetup when
+# generating PostScript
+psprint-postscript-page-setup.diff, i#65491, n#80448, jholesov
+
+# enable vcl to load bitmaps when height it negative
+vcl-bitmap2-negative-height.diff
+
+
+[ SystemBits ]
+# use getopt() and readdir_r() from system glibc
+#FIXME src680: system-libc.diff, i#69033, rengelha
+
+
+[ Icons ]
+# Make insensitive toolbar icons look far nicer
+gui-insensitive.diff, i#35555, michael
+
+[ TangoIcons ]
+# default to large icons in the toolbar
+gui-toolbox-large-icons.diff, jholesov
+
+# use it by default under Win32
+tango-icons-default-w32.diff, n#254855, pmladek
+
+
+[ NotDebian ]
+# Improve readability of BUILD_VER_STRING in Help:About dialog
+# rengelha doesn't like it, so put in NotDebian
+# or maybe should be in Win32Only even?
+about-build-ver-readability.diff, i#68590, tml
+
+
+[ Fpickers ]
+# Modify the fpicker makefile
+fpicker-common-build.diff, jholesov
+
+# Show "Use OpenOffice.org dialogs" check box only if the system fpicker is
+# available (better implementation) FIXME IZ number
+fpicker-show-checkbox.diff, jholesov
+
+# Out-of-process implementation of KDE fpicker
+# FIXME: No IZ number for this, because it is necessary to do it internal first
+fpicker-kde-service.diff, jholesov
+# Out-of-process implementation of KDE fpicker
+# FIXME: No IZ number for this, because it is necessary to do it internal first
+fpicker-kde-dialog.diff, jholesov
+# Partially support KIO (download the file locally if we cannot handle it in
+# OOo or (FIXME) using gnome-vfs) binc#60527
+fpicker-kde-partial-kio.diff, jholesov
+# Workaround for 'Filter name (*.blah)' vs. 'Filter name' problem in
+# Insert->Picture->From File... n#66873
+fpicker-kde-filter-name.diff, jholesov
+
+# Adapt to changes in resources handling of fpickers
+fpicker-kde-resmgr.diff, jholesov
+
+# Handle media:/ files locally
+fpicker-kde-local-media.diff, jholesov
+fpicker-kde-local-media2.diff, jholesov, n#238695
+# Fix too wide "Menu -> Insert -> Picture -> From File..." dialog Novell#72010
+fpicker-kde-too-wide.diff, jholesov
+
+# Don't overwrite files containing spaces, etc. n#241080
+fpicker-kde-dont-overwrite.diff, jholesov
+# Work even with non-UTF-8 locales n#168616
+fpicker-kde-non-utf8.diff, jholesov
+
+# KDE fpicker should be modal n#265718
+fpicker-kde-modal.diff, jholesov
+
+# Let the KDE and Gtk+ fpickers build and install FIXME IZ number
+fpicker-common-scp2.diff, jholesov
+
+# Missing accel in Gtk+ fpicker. n#354447
+fpicker-gtk-accel-n354447.diff, n#354447, hub
+
+[ AddressBooks ]
+
+# Evolution should also be default database(n#66217).
+default-evolution-database.diff, michael
+# Mailmerge column mapping by default (n#73627)
+default-evo-column-mapping.diff, michael
+
+# NB. when this cws goes up-stream we need to enable this
+default-evo2-ab.diff, michael
+
+
+[ Lwp ]
+# Lotus Word Pro Import Filter
+lwp-filter-component.diff, i#11215, noelpwer
+
+
+[ Win32Only ]
+
+# some versions of make don't like us
+cygwin-make-ver.diff, i#68283, michael
+# 2 more makefiles in sysui are seriously broken #35628
+# parallel-python-makefile_mk.diff # looks to be upstream
+# Work around G/W mail component crasher bug #FIXME - re-file vs. i#34264
+win32-gw-send-mail.diff, i#34264, michael
+# This is a pretty nasty IE problem i#19510, i#65209
+win32-activex-disable.diff, i#65209, i#19510, n#168534, tml
+# This enables building libIDL, glib and buildtools for mozilla from source
+mozilla-buildlibs-win32.diff, i#58741, davidf
+# This enables building scsolver on Win32
+boost-patch.diff, tml
+# Multi-language installer stuff
+win32-multi-lang-installer.diff, i#66062, tml
+
+# fix for visual studio express 2005 ( ooo-build only )
+2005-express-stl-remove.diff, noelpwer, i#71404
+
+
+[ VBABits ]
+# Parse (& ignore) 'Attribute' statements
+vba-attribute.diff, i#37347, noelpwer
+#basic depends on built and delivered ooovbaapi
+basic-prj-build_lst.diff
+#for NULL and IsNULL compatibility with MSO
+vba-basic-null.diff i#85349, jjiao
+
+
+[ ArkOnly ]
+SectionOwner => brosenk
+
+# See what breaks if we build with more optimizations
+testing-more-optimizations-ark.diff
+
+
+[ GentooExperimental ]
+SectionOwner => hmth
+
+# Gnu JRE paths.
+gentooexperimental-gnujre.diff
+
+[ GentooOnly ]
+SectionOwner => aprosky
+
+# Allow build to proceed with PaX enabled
+gentoo-pax-fix.diff, aprosky
+# support server-only versions of 64bit JDKs
+64bit-jdk-server-paths.diff, i#65974, hmth
+# use IBM j9vm over IBM classic JVM
+ibm-j9vm.diff, hmth
+# system db check
+system-db-check.diff, i#65979, hmth
+# User ~/.ooo-2.0 as user dir
+scp2-user-config-ooo-2.0.diff, pmladek
+# unused java code
+disable-parser-jaxp.diff
+# default inc/lib
+config_office-XINC-XLIB-defaults.diff, i#65976
+# gdi/font.cxx: stl list error
+vcl_font-NO_LIST.diff
+# linux-headers-2.6.22 issue?!
+linux-headers.diff
+
+[ DebianBaseOnly ]
+SectionOwner => rengelha
+
+help-msg-add-package-info.diff
+
+[ DebianBaseNoHelpContent ]
+SectionOwner => rengelha
+
+disable-helpcontent2.diff
+disable-xmlsearch-and-xmlhelp-jar.diff
+
+
+[ UbuntuOnly ]
+SectionOwner => mklose
+
+default-system-fpicker.diff, michael
+ubuntu-palette.diff
+ubuntu-dictionary.diff
+ubuntu-lpi.diff, i#64895, mklose
+ubuntu-sparc-hack.diff, mklose
+
+
+[ Mono ]
+SectionOwner => rodo
+
+#
+# These patches are experimental beware ...
+#
+mono-scp2.diff
+
+cli_ure-mono-bridge.diff
+
+cli_ure-source-bootstrap-assembly-cs.diff
+cli_ure-source-bootstrap-makefile-mk.diff
+cli_ure-source-bootstrap-managed_bootstrap-cs.diff
+cli_ure-source-bootstrap-native_glue-cxx.diff
+mono-testtools.diff
+
+# The build
+mono-build.diff
+build-mono-link.diff, jholesov
+
+cli_ure-prj-build-lst.diff
+
+# sign the output assembly using the key pair; it is needed to install
+# the versioned assemblies into the system Global Assembly Cache  (GAC)
+
+mono-build-keyfile.diff
+
+# climaker rewritten in C#
+mono-climaker.diff
+mono-climaker-config.diff
+climaker-csharp-win.diff
+buildfix-climaker-disabled.diff
+mono-climaker-bridgetest.diff
+
+
+[ VBAObjects ]
+SectionOwner => noelpwer
+
+vbaevents-services-sources.diff, i#68893
+
+sc-hacky-handle-boolean.diff
+
+svx-source-inc-fmundo-hxx.diff, i#68893
+svx-source-form-fmscriptingenv-cxx.diff, i#68893
+svx-source-form-makefile.diff, i#68893
+svx-source-form-fmundo-cxx.diff, i#68893
+
+vbaevents-services-build.diff, i#68893
+
+scp_vba_uno_service.diff, i#68893
+
+vba-support-export-palette.diff, i#68900
+
+vba-workbook-worksheet-events.diff
+vba-workbook-worksheet-events-buildfix.diff
+
+[ VBAObjects < src680-m241 ]
+vba-keep-codenames-in-sync-m3.diff
+
+[ VBAObjects >= src680-m241 ]
+vba-keep-codenames-in-sync.diff
+
+[ VBAObjects ]
+#associating sheet and codename when insert a sheet
+# sc-insert-sheet-codename.diff, i#80869, jianhua
+
+[ VBAObjects < src680-m241 ]
+vba-brackets-params-fix.diff, i#79918, n#292861
+vba-negnumber-inparam-withoutbrackets.diff, n#294302
+
+[ VBAObjects ]
+# hack for when resolving a symbol in the module ThisWorkbook
+vba-symbol-searchhack-for-thisworkbook.diff
+vba-allow-ranges-for-cell-functions.diff
+
+# in the basic IDE if the curson in within a macro
+# pressing the run button should run that macro
+# if the cursor is not in the macro then it should
+# raise the macro chooser dialog
+vba-ide-choose-macro-to-run.diff
+
+# provide a compatible error object
+vba-error-object.diff
+
+
+# make ScExtDocSettings public
+scextopt-public.diff, jianhua
+
+#tweak cws-npower7/8 to build vba before filter ( filter uses headers generated
+#from oovbapi.rdb )
+sc-vba-build-lst.diff
+# allows access to some internals needed for vba api, doesn't change
+# any functionality
+sc-vba-autofill-support.diff, i#68883
+#-DVBA_OOBUILD_HACK ( make sure this flag is set for ooo-build builds )
+# this flag hooks in code in vba api model implementation that depends on
+# core changes not yet upstream
+sc-source-ui-vba-makefile-mk.diff
+
+[ VBAObjects < src680-m241 ]
+# export of macro bindings for shapes
+sc-export-shape-macro-bindings-m3.diff, n#304739, noelpwer
+
+[ VBAObjects >= src680-m241 ]
+# export of macro bindings for shapes
+sc-export-shape-macro-bindings.diff, n#304739, noelpwer
+
+[ VBAObjects ]
+# export of hlink bindings for shapes
+sc-export-shape-hlink-bindings.diff, n#304739, noelpwer
+
+# Application.Caller
+api-application-caller.diff, n#339941, noelpwer
+default-autotext-and-form-name.diff, n#353687
+
+# add support for passing a caller to basic when calling a script
+# via the scripting framework - note depends on vbaevents-services-sources.diff
+basic-caller-support.diff
+
+# fix --disable-vba build
+oovbaapi-disable-vba.diff
+
+# fix for n#353254
+n353254-dateserial.diff, n#353254, Fong
+# fix for n#353260
+n353260-datevalue.diff, n#353260, Fong
+# fix for n#353242. missing APIs
+# a set of CommandBar APIs.
+vba-commandbar-bundle.diff, n#353242, Jianhua
+
+[ VBAUntested ]
+SectionOwner => noelpwer
+basic-source-classes-eventatt-cxx.diff, #no-upstream
+#ditto
+vba-support-stoc-typeprovider-xexactname.diff, #no-upstream
+#must ask kendy about this ( noelp )
+vba-parallel-build.diff, #no-upstream
+#not so useful but perhaps we can build on it later
+basic-speedup-fix.diff
+
+# the following patches are part of cws-npower10
+# keep them here until they are reviewed to save regenerating
+# the individual patches
+# support Replace function
+vba-replace-function.diff, n#226439, Fong
+# support StrConv function
+vba-strconv-function.diff, n#294187, Fong
+# Fix rounding problem in CCur function
+vba-ccur-function.diff, n#294187, Fong
+# Conversion between byte array and String
+## vba-bytearray-string.diff, Fong
+# support Partition function
+vba-partition-function.diff, n#294187, Fong
+# GetAttr function, using windows api to get file attributes in Win32.
+vba-getattr-function.diff, n#294187, Fong
+# Fomat function enhancement for VBA 
+vba-format-function.diff, n#294187, Fong
+
+
+# Is function only valid for objects
+#vba-is-behaviour.diff
+# support static keyword for procedures and local variables
+#vba-static-behaviour.diff, noelpwer, i#58089, n#306717
+
+[ Features ]
+# Pre- and postprocessing capabilities for loading and saving.
+sfx2-pre-and-postprocess-during-save-load.diff, i#71939, florian
+sfx2-pre-and-postprocess-crash-fix.diff, n#270544, rodo
+
+[ Lockdown ]
+# Disable UI [toolbars, menus] customization
+ui-desktop-integration.diff, michael
+
+
+[ msaccess ]
+SectionOwner => strba
+SectionIssue => i#33654
+
+#cws-mdbdriver01.diff
+
+#cws-mdbdriver02.diff
+
+#mdbtools.diff
+#mdbtools-makefile-mk.diff
+#mdbtools-prj-build-lst.diff
+#mdbtools-prj-d-lst.diff
+
+#connectivity-source-drivers-mdb-mdb-map.diff
+
+#hack to get the proper msaccess tabpage
+#msaccess-db-create-dialog-fix.diff
+
+
+[ STLport5 ]
+SectionOwner => hmth
+SectionIssue => i#63770
+
+# system STLport5 support
+system-stlport5-config.diff
+system-stlport5-STLPORT_VER.diff
+
+system-stlport5.diff
+
+# system stlport51 support
+system-stlport51.diff
+# new wrapper func in cws chart11
+cws-chart11.diff
+system-stlport5_cppu.diff, i#78909
+
+
+[ CalcSolver ]
+SectionOwner => kyoshida
+SectionIssue => i#8808
+
+# add lpsolve linker flag to libs.mk
+solenv-inc-libs-mk.diff
+
+# add scsolver to the dep chain for sc
+scs-sc-build.diff
+
+# needs more boost headers
+scs-boost.diff
+
+# configure check for system-lpsolve
+system-lpsolve-config_office.diff
+
+# setup protocol handler (urgh) and add menu bar item, and install the component.
+scs-officecfg.diff
+scs-scp2.diff
+scs-sc-menubar.diff
+scs-officecfg-calc.diff
+
+# package scsolver as a default uno extension (not working ATM).
+#scsolver-uno-extension.diff
+#scsolver-enable-extension.diff
+
+
+[ OOXML < src680-m241 ]
+cws-xmlfilter02-sc-m3.diff
+
+[ OOXML < src680-m245 ]
+cws-xmlfilter02-sc.diff
+
+[ OOXML < src680-m245 ]
+cws-xmlfilter02-config_office.diff
+cws-xmlfilter02-filter.diff
+cws-xmlfilter02-goodies.diff
+cws-xmlfilter02-offapi.diff
+cws-xmlfilter02-postprocess.diff
+cws-xmlfilter02-sal.diff
+cws-xmlfilter02-sax.diff
+cws-xmlfilter02-scp2.diff
+cws-xmlfilter02-sd.diff
+cws-xmlfilter02-solenv.diff
+cws-xmlfilter02-svx.diff
+cws-xmlfilter02-sw.diff
+cws-xmlfilter02-toolkit.diff
+
+[ OOXML ]
+cws-xmlfilter03-sw.diff
+cws-xmlfilter03-offapi.diff
+
+win32-installer-register-moox-types.diff
+
+oox-depends-on-tools.diff, i#85614
+writerfilter-module-writer.diff
+
+[ OOXML < src680-m241 ]
+gperf-3-is-needed-m5.diff
+
+[ OOXML >= src680-m241 ]
+gperf-3-is-needed.diff
+
+[ OOXML ]
+writerfilter-source-dmapper-domainmapper-debug.diff
+
+writerfilter-source-resourcemodel-util_cxx.diff
+
+[ CalcFixes ]
+
+# Allow comma as a cell separators in functions
+# The patch depends on the cws-xmlfilter03 stuff
+sc-localized-arg-separator.diff, n#358558, kohei
+
+[ OOXSTLport5 ]
+SectionOwner => hmth
+
+system-stlport51-oox.diff
+system-stlport51-oox-map.diff
+
+[ PostgreSQL ]
+sdbc-postgresql.diff
+sdbc-postgresql-build-lst.diff
+sdbc-postgresql-config_office.diff
+connectivity-workben-postgresql.diff
+gcc-4.3-postgresql.diff
+
+
+
+[ ArkOnly ]
+SectionOwner => brosenk
+
+# We use KMail...
+# There's no point in upstreaming this because not everyone uses KMail.
+ark-default-ExternalMailer.diff
+
+[ ArkOnlyExperimental ]
+# There's no point in upstreaming this because it relies on the Ark
+# Java lib naming scheme and won't work anywhere else.
+# Not applied right now, needs porting
+compiletime-skip-duplicate-jars.diff
+# Don't crash HelpLinker
+# FIXME check if this is still needed with m190
+gcj-HelpLinker-no-NullPointerException.diff, i#61278
+
+# This is faster, and solves gcj -C's private bug. But it's also
+# close to untested.
+# FIXME this needs reimplementation with the current build system
+ark-experimental-gcj-use-ecj.diff, i#64917
+
+# Ark Linux includes precompiled versions of Xerces, Xt and db.jar.
+# There's no need to precompile them again, just use the system version.
+# There's no point in upstreaming this because it relies on the Ark
+# Java lib naming scheme and won't work anywhere else.
+# FIXME this needs reimplementation with the current build system
+ark-system-precompiled-java.diff
+
+[ DebianBaseOnly ]
+# link with -lcolamd, needed because our liblpsolve55{,_pic}.a doesn't include it
+system-lpsolve-link-with-colamd.diff, rengelha
+
+[ DebianOnly ]
+debian-dictionary.diff, rengelha
+#debian-gccXXXXX.solenv.javaregistration.diff
+
+
+[ cairocanvas ]
+# build local cairo on Win32 (if enabled)
+cairo-prj-build-lst.diff, i#70519, tml
+cairo-prj-d-lst.diff, i#70519, tml
+cairo-makefile-mk.diff, i#70519, tml
+cairo-config_office-configure-in.diff, i#70519, tml
+cairo-cairo-1-4-10-diff.diff, i#70519, tml
+
+[ cairocanvas < src680-m241 ]
+# don't crash if xrender extension is not present
+cairo-canvas-fail-if-no-xrender.diff, i#84049, fridrich
+
+[ cairocanvas ]
+# Additional diffs for cairocanvas on Win32
+cairo-canvas-win32.diff, i#70519, n#300398, tml
+
+[ OpenGLTransitions < src680-m241 ]
+cws-transogl02-officecfg.diff
+cws-transogl02-sd.diff
+cws-transogl02-slideshow.diff
+cws-transogl02-vcl.diff
+
+[ OpenGLTransitions ]
+transogl-transitions-slideshow.diff
+transogl-transitions-sd.diff
+transogl-transitions-officecfg.diff
+transogl-transitions-scp2.diff
+
+[ Experimental ]
+# sal_uInt32 -> sal_uIntPtr for events on some places
+events-intptr.diff, i#59411, jholesov
+
+
+[ DebianSidOnly ]
+static-libs-use-_pic.diff, rengelha
+# link dynamically with liblpsolve55.so
+system-lpsolve-rpath.diff, rengelha
+
+[ UbuntuOnly ]
+writer-default-font.diff, mklose
+human-icons-add.diff, mklose
+
+[ UbuntuL10nOnly ]
+human-icons-i18n.diff, mklose
+
+[ DebianEtchOnly ]
+static-libs-use-_pic.diff, rengelha
+hunspell-lib-use-_pic.diff, rengelha
+libhnj-lib-use-_pic.diff, rengelha
+# use -llpsolve55_pic
+system-lpsolve-use-_pic.diff, rengelha
+
+[ UbuntuDapperOnly ]
+static-libs-use-_pic.diff, rengelha
+hunspell-lib-use-_pic.diff, rengelha
+# use -llpsolve55_pic
+system-lpsolve-use-_pic.diff, rengelha
+
+[ UbuntuEdgyOnly ]
+static-libs-use-_pic.diff, rengelha
+hunspell-lib-use-_pic.diff, rengelha
+unxlngi6-notune.diff, doko
+ubuntu-no-stack-protector.diff, doko
+# use -llpsolve55_pic
+system-lpsolve-use-_pic.diff, rengelha
+
+[ UbuntuFeistyOnly ]
+static-libs-use-_pic.diff, rengelha
+unxlngi6-notune.diff, doko
+ubuntu-no-stack-protector.diff, doko
+# use -llpsolve55_pic
+system-lpsolve-use-_pic.diff, rengelha
+#gccXXXXX.solenv.javaregistration.diff
+
+[ UbuntuGutsyOnly ]
+static-libs-use-_pic.diff, rengelha
+unxlngi6-notune.diff, doko
+ubuntu-no-stack-protector.diff, doko
+# link dynamically with liblpsolve55.so
+system-lpsolve-rpath.diff, rengelha
+#gccXXXXX.solenv.javaregistration.diff
+
+
+[ FedoraFixes ]
+ooo64508.vcl.honourfontconfighinting.diff
+
+[ FedoraFixes < src680-m241 ]
+ooo84684.vcl.fixfontconfig.diff
+
+[ FedoraFixes ]
+ooo67658.sfx2.reloadcrash.diff
+
+oooXXXXX.vcl.x86_64.impressatk.diff
+
+ooo73201.sw.a11yloadcrash.diff
+
+#FIXME src680: ooo72129.vcl.fontglyphindex.diff
+ooo61812.svx.a11ycrash.diff
+
+
+# needs Gtk2.0 >= 2.10 and cairo
+[ CairoFonts ]
+ooo59127.vcl.honourcairofont.diff
+
+
+[ GStreamer ]
+SectionOwner => rodo
+SectionIssue => i#68717
+
+gstreamer-avmedia.diff
+gstreamer-sd.diff
+gstreamer-scp2.diff
+gstreamer-config-office.diff
+gstreamer-slideshow.diff
+gstreamer-solenv.diff
+gstreamer-svtools-content-types.diff
+gstreamer-avmedia-file-types.diff
+gstreamer-vcl.diff
+avmedia-source-gstreamer-ChangeLog.diff
+avmedia-source-gstreamer-exports.dxp.diff
+avmedia-source-gstreamer-gstcommon.hxx.diff
+avmedia-source-gstreamer-gstframegrabber.cxx.diff
+avmedia-source-gstreamer-gstframegrabber.hxx.diff
+avmedia-source-gstreamer-gstmanager.cxx.diff
+avmedia-source-gstreamer-gstmanager.hxx.diff
+avmedia-source-gstreamer-gstplayer.cxx.diff
+avmedia-source-gstreamer-gstplayer.hxx.diff
+avmedia-source-gstreamer-gstuno.cxx.diff
+avmedia-source-gstreamer-gstwindow.cxx.diff
+avmedia-source-gstreamer-gstwindow.hxx.diff
+avmedia-source-gstreamer-makefile.mk.diff
+letter-wizard-resource-id.diff, i#84209
+
+[ Shrink ]
+SectionOwner => michael
+
+# kill >1Mb of bloat in sal
+size-sal-textenc.diff, i#70166
+
+[ NovellOnlyWin32 ]
+SectionOwner => tml
+
+novell-win32-odma.diff, i#6885, i#32741
+
+
+[ NovellOnlyUnix ]
+# search also gij32, ..., so the 32-bit package works on 64-bit
+jvmfwk-gij32.diff, n#222708, pmladek
+
+
+[ SVGImport ]
+# Very partial implementation of SVG import
+# Work in progress, don't use, hic sunt leones, etc.
+svg-import.diff, jholesov
+# Marco Cecchetti's work on importing text
+svg-import-text.diff, jholesov
+
+# allow internal libsvg, hic sunt (still always) leones, HACK!!!
+libsvg-module.diff, fridrich
+
+[ CalcDataPilotDrillDown ]
+# Implements DataPilot cache table, result drill-down, and some extra UNO API.
+SectionOwner => kohei
+SectionIssue => i#57030, i#83250, i#84349
+sc-calc-datapilot-drilldown.diff
+offapi-calc-datapilot-drilldown.diff
+
+[ SharedWorksheets ]
+SectionOwner => jholesov
+# Implementation of shared worksheets
+# Work in progress, don't use, hic sunt leones, etc.
+
+sal-osl-lock-file.diff
+modal-changes-dialog.diff
+shared-worksheets.diff
+
+[ NovellOnlyWin32 ]
+novell-win32-msi-patchability.diff, tml
+
+[ MacOSXOnly ]
+SectionOwner => pluby
+
+# fix lpsolve build for OSX
+macosx-lpsolve-makefile.diff
+# fixes build with gcc-3.3; required for MacOSX build
+# it is usable only until anyone uses the disabled code => MacOSXOnly
+# we will move to gcc-4.x, so it does not make sense to push it upstream
+buildfix-boost-gcc33.diff
+
+[ PardusOnly ]
+pardus-default-ExternalMailer.diff
+pardus-clipart.diff
+no-mozilla-plug-in-option.diff
+dont-check-fqdn.diff
+
+[ UnUsedButNotYetRemovedFromSVN ]
+# diffs kept for reference as there might soon be a need to resurrect
+# part of the code
+
+[ Store ]
+SectionOwner => rodo
+SectionIssue => i#75399
+store-core.diff
+#FIXME src680: in store-install.diff, instsetoo_native part was commented out
+store-install.diff
+store-registry.diff
+# don't burn 3% of startup doing CRC's we don't need
+speed-store.diff, i#78495, michael
+# don't do a load of locking we don't need to 1% of startup
+speed-store-lck.diff, i#78526, michael
+
+
+[ NovellOnlyWin32 ]
+#Fix for n#269146
+novell-win32-avoid-premature-shutdown.diff
+
+
+[ WMF < src680-m241 ]
+wmf-pattern-brush-m3.diff, n#232232, rodo
+[ WMF >= src680-m241 ]
+wmf-pattern-brush.diff, n#232232, rodo
+
+
+[ Layout < src680-m241]
+SectionOwner => michael
+cws-awtfixes1.diff, i#78291, i#80754
+
+[ Layout ]
+SectionOwner => michael
+# FIXME: commit this with i#78291 too...
+layout-svtools.diff
+
+
+[ LayoutDialogs]
+SectionOwner => janneke
+layout-dialogs-config_office-scp2.diff
+layout-dialogs-layout.diff
+layout-dialogs-svx-sw.diff
+layout-dialogs-transex3.diff
+
+
+[ UnitTesting ]
+SectionOwner => jholesov
+# FIXME: file when ready
+
+# teach build.pl what to do with prj/tests.lst's
+unittesting-build-pl.diff
+
+# the tests
+unittesting-basebmp.diff
+unittesting-basegfx.diff
+unittesting-basic.diff
+unittesting-bean.diff
+unittesting-bridges.diff
+unittesting-canvas.diff
+unittesting-cli_ure.diff
+unittesting-codemaker.diff
+unittesting-configmgr.diff
+unittesting-connectivity.diff
+unittesting-cppu.diff
+unittesting-cppuhelper.diff
+unittesting-dbaccess.diff
+unittesting-desktop.diff
+unittesting-dtrans.diff
+unittesting-embeddedobj.diff
+unittesting-extensions.diff
+unittesting-filter.diff
+unittesting-forms.diff
+unittesting-fpicker.diff
+unittesting-framework.diff
+unittesting-chart2.diff
+unittesting-idlc.diff
+unittesting-io.diff
+unittesting-javaunohelper.diff
+unittesting-jurt.diff
+unittesting-jvmaccess.diff
+unittesting-linguistic.diff
+unittesting-offapi.diff
+unittesting-o3tl.diff
+unittesting-package.diff
+unittesting-qadevOOo.diff
+unittesting-registry.diff
+unittesting-ridljar.diff
+unittesting-sal.diff
+unittesting-salhelper.diff
+unittesting-sandbox.diff
+unittesting-sax.diff
+unittesting-sc.diff
+unittesting-scripting.diff
+unittesting-sd.diff
+unittesting-sfx2.diff
+unittesting-shell.diff
+unittesting-slideshow.diff
+unittesting-sot.diff
+unittesting-starmath.diff
+unittesting-stoc.diff
+unittesting-store.diff
+unittesting-svtools.diff
+unittesting-svx.diff
+unittesting-sw.diff
+unittesting-testshl2.diff
+unittesting-testtools.diff
+unittesting-toolkit.diff
+unittesting-tools.diff
+unittesting-ucb.diff
+unittesting-ucbhelper.diff
+unittesting-udkapi.diff
+unittesting-vcl.diff
+unittesting-writerfilter.diff
+unittesting-xmerge.diff
+unittesting-xmlhelp.diff
+unittesting-xmloff.diff
+unittesting-xmlscript.diff
+unittesting-xmlsecurity.diff
+
+
+[ ReducedDefaults ]
+SectionOwner => jholesov
+
+# disable automatic spellchecking by default
+reduced-disable-auto-spellcheck.diff
+
+[ VOSremoval ]
+
+# remove vos/process.hxx
+# FIXME: in vcl, ExtCommandLine was removed, and the osl_ calls were used.
+# Should we use the new salhelper::ExtCommandLine there, or should we remove
+# even salhelper::ExtCommandLine, and introduce the functionality where
+# needed?  (It's on one place only)
+vosremoval-process.diff
+
+# remove vos/diagnose.hxx
+vosremoval-diagnose.diff
+
+# remove vos/ref*.hxx
+vosremoval-reference.diff
+
+# remove vos/thread.hxx
+vosremoval-thread.diff
+
+# remove vos/mutex.hxx
+vosremoval-mutex.diff
+
+# remove vos/conditn.hxx
+vosremoval-conditn.diff
+
+# remove vos/macros.hxx
+vosremoval-macros.diff
+
+# remove vos/xception.hxx
+vosremoval-xception.diff
+
+# remove vos/signal.hxx
+vosremoval-signal.diff
+
+# remove vos/module.hxx
+vosremoval-module.diff
+
+# remove vos/security.hxx
+vosremoval-security.diff
+
+# remove vos/socket.hxx
+vosremoval-socket.diff
+
+# remove includes of non-existing/unused headers (vos/process.hxx,
+# vos/dynload.hxx, vos/object.hxx, vos/types.hxx, vos/runnable.hxx,
+# vos/thread.hxx)
+vosremoval-unused-stuff.diff
+
+# remove vos/pipe.hxx
+vosremoval-pipe.diff
+
+# remove vos/timer.hxx, introduce salhelper/timer.hxx
+vosremoval-timer.diff
+
+# removel VOSLIB from makefile.mk's
+vosremoval-cleanup.diff
+
+
+[ Gcc43 ]
+# Make it compile with gcc 4.3
+cws-gcc430two.diff, i#83276
+
+[ OxygenOfficePalettes ]
+palette-enhanced-arrow.diff
+palette-enhanced-color.diff
+palette-enhanced-dash.diff
+palette-enhanced-gradient.diff
+palette-enhanced-hatch.diff
+
+[ DebianBaseOnly ]
+debian-system-jfreereport.diff
+
+[ Fixes ]
+svx-sdrobjeditview-update-edit-area.diff, n#305205, n#347355, rodo
+cairocanvas-image-borders.diff, n#340142, rodo
+goodies-eps-filter-unix.diff, n#200053, rodo
+
+[ Fixes < src680-m241 ]
+solaris-dont-depend-on-core10.diff, fridrich
+
+[ EMFPlus ]
+emf+-canvas.diff
+emf+-canvas-line-width.diff
+emf+-canvas-vcl-clear.diff
+emf+-canvas-smooth-poly.diff
+emf+-canvas-vcl-non-closed-polygons.diff
+emf+-cppcanvas.diff
+emf+-cppcanvas-renderer.diff
+emf+-cppcanvas-emfplus.diff
+emf+-cppcanvas-polyaction.diff
+emf+-offapi.diff
+emf+-offapi-renderer.diff
+emf+-vcl-bitmap.diff
+emf+-vcl-renderer.diff
+emf+-svtools.diff
+emf+-scp2-renderer.diff
+emf+-dxcanvas.diff
+
+[ OxygenOfficeDefaultSettings ]
+# Always enable extended tips
+i27928-extended-tips-on.diff
+# We like rules in impress
+i54709-default-impress-ruler.diff
+# Full branding for Windows installer
+ooop-win32-installer-branding.diff
+
+[ OxygenOfficeExtras ]
+# Adding new items to extras module
+accessories_build.diff
+accessories_target.diff
+# Adding extended support for additional gallery localizations
+gallery_galtheme.diff
+gallery_inc_gallery.diff
+gallery_inc_galtheme.diff
+# Include new elements into scp2 module
+scp2_accessories.diff
+scp2_build_accessories.diff
+scp2_directory_accessories.diff
+scp2_makefile_accessories.diff
+# Splitting new contents into new packages -- currently disabled
+premium-splitted-language-packages.diff
+premium-splitted-language-pack-solenv.diff
+premium-splitted-packages.diff
+# Add configure options
+extras_configure.diff
+# Add environment variables base on new configure switches
+extras_solenv.diff
+extras_wizard.diff
+extras_fonts.diff
+# Add our macros stuffs to wizard module
+premium_macro_build.diff
+premium_macro_dialog.diff
+premium_macro_script.diff
+premium_macro_target.diff
+# Add menu elements for Users guide
+helpdocument-genericcommand.diff
+# Uniformize Help menu of us
+helpdocument-menubar.diff
+# Adding OOoWikiPedia commands and DataMiner toolbars
+ooowikipedia_genericcommands.diff
+ooowikipedia_writer.diff
+ooowikipedia_toolbars.diff
+
+[ Split ]
+SectionOwner => pmladek
+
+# FIXME: apply at the end because there are some conflicts
+
+# split binfilter from core
+split-binfilter-filter.diff, i#79800
+split-binfilter-setup_native.diff, i#79800
+split-binfilter-scp2.diff, i#79800
+
+
+[ Win32Only ]
+mozilla-source-1.7.5.patch.diff, i#84961, tml
+
+[ TemporaryHacks ]
+
+# First work on field enhancements...
+offapi-field-patch.diff, flr, n#248354
+svtools-field-patch.diff, flr, n#248354
+sw-field-patch.diff, flr, n#248354
+xmloff-field-patch.diff, flr, n#248354
+
+[ NovellOnly ]
+#only enable enhanced field work in Novell OOo by default
+officecfg-field-patch.diff, flr, n#248354 
+
+
+[ Fixes ]
+sc-xclimpchangetrack-discard-bogus-formula-size.diff, n#355304, tml
+
+[ Fixes < src680-m241 ]
+dmake-heap-corruption.diff, i#85381, tml
+
+[ Glib2 ]
+external-package-glib2.diff
+scp2-package-glib2.diff
+setup_native-package-glib2.diff
+
+[ Fixes ]
+fix-ppt-linespacing-import-export.diff, n#355302, rodo

Added: trunk/patches/dev300/layout-dialogs-config_office-scp2.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/layout-dialogs-config_office-scp2.diff	Fri Feb  8 17:00:27 2008
@@ -0,0 +1,274 @@
+diff --git a/config_office/configure.in b/config_office/configure.in
+index a402135..0f084df 100644
+--- config_office/configure.in
++++ config_office/configure.in
+@@ -230,6 +230,9 @@ AC_ARG_ENABLE(static-gtk,
+                           the static libraries instead of the dynamic ones. 
+                           (enables -Bstatic linker flag for gtk libraries)
+ ],,)
++AC_ARG_ENABLE(layout,
++[  --enable-layout         Enable the compilation and use of layout dialogs
++],,)
+ AC_ARG_ENABLE(build-mozilla,
+ [  --disable-build-mozilla Use this option if you do not want to build the
+                           mozilla components from the mozilla source code but
+@@ -6019,6 +6022,16 @@ else
+ fi
+ AC_SUBST(ENABLE_STATIC_GTK)
+ 
++AC_MSG_CHECKING([whether to use layout dialogs])
++if test -n "$enable_layout" && test "$enable_layout" != "no"; then
++   ENABLE_LAYOUT="TRUE"
++   AC_MSG_RESULT([yes])
++else
++   ENABLE_LAYOUT="FALSE"	
++   AC_MSG_RESULT([no])
++fi
++AC_SUBST(ENABLE_LAYOUT)
++
+ dnl ===================================================================
+ dnl Setting up the environment.
+ dnl ===================================================================
+diff --git a/config_office/set_soenv.in b/config_office/set_soenv.in
+index 6d696e4..5df58ea 100644
+--- config_office/set_soenv.in
++++ config_office/set_soenv.in
+@@ -1795,6 +1795,7 @@ ToFile( "MKDEPENDSOLVER",    "TRUE",             "e" );
+ # (c = comment, e = environment variable, a = alias )
+ ToFile( "Platform dependent constant values.", $empty, "c" );
+ ToFile( "SOLAR_JAVA",        $SOLAR_JAVA,        "e" );
++ToFile( "ENABLE_LAYOUT",       "@ENABLE_LAYOUT@",    "e" );
+ ToFile( "ENABLE_MONO",       "@ENABLE_MONO@",    "e" );
+ ToFile( "ENABLE_MONO_CLIMAKER",       "@ENABLE_MONO_CLIMAKER@",    "e" );
+ ToFile( "CSC",               "@CSC@",            "e" );
+diff --git a/scp2/prj/build.lst b/scp2/prj/build.lst
+index 61f5aa0..2fb7334 100644
+--- scp2/prj/build.lst
++++ scp2/prj/build.lst
+@@ -12,6 +12,7 @@
+ cp    scp2\source\impress         nmake    -    all    cp_impress cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\javafilter      nmake    -    all    cp_javafilter cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\kde             nmake    -    all    cp_kde cp_langmacros cp_langtemplates NULL
++cp    scp2\source\layout          nmake    -    all    cp_layout cp_langmacros NULL
+ cp    scp2\source\lingu           nmake    -    all    cp_lingu cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\math            nmake    -    all    cp_math cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\ooo             nmake    -    all    cp_ooo cp_langmacros cp_langtemplates NULL
+@@ -26,4 +27,4 @@
+ cp    scp2\source\ure             nmake    -    all    cp_ure cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\onlineupdate    nmake    -    all    cp_update cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\ooo_wo_ure      nmake    -    all    cp_ooo_wo_ure cp_langmacros cp_langtemplates NULL
+-cp    scp2\util                   nmake    -    all    cp_util cp_activex cp_calc cp_canvas cp_crashrep cp_draw cp_gnome cp_graphicfilter cp_impress cp_javafilter cp_kde cp_lingu cp_math cp_ooo cp_python cp_quickstart cp_testtool cp_writer cp_base cp_xsltfilter cp_winexplorerext cp_ure cp_sdkoo cp_update cp_ooo_wo_ure NULL
++cp    scp2\util                   nmake    -    all    cp_util cp_activex cp_calc cp_canvas cp_crashrep cp_draw cp_gnome cp_graphicfilter cp_impress cp_javafilter cp_kde cp_layout cp_lingu cp_math cp_ooo cp_python cp_quickstart cp_testtool cp_writer cp_base cp_xsltfilter cp_winexplorerext cp_ure cp_sdkoo cp_update cp_ooo_wo_ure NULL
+diff --git a/scp2/source/layout/layout.scp b/scp2/source/layout/layout.scp
+new file mode 100644
+index 0000000..f7a59e1
+--- /dev/null
++++ scp2/source/layout/layout.scp
+@@ -0,0 +1,117 @@
++/*************************************************************************
++ *
++ *  OpenOffice.org - a multi-platform office productivity suite
++ *
++ *  $RCSfile: layout.scp,v $
++ *
++ *  $Revision: 1.3 $
++ *
++ *  last change: $Author: kz $ $Date: 2006/12/13 16:12:23 $
++ *
++ *  The Contents of this file are made available subject to
++ *  the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ *    GNU Lesser General Public License Version 2.1
++ *    =============================================
++ *    Copyright 2005 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
++ *
++************************************************************************/
++
++#include "macros.inc"
++
++File gid_File_Lib_Layout
++    TXT_FILE_BODY;
++    Styles = (PACKED,UNO_COMPONENT);
++    RegistryID = gid_Starregistry_Services_Rdb;
++    Dir = gid_Dir_Program;
++  #ifdef UNX
++    Name = STRING(CONCAT4(liblayout,OFFICEUPD,DLLPOSTFIX,UNXSUFFIX));
++  #else
++    Name = STRING(CONCAT4(layout,OFFICEUPD,DLLPOSTFIX,.dll));
++  #endif
++End
++
++Directory gid_Dir_Share_Layout
++    ParentID = gid_Dir_Share;
++    DosName = "layout";
++End
++
++File gid_File_Xml_Wordcount
++   TXT_FILE_BODY;
++   Dir = gid_Dir_Share_Layout;
++   Name = "wordcount.xml";
++   Styles = (PACKED);
++End
++
++File gid_File_Xml_Zoom
++   TXT_FILE_BODY;
++   Dir = gid_Dir_Share_Layout;
++   Name = "zoom.xml";
++   Styles = (PACKED);
++End
++
++Directory gid_Dir_Share_Layout_De
++    ParentID = gid_Dir_Share_Layout;
++    DosName = "de";
++End
++
++File gid_File_Xml_Wordcount_De
++   TXT_FILE_BODY;
++   Dir = gid_Dir_Share_Layout_De;
++   Name = "de/wordcount.xml";
++   Styles = (PACKED);
++End
++
++File gid_File_Xml_Zoom_De
++   TXT_FILE_BODY;
++   Dir = gid_Dir_Share_Layout_De;
++   Name = "de/zoom.xml";
++   Styles = (PACKED);
++End
++
++Directory gid_Dir_Share_Layout_Nl
++    ParentID = gid_Dir_Share_Layout;
++    DosName = "nl";
++End
++
++File gid_File_Xml_Wordcount_Nl
++   TXT_FILE_BODY;
++   Dir = gid_Dir_Share_Layout_Nl;
++   Name = "nl/wordcount.xml";
++   Styles = (PACKED);
++End
++
++File gid_File_Xml_Zoom_Nl
++   TXT_FILE_BODY;
++   Dir = gid_Dir_Share_Layout_Nl;
++   Name = "nl/zoom.xml";
++   Styles = (PACKED);
++End
++
++//  Do we need this?
++//  Must MODULE_OPTIONAL_LAYOUT be registered somewhere?
++//
++// Module gid_Module_Layout
++//    MOD_NAME_DESC (MODULE_OPTIONAL_LAYOUT);
++//    ParentID = gid_Module_Optional;
++//    Files = (gid_File_Lib_Layout,gid_File_Xml_Wordcount,gid_File_Xml_Zoom);
++//    Minimal = NO;
++//    Default = YES;
++//    Styles = ();
++// End
+diff --git a/scp2/source/layout/makefile.mk b/scp2/source/layout/makefile.mk
+new file mode 100644
+index 0000000..53c2ba3
+--- /dev/null
++++ scp2/source/layout/makefile.mk
+@@ -0,0 +1,58 @@
++#*************************************************************************
++#
++#   OpenOffice.org - a multi-platform office productivity suite
++#
++#   $RCSfile: makefile.mk,v $
++#
++#   $Revision: 1.5 $
++#
++#   last change: $Author: ihi $ $Date: 2006/08/04 13:34:40 $
++#
++#   The Contents of this file are made available subject to
++#   the terms of GNU Lesser General Public License Version 2.1.
++#
++#
++#     GNU Lesser General Public License Version 2.1
++#     =============================================
++#     Copyright 2005 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
++#
++#*************************************************************************
++
++PRJ=..$/..
++
++PRJPCH=
++
++PRJNAME=scp2
++TARGET=layout
++TARGETTYPE=CUI
++
++# --- Settings -----------------------------------------------------
++
++.INCLUDE :	settings.mk
++
++SCP_PRODUCT_TYPE=osl
++
++PARFILES=
++
++.IF "$(ENABLE_LAYOUT)" == "TRUE"
++PARFILES+= layout.par
++.ENDIF # ENABLE_LAYOUT == TRUE
++
++# --- File ---------------------------------------------------------
++
++.INCLUDE :  target.mk
+diff --git a/scp2/util/makefile.mk b/scp2/util/makefile.mk
+index d3a9e9a..1fcb482 100644
+--- scp2/util/makefile.mk
++++ scp2/util/makefile.mk
+@@ -178,6 +178,10 @@ SCP1FILES += \
+ SCP1FILES += cairocanvas.par
+ .ENDIF
+ 
++.IF "$(ENABLE_LAYOUT)" == "TRUE"
++SCP1FILES += layout.par
++.ENDIF # ENABLE_LAYOUT == TRUE
++
+ .IF "$(BUILD_SPECIAL)"!=""
+ SCP1FILES += \
+              module_onlineupdate.par   \
+@@ -314,6 +318,10 @@ SCP2FILES += \
+ SCP2FILES += \
+              vclcanvas.par
+ 
++.IF "$(ENABLE_LAYOUT)" == "TRUE"
++SCP2FILES += layout.par
++.ENDIF # ENABLE_LAYOUT == TRUE
++
+ .IF "$(BUILD_SPECIAL)"!=""
+ SCP2FILES += \
+              module_onlineupdate.par   \

Added: trunk/patches/dev300/mono-build.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/mono-build.diff	Fri Feb  8 17:00:27 2008
@@ -0,0 +1,220 @@
+Index: config_office/configure.in
+===================================================================
+--- config_office/configure.in.orig	2006-01-08 20:48:38.000000000 +0100
++++ config_office/configure.in	2006-01-08 20:48:45.000000000 +0100
+@@ -33,6 +33,9 @@ AC_ARG_WITH(gpc,
+ [  --without-gpc           Use the internal polygon clipping code instead of
+                           the external GPC polygon clipping library.
+ ],,if test ! -e ../external/gpc/gpc.c && test ! -e ../external/gpc/gpc.h; then without_gpc=yes; fi)
++AC_ARG_ENABLE(mono,
++[  --enable-mono          Enables the compilation of the Mono bindings
++],,)
+ AC_ARG_ENABLE(ldap,
+ [  --disable-ldap       Disables the use of LDAP backend via Netscape/Mozilla or
+                           OpenLDAP LDAP SDK
+@@ -1357,6 +1360,8 @@ if test "$COMEX" = "8" -o "$COMEX" = "10
+ 	CSC_PATH=`cygpath -d "$CSC_PATH"`
+ 	CSC_PATH=`cygpath -u "$CSC_PATH"`
+ 	AC_PATH_PROG(CSC_PATH, csc.exe)
++	CSC="$CSC_PATH/csc.exe"
++	AL="$CSC_PATH/al.exe"
+ 
+     dnl Check nmake.exe for MS VC Toolkit
+     if test -n "$ENABLE_VCTK"; then
+@@ -1407,9 +1412,61 @@ if test "$COMEX" = "8" -o "$COMEX" = "10
+ 	FRAME_HOME=`cygpath -u "$FRAME_HOME"`
+ fi
+ AC_SUBST(MIDL_PATH)
+-AC_SUBST(CSC_PATH)
+ AC_SUBST(FRAME_HOME)
+ 
++if test "$_os" = "Linux"; then
++	AC_MSG_CHECKING([whether to enable Mono bindings])
++	CSC_PATH=
++	CSC=
++	ENABLE_MONO=NO
++	if test "$enable_mono" != "no" ; then
++		AC_MSG_RESULT([yes])
++		if test "z$with_csc_path" != "z"; then
++	        	if test -x "$with_csc_path/mcs"; then
++	                	CSC_PATH="$with_csc_path"
++		       	fi
++	        	if test -x "$with_csc_path/bin/mcs"; then
++	                	CSC_PATH="$with_csc_path/bin"
++	        	fi
++		fi
++        	if test "z$CSC_PATH" = "z"; then
++			AC_PATH_PROG(MCS, mcs)
++			test -z "$MCS" || CSC_PATH=`dirname $MCS`
++        	fi
++                AL="$CSC_PATH/al"
++		MCS="$CSC_PATH/mcs"
++		if test -x "$MCS" -a -x "$AL"; then
++			MCS_VERSION=`$MCS --version | cut -d" " -f5`
++			if test "`echo $MCS_VERSION | cut -d"." -f1`" -gt "1" || \
++			   test "`echo $MCS_VERSION | cut -d"." -f1`" = "1" -a \
++		    		"`echo $MCS_VERSION | cut -d"." -f2`" -ge "2" || \
++			   test "`echo $MCS_VERSION | cut -d"." -f1`" = "1" -a \
++			        "`echo $MCS_VERSION | cut -d"." -f2`" = "1" -a \
++		                "`echo $MCS_VERSION | cut -d"." -f3`" -ge "8"; then
++				ENABLE_MONO=YES
++				CSC=$MCS
++			else
++				if test -n "$enable_mono" ; then
++					AC_MSG_ERROR([no, mcs >= 1.1.8 is needed.])
++				fi
++			fi
++		else
++			if test -n "$enable_mono"; then
++				AC_MSG_ERROR([mcs or al not found. Make sure they're in the path or use --with-csc-path])
++			fi
++        	fi
++		PKG_CHECK_MODULES(MONO, mono >= 1.1.8)
++	else
++		AC_MSG_RESULT([no])
++	fi
++fi
++AC_SUBST(CSC_PATH)
++AC_SUBST(CSC)
++AC_SUBST(AL)
++AC_SUBST(ENABLE_MONO)
++AC_SUBST(MONO_CFLAGS)
++AC_SUBST(MONO_LIBS)
++
+ dnl ===================================================================
+ dnl Check if stdc headers are available excluding windows.
+ dnl ===================================================================
+Index: cli_ure/util/target.pmk
+===================================================================
+--- cli_ure/util/target.pmk.orig	2006-01-08 20:48:38.000000000 +0100
++++ cli_ure/util/target.pmk	2006-01-08 20:48:40.000000000 +0100
+@@ -42,7 +42,7 @@ CSCFLAGS = -warnaserror+ -incremental- -
+ .IF "$(product)" == ""
+ CSCFLAGS += -checked+ -define:DEBUG -define:TRACE
+ .ELSE
+-CSCFLAGS += -o
++CSCFLAGS += -optimize
+ .ENDIF
+ 
+ .ELSE # debug
+Index: cli_ure/util/makefile.pmk
+===================================================================
+--- cli_ure/util/makefile.pmk.orig	2006-01-08 20:48:38.000000000 +0100
++++ cli_ure/util/makefile.pmk	2006-01-08 20:48:40.000000000 +0100
+@@ -35,7 +35,7 @@
+ 
+ # no translation here anyway
+ .IF "$(L10N_framework)"==""
+-.IF "$(COM)" == "MSC"
++.IF "$(COM)$(COMEX)" == "MSC11" || "$(COM)$(COMEX)"== "MSC10" || "$(ENABLE_MONO)" == "YES"
+ BUILD_FOR_CLI = "true"
+ CFLAGSENABLESYMBOLS:=-Z7
+ .ENDIF
+Index: config_office/set_soenv.in
+===================================================================
+--- config_office/set_soenv.in.orig	2006-01-08 20:48:38.000000000 +0100
++++ config_office/set_soenv.in	2006-01-08 20:48:53.000000000 +0100
+@@ -1600,6 +1600,12 @@ ToFile( "MKDEPENDSOLVER",    "TRUE",    
+ # (c = comment, e = environment variable, a = alias )
+ ToFile( "Platform dependent constant values.", $empty, "c" );
+ ToFile( "SOLAR_JAVA",        $SOLAR_JAVA,        "e" );
++ToFile( "ENABLE_MONO",       "@ENABLE_MONO@",    "e" );
++ToFile( "CSC",               "@CSC@",            "e" );
++ToFile( "AL",                "@AL@",             "e" );
++ToFile( "CSC_PATH",          "@CSC_PATH@",       "e" );
++ToFile( "MONO_CFLAGS",       "@MONO_CFLAGS@",    "e" );
++ToFile( "MONO_LIBS",         "@MONO_LIBS@",      "e" );
+ ToFile( "BIG_SVX",           $BIG_SVX,           "e" );
+ ToFile( "COM",               $COM,               "e" );
+ ToFile( "COMPATH",           $COMPATH,           "e" );
+Index: cli_ure/prj/build.lst
+===================================================================
+--- cli_ure/prj/build.lst       9 May 2007 13:29:37 -0000       1.11
++++ cli_ure/prj/build.lst       4 Jul 2007 16:37:10 -0000
+@@ -2,12 +2,13 @@
+ ure    cli_ure                                         usr1    -       all     ure_mkout NULL
+ ure    cli_ure\inc                                     nmake   -   all   ure_inc NULL
+ ure    cli_ure\version                         nmake   -   all   ure_source_version ure_inc NULL
+-ure    cli_ure\source                          nmake   -   w,vc7   ure_source_source ure_inc NULL
+-ure    cli_ure\source\basetypes        nmake   -       w,vc7   ure_source_basetypes ure_source_version ure_source_source.w ure_inc NULL
+-ure    cli_ure\source\climaker         nmake   -       w,vc7   ure_source_climaker ure_source_basetypes.w ure_inc NULL
+-ure    cli_ure\unotypes                        nmake   -       w,vc7   ure_unotypes ure_source_version ure_source_source.w ure_source_climaker.w ure_inc NULL
+-ure    cli_ure\source\ure                      nmake   -       w,vc7   ure_source_ure ure_source_version ure_source_source.w ure_unotypes.w ure_inc NULL
+-ure    cli_ure\source\uno_bridge       nmake   -       w,vc7   ure_source_uno_bridge ure_unotypes.w ure_source_ure.w ure_inc NULL
+-ure	cli_ure\source\mono_bridge      nmake   -       u       ure_source_mono_bridge ure_unotypes ure_source_ure ure_inc NULL
+-ure    cli_ure\source\native           nmake   -       w,vc7   ure_source_native ure_source_version ure_source_source.w ure_source_ure.w ure_unotypes.w ure_source_uno_bridge.w ure_inc NULL
+-#ure   cli_ure\util                    nmake   -       w,vc7   ure_util ure_source_ure.w ure_source_native.w NULL
++ure    cli_ure\source                          nmake   -   all   ure_source_source ure_inc NULL
++ure    cli_ure\source\basetypes        nmake   -       all     ure_source_basetypes ure_source_version ure_source_source ure_inc NULL
++ure    cli_ure\source\bootstrap        nmake   -       u       ure_source_bootstrap ure_source_source ure_source_basetypes ure_inc NULL
++ure    cli_ure\source\climaker         nmake   -       all     ure_source_climaker ure_source_basetypes ure_inc NULL
++ure    cli_ure\unotypes                        nmake   -       all     ure_unotypes ure_source_version ure_source_source ure_source_climaker ure_source_basetypes ure_inc NULL
++ure    cli_ure\source\ure                      nmake   -       all     ure_source_ure ure_source_version ure_source_source ure_unotypes ure_inc NULL
++ure    cli_ure\source\uno_bridge       nmake   -       w,vc7   ure_source_uno_bridge ure_unotypes ure_source_ure ure_inc NULL
++ure	cli_ure\source\mono_bridge      nmake   -       u       ure_source_mono_bridge ure_unotypes ure_source_ure ure_inc NULL
++ure    cli_ure\source\native           nmake   -       w,vc7   ure_source_native ure_source_version ure_source_source ure_source_ure ure_unotypes ure_source_uno_bridge ure_inc NULL
++#ure   cli_ure\util                    nmake   -       w,vc7   ure_util ure_source_ure ure_source_native NULL
+Index: cli_ure/prj/d.lst
+===================================================================
+--- cli_ure/prj/d.lst.orig	2006-01-08 20:48:38.000000000 +0100
++++ cli_ure/prj/d.lst	2006-01-08 20:48:40.000000000 +0100
+@@ -3,6 +3,7 @@
+ ..\%__SRC%\bin\climaker.exe.config %_DEST%\bin%_EXT%\climaker.exe.config
+ 
+ ..\%__SRC%\bin\cli_*.dll %_DEST%\bin%_EXT%\cli_*.dll
++..\%__SRC%\lib\libcli*.so %_DEST%\lib%_EXT%\libcli*.so
+ ..\%__SRC%\bin\cli_*.pdb %_DEST%\bin%_EXT%\cli_*.pdb
+ ..\%__SRC%\bin\cli_*.config %_DEST%\bin%_EXT%\cli_*.config
+ ..\%__SRC%\bin\policy*.dll %_DEST%\bin%_EXT%\policy*.dll
+Index: cli_ure/source/ure/makefile.mk
+===================================================================
+--- cli_ure/source/ure/makefile.mk.orig	2006-01-08 20:42:24.000000000 +0100
++++ cli_ure/source/ure/makefile.mk	2006-01-08 20:51:15.000000000 +0100
+@@ -50,6 +50,7 @@ ECHOQUOTE='
+ .ELSE
+ ECHOQUOTE=
+ .ENDIF
++# ' emacs is a fool
+ 
+ .IF "$(BUILD_FOR_CLI)" != ""
+ 
+@@ -101,7 +101,7 @@ $(BIN)$/cli_ure.dll : $(CSFILES) $(BIN)$
+ 
+ #do not forget to deliver cli_ure.config. It is NOT embedded in the policy file.
+ $(POLICY_ASSEMBLY_FILE) : $(BIN)$/cli_ure.config
+-	$(WRAPCMD) AL.exe -out:$@ \
++	$(WRAPCMD) $(AL) -out:$@ \
+ 			-version:$(CLI_URE_POLICY_VERSION) \
+ 			-keyfile:$(BIN)$/cliuno.snk \
+ 			-link:$(BIN)$/cli_ure.config
+--- cli_ure/source/basetypes/makefile.mk	2006-03-09 11:51:45.000000000 +0100
++++ cli_ure/source/basetypes/makefile.mk	2006-03-21 17:21:48.000000000 +0100
+@@ -103,7 +103,7 @@ $(BIN)$/cli_basetypes.dll : $(CSFILES) $
+ 
+ #do not forget to deliver cli_types.config. It is NOT embedded in the policy file.
+ $(POLICY_ASSEMBLY_FILE) : $(BIN)$/cli_basetypes.config
+-	$(WRAPCMD) AL.exe -out:$@ \
++	$(WRAPCMD) $(AL) -out:$@ \
+ 			-version:$(CLI_BASETYPES_POLICY_VERSION) \
+ 			-keyfile:$(BIN)$/cliuno.snk \
+ 			-link:$(BIN)$/cli_basetypes.config
+--- cli_ure/source/native/makefile.mk	2006-03-09 11:53:11.000000000 +0100
++++ cli_ure/source/native/makefile.mk	2006-03-21 17:22:15.000000000 +0100
+@@ -160,15 +160,15 @@ $(BIN)$/cli_ure.dll : $(CSFILES) $(BIN)$
+ .IF "$(CCNUMVER)" >= "001399999999"		
+ #.NET 2 and higher	
+ $(POLICY_ASSEMBLY_FILE) : $(BIN)$/cli_cppuhelper.config
+-	$(WRAPCMD) AL.exe -out:$@ \
++	$(WRAPCMD) $(AL) -out:$@ \
+ 			-version:$(CLI_CPPUHELPER_POLICY_VERSION) \
+ 			-keyfile:$(BIN)$/cliuno.snk \
+ 			-link:$(BIN)$/cli_cppuhelper.config \
+ 			-platform:x86
+ .ELSE
+ #.NET 1.1: platform flag not needed
+ $(POLICY_ASSEMBLY_FILE) : $(BIN)$/cli_cppuhelper.config
+-	$(WRAPCMD) AL.exe -out:$@ \
++	$(WRAPCMD) $(AL) -out:$@ \
+ 			-version:$(CLI_CPPUHELPER_POLICY_VERSION) \
+ 			-keyfile:$(BIN)$/cliuno.snk \
+ 			-link:$(BIN)$/cli_cppuhelper.config		

Added: trunk/patches/dev300/novell-win32-agfa-monotype-fonts.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/novell-win32-agfa-monotype-fonts.diff	Fri Feb  8 17:00:27 2008
@@ -0,0 +1,168 @@
+--- config_office/configure.in.OLD	2005-11-21 02:16:33.437250000 +0200
++++ config_office/configure.in	2005-11-23 05:12:58.296875000 +0200
+@@ -75,6 +75,11 @@
+                           distributions where AFM files or TrueType Fonts
+                           are known to be available.
+ ],,)
++AC_ARG_WITH(agfa-monotype-fonts,
++[  --without-agfa-monotype-fonts Remove proprietary Agfa Monotype fonts
++                                (even if present) in the openoffice.org installation
++                                set.
++],,with_agfa_monotype_fonts="yes")
+ AC_ARG_ENABLE(epm,
+ [  --disable-epm           OO.o includes self-packaging code, that requires
+                           epm, however epm is useless for large scale
+@@ -4317,6 +4322,18 @@
+ fi
+ AC_SUBST(WITH_FONTS)
+ 
++AC_MSG_CHECKING([whether to include Agfa Monotype fonts])
++if test "$with_agfa_monotype_fonts" != "no" -a -e ../agfa_monotype_fonts/download/agfa-monotype-fonts.tar.gz; then
++  AC_MSG_RESULT([yes])
++  WITH_AGFA_MONOTYPE_FONTS=YES
++  SCPDEFS="$SCPDEFS -DWITH_AGFA_MONOTYPE_FONTS"
++  BUILD_TYPE="$BUILD_TYPE AGFA_MONOTYPE_FONTS"
++else
++  AC_MSG_RESULT([no])
++  WITH_AGFA_MONOTYPE_FONTS=NO
++fi
++AC_SUBST(WITH_AGFA_MONOTYPE_FONTS)
++
+ dnl ===================================================================
+ dnl Test whether to include ppds
+ dnl ===================================================================
+--- agfa_monotype_fonts/makefile.mk.OLD	1970-01-01 02:00:00.000000000 +0200
++++ agfa_monotype_fonts/makefile.mk	2005-11-23 05:07:41.015625000 +0200
+@@ -0,0 +1,78 @@
++#*************************************************************************
++#
++#   OpenOffice.org - a multi-platform office productivity suite
++#
++#   $RCSfile$
++#
++#   $Revision: 11451 $
++#
++#   last change: $Author: tml $ $Date: 2008-01-30 00:38:46 +0100 (wo, 30 jan 2008) $
++#
++#   The Contents of this file are made available subject to
++#   the terms of GNU Lesser General Public License Version 2.1.
++#
++#
++#     GNU Lesser General Public License Version 2.1
++#     =============================================
++#     Copyright 2005 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
++#
++#*************************************************************************
++
++PRJ=.
++
++PRJNAME=agfa_monotype_fonts
++TARGET=agfa_monotype_fonts
++
++# --- Settings -----------------------------------------------------
++
++.INCLUDE :	settings.mk
++
++# --- Files --------------------------------------------------------
++
++TARFILE_NAME=agfa-monotype-fonts
++TARFILE_ROOTDIR=agfa-monotype-fonts
++
++PATCH_FILE_NAME=
++
++
++CONFIGURE_DIR=
++CONFIGURE_ACTION=
++
++BUILD_DIR=
++BUILD_ACTION=
++BUILD_FLAGS=
++
++# --- Targets ------------------------------------------------------
++
++all: \
++	$(MISC)$/remove_build.flag \
++	ALLTAR
++
++.INCLUDE : set_ext.mk
++.INCLUDE : target.mk
++
++.IF "$(WITH_AGFA_MONOTYPE_FONTS)"!="NO"
++.INCLUDE : tg_ext.mk
++.ENDIF
++
++# Since you never know what will be in a patch (for example, it may already
++# patch at configure level), we remove the entire package directory if a patch
++# is newer.
++$(MISC)$/remove_build.flag : $(PATCH_FILE_NAME)
++	$(REMOVE_PACKAGE_COMMAND)
++	+$(TOUCH) $(MISC)$/remove_build.flag
+--- agfa_monotype_fonts/prj/d.lst.OLD	1970-01-01 02:00:00.000000000 +0200
++++ agfa_monotype_fonts/prj/d.lst	2005-11-23 04:52:41.531250000 +0200
+@@ -0,0 +1,2 @@
++mkdir: %_DEST%\pck%_EXT%
++..\%__SRC%\misc\build\agfa-monotype-fonts\*.ttf %_DEST%\pck%_EXT%\*.ttf
+--- agfa_monotype_fonts/prj/build.lst.OLD	1970-01-01 02:00:00.000000000 +0200
++++ agfa_monotype_fonts/prj/build.lst	2005-11-22 12:05:42.843750000 +0200
+@@ -0,0 +1,3 @@
++bs	agfa_monotype_fonts : solenv NULL
++bs	agfa_monotype_fonts		usr1	-	all	amt_mkout NULL
++bs	agfa_monotype_fonts		nmake	-	all	amt_fonts NULL
+--- scp2/source/ooo/file_font_ooo.scp.OLD	2005-09-09 04:37:10.000000000 +0300
++++ scp2/source/ooo/file_font_ooo.scp	2005-11-23 05:08:35.375000000 +0200
+@@ -151,3 +151,31 @@
+ STD_FONT_FILE( gid_File_Fnt_LiberationSerif_BoldItalic, LiberationSerif-BoldItalic.ttf, Liberation Serif Bold Italic) 
+ #endif
+ #endif
++
++#ifdef WNT
++#ifdef WITH_AGFA_MONOTYPE_FONTS
++STD_FONTWIN_FILE( gid_File_Fnt_albw, albw.ttf, AlbanyAMT)
++STD_FONTWIN_FILE( gid_File_Fnt_albwb, albwb.ttf, AlbanyAMT Bold)
++STD_FONTWIN_FILE( gid_File_Fnt_albwbi, albwbi.ttf, AlbanyAMT Bold Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_albwi, albwi.ttf, AlbanyAMT Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_andybol, andybol_.ttf, AndyMT Bold)
++STD_FONTWIN_FILE( gid_File_Fnt_andyreg, andyreg_.ttf, AndyMT)
++STD_FONTWIN_FILE( gid_File_Fnt_ans, ans_____.ttf, Andale Sans)
++STD_FONTWIN_FILE( gid_File_Fnt_ansb, ansb____.ttf, Andale Sans Bold)
++STD_FONTWIN_FILE( gid_File_Fnt_ansbi, ansbi___.ttf, Andale Sans Bold Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_ansi, ansi____.ttf, Andale Sans Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_bl, bl______.ttf, BellMT)
++STD_FONTWIN_FILE( gid_File_Fnt_blb, blb_____.ttf, BellMT Bold)
++STD_FONTWIN_FILE( gid_File_Fnt_blbi, blbi____.ttf, BellMT Bold Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_bli, bli_____.ttf, BellMT Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_cumbwb, cumbwb__.ttf, CumberlandAMT Bold)
++STD_FONTWIN_FILE( gid_File_Fnt_cumbwbi, cumbwbi_.ttf, CumberlandAMT Bold Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_cumbwi, cumbwi__.ttf, CumberlandAMT Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_cumbwr, cumbwr__.ttf, CumberlandAMT)
++STD_FONTWIN_FILE( gid_File_Fnt_mtsorts, mtsorts_.ttf, Monotype Sorts)
++STD_FONTWIN_FILE( gid_File_Fnt_thowb, thowb___.ttf, ThorndaleAMT Bold)
++STD_FONTWIN_FILE( gid_File_Fnt_thowbi, thowbi__.ttf, ThorndaleAMT Bold Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_thowi, thowi___.ttf, ThorndaleAMT Italic)
++STD_FONTWIN_FILE( gid_File_Fnt_thowr, thowr___.ttf, ThorndaleAMT)
++#endif
++#endif
+--- postprocess/prj/build.lst	2005-11-23 05:56:34.703125000 +0200
++++ postprocess/prj/build.lst	2005-11-23 05:56:48.812500000 +0200
+@@ -1,4 +1,4 @@
+-po	postprocess	::	accessibility automation basctl bean fondu BINFILTER:binfilter chart2 configmgr CRASHREP:crashrep dbaccess desktop dtrans embeddedobj embedserv EPM:epm eventattacher extensions extras fileaccess filter forms fpicker helpcontent2 hwpfilter io JAVAINSTALLER2:javainstaller2 lingucomponent MATHMLDTD:MathMLDTD MSFONTEXTRACT:msfontextract ODK:odk officecfg package padmin psprint_config remotebridges sc scaddins scp2 scripting sd ODK:sdk_oo setup_native slideshow starmath sw sysui testshl2 testtools ucb UnoControls unoxml ure wizards xmerge xmlsecurity BITSTREAM_VERA_FONTS:bitstream_vera_fonts DICTIONARIES:dictionaries OOo:pyuno OOo:readlicense_oo SO:top unodevtools JFREEREPORT:jfreereport REPORTDESIGN:reportdesign SDEXT:sdext writerfilter oox NULL
++po	postprocess	::	accessibility automation basctl bean fondu BINFILTER:binfilter chart2 configmgr CRASHREP:crashrep dbaccess desktop dtrans embeddedobj embedserv EPM:epm eventattacher extensions extras fileaccess filter forms fpicker helpcontent2 hwpfilter io JAVAINSTALLER2:javainstaller2 lingucomponent MATHMLDTD:MathMLDTD MSFONTEXTRACT:msfontextract ODK:odk officecfg package padmin psprint_config remotebridges sc scaddins scp2 scripting sd ODK:sdk_oo setup_native slideshow starmath sw sysui testshl2 testtools ucb UnoControls unoxml ure wizards xmerge xmlsecurity BITSTREAM_VERA_FONTS:bitstream_vera_fonts AGFA_MONOTYPE_FONTS:agfa_monotype_fonts DICTIONARIES:dictionaries OOo:pyuno OOo:readlicense_oo SO:top unodevtools JFREEREPORT:jfreereport REPORTDESIGN:reportdesign SDEXT:sdext writerfilter oox NULL
+ po	postprocess			    	usr1	-	all	po_mkout NULL
+ po	postprocess\checkxml		nmake	-	all	po_checkxml NULL
+ po	postprocess\checkdeliver	nmake	-	all	po_checkdlv NULL
+

Added: trunk/patches/dev300/split-binfilter-scp2.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/split-binfilter-scp2.diff	Fri Feb  8 17:00:27 2008
@@ -0,0 +1,720 @@
+--- scp2/prj/build.lst.old	2006-12-12 17:17:06.000000000 +0100
++++ scp2/prj/build.lst	2007-07-19 13:12:54.000000000 +0200
+@@ -3,6 +3,7 @@
+ cp    scp2\macros                 nmake    -    all    cp_langmacros NULL
+ cp    scp2\source\templates       nmake    -    all    cp_langtemplates NULL
+ cp    scp2\source\activex         nmake    -    all    cp_activex cp_langmacros cp_langtemplates NULL
++cp    scp2\source\binfilter       nmake    -    all    cp_binfilter cp_langmacros NULL
+ cp    scp2\source\calc            nmake    -    all    cp_calc cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\canvas          nmake    -    all    cp_canvas cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\crashrep        nmake    -    all    cp_crashrep cp_langmacros cp_langtemplates NULL
+@@ -27,4 +28,4 @@
+ cp    scp2\source\ure             nmake    -    all    cp_ure cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\onlineupdate    nmake    -    all    cp_update cp_langmacros cp_langtemplates NULL
+ cp    scp2\source\ooo_wo_ure      nmake    -    all    cp_ooo_wo_ure cp_langmacros cp_langtemplates NULL
+-cp    scp2\util                   nmake    -    all    cp_util cp_activex cp_calc cp_canvas cp_crashrep cp_draw cp_gnome cp_graphicfilter cp_impress cp_javafilter cp_kde cp_layout cp_lingu cp_math cp_ooo cp_python cp_quickstart cp_testtool cp_writer cp_base cp_xsltfilter cp_winexplorerext cp_ure cp_sdkoo cp_update cp_ooo_wo_ure NULL
++cp    scp2\util                   nmake    -    all    cp_util cp_activex cp_binfilter cp_calc cp_canvas cp_crashrep cp_draw cp_gnome cp_graphicfilter cp_impress cp_javafilter cp_kde cp_layout cp_lingu cp_math cp_ooo cp_python cp_quickstart cp_testtool cp_writer cp_base cp_xsltfilter cp_winexplorerext cp_ure cp_sdkoo cp_update cp_ooo_wo_ure NULL
+--- scp2/source/binfilter/file_binfilter.scp.old	2007-07-19 13:12:54.000000000 +0200
++++ scp2/source/binfilter/file_binfilter.scp	2007-07-19 13:12:54.000000000 +0200
+@@ -0,0 +1,193 @@
++/*************************************************************************
++ *
++ *  OpenOffice.org - a multi-platform office productivity suite
++ *
++ *  $RCSfile$
++ *
++ *  $Revision$
++ *
++ *  last change: $Author$ $Date$
++ *
++ *  The Contents of this file are made available subject to
++ *  the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ *    GNU Lesser General Public License Version 2.1
++ *    =============================================
++ *    Copyright 2005 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
++ *
++ ************************************************************************/
++
++#include "macros.inc"
++
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Chart_Bf_Types_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Types;
++    Name = "/registry/spool/fcfg_chart_bf_types.xcu";
++End
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Chart_Bf_Filters_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Filter;
++    Name = "/registry/spool/fcfg_chart_bf_filters.xcu";
++End
++
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Calc_Bf_Types_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Types;
++    Name = "/registry/spool/fcfg_calc_bf_types.xcu";
++End
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Calc_Bf_Filters_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Filter;
++    Name = "/registry/spool/fcfg_calc_bf_filters.xcu";
++End
++
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Draw_Bf_Types_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Types;
++    Name = "/registry/spool/fcfg_draw_bf_types.xcu";
++End
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Draw_Bf_Filters_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Filter;
++    Name = "/registry/spool/fcfg_draw_bf_filters.xcu";
++End
++
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Global_Bf_Types_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Types;
++    Name = "/registry/spool/fcfg_global_bf_types.xcu";
++End
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Global_Bf_Filters_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Filter;
++    Name = "/registry/spool/fcfg_global_bf_filters.xcu";
++End
++
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Impress_Bf_Types_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Types;
++    Name = "/registry/spool/fcfg_impress_bf_types.xcu";
++End
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Impress_Bf_Filters_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Filter;
++    Name = "/registry/spool/fcfg_impress_bf_filters.xcu";
++End
++
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Math_Bf_Types_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Types;
++    Name = "/registry/spool/fcfg_math_bf_types.xcu";
++End
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Math_Bf_Filters_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Filter;
++    Name = "/registry/spool/fcfg_math_bf_filters.xcu";
++End
++
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Web_Bf_Types_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Types;
++    Name = "/registry/spool/fcfg_web_bf_types.xcu";
++End
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Web_Bf_Filters_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Filter;
++    Name = "/registry/spool/fcfg_web_bf_filters.xcu";
++End
++
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Writer_Bf_Types_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Types;
++    Name = "/registry/spool/fcfg_writer_bf_types.xcu";
++End
++
++File gid_File_Registry_Spool_Oo_TypeDetection_Writer_Bf_Filters_Xcu
++    TXT_FILE_BODY;
++    Styles = (PACKED, PATCH);
++    Dir = gid_Dir_Share_Registry_Modules_Oo_TypeDetection_Filter;
++    Name = "/registry/spool/fcfg_writer_bf_filters.xcu";
++End
++
++
++File gid_Starregistry_Legacy_Binfilters_Rdb
++    TXT_FILE_BODY;
++    Name = "legacy_binfilters.rdb";
++    Dir = gid_Dir_Program;
++    Styles = (PACKED, STARREGISTRY, PATCH);
++End
++
++
++
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Go, bf_go)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sch, bf_sch)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Xo, bf_xo)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Svx, bf_svx)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Frm, bf_frm)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Ofa, bf_ofa)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sb, bf_sb)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sc, bf_sc)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sd, bf_sd)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sm, bf_sm)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sw, bf_sw)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Wrapper, bf_wrapper)
++STD_LIB_FILE_PATCH( gid_File_Lib_Legacy_Binfilters, legacy_binfilters)
++
++STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Bf_Migratefilter, bf_migratefilter)
++STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Bindet, bindet)
++
++STD_RES_FILE_PATCH( gid_File_Res_Bf_Sch, bf_sch )
++STD_RES_FILE_PATCH( gid_File_Res_Bf_Svx, bf_svx )
++STD_RES_FILE_PATCH( gid_File_Res_Bf_Frm, bf_frm )
++STD_RES_FILE_PATCH( gid_File_Res_Bf_Ofa, bf_ofa )
++STD_RES_FILE_PATCH( gid_File_Res_Bf_Sc, bf_sc )
++STD_RES_FILE_PATCH( gid_File_Res_Bf_Sd, bf_sd )
++STD_RES_FILE_PATCH( gid_File_Res_Bf_Sm, bf_sm)
++STD_LIB_FILE_PATCH( gid_File_Lib_Bf_So, bf_so)
++STD_RES_FILE_PATCH( gid_File_Res_Bf_Sw, bf_sw )
+--- scp2/source/binfilter/localize.sdf.old	2007-07-19 13:12:54.000000000 +0200
++++ scp2/source/binfilter/localize.sdf	2007-07-19 13:12:54.000000000 +0200
+@@ -0,0 +1,43 @@
++#
++#    ####    ###     #   #   ###   #####    #####  ####   #####  #####  
++#    #   #  #   #    ##  #  #   #    #      #      #   #    #      #    
++#    #   #  #   #    # # #  #   #    #      ###    #   #    #      #    
++#    #   #  #   #    #  ##  #   #    #      #      #   #    #      #    
++#    ####    ###     #   #   ###     #      #####  ####   #####    #    
++#
++#    DO NOT EDIT! This file will be overwritten by localisation process
++#
++#*************************************************************************
++#
++#   OpenOffice.org - a multi-platform office productivity suite
++#
++#   $RCSfile$
++#
++#   $Revision$
++#
++#   last change: $Author$ $Date$
++#
++#   The Contents of this file are made available subject to
++#   the terms of GNU Lesser General Public License Version 2.1.
++#
++#
++#     GNU Lesser General Public License Version 2.1
++#     =============================================
++#     Copyright 2005 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
++#
++#*************************************************************************
+--- scp2/source/binfilter/makefile.mk.old	2007-07-19 13:12:54.000000000 +0200
++++ scp2/source/binfilter/makefile.mk	2007-07-19 13:12:54.000000000 +0200
+@@ -0,0 +1,58 @@
++#*************************************************************************
++#
++#   OpenOffice.org - a multi-platform office productivity suite
++#
++#   $RCSfile$
++#
++#   $Revision$
++#
++#   last change: $Author$ $Date$
++#
++#   The Contents of this file are made available subject to
++#   the terms of GNU Lesser General Public License Version 2.1.
++#
++#
++#     GNU Lesser General Public License Version 2.1
++#     =============================================
++#     Copyright 2005 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
++#
++#*************************************************************************
++
++PRJ=..$/..
++
++PRJPCH=
++
++PRJNAME=scp2
++TARGET=binfilter
++TARGETTYPE=CUI
++
++# --- Settings -----------------------------------------------------
++
++.INCLUDE :  settings.mk
++
++SCP_PRODUCT_TYPE=osl
++
++PARFILES= \
++        module_binfilter.par            \
++        file_binfilter.par
++
++ULFFILES= \
++        module_binfilter.ulf
++
++# --- File ---------------------------------------------------------
++.INCLUDE :  target.mk
+--- /dev/null	2006-06-16 15:54:00.000000000 +0200
++++ scp2/source/binfilter/module_binfilter.scp	2008-01-16 21:04:35.000000000 +0100
+@@ -0,0 +1,87 @@
++/*************************************************************************
++ *
++ *  OpenOffice.org - a multi-platform office productivity suite
++ *
++ *  $RCSfile$
++ *
++ *  $Revision$
++ *
++ *  last change: $Author$ $Date$
++ *
++ *  The Contents of this file are made available subject to
++ *  the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ *    GNU Lesser General Public License Version 2.1
++ *    =============================================
++ *    Copyright 2005 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
++ *
++ ************************************************************************/
++
++#include "macros.inc"
++
++Module gid_Module_Optional_Binfilter
++    PackageInfo = "packinfo_office.txt";
++    MOD_NAME_DESC ( MODULE_OPTIONAL_BINFILTER );
++    Sortkey = "700";
++    ParentID = gid_Module_Optional;
++    Default = YES;
++    Files = (gid_File_Registry_Spool_Oo_TypeDetection_Chart_Bf_Types_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Chart_Bf_Filters_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Calc_Bf_Types_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Calc_Bf_Filters_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Draw_Bf_Types_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Draw_Bf_Filters_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Global_Bf_Types_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Global_Bf_Filters_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Impress_Bf_Types_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Impress_Bf_Filters_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Math_Bf_Types_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Math_Bf_Filters_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Web_Bf_Types_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Web_Bf_Filters_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Writer_Bf_Types_Xcu,
++    gid_File_Registry_Spool_Oo_TypeDetection_Writer_Bf_Filters_Xcu,
++    gid_Starregistry_Legacy_Binfilters_Rdb,
++    gid_File_Lib_Bf_Go,
++    gid_File_Lib_Bf_Sch,
++    gid_File_Lib_Bf_Lng,
++    gid_File_Lib_Bf_Xo,
++    gid_File_Lib_Bf_Svx,
++    gid_File_Lib_Bf_Frm,
++    gid_File_Lib_Bf_Ofa,
++    gid_File_Lib_Bf_Sb,
++    gid_File_Lib_Bf_Sc,
++    gid_File_Lib_Bf_Sd,
++    gid_File_Lib_Bf_Sm,
++    gid_File_Lib_Bf_So,
++    gid_File_Lib_Bf_Sw,
++    gid_File_Lib_Bf_Wrapper,
++    gid_File_Lib_Legacy_Binfilters,
++    gid_File_Lib_Bf_Migratefilter,
++    gid_File_Lib_Bindet,
++    gid_File_Res_Bf_Sch,
++    gid_File_Res_Bf_Svx,
++    gid_File_Res_Bf_Frm,
++    gid_File_Res_Bf_Ofa,
++    gid_File_Res_Bf_Sc,
++    gid_File_Res_Bf_Sd,
++    gid_File_Res_Bf_Sm,
++    gid_File_Res_Bf_Sw,
++    gid_File_Res_Bf_Sfx);
++End
+--- scp2/source/binfilter/module_binfilter.ulf.old	2007-07-19 13:12:54.000000000 +0200
++++ scp2/source/binfilter/module_binfilter.ulf	2007-07-19 13:12:54.000000000 +0200
+@@ -0,0 +1,40 @@
++/*************************************************************************
++ *
++ *  OpenOffice.org - a multi-platform office productivity suite
++ *
++ *  $RCSfile$
++ *
++ *  $Revision$
++ *
++ *  last change: $Author$ $Date$
++ *
++ *  The Contents of this file are made available subject to
++ *  the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ *    GNU Lesser General Public License Version 2.1
++ *    =============================================
++ *    Copyright 2005 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
++ *
++ ************************************************************************/
++
++[STR_NAME_MODULE_OPTIONAL_BINFILTER]
++en-US = "Legacy Filters"
++
++[STR_DESC_MODULE_OPTIONAL_BINFILTER]
++en-US = "Legacy filters, e.g. StarOffice 5.2 binary file formats."
+--- scp2/source/calc/file_calc.scp.old	2007-07-17 21:12:03.000000000 +0200
++++ scp2/source/calc/file_calc.scp	2007-07-19 13:12:54.000000000 +0200
+@@ -82,19 +82,6 @@ STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Scd
+ 
+ STD_LIB_FILE_PATCH( gid_File_Lib_Tfu, tfu)
+ 
+-//
+-// start binfilter #110743#
+-//
+-
+-#ifndef WITHOUT_BINFILTER
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sc, bf_sc)
+-STD_RES_FILE( gid_File_Res_Bf_Sc, bf_sc)
+-#endif
+-
+-//
+-// end binfilter #110743#
+-//
+-
+ STD_RES_FILE( gid_File_Res_Analysis, analysis)
+ 
+ STD_RES_FILE_PATCH( gid_File_Res_Date, date)
+--- scp2/source/calc/makefile.mk.old	2007-07-17 21:12:03.000000000 +0200
++++ scp2/source/calc/makefile.mk	2007-07-19 13:12:54.000000000 +0200
+@@ -45,10 +45,6 @@ TARGETTYPE=CUI
+ 
+ .INCLUDE :	settings.mk
+ 
+-.IF "$(WITH_BINFILTER)" == "NO"
+-SCPDEFS+=-DWITHOUT_BINFILTER
+-.ENDIF
+-
+ .IF "$(SYSTEM_LPSOLVE)" == "YES"
+ SCPDEFS+=-DSYSTEM_LPSOLVE
+ .ENDIF
+--- scp2/source/calc/module_calc.scp.old	2008-01-15 20:44:19.000000000 +0100
++++ scp2/source/calc/module_calc.scp	2008-01-16 20:06:26.000000000 +0100
+@@ -42,7 +42,6 @@
+     Sortkey = "200";
+ End
+ 
+-// #110743# Added gid_File_Lib_Bf_Sc and gid_File_Res_Bf_Sc for binfilter
+ Module gid_Module_Prg_Calc_Bin
+     MOD_NAME_DESC ( MODULE_PRG_CALC_BIN );
+     ParentID = gid_Module_Prg_Calc;
+@@ -52,7 +51,7 @@
+     Files = (gid_File_Lib_Calc,gid_File_Exe_Scalc,gid_File_Lib_Sc,gid_File_Lib_Scui,gid_File_Lib_Scd,gid_File_Extra_Urldesktop_Calc,gid_File_Extra_Urlnew_Calc,gid_File_Extra_Urlstart_Calc,gid_File_Extra_Urltasks_Calc,gid_File_Oo_Office_Filter_Calc_Pkg,gid_File_Share_Config_Sofficecfg_Calc_Menubar_Xml,
+     gid_File_Oo_Office_Ui_Calccommands_Xcs,gid_File_Oo_Office_Ui_Calccommands_Xcu,gid_File_Oo_Office_Ui_Calcwindowstate_Xcs,
+     gid_File_Registry_Spool_Oo_Common_Calc_Xcu,gid_File_Registry_Spool_Oo_Setup_Calc_Xcu, gid_File_Xdg_Calc, gid_File_Registry_Spool_Oo_Office_Embedding_Calc_Xcu,
+-    gid_File_Lib_Bf_Sc,gid_File_Oo_Office_Ui_Calcwindowstate_Xcu,gid_File_Registry_Spool_Oo_TypeDetection_Calc_Types_Xcu,gid_File_Registry_Spool_Oo_TypeDetection_Calc_Filters_Xcu, gid_File_Tmp_Userinstall_Calc_Inf);
++    gid_File_Oo_Office_Ui_Calcwindowstate_Xcu,gid_File_Registry_Spool_Oo_TypeDetection_Calc_Types_Xcu,gid_File_Registry_Spool_Oo_TypeDetection_Calc_Filters_Xcu, gid_File_Tmp_Userinstall_Calc_Inf);
+ End
+ 
+ // Module gid_Module_Prg_Calc_Help
+
+--- scp2/source/math/file_math.scp.old	2007-08-02 19:20:28.000000000 +0200
++++ scp2/source/math/file_math.scp	2008-01-16 20:03:03.000000000 +0100
+@@ -57,19 +57,6 @@ STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Smd
+ 
+ STD_RES_FILE_PATCH( gid_File_Res_Sm, sm )
+ 
+-//
+-// start binfilter #110743#
+-//
+-
+-#ifndef WITHOUT_BINFILTER
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sm, bf_sm)
+-STD_RES_FILE_PATCH( gid_File_Res_Bf_Sm, bf_sm)
+-#endif
+-
+-//
+-// end binfilter #110743#
+-//
+-
+ File gid_File_Registry_Spool_Oo_Office_Embedding_Math_Xcu
+     TXT_FILE_BODY;
+     Styles = (PACKED, PATCH);
+--- scp2/source/math/makefile.mk.old	2007-07-17 21:12:01.000000000 +0200
++++ scp2/source/math/makefile.mk	2007-07-19 13:12:54.000000000 +0200
+@@ -45,10 +45,6 @@ TARGETTYPE=CUI
+ 
+ .INCLUDE :	settings.mk
+ 
+-.IF "$(WITH_BINFILTER)" == "NO"
+-SCPDEFS+=-DWITHOUT_BINFILTER
+-.ENDIF
+-
+ SCP_PRODUCT_TYPE=osl
+ PARFILES= \
+         module_math.par              \
+--- scp2/source/math/module_math.scp.old	2007-07-17 21:12:01.000000000 +0200
++++ scp2/source/math/module_math.scp	2007-07-19 13:12:54.000000000 +0200
+@@ -42,7 +42,6 @@
+     Sortkey = "600";
+ End
+ 
+-// #110743# Added gid_File_Lib_Bf_Sm, gid_File_Res_Bf_Sm
+ Module gid_Module_Prg_Math_Bin
+     MOD_NAME_DESC ( MODULE_PRG_MATH_BIN );
+     ParentID = gid_Module_Prg_Math;
+@@ -51,7 +50,7 @@
+     Default = YES;
+     Files = (gid_File_Html_W3c_Ipr,gid_File_Dtd_Math,gid_File_Exe_Smath,gid_File_Lib_Sm,gid_File_Lib_Smd,gid_File_Extra_Urlmore_Math,gid_File_Extra_Urlnew_Math,gid_File_Extra_Urltasks_Math,
+     gid_File_Oo_Office_Ui_Mathcommands_Xcs,gid_File_Oo_Office_Ui_Mathcommands_Xcu,gid_File_Oo_Office_Ui_Mathwindowstate_Xcs
+-    gid_File_Lib_Bf_Sm, gid_File_Registry_Spool_Oo_Common_Math_Xcu, gid_File_Registry_Spool_Oo_Setup_Math_Xcu,
++    gid_File_Registry_Spool_Oo_Common_Math_Xcu, gid_File_Registry_Spool_Oo_Setup_Math_Xcu,
+ 	gid_File_Oo_Office_Ui_Mathwindowstate_Xcu, gid_File_Share_Xdg_Math, gid_File_Registry_Spool_Oo_Office_Embedding_Math_Xcu,
+     gid_File_Registry_Spool_Oo_TypeDetection_Math_Types_Xcu,gid_File_Registry_Spool_Oo_TypeDetection_Math_Filters_Xcu, gid_File_Tmp_Userinstall_Math_Inf);
+ End
+--- scp2/source/ooo/file_library_ooo.scp.old	2008-01-15 20:44:17.000000000 +0100
++++ scp2/source/ooo/file_library_ooo.scp	2008-01-16 19:42:08.000000000 +0100
+@@ -2013,31 +2013,6 @@ STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Oox
+ 
+ STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Sb , sb)
+ 
+-//
+-// start binfilter #110743#
+-//
+-
+-#ifndef WITHOUT_BINFILTER
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Go, bf_go)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sch, bf_sch)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Xo, bf_xo)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Svx, bf_svx)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Frm, bf_frm)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Ofa, bf_ofa)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sb, bf_sb)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_So, bf_so)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sd, bf_sd)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Sw, bf_sw)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Bf_Wrapper, bf_wrapper)
+-STD_LIB_FILE_PATCH( gid_File_Lib_Legacy_Binfilters, legacy_binfilters)
+-STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Bf_Migratefilter, bf_migratefilter)
+-STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Bindet, bindet)
+-#endif
+-
+-//
+-// end binfilter #110743#
+-//
+-
+ STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Scn, scn)
+ 
+ File gid_File_Lib_Scriptframe
+--- scp2/source/ooo/file_ooo.scp.old	2007-07-17 21:12:01.000000000 +0200
++++ scp2/source/ooo/file_ooo.scp	2007-07-19 13:12:54.000000000 +0200
+@@ -3193,15 +3193,6 @@ File gid_File_Txt_Patchfiles
+ End
+ #endif
+ 
+-#ifndef WITHOUT_BINFILTER
+-File gid_Starregistry_Legacy_Binfilters_Rdb
+-    TXT_FILE_BODY;
+-    Name = "legacy_binfilters.rdb";
+-    Dir = gid_Dir_Program;
+-    Styles = (PACKED, STARREGISTRY, PATCH);
+-End
+-#endif
+-
+ File gid_Starregistry_Services_Rdb
+     TXT_FILE_BODY;
+     Name = "services.rdb";
+--- scp2/source/ooo/file_resource_ooo.scp.old	2007-07-17 21:11:57.000000000 +0200
++++ scp2/source/ooo/file_resource_ooo.scp	2007-07-19 13:12:54.000000000 +0200
+@@ -90,23 +90,6 @@ STD_RES_FILE( gid_File_Res_San, san )
+ 
+ #endif
+ 
+-//
+-// start binfilter #110743#
+-//
+-
+-#ifndef WITHOUT_BINFILTER
+-STD_RES_FILE_PATCH( gid_File_Res_Bf_Sch, bf_sch )
+-STD_RES_FILE_PATCH( gid_File_Res_Bf_Svx, bf_svx )
+-STD_RES_FILE_PATCH( gid_File_Res_Bf_Frm, bf_frm )
+-STD_RES_FILE_PATCH( gid_File_Res_Bf_Ofa, bf_ofa )
+-STD_RES_FILE_PATCH( gid_File_Res_Bf_Sd, bf_sd )
+-STD_RES_FILE_PATCH( gid_File_Res_Bf_Sw, bf_sw )
+-#endif
+-
+-//
+-// end binfilter #110743#
+-//
+-
+ STD_RES_FILE_PATCH( gid_File_Res_Sd, sd )
+ 
+ STD_RES_FILE_PATCH( gid_File_Res_Sfx, sfx )
+--- scp2/source/ooo/makefile.mk.old	2007-07-17 21:12:03.000000000 +0200
++++ scp2/source/ooo/makefile.mk	2007-07-19 13:12:54.000000000 +0200
+@@ -143,10 +143,6 @@ SCPDEFS+=-DSYSTEM_CURL
+ SCPDEFS+=-DSYSTEM_CURL
+ .ENDIF
+ 
+-.IF "$(WITH_BINFILTER)" == "NO"
+-SCPDEFS+=-DWITHOUT_BINFILTER
+-.ENDIF
+-
+ .IF "$(SYSTEM_STDLIBS)" == "YES"
+ SCPDEFS+=-DSYSTEM_STDLIBS
+ .ENDIF
+--- scp2/source/ooo/module_hidden_ooo.scp.old	2008-01-15 20:44:16.000000000 +0100
++++ scp2/source/ooo/module_hidden_ooo.scp	2008-01-16 19:46:03.000000000 +0100
+@@ -162,7 +162,6 @@ Module gid_Module_Root_Files_3
+ 	gid_File_Jar_Xmergebridge,
+ 	gid_File_Jar_Unoloader,
+ 	gid_File_Rdb_Types,
+-	gid_Starregistry_Legacy_Binfilters_Rdb,
+ 	gid_Starregistry_Services_Rdb);
+ End
+ 
+@@ -227,7 +226,6 @@ Module gid_Module_Root_Files_4
+ 	gid_File_Lib_Lnth,
+ 	gid_File_Lib_Offacc,
+ 	gid_File_Lib_Oox,
+-	gid_File_Lib_Bindet,
+ 	gid_File_Lib_Pcr,
+ 	gid_File_Lib_Pdffilter,
+ 	gid_File_Lib_Pk,
+@@ -377,21 +375,6 @@ Module gid_Module_Root_Files_5
+ 	gid_File_Lib_Officebean,
+ 	gid_File_Lib_Openssl,
+ 	gid_File_Lib_Package2,
+-	gid_File_Lib_Bf_Sch,
+-	gid_File_Lib_Bf_Lng,
+-	gid_File_Lib_Bf_Go,
+-	gid_File_Lib_Bf_Xo,
+-	gid_File_Lib_Bf_Svx,
+-	gid_File_Lib_Bf_Frm,
+-	gid_File_Lib_Bf_Ofa,
+-	gid_File_Lib_Bf_Sd,
+-	gid_File_Lib_Bf_Sb,
+-	gid_File_Lib_Bf_So,
+-	gid_File_Lib_Bf_Sm,
+-	gid_File_Lib_Bf_Sw,
+-	gid_File_Lib_Bf_Wrapper,
+-	gid_File_Lib_Legacy_Binfilters,
+-	gid_File_Lib_Bf_Migratefilter,
+ 	gid_File_Lib_Deployment,
+ 	gid_File_Lib_DeploymentGui,
+ 	gid_File_Lib_Sal,
+--- scp2/util/makefile.mk.old	2007-07-17 21:12:01.000000000 +0200
++++ scp2/util/makefile.mk	2007-07-19 13:12:54.000000000 +0200
+@@ -92,6 +92,12 @@ SCP1FILES  = installation_ooo.par       
+              profileitem_python.par        \
+              shortcut_python.par
+ 
++.IF "$(WITH_BINFILTER)" != "NO"
++SCP1FILES +=                               \
++             module_binfilter.par         \
++             file_binfilter.par
++.ENDIF
++
+ .IF "$(SOLAR_JAVA)"!=""
+ SCP1FILES +=                               \
+              module_javafilter.par         \
+@@ -225,6 +231,12 @@ SCP2FILES  = installation_ooo.par       
+              file_python.par               \
+              profileitem_python.par
+ 
++.IF "$(WITH_BINFILTER)" != "NO"
++SCP2FILES +=                               \
++             module_binfilter.par         \
++             file_binfilter.par
++.ENDIF
++
+ .IF "$(SOLAR_JAVA)"!=""
+ SCP2FILES +=                               \
+              module_javafilter.par         \

Added: trunk/patches/dev300/text_grid_enhancement_filter.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/text_grid_enhancement_filter.diff	Fri Feb  8 17:00:27 2008
@@ -0,0 +1,222 @@
+--- sw/source/core/unocore/unomap.cxx.orig	2007-04-06 10:37:07.000000000 +0800
++++ sw/source/core/unocore/unomap.cxx	2007-04-06 10:38:21.000000000 +0800
+--- sw/source/core/unocore/unoprnms.cxx.orig	2008-01-10 13:30:36.000000000 +0100
++++ sw/source/core/unocore/unoprnms.cxx	2008-02-08 17:22:34.000000000 +0100
+@@ -771,8 +771,9 @@
+ /* 0713 UNO_NAME_TOOLTIP */ {MAP_CHAR_LEN("Tooltip")},
+ /* 0714 UNO_NAME_DIALOG_LIBRARIES*/     {MAP_CHAR_LEN("DialogLibraries")},
+ /* 0715 UNO_NAME_HEADER_ROW_COUNT*/     {MAP_CHAR_LEN("HeaderRowCount")},
+-/* 0716 UNO_NAME_INPUT */                {MAP_CHAR_LEN("Input")},
+-/* 0717 UNO_NAME_ROW_SPAN */            {MAP_CHAR_LEN("RowSpan")}
++/* 0716 UNO_NAME_INPUT */               {MAP_CHAR_LEN("Input")},
++/* 0718 UNO_NAME_GRID_SNAP_TO_CHARS*/   {MAP_CHAR_LEN("GridSnapToChars")},
++/* 0719 UNO_NAME_SQUARE_PAGE_MODE*/     {MAP_CHAR_LEN("SquarePageMode")}
+ };
+ 
+ const SwPropNameLen& SwGetPropName( USHORT nId )
+--- sw/source/filter/xml/xmlfmte.cxx.orig	2007-04-06 10:44:29.000000000 +0800
++++ sw/source/filter/xml/xmlfmte.cxx	2007-04-06 10:44:41.000000000 +0800
+@@ -308,6 +308,9 @@
+ 	sal_uInt16 nContentAutostyles = EXPORT_CONTENT | EXPORT_AUTOSTYLES;
+ 	if ( ( getExportFlags() & nContentAutostyles ) == nContentAutostyles )
+ 		GetFormExport()->exportAutoStyles();
++
++ 	//page defaults
++ 	GetPageExport()->exportDefaultStyle();
+ }
+ 
+ XMLPageExport* SwXMLExport::CreatePageExport()
+--- xmloff/inc/PageMasterImportContext.hxx.orig	2007-04-06 11:05:35.000000000 +0800
++++ xmloff/inc/PageMasterImportContext.hxx	2007-04-06 11:06:47.000000000 +0800
+@@ -60,7 +60,8 @@ public:
+ 	PageStyleContext( SvXMLImport& rImport, sal_uInt16 nPrfx,
+ 			const ::rtl::OUString& rLName,
+ 			const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > & xAttrList,
+-			SvXMLStylesContext& rStyles);
++			SvXMLStylesContext& rStyles,
++			sal_Bool bDefaultStyle=sal_False);
+ 	virtual ~PageStyleContext();
+ 
+ 	virtual SvXMLImportContext *CreateChildContext(
+@@ -71,6 +72,9 @@ public:
+ 	virtual void FillPropertySet(
+ 			const ::com::sun::star::uno::Reference<
+ 				::com::sun::star::beans::XPropertySet > & rPropSet );
++
++	//text grid enhancement
++	virtual void SetDefaults();
+ };
+ 
+ #endif
+--- xmloff/inc/xmloff/XMLPageExport.hxx.orig	2007-04-06 11:06:00.000000000 +0800
++++ xmloff/inc/xmloff/XMLPageExport.hxx	2007-04-06 11:07:00.000000000 +0800
+@@ -133,5 +133,8 @@ public:
+ 	void	collectAutoStyles( sal_Bool bUsed )		{ exportStyles( bUsed, sal_True ); }
+ 	void	exportAutoStyles();
+ 	void	exportMasterStyles( sal_Bool bUsed )	{ exportStyles( bUsed, sal_False ); }
++
++	//text grid enhancement for better CJK support
++	void exportDefaultStyle();
+ };
+ 
+
+--- xmloff/inc/xmloff/xmlstyle.hxx.orig	2007-04-06 11:06:12.000000000 +0800
++++ xmloff/inc/xmloff/xmlstyle.hxx	2007-04-06 11:07:07.000000000 +0800
+@@ -91,6 +91,7 @@ enum XMLStyleStylesElemTokens
+ 	XML_TOK_TEXT_BIBLIOGRAPHY_CONFIG,
+ 	XML_TOK_TEXT_LINENUMBERING_CONFIG,
+ 	XML_TOK_STYLE_DEFAULT_STYLE,
++	XML_TOK_STYLE_DEFAULT_PAGE_LAYOUT,	//text grid enhancement
+ 	XML_TOK_STYLE_STYLES_ELEM_END=XML_TOK_UNKNOWN
+ };
+ 
+--- xmloff/inc/xmloff/xmltoken.hxx.orig	2007-04-06 11:06:21.000000000 +0800
++++ xmloff/inc/xmloff/xmltoken.hxx	2007-04-06 11:07:30.000000000 +0800
+@@ -2079,6 +2079,12 @@ namespace xmloff { namespace token {
+         XML_LAYOUT_GRID_PRINT,
+         XML_LAYOUT_GRID_DISPLAY,
+ 
++		//text grid enhancement for better CJK support
++		XML_DEFAULT_PAGE_LAYOUT,
++		XML_LAYOUT_GRID_SQUARE_MODE,
++		XML_LAYOUT_GRID_BASE_WIDTH,
++		XML_LAYOUT_GRID_SNAP_TO_CHARS,
++
+         XML_SNAP_TO_LAYOUT_GRID,
+         XML_DONT_BALANCE_TEXT_COLUMNS,
+ 
+--- xmloff/source/core/xmltoken.cxx.orig	2007-04-06 11:07:55.000000000 +0800
++++ xmloff/source/core/xmltoken.cxx	2007-04-06 11:09:59.000000000 +0800
+@@ -2089,6 +2089,12 @@ namespace xmloff { namespace token {
+         TOKEN( "layout-grid-print",               XML_LAYOUT_GRID_PRINT ),
+         TOKEN( "layout-grid-display",             XML_LAYOUT_GRID_DISPLAY ),
+ 
++		//text grid enhancement for better CJK support
++        TOKEN( "default-page-layout",             XML_DEFAULT_PAGE_LAYOUT ),
++        TOKEN( "layout-grid-square-mode",       XML_LAYOUT_GRID_SQUARE_MODE ),
++        TOKEN( "layout-grid-base-width",          XML_LAYOUT_GRID_BASE_WIDTH ),
++        TOKEN( "layout-grid-snap-to-characters",       XML_LAYOUT_GRID_SNAP_TO_CHARS ),
++
+         TOKEN( "snap-to-layout-grid",             XML_SNAP_TO_LAYOUT_GRID ),
+ 
+         TOKEN( "dont-balance-text-columns",       XML_DONT_BALANCE_TEXT_COLUMNS ),
+--- xmloff/source/style/PageMasterImportContext.cxx.orig	2007-04-06 11:11:07.000000000 +0800
++++ xmloff/source/style/PageMasterImportContext.cxx	2007-04-19 15:21:57.000000000 +0800
+@@ -67,8 +67,14 @@
+ #include "PageMasterStyleMap.hxx"
+ #endif
+ 
++#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
++#include <com/sun/star/lang/XMultiServiceFactory.hpp>
++#endif
++
+ using namespace ::com::sun::star;
+ using namespace ::xmloff::token;
++using namespace ::com::sun::star::uno;
++using namespace ::com::sun::star::lang;
+ 
+ void PageStyleContext::SetAttribute( sal_uInt16 nPrefixKey,
+                                         const rtl::OUString& rLocalName,
+@@ -90,8 +96,9 @@ TYPEINIT1( PageStyleContext, XMLPropStyl
+ PageStyleContext::PageStyleContext( SvXMLImport& rImport,
+         sal_uInt16 nPrfx, const rtl::OUString& rLName,
+         const uno::Reference< xml::sax::XAttributeList > & xAttrList,
+-        SvXMLStylesContext& rStyles) :
+-    XMLPropStyleContext( rImport, nPrfx, rLName, xAttrList, rStyles, XML_STYLE_FAMILY_PAGE_MASTER ),
++        SvXMLStylesContext& rStyles,
++        sal_Bool bDefaultStyle) :
++    XMLPropStyleContext( rImport, nPrfx, rLName, xAttrList, rStyles, XML_STYLE_FAMILY_PAGE_MASTER, bDefaultStyle),
+     sPageUsage()
+ {
+ }
+@@ -202,3 +209,18 @@ void PageStyleContext::FillPropertySet(
+     }
+ }
+ 
++// text grid enhancement for better CJK support
++//set default page layout style
++void PageStyleContext::SetDefaults( )
++{
++	Reference < XMultiServiceFactory > xFactory ( GetImport().GetModel(), UNO_QUERY);
++	if (xFactory.is())
++	{
++		Reference < XInterface > xInt = xFactory->createInstance (
++	    rtl::OUString ( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.text.Defaults" ) ) );
++	    Reference < beans::XPropertySet > xProperties ( xInt, UNO_QUERY );
++	    if ( xProperties.is() )
++	    	FillPropertySet ( xProperties );
++	}
++}
++
+--- xmloff/source/style/PageMasterStyleMap.cxx.orig	2007-04-06 11:11:23.000000000 +0800
++++ xmloff/source/style/PageMasterStyleMap.cxx	2007-04-06 11:13:16.000000000 +0800
+@@ -122,6 +122,12 @@ const XMLPropertyMapEntry aXMLPageMaster
+     PLMAP( "GridPrint", XML_NAMESPACE_STYLE, XML_LAYOUT_GRID_PRINT, XML_TYPE_BOOL, 0 ),
+     PLMAP( "GridDisplay", XML_NAMESPACE_STYLE, XML_LAYOUT_GRID_DISPLAY, XML_TYPE_BOOL, 0 ),
+ 
++	//text grid enhancement for better CJK support
++    PLMAP( "GridBaseWidth", XML_NAMESPACE_STYLE, XML_LAYOUT_GRID_BASE_WIDTH, XML_TYPE_MEASURE, 0 ),
++    PLMAP( "GridSnapToChars", XML_NAMESPACE_STYLE, XML_LAYOUT_GRID_SNAP_TO_CHARS, XML_TYPE_BOOL, 0 ),
++  	//export as a default attribute
++    PLMAP( "SquarePageMode", XML_NAMESPACE_STYLE, XML_LAYOUT_GRID_SQUARE_MODE, XML_TYPE_BOOL|MID_FLAG_DEFAULT_ITEM_EXPORT, 0 ),
++	
+ 	PLMAP( "UserDefinedAttributes",	XML_NAMESPACE_TEXT,		XML_XMLNS,						XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
+ 
+ // footnote
+--- xmloff/source/style/XMLPageExport.cxx.orig	2007-04-06 11:11:43.000000000 +0800
++++ xmloff/source/style/XMLPageExport.cxx	2007-04-06 11:13:30.000000000 +0800
+@@ -280,3 +280,29 @@ void XMLPageExport::exportAutoStyles()
+ 		rExport.GetNamespaceMap()
+         );
+ }
++
++void XMLPageExport::exportDefaultStyle()
++{
++	Reference < lang::XMultiServiceFactory > xFactory (GetExport().GetModel(), UNO_QUERY);
++	if (xFactory.is())
++	{
++		OUString sTextDefaults ( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.text.Defaults" ) );
++		Reference < XPropertySet > xPropSet (xFactory->createInstance ( sTextDefaults ), UNO_QUERY);
++		if (xPropSet.is())
++		{
++			// <style:default-style ...>
++			GetExport().CheckAttrList();
++
++			//<style:default-page-layout>
++			SvXMLElementExport aElem( GetExport(), XML_NAMESPACE_STYLE,
++									  XML_DEFAULT_PAGE_LAYOUT,
++									  sal_True, sal_True );
++
++			//
++			::std::vector< XMLPropertyState > xPropStates =
++				xPageMasterExportPropMapper->FilterDefaults( xPropSet );
++			xPageMasterExportPropMapper->exportXML( GetExport(), xPropStates,
++								   	  XML_EXPORT_FLAG_IGN_WS );
++		}
++	}
++}
+--- xmloff/source/style/xmlstyle.cxx.orig	2007-04-06 11:11:53.000000000 +0800
++++ xmloff/source/style/xmlstyle.cxx	2007-04-06 11:14:04.000000000 +0800
+@@ -175,6 +175,7 @@ static __FAR_DATA SvXMLTokenMapEntry aSt
+ 	{ XML_NAMESPACE_TEXT,	XML_NOTES_CONFIGURATION,    XML_TOK_TEXT_NOTE_CONFIG },
+ 	{ XML_NAMESPACE_TEXT,	XML_BIBLIOGRAPHY_CONFIGURATION, XML_TOK_TEXT_BIBLIOGRAPHY_CONFIG },
+ 	{ XML_NAMESPACE_TEXT,   XML_LINENUMBERING_CONFIGURATION,XML_TOK_TEXT_LINENUMBERING_CONFIG },
++	{ XML_NAMESPACE_STYLE,	XML_DEFAULT_PAGE_LAYOUT,	XML_TOK_STYLE_DEFAULT_PAGE_LAYOUT        },
+ 	XML_TOKEN_MAP_END
+ };
+ 
+@@ -546,9 +547,13 @@ SvXMLStyleContext *SvXMLStylesContext::C
+ 			}
+ 			break;
+ 			case XML_TOK_STYLE_PAGE_MASTER:
++			case XML_TOK_STYLE_DEFAULT_PAGE_LAYOUT:
+ 			{
++				//there is not page family in odf now, so I specify one for it
++				sal_Bool bDefaultStyle  = XML_TOK_STYLE_DEFAULT_PAGE_LAYOUT == nToken
++					? sal_True: sal_False;
+ 				pStyle = new PageStyleContext( GetImport(), p_nPrefix,
+-													rLocalName, xAttrList, *this );
++													rLocalName, xAttrList, *this, bDefaultStyle );
+ 			}
+ 			break;
+ 			case XML_TOK_TEXT_LIST_STYLE:

Added: trunk/patches/dev300/text_grid_enhancement_layout.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/text_grid_enhancement_layout.diff	Fri Feb  8 17:00:27 2008
@@ -0,0 +1,1642 @@
+--- sw/inc/doc.hxx.orig	2007-04-06 10:17:36.000000000 +0800
++++ sw/inc/doc.hxx	2007-04-06 10:17:52.000000000 +0800
+@@ -1954,6 +1954,10 @@ public:
+        {
+                return n32DummyCompatabilityOptions2;
+        }
++    
++    //Update all the page masters
++    SW_DLLPUBLIC void SetDefaultPageMode(bool bSquaredPageMode);
++    SW_DLLPUBLIC sal_Bool IsSquaredPageMode() const;    
+ };
+ 
+ 
+--- sw/inc/swmodule.hxx.orig	2007-04-06 10:19:13.000000000 +0800
++++ sw/inc/swmodule.hxx	2007-04-06 10:19:24.000000000 +0800
+@@ -192,6 +192,9 @@ public:
+ 	void ApplyUserMetric( FieldUnit eMetric, BOOL bWeb );
+ 	SW_DLLPUBLIC void ApplyFldUpdateFlags(sal_Int32 nFldFlags);
+ 	SW_DLLPUBLIC void ApplyLinkMode(sal_Int32 nNewLinkMode);
++    
++    //default page mode for text grid 
++    SW_DLLPUBLIC void ApplyDefaultPageMode(sal_Bool bIsSquaredPageMode);
+ 
+ 	// ConfigItems erzeugen
+ 	SwModuleOptions*    GetModuleConfig()		{ return pModuleConfig;}
+--- sw/inc/tgrditem.hxx.orig	2007-04-06 10:20:35.000000000 +0800
++++ sw/inc/tgrditem.hxx	2007-04-19 15:48:33.000000000 +0800
+@@ -64,6 +64,10 @@ class SW_DLLPUBLIC SwTextGridItem : publ
+ 	BOOL bPrintGrid;
+ 	BOOL bDisplayGrid;
+ 
++	//for textgrid enhancement
++    sal_uInt16 nBaseWidth;
++    BOOL bSnapToChars;
++    BOOL bSquaredMode;
+ public:
+ 	SwTextGridItem();
+ 	virtual ~SwTextGridItem();
+@@ -107,6 +111,21 @@ public:
+     BOOL IsDisplayGrid() const { return bDisplayGrid; }
+     BOOL GetDisplayGrid() const { return bDisplayGrid; }
+     void SetDisplayGrid( BOOL bNew ) { bDisplayGrid = bNew; }
++    
++    //for textgrid enhancement
++    sal_uInt16 GetBaseWidth() const { return bSquaredMode? nBaseHeight : nBaseWidth;}
++    void SetBaseWidth( sal_uInt16 nNew ) { nBaseWidth = nNew; }
++    
++    BOOL IsSnapToChars() const { return bSnapToChars; }
++    BOOL GetSnapToChars() const { return bSnapToChars; }
++    void SetSnapToChars( BOOL bNew ) { bSnapToChars = bNew; }
++    
++    BOOL IsSquaredMode() const { return bSquaredMode; }
++    BOOL GetSquaredMode() const { return bSquaredMode; }
++    void SetSquaredMode( BOOL bNew ) { bSquaredMode = bNew; }
++	void SwitchPaperMode(BOOL bNew );
++	
++	void Init();
+ };
+ 
+ inline const SwTextGridItem &SwAttrSet::GetTextGrid(BOOL bInP) const
+--- sw/inc/unomid.h.orig	2007-04-06 10:20:55.000000000 +0800
++++ sw/inc/unomid.h	2007-04-06 10:21:54.000000000 +0800
+@@ -138,6 +138,9 @@
+ #define MID_GRID_RUBY_BELOW     5
+ #define MID_GRID_PRINT          6
+ #define MID_GRID_DISPLAY        7
++#define MID_GRID_BASEWIDTH      8
++#define MID_GRID_SNAPTOCHARS    9
++#define MID_GRID_SQUARE_MODE    10
+ 
+ //SwEnvItem
+ #define MID_ENV_ADDR_TEXT       1
+--- sw/inc/unoprnms.hxx.orig	2007-04-06 10:21:09.000000000 +0800
++++ sw/inc/unoprnms.hxx	2007-04-06 10:22:11.000000000 +0800
+@@ -791,6 +791,8 @@
+ /* 0716 */  UNO_NAME_INPUT,
+ /* 0717 */  UNO_NAME_ROW_SPAN,
+ /* 0718 */  SW_PROPNAME_END
++/* 0719 */  UNO_NAME_GRID_SQUARE_PAGE_MODE,
++/* 0720 */  SW_PROPNAME_END
+ };
+ 
+ 
+--- sw/source/core/layout/flowfrm.cxx.orig	2007-04-06 10:25:22.000000000 +0800
++++ sw/source/core/layout/flowfrm.cxx	2007-04-06 10:28:05.000000000 +0800
+@@ -1600,7 +1600,9 @@ SwTwips SwFlowFrm::CalcUpperSpace( const
+ 
+     // OD 2004-03-12 #i11860# - consider value of new parameter <_bConsiderGrid>
+     // and use new method <GetUpperSpaceAmountConsideredForPageGrid(..)>
+-    if ( _bConsiderGrid )
++
++	//consider grid in square page mode
++    if ( _bConsiderGrid && rThis.GetUpper()->GetFmt()->GetDoc()->IsSquaredPageMode() )
+     {
+         nUpper += _GetUpperSpaceAmountConsideredForPageGrid( nUpper );
+     }
+--- sw/source/core/layout/pagechg.cxx.orig	2007-04-06 10:25:38.000000000 +0800
++++ sw/source/core/layout/pagechg.cxx	2007-04-06 10:28:22.000000000 +0800
+@@ -176,7 +176,8 @@ void SwBodyFrm::Format( const SwBorderAt
+             long nBorder = 0;
+             if( GRID_LINES_CHARS == pGrid->GetGridType() )
+             {
+-                nBorder = nSize % pGrid->GetBaseHeight();
++                //for textgrid refactor
++                nBorder = nSize % pGrid->GetBaseWidth();
+                 nSize -= nBorder;
+                 nBorder /= 2;
+             }
+--- sw/source/core/layout/paintfrm.cxx.orig	2007-04-06 10:25:55.000000000 +0800
++++ sw/source/core/layout/paintfrm.cxx	2007-04-06 10:28:51.000000000 +0800
+@@ -4746,6 +4746,7 @@ void SwPageFrm::PaintGrid( OutputDevice*
+                 BOOL bGrid = pGrid->GetRubyTextBelow();
+                 BOOL bCell = GRID_LINES_CHARS == pGrid->GetGridType();
+                 long nGrid = pGrid->GetBaseHeight();
++                long nGridWidth = pGrid->GetBaseWidth(); //for textgrid refactor
+                 long nRuby = pGrid->GetRubyHeight();
+                 long nSum = nGrid + nRuby;
+                 const Color *pCol = &pGrid->GetColor();
+@@ -4889,10 +4890,11 @@ void SwPageFrm::PaintGrid( OutputDevice*
+                     SwTwips nY = nOrig + nSum *( (aInter.Top()-nOrig)/nSum );
+                     SwRect aTmp( Point( aInter.Left(), nY ),
+                                 Size( aInter.Width(), 1 ) );
+-                    SwTwips nX = aGrid.Left() + nGrid *
+-                                ( ( aInter.Left() - aGrid.Left() )/ nGrid );
++                    //for textgrid refactor
++                    SwTwips nX = aGrid.Left() + nGridWidth *
++                        ( ( aInter.Left() - aGrid.Left() )/ nGridWidth );
+                     if( nX < aInter.Left() )
+-                        nX += nGrid;
++                        nX += nGridWidth;
+                     SwTwips nGridRight = aGrid.Left() + aGrid.Width();
+                     BOOL bLeft = aGrid.Left() >= aInter.Left();
+                     BOOL bRight = nGridRight <= nRight;
+@@ -4914,7 +4916,7 @@ void SwPageFrm::PaintGrid( OutputDevice*
+                                     while( aVert.Left() <= nRight )
+                                     {
+                                         PaintBorderLine(rRect,aVert,this,pCol);
+-                                        aVert.Pos().X() += nGrid;
++                                        aVert.Pos().X() += nGridWidth;	//for textgrid refactor
+                                     }
+                                 }
+                                 else if ( bBorder )
+@@ -4971,7 +4973,7 @@ void SwPageFrm::PaintGrid( OutputDevice*
+                                     while( aVert.Left() <= nRight )
+                                     {
+                                         PaintBorderLine( rRect, aVert, this, pCol);
+-                                        aVert.Pos().X() += nGrid;
++                                        aVert.Pos().X() += nGridWidth;	//for textgrid refactor
+                                     }
+                                 }
+                                 else if( bBorder )
+--- sw/source/core/text/itrform2.cxx.orig	2007-04-06 10:31:50.000000000 +0800
++++ sw/source/core/text/itrform2.cxx	2007-04-06 10:32:40.000000000 +0800
+@@ -474,7 +474,7 @@ void SwTxtFormatter::BuildPortions( SwTx
+                               GRID_LINES_CHARS == pGrid->GetGridType();
+ 
+     const USHORT nGridWidth = bHasGrid ?
+-                              pGrid->GetBaseHeight() : 0;
++                                pGrid->GetBaseWidth() : 0;	//for textgrid refactor
+ 
+     // used for grid mode only:
+     // the pointer is stored, because after formatting of non-asian text,
+--- sw/source/core/text/itrtxt.cxx.orig	2007-04-06 10:32:04.000000000 +0800
++++ sw/source/core/text/itrtxt.cxx	2007-04-06 10:32:48.000000000 +0800
+@@ -359,9 +359,12 @@ USHORT SwTxtCursor::AdjustBaseLine( cons
+             {
+                 // Portions which are bigger than on grid distance are
+                 // centered inside the whole line.
+-                const USHORT nLineNetto = ( nPorHeight > nGridWidth ) ?
+-                                            rLine.Height() - nRubyHeight :
+-                                            nGridWidth;
++                
++                //for text refactor
++                const USHORT nLineNetto =  rLine.Height() - nRubyHeight;
++                //const USHORT nLineNetto = ( nPorHeight > nGridWidth ) ?
++                 //                           rLine.Height() - nRubyHeight :
++                 //                           nGridWidth;
+                 nOfst += ( nLineNetto - nPorHeight ) / 2;
+                 if ( bRubyTop )
+                     nOfst += nRubyHeight;
+--- sw/source/core/text/txtfly.cxx.orig	2007-04-06 10:32:26.000000000 +0800
++++ sw/source/core/text/txtfly.cxx	2007-04-06 10:32:56.000000000 +0800
+@@ -682,7 +682,7 @@ void SwTxtFormatter::CalcFlyWidth( SwTxt
+                                     (pBody->*fnRect->fnGetPrtLeft)() :
+                                     (pPageFrm->*fnRect->fnGetPrtLeft)();
+ 
+-            const USHORT nGridWidth = pGrid->GetBaseHeight();
++            const USHORT nGridWidth = pGrid->GetBaseWidth();	//for textgrid refactor
+ 
+             SwTwips nStartX = GetLeftMargin();
+             if ( bVert )
+--- sw/source/core/txtnode/fntcache.cxx.orig	2007-04-24 13:26:22.000000000 +0800
++++ sw/source/core/txtnode/fntcache.cxx	2007-04-24 11:58:26.000000000 +0800
+@@ -114,6 +114,18 @@
+ #include <svtools/accessibilityoptions.hxx>
+ #endif
+ 
++#ifndef _DOC_HXX
++#include <doc.hxx>
++#endif
++#ifndef _SVX_FHGTITEM_HXX
++#include <svx/fhgtitem.hxx>
++#endif
++#ifndef _SWDOCSH_HXX
++#include <docsh.hxx>
++#endif
++#ifndef _POOLFMT_HRC
++#include <poolfmt.hrc>
++#endif
+ // Enable this to use the helpclass SwRVPMark
+ #if OSL_DEBUG_LEVEL > 1
+ #ifndef _RVP_MARK_HXX
+@@ -136,6 +148,18 @@ MapMode* SwFntObj::pPixMap = NULL;
+ OutputDevice* SwFntObj::pPixOut = NULL;
+ 
+ extern USHORT UnMapDirection( USHORT nDir, const BOOL bVertFormat );
++USHORT GetDefaultFontHeight( SwDrawTextInfo &rInf )
++{
++    SwDocShell* pDocShell = rInf.GetShell()->GetDoc()->GetDocShell();
++    SfxStyleSheetBasePool* pBasePool = pDocShell->GetStyleSheetPool();
++    
++    String aString(SW_RES(STR_POOLCOLL_STANDARD));
++    
++    SfxStyleSheetBase* pStyle = pBasePool->Find( aString, (SfxStyleFamily)SFX_STYLE_FAMILY_PARA );
++    SfxItemSet& aTmpSet = pStyle->GetItemSet();
++    SvxFontHeightItem &aDefaultFontItem = (SvxFontHeightItem&)aTmpSet.Get(RES_CHRATR_CJK_FONTSIZE); 
++    return aDefaultFontItem.GetHeight();
++}
+ 
+ #ifdef _RVP_MARK_HXX
+ 
+@@ -1074,16 +1098,18 @@ void SwFntObj::DrawText( SwDrawTextInfo 
+ 
+ 
+     //
+-    // ASIAN LINE AND CHARACTER GRID MODE START
++    // ASIAN LINE AND CHARACTER GRID MODE START: snap to characters
+     //
+ 
+     if ( rInf.GetFrm() && rInf.SnapToGrid() && rInf.GetFont() &&
+          SW_CJK == rInf.GetFont()->GetActual() )
+     {
+         GETGRID( rInf.GetFrm()->FindPageFrm() )
+-        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() )
++        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && pGrid->IsSnapToChars())
+         {
+-            const USHORT nGridWidth = pGrid->GetBaseHeight();
++            //for textgrid refactor
++            //const USHORT nGridWidth = pGrid->GetBaseHeight();
++            const USHORT nGridWidth = pGrid->GetBaseWidth();
+             sal_Int32* pKernArray = new sal_Int32[rInf.GetLen()];
+ 
+             if ( pPrinter )
+@@ -1114,7 +1140,7 @@ void SwFntObj::DrawText( SwDrawTextInfo 
+             {
+             case SwScriptInfo::NONE :
+                 aPos.X() += ( nWidthPerChar - nCharWidth ) / 2;
+-                nNextFix = nCharWidth / 2;
++                nNextFix = nCharWidth / 2;                    
+                 break;
+             case SwScriptInfo::SPECIAL_RIGHT :
+                 nNextFix = nHalfWidth;
+@@ -1160,7 +1186,148 @@ void SwFntObj::DrawText( SwDrawTextInfo 
+             return;
+         }
+     }
++    
++    // For text grid refactor
++    // ASIAN LINE AND CHARACTER GRID MODE START: not snap to characters
++    //
++    if ( rInf.GetFrm() && rInf.SnapToGrid() && rInf.GetFont() )
++    {
++        GETGRID( rInf.GetFrm()->FindPageFrm() )
++        
++        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && !pGrid->IsSnapToChars() )
++        {
++            const USHORT  nDefaultFontHeight = GetDefaultFontHeight( rInf );
++            
++            USHORT  nGridWidthAdd = pGrid->GetBaseWidth();
++            if( SW_LATIN == rInf.GetFont()->GetActual() )
++                nGridWidthAdd = ( nGridWidthAdd - nDefaultFontHeight ) / 2;
++            else
++                nGridWidthAdd = nGridWidthAdd - nDefaultFontHeight;
+ 
++            sal_Int32*  pKernArray = new sal_Int32[rInf.GetLen()];
++
++            if ( pPrinter )
++                pPrinter->GetTextArray( rInf.GetText(), pKernArray,
++                rInf.GetIdx(), rInf.GetLen() );
++            else
++                rInf.GetOut().GetTextArray( rInf.GetText(), pKernArray,
++                rInf.GetIdx(), rInf.GetLen() );
++            if ( bSwitchH2V )
++                rInf.GetFrm()->SwitchHorizontalToVertical( aPos );
++            if ( rInf.GetSpace() || rInf.GetKanaComp())
++            {
++                short nSpaceAdd = rInf.GetSpace();
++                sal_Bool bSpecialJust = sal_False;
++                if ( rInf.GetFont() && rInf.GetLen() )
++                {
++                    const SwScriptInfo* pSI = rInf.GetScriptInfo();
++                    const BYTE nActual = rInf.GetFont()->GetActual();
++                    ///Kana Compression
++                    if( SW_CJK == nActual && rInf.GetKanaComp() &&
++                        pSI && pSI->CountCompChg() &&
++                        lcl_IsMonoSpaceFont( *(rInf.GetpOut()) ) )
++                    {
++                        pSI->Compress( pKernArray,rInf.GetIdx(), rInf.GetLen(),
++                            rInf.GetKanaComp(), (USHORT)aFont.GetSize().Height(),&aPos );
++                        bSpecialJust = sal_True;
++                    }
++                    ///Asian Justification
++                    if ( ( SW_CJK == nActual || SW_LATIN == nActual ) && nSpaceAdd )
++                    {
++                        LanguageType aLang = rInf.GetFont()->GetLanguage( SW_CJK );
++                        if ( LANGUAGE_KOREAN != aLang && LANGUAGE_KOREAN_JOHAB != aLang)
++                        {
++                            long nSpaceSum = nSpaceAdd;
++                            for ( USHORT nI = 0; nI < rInf.GetLen(); ++nI )
++                            {
++                                pKernArray[ nI ] += nSpaceSum;
++                                nSpaceSum += nSpaceAdd;
++                            }
++                            bSpecialJust = sal_True;
++                            nSpaceAdd = 0;
++                        }
++                    }
++                    long nGridAddSum = nGridWidthAdd;
++                    for(xub_StrLen i = 0; i < rInf.GetLen(); i++,nGridAddSum += nGridWidthAdd )
++                    {
++                        pKernArray[i] += nGridAddSum;
++                    }
++                    long nKernSum = rInf.GetKern();
++                    if ( bSpecialJust || rInf.GetKern() )
++                    {
++                        for( xub_StrLen i = 0; i < rInf.GetLen(); i++, nKernSum += rInf.GetKern() )
++                        {
++                            if ( CH_BLANK == rInf.GetText().GetChar(rInf.GetIdx()+i) )
++                                nKernSum += nSpaceAdd;
++                            pKernArray[i] += nKernSum;
++                        }
++                        ///With through/uderstr. Grouped style requires a blank at the end
++                        ///of a text edition special measures:
++                        if( bPaintBlank && rInf.GetLen() && (CH_BLANK ==
++                            rInf.GetText().GetChar( rInf.GetIdx() + rInf.GetLen() - 1) ) )
++                        {
++                            ///If it concerns a singular, underlined space acts,
++                            ///we must spend two:
++                            if( 1 == rInf.GetLen() )
++                            {
++                                pKernArray[0] = rInf.GetWidth() + nSpaceAdd;
++                                rInf.GetOut().DrawTextArray( aPos, rInf.GetText(),
++                                    pKernArray, rInf.GetIdx(), 1 );
++                            }
++                            else
++                            {
++                                pKernArray[ rInf.GetLen() - 2] += nSpaceAdd;
++                                rInf.GetOut().DrawTextArray( aPos, rInf.GetText(),
++                                    pKernArray, rInf.GetIdx(), rInf.GetLen() );
++                            }
++                        }
++                        else
++                        {
++                            rInf.GetOut().DrawTextArray( aPos, rInf.GetText(),
++                                pKernArray, rInf.GetIdx(), rInf.GetLen() );
++                        }
++                    }
++                    else
++                    {
++                        Point aTmpPos( aPos );
++                        xub_StrLen i;
++                        xub_StrLen j = 0;
++                        long nSpaceSum = 0;
++                        for( i = 0; i < rInf.GetLen(); i++ )
++                        {
++                            if( CH_BLANK == rInf.GetText().GetChar( rInf.GetIdx() + i) )
++                            {
++                                nSpaceSum += nSpaceAdd;
++                                if( j < i)
++                                    rInf.GetOut().DrawText( aTmpPos, rInf.GetText(),
++                                    rInf.GetIdx() + j, i - j );
++                                j = i + 1;
++                                pKernArray[i] = pKernArray[i] + nSpaceSum;
++                                aTmpPos.X() = aPos.X() + pKernArray[ i ] + nKernSum;
++                            }
++                        }
++                        if( j < i )
++                            rInf.GetOut().DrawText( aTmpPos, rInf.GetText(),
++                            rInf.GetIdx() +j , i - j );
++                    }
++                }
++            }
++            else
++            {
++                //long nKernAdd = rInf.GetKern();
++		long nKernAdd = 0;
++                long nGridAddSum = nGridWidthAdd + nKernAdd;
++                for(xub_StrLen i = 0; i < rInf.GetLen(); i++,nGridAddSum += nGridWidthAdd + nKernAdd )
++                {
++                    pKernArray[i] += nGridAddSum;
++                }
++                rInf.GetOut().DrawTextArray( aPos, rInf.GetText(),
++                    pKernArray, rInf.GetIdx(), rInf.GetLen() );
++            }
++            delete[] pKernArray;
++            return;
++        }
++    }
+ 
+     //
+     // DIRECT PAINTING WITHOUT SCREEN ADJUSTMENT
+@@ -1922,9 +2089,9 @@ Size SwFntObj::GetTextSize( SwDrawTextIn
+          SW_CJK == rInf.GetFont()->GetActual() )
+     {
+         GETGRID( rInf.GetFrm()->FindPageFrm() )
+-        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() )
++        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && pGrid->IsSnapToChars() )
+         {
+-            const USHORT nGridWidth = pGrid->GetBaseHeight();
++            const USHORT nGridWidth = pGrid->GetBaseWidth();	//for textgrid refactor
+ 
+             OutputDevice* pOutDev;
+ 
+@@ -1953,6 +2120,39 @@ Size SwFntObj::GetTextSize( SwDrawTextIn
+                             1;
+ 
+             aTxtSize.Width() = i * nGridWidth * nLn;
++            rInf.SetKanaDiff( 0 );
++            return aTxtSize;
++        }
++    }
++    
++    //for textgrid refactor
++    if ( rInf.GetFrm() && nLn && rInf.SnapToGrid() && rInf.GetFont())
++    {
++        GETGRID( rInf.GetFrm()->FindPageFrm() )
++        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && !pGrid->IsSnapToChars() )
++        {
++            const USHORT nDefaultFontHeight = GetDefaultFontHeight( rInf );
++
++            USHORT nGridWidthAdd = pGrid->GetBaseWidth();
++            if( SW_LATIN == rInf.GetFont()->GetActual() )
++                nGridWidthAdd = ( nGridWidthAdd - nDefaultFontHeight ) / 2;
++            else
++                nGridWidthAdd = nGridWidthAdd - nDefaultFontHeight;
++            OutputDevice* pOutDev;
++            if ( pPrinter )
++            {
++                if( !pPrtFont->IsSameInstance( pPrinter->GetFont() ) )
++                    pPrinter->SetFont(*pPrtFont);
++                pOutDev = pPrinter;
++            }
++            else
++                pOutDev = rInf.GetpOut();
++            aTxtSize.Width() = pOutDev->GetTextWidth( rInf.GetText(), rInf.GetIdx(), nLn );
++            aTxtSize.Height() = pOutDev->GetTextHeight() +
++                                GetFontLeading( rInf.GetShell(), rInf.GetOut() );
++            aTxtSize.Width() += (nLn) * long( nGridWidthAdd ); 
++            //if ( rInf.GetKern() && nLn )
++            //    aTxtSize.Width() += ( nLn ) * long( rInf.GetKern() );
+ 
+             rInf.SetKanaDiff( 0 );
+             return aTxtSize;
+@@ -2175,9 +2375,9 @@ xub_StrLen SwFntObj::GetCrsrOfst( SwDraw
+          rInf.GetFont() && SW_CJK == rInf.GetFont()->GetActual() )
+     {
+         GETGRID( rInf.GetFrm()->FindPageFrm() )
+-        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() )
++        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && pGrid->IsSnapToChars() )
+         {
+-            const USHORT nGridWidth = pGrid->GetBaseHeight();
++            const USHORT nGridWidth = pGrid->GetBaseWidth();	//for textgrid refactor
+ 
+             long nWidthPerChar = pKernArray[ rInf.GetLen() - 1 ] / rInf.GetLen();
+ 
+@@ -2195,6 +2395,37 @@ xub_StrLen SwFntObj::GetCrsrOfst( SwDraw
+             return nCnt;
+         }
+     }
++    
++    //for textgrid refactor
++    if ( rInf.GetFrm() && rInf.GetLen() && rInf.SnapToGrid() &&
++        rInf.GetFont() )
++    {
++        GETGRID( rInf.GetFrm()->FindPageFrm() )
++        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && !pGrid->IsSnapToChars() )
++        {
++
++            const USHORT nDefaultFontHeight = GetDefaultFontHeight( rInf );
++
++            USHORT nGridWidthAdd = pGrid->GetBaseWidth();
++            if( SW_LATIN == rInf.GetFont()->GetActual() )   
++                nGridWidthAdd = ( nGridWidthAdd - nDefaultFontHeight ) / 2;
++            else
++                nGridWidthAdd = nGridWidthAdd - nDefaultFontHeight;
++            
++            long nKernAdd = rInf.GetKern();
++            for(xub_StrLen j = 0; j < rInf.GetLen(); j++)
++            {
++                long nScr = pKernArray[ j ] + ( nSpaceAdd + nGridWidthAdd  ) * ( j + 1 );
++                if( nScr >= rInf.GetOfst())
++                {
++                    nCnt = j;
++                    break;
++                }
++            }
++            delete[] pKernArray;
++            return nCnt;
++        }
++    }
+ 
+     sal_uInt16 nItrMode = ::com::sun::star::i18n::CharacterIteratorMode::SKIPCELL;
+     sal_Int32 nDone = 0;
+@@ -2402,9 +2633,9 @@ xub_StrLen SwFont::GetTxtBreak( SwDrawTe
+          rInf.GetFont() && SW_CJK == rInf.GetFont()->GetActual() )
+     {
+         GETGRID( rInf.GetFrm()->FindPageFrm() )
+-        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() )
++        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && pGrid->IsSnapToChars() )
+         {
+-            const USHORT nGridWidth = pGrid->GetBaseHeight();
++            const USHORT nGridWidth = pGrid->GetBaseWidth();	//for textgrid refactor
+ 
+             sal_Int32* pKernArray = new sal_Int32[rInf.GetLen()];
+             rInf.GetOut().GetTextArray( rInf.GetText(), pKernArray,
+@@ -2429,6 +2660,34 @@ xub_StrLen SwFont::GetTxtBreak( SwDrawTe
+             return nTxtBreak + rInf.GetIdx();
+         }
+     }
++    
++    //for text grid enhancement
++    if ( rInf.GetFrm() && nLn && rInf.SnapToGrid() && rInf.GetFont() )
++    {
++        GETGRID( rInf.GetFrm()->FindPageFrm() )
++        if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && !pGrid->IsSnapToChars() )
++        {
++            const USHORT nDefaultFontHeight = GetDefaultFontHeight( rInf );
++
++            USHORT nGridWidthAdd = pGrid->GetBaseWidth();
++            if( SW_LATIN == rInf.GetFont()->GetActual() )
++                nGridWidthAdd = ( nGridWidthAdd - nDefaultFontHeight ) / 2 ;
++            else
++                nGridWidthAdd = nGridWidthAdd - nDefaultFontHeight;
++
++            sal_Int32* pKernArray = new sal_Int32[rInf.GetLen()];
++            rInf.GetOut().GetTextArray( rInf.GetText(), pKernArray,
++                                            rInf.GetIdx(), rInf.GetLen() );
++            long nCurrPos = pKernArray[nTxtBreak] + nGridWidthAdd;
++            while( nTxtBreak < rInf.GetLen() && nTextWidth >= nCurrPos)
++            {
++                nTxtBreak++;
++                nCurrPos = pKernArray[nTxtBreak] + nGridWidthAdd * ( nTxtBreak + 1 );
++            }
++            delete[] pKernArray;
++            return nTxtBreak + rInf.GetIdx();
++        }
++    }
+ 
+     if( aSub[nActual].IsCapital() && nLn )
+ 		nTxtBreak = GetCapitalBreak( rInf.GetShell(), rInf.GetpOut(),
+--- sw/source/ui/app/docshini.cxx.orig	2007-04-06 10:46:13.000000000 +0800
++++ sw/source/ui/app/docshini.cxx	2007-04-19 15:53:11.000000000 +0800
+@@ -227,6 +227,8 @@
+ #include <fmtfollowtextflow.hxx>
+ #endif
+ 
++// text grid
++#include <tgrditem.hxx>
+ 
+ using namespace ::com::sun::star::i18n;
+ using namespace ::com::sun::star::lang;
+@@ -911,6 +913,14 @@ void SwDocShell::SubInitNew()
+     aDfltSet.Put( SvxColorItem( Color( COL_AUTO ), RES_CHRATR_COLOR ) );
+ 
+ 	pDoc->SetDefault( aDfltSet );
++
++	//default page mode for text grid
++	if(!bWeb)
++	{
++		sal_Bool bSquaredPageMode = SW_MOD()->GetUsrPref(FALSE)->IsSquaredPageMode();
++		pDoc->SetDefaultPageMode( bSquaredPageMode );
++	}
++	
+ 	pDoc->ResetModified();
+ }
+ 
+--- sw/source/ui/app/swmodul1.cxx.orig	2007-04-06 10:46:56.000000000 +0800
++++ sw/source/ui/app/swmodul1.cxx	2007-04-06 10:47:11.000000000 +0800
+@@ -669,6 +669,14 @@
+                GetUsrPref(sal_False);
+        pUsrPref->SetUpdateLinkMode(nNewLinkMode);
+ }
++
++void SwModule::ApplyDefaultPageMode(sal_Bool bIsSquaredPageMode)
++{
++    if(!pUsrPref)
++        GetUsrPref(sal_False);
++    pUsrPref->SetDefaultPageMode(bIsSquaredPageMode);
++}
++
+ /* ---------------------------------------------------------------------------
+
+  ---------------------------------------------------------------------------*/
+--- sw/source/ui/config/optload.cxx.orig	2007-04-06 10:48:25.000000000 +0800
++++ sw/source/ui/config/optload.cxx	2007-04-19 15:53:46.000000000 +0800
+@@ -105,6 +105,11 @@
+ 
+ using namespace ::com::sun::star;
+ 
++#include <doc.hxx>
++#ifndef _SVTOOLS_CJKOPTIONS_HXX
++#include <svtools/cjkoptions.hxx>
++#endif
++
+ /* -----------------22.10.98 15:12-------------------
+  *
+  * --------------------------------------------------*/
+@@ -125,6 +130,7 @@ SwLoadOptPage::SwLoadOptPage( Window* pP
+     aMetricLB           ( this, SW_RES( LB_METRIC ) ),
+     aTabFT              ( this, SW_RES( FT_TAB ) ),
+     aTabMF              ( this, SW_RES( MF_TAB ) ),
++    aUseSquaredPageMode        ( this, SW_RES( CB_USE_SQUARE_PAGE_MODE ) ),
+ 
+ 	pWrtShell	( NULL ),
+     bHTMLMode   ( FALSE ),
+@@ -164,6 +170,10 @@ SwLoadOptPage::SwLoadOptPage( Window* pP
+         aTabFT.Hide();
+ 		aTabMF.Hide();
+ 	}
++	
++	SvtCJKOptions aCJKOptions;
++	if(!aCJKOptions.IsAsianTypographyEnabled())
++		aUseSquaredPageMode.Hide();
+ }
+ 
+ /*-----------------18.01.97 12.43-------------------
+@@ -250,6 +260,19 @@ BOOL __EXPORT SwLoadOptPage::FillItemSet
+ 					(USHORT)aTabMF.Denormalize(aTabMF.GetValue(FUNIT_TWIP))));
+         bRet = TRUE;
+     }
++    
++    sal_Bool bIsSquaredPageModeFlag = aUseSquaredPageMode.IsChecked();
++    if ( bIsSquaredPageModeFlag != aUseSquaredPageMode.GetSavedValue() )
++    {
++        pMod->ApplyDefaultPageMode( bIsSquaredPageModeFlag );
++        if ( pWrtShell )
++        {
++            SwDoc* pDoc = pWrtShell->GetDoc();
++            pDoc->SetDefaultPageMode( bIsSquaredPageModeFlag );
++            pWrtShell->SetModified();
++        }
++        bRet = TRUE;
++    }
+ 
+     return bRet;
+ }
+@@ -317,6 +340,14 @@ void __EXPORT SwLoadOptPage::Reset( cons
+ 	{
+ 		bHTMLMode = 0 != (((const SfxUInt16Item*)pItem)->GetValue() & HTMLMODE_ON);
+ 	}
++    
++	//default page mode loading
++	if(pWrtShell)
++	{
++    	sal_Bool bSquaredPageMode = pWrtShell->GetDoc()->IsSquaredPageMode();
++		aUseSquaredPageMode.Check( bSquaredPageMode );
++   	 	aUseSquaredPageMode.SaveValue();
++	}
+ }
+ /*-----------------13.01.97 14.44-------------------
+ 	Metric des Deftabstops umschalten
+--- sw/source/ui/config/optload.hrc.orig	2007-04-06 10:48:40.000000000 +0800
++++ sw/source/ui/config/optload.hrc	2007-04-06 10:49:58.000000000 +0800
+@@ -48,6 +48,7 @@
+ #define FT_METRIC				20
+ #define FT_TAB					21
+ #define MF_TAB					22
++#define CB_USE_SQUARE_PAGE_MODE 23
+ 
+ // SwCaptionOptPage -----------------------------
+ 
+--- sw/source/ui/config/optload.src.orig	2007-04-06 10:48:56.000000000 +0800
++++ sw/source/ui/config/optload.src	2007-04-19 15:54:00.000000000 +0800
+@@ -159,6 +159,13 @@ TabPage TP_OPTLOAD_PAGE
+ 		First = 50 ;
+ 		Last = 9999 ;
+ 	};
++    CheckBox CB_USE_SQUARE_PAGE_MODE
++    {
++        Pos = MAP_APPFONT ( 12 , 111) ;
++        Size = MAP_APPFONT ( 248 , 10 ) ;
++        Text [ en-US ] = "Use square page mode for text grid";
++        Text [ zh-CN ] = "äçççæå";
++    };
+ };
+ /**************************************************************************/
+ /*                                                                        */
+--- sw/source/ui/config/usrpref.cxx.orig	2007-04-06 10:49:09.000000000 +0800
++++ sw/source/ui/config/usrpref.cxx	2007-04-06 10:50:38.000000000 +0800
+@@ -88,7 +88,8 @@ SwMasterUsrPref::SwMasterUsrPref(BOOL bW
+     aLayoutConfig(bWeb, *this),
+     aGridConfig(bWeb, *this),
+     aCursorConfig(*this),
+-    pWebColorConfig(bWeb ? new SwWebColorConfig(*this) : 0)
++    pWebColorConfig(bWeb ? new SwWebColorConfig(*this) : 0),
++    bIsSquaredPageMode(sal_False)
+ {
+     MeasurementSystem eSystem = GetAppLocaleData().getMeasurementSystemEnum();
+     eUserMetric = MEASURE_METRIC == eSystem ? FUNIT_CM : FUNIT_INCH;
+@@ -273,9 +274,10 @@ Sequence<OUString> SwLayoutViewConfig::G
+         "Zoom/Type",                        //12
+         "Other/MeasureUnit",                //13
+         "Other/TabStop",                    //14
+-        "Window/IsVerticalRulerRight"       //15
++        "Window/IsVerticalRulerRight",      //15
++        "Other/IsSquaredPageMode"        //16
+     };
+-    const int nCount = bWeb ? 14 : 16;
++    const int nCount = bWeb ? 14 : 17;
+     Sequence<OUString> aNames(nCount);
+ 	OUString* pNames = aNames.getArray();
+ 	for(int i = 0; i < nCount; i++)
+@@ -340,8 +342,9 @@ void SwLayoutViewConfig::Commit()
+             case 13: pValues[nProp] <<= (sal_Int32)rParent.GetMetric(); break;// "Other/MeasureUnit",
+             case 14: pValues[nProp] <<= static_cast<sal_Int32>(TWIP_TO_MM100(rParent.GetDefTab())); break;// "Other/TabStop",
+             case 15: bSet = rParent.IsVRulerRight(); break;// "Window/IsVerticalRulerRight",
++            case 16: bSet = rParent.IsSquaredPageMode(); break;// "Other/IsSquaredPageMode",
+         }
+-        if(nProp < 8 || nProp == 10)
++        if(nProp < 8 || nProp == 10 || nProp == 16)
+ 			pValues[nProp].setValue(&bSet, ::getBooleanCppuType());
+ 	}
+ 	PutProperties(aNames, aValues);
+@@ -361,7 +364,7 @@ void SwLayoutViewConfig::Load()
+ 		{
+ 			if(pValues[nProp].hasValue())
+ 			{
+-                sal_Bool bSet = nProp < 8 || nProp == 10 ? *(sal_Bool*)pValues[nProp].getValue() : sal_False;
++                sal_Bool bSet = nProp < 8 || nProp == 10 || nProp == 16? *(sal_Bool*)pValues[nProp].getValue() : sal_False;
+                 switch(nProp)
+ 				{
+                     case  0: rParent.SetCrossHair(bSet); break;// "Line/Guide",
+@@ -412,6 +415,7 @@ void SwLayoutViewConfig::Load()
+ 					}
+ 					break;// "Other/TabStop",
+                     case 15: rParent.SetVRulerRight(bSet); break;// "Window/IsVerticalRulerRight",
++                    case 16: rParent.SetDefaultPageMode(bSet); break;// "Other/IsSquaredPageMode",
+                 }
+ 			}
+ 		}
+--- sw/source/ui/inc/optload.hxx.orig	2007-04-06 10:53:00.000000000 +0800
++++ sw/source/ui/inc/optload.hxx	2007-04-06 10:53:40.000000000 +0800
+@@ -93,6 +93,7 @@ private:
+     ListBox     aMetricLB;
+     FixedText   aTabFT;
+ 	MetricField aTabMF;
++    CheckBox    aUseSquaredPageMode;
+ 
+ 	SwWrtShell*	pWrtShell;
+     sal_Bool    bHTMLMode;
+--- sw/source/ui/inc/pggrid.hxx.orig	2007-04-06 10:53:11.000000000 +0800
++++ sw/source/ui/inc/pggrid.hxx	2007-04-06 10:57:03.000000000 +0800
+@@ -60,6 +60,7 @@ class SwTextGridPage: public SfxTabPage
+     RadioButton     aNoGridRB;
+     RadioButton     aLinesGridRB;
+     RadioButton     aCharsGridRB;
++    CheckBox        aSnapToCharsCB;
+ 
+     SwPageGridExample   aExampleWN;
+ 
+@@ -74,6 +75,9 @@ class SwTextGridPage: public SfxTabPage
+     FixedText       aCharsPerLineFT;
+     NumericField    aCharsPerLineNF;
+ 
++    FixedText       aCharWidthFT;
++    MetricField     aCharWidthMF;    
++    
+     FixedText       aRubySizeFT;
+     MetricField     aRubySizeMF;
+ 
+@@ -86,12 +90,13 @@ class SwTextGridPage: public SfxTabPage
+     FixedText       aColorFT;
+     ColorListBox    aColorLB;
+ 
+-    Window*         aControls[16];
++    Window*         aControls[18];
+ 
+     sal_Int32       m_nRubyUserValue;
+     sal_Bool        m_bRubyUserValue;
+     Size            m_aPageSize;
+     sal_Bool        m_bVertical;
++	sal_Bool		m_bSquaredMode;
+ 
+     SwTextGridPage(Window *pParent, const SfxItemSet &rSet);
+     ~SwTextGridPage();
+@@ -100,7 +105,8 @@ class SwTextGridPage: public SfxTabPage
+     void PutGridItem(SfxItemSet& rSet);
+ 
+     DECL_LINK(GridTypeHdl, RadioButton*);
+-    DECL_LINK(CharSizeChangedHdl, SpinField*);
++    DECL_LINK(CharorLineChangedHdl, SpinField*);
++    DECL_LINK(TextSizeChangedHdl, SpinField*);
+     DECL_LINK(GridModifyHdl, void*);
+     DECL_LINK(DisplayGridHdl, CheckBox*);
+ public:
+--- sw/source/ui/inc/usrpref.hxx.orig	2007-04-06 10:53:28.000000000 +0800
++++ sw/source/ui/inc/usrpref.hxx	2007-04-06 10:54:20.000000000 +0800
+@@ -160,6 +160,8 @@ class SwMasterUsrPref : public SwViewOpt
+ 
+ 
+ 	sal_Int32	nDefTab;			//default tab stop distance
++    
++    sal_Bool    bIsSquaredPageMode; //default page mode for text grid
+ 
+ public:
+ 	SwMasterUsrPref(BOOL bWeb);
+@@ -269,6 +271,15 @@ public:
+                     if(!bNoModify)
+                         aLayoutConfig.SetModified();
+                 }
++    
++    //default page mode for text grid
++    sal_Bool    IsSquaredPageMode() const {return bIsSquaredPageMode;}
++    void        SetDefaultPageMode( sal_Bool bVal, sal_Bool bNoModify = sal_False ) 
++                { 
++                    bIsSquaredPageMode = bVal;
++                    if(!bNoModify)
++                        aLayoutConfig.SetModified(); 
++                }
+ 
+ };
+ 
+--- sw/source/ui/misc/pggrid.hrc.orig	2007-04-06 10:57:50.000000000 +0800
++++ sw/source/ui/misc/pggrid.hrc	2007-04-06 10:58:49.000000000 +0800
+@@ -55,3 +55,6 @@
+ #define CB_PRINT            20
+ #define FT_COLOR            21
+ #define LB_COLOR            22
++#define CB_SNAPTOCHARS      23
++#define FT_CHARWIDTH        24
++#define MF_CHARWIDTH        25
+--- sw/source/ui/misc/pggrid.src.orig	2007-04-24 13:27:47.000000000 +0800
++++ sw/source/ui/misc/pggrid.src	2007-04-24 11:58:47.000000000 +0800
+@@ -69,6 +69,13 @@ TabPage TP_TEXTGRID_PAGE
+         Size = MAP_APPFONT ( 158 , 10 ) ;
+         Text [ en-US ] = "Grid (lines and characters)" ;
+ 	};
++    CheckBox        CB_SNAPTOCHARS
++    {
++        Pos = MAP_APPFONT ( 14 , 53 ) ;
++        Size = MAP_APPFONT ( 158 , 10 ) ;
++        Text [ en-US ] = "~Snap to characters" ;
++        Text [ zh-CN ] = "æååéåççæ" ;
++    };
+     Window          WN_EXAMPLE
+     {
+         Pos = MAP_APPFONT ( 176 , 6 ) ;
+@@ -76,7 +83,7 @@ TabPage TP_TEXTGRID_PAGE
+     };
+     FixedLine       FL_LAYOUT
+     {
+-        Pos = MAP_APPFONT ( 6 , 56 ) ;
++        Pos = MAP_APPFONT ( 6 , 69 ) ;
+         Size = MAP_APPFONT ( 248 , 8 ) ;
+         Text [ en-US ] = "Grid layout" ;
+ 	};
+@@ -84,13 +91,13 @@ TabPage TP_TEXTGRID_PAGE
+ 	};
+     FixedText       FT_LINESPERPAGE
+     {
+-        Pos = MAP_APPFONT ( 12 , 69 ) ;
++        Pos = MAP_APPFONT ( 12 , 82 ) ;
+         Size = MAP_APPFONT ( 59 , 8 ) ;
+         Text [ en-US ] = "Lines per page" ;
+ 	};
+     NumericField    NF_LINESPERPAGE
+     {
+-        Pos = MAP_APPFONT ( 74 , 67 ) ;
++        Pos = MAP_APPFONT ( 74 , 80 ) ;
+         Size = MAP_APPFONT ( 25 , 12 ) ;
+         Border = TRUE ;
+         TabStop = TRUE ;
+@@ -107,13 +114,13 @@ TabPage TP_TEXTGRID_PAGE
+     };
+     FixedText       FT_TEXTSIZE
+     {
+-        Pos = MAP_APPFONT ( 133 , 69 ) ;
++        Pos = MAP_APPFONT ( 133 , 82 ) ;
+         Size = MAP_APPFONT ( 80 , 8 ) ;
+         Text [ en-US ] = "Max. base text size" ;
+ 	};
+     MetricField     MF_TEXTSIZE
+     {
+-        Pos = MAP_APPFONT ( 216 , 67 ) ;
++        Pos = MAP_APPFONT ( 216 , 80 ) ;
+         Size = MAP_APPFONT ( 35 , 12 ) ;
+         Border = TRUE ;
+         TabStop = TRUE ;
+@@ -123,7 +130,7 @@ TabPage TP_TEXTGRID_PAGE
+ 		Spin = TRUE ;
+ 		Minimum = 1 ;
+ 		Maximum = 5600 ;
+-        DecimalDigits = 1 ;
++        DecimalDigits = 2 ;
+         Unit = FUNIT_POINT ;
+ 		First = 10 ;
+ 		Last = 5600 ;
+@@ -131,13 +138,13 @@ TabPage TP_TEXTGRID_PAGE
+     };
+     FixedText       FT_CHARSPERLINE
+     {
+-        Pos = MAP_APPFONT ( 12 , 85 ) ;
++        Pos = MAP_APPFONT ( 12 , 98 ) ;
+         Size = MAP_APPFONT ( 59 , 8 ) ;
+         Text [ en-US ] = "Characters per line" ;
+ 	};
+     NumericField    NF_CHARSPERLINE
+     {
+-        Pos = MAP_APPFONT ( 74 , 83 ) ;
++        Pos = MAP_APPFONT ( 74 , 96 ) ;
+         Size = MAP_APPFONT ( 25 , 12 ) ;
+         Border = TRUE ;
+         TabStop = TRUE ;
+@@ -152,44 +159,68 @@ TabPage TP_TEXTGRID_PAGE
+         Last = 233 ;
+ 		SpinSize = 1 ;
+     };
+-    FixedText       FT_RUBYSIZE
++    FixedText       FT_CHARWIDTH
+     {
+-        Pos = MAP_APPFONT ( 133 , 85 ) ;
++        Pos = MAP_APPFONT ( 133 , 98 ) ;
+         Size = MAP_APPFONT ( 80 , 8 ) ;
+-        Text [ en-US ] = "Max. Ruby text size" ;
++        Text [ en-US ] = "Character ~width" ;
++        Text [ zh-CN ] = "åçèå" ;
+ 	};
+-    MetricField     MF_RUBYSIZE
++    MetricField     MF_CHARWIDTH
+     {
+-        Pos = MAP_APPFONT ( 216 , 83 ) ;
++        Pos = MAP_APPFONT ( 216 , 96 ) ;
+         Size = MAP_APPFONT ( 35 , 12 ) ;
+         Border = TRUE ;
+         TabStop = TRUE ;
+ 		Left = TRUE ;
+ 		Repeat = TRUE ;
+ 		Spin = TRUE ;
+-		Minimum = 1 ;
++		Minimum = 0 ;
+ 		Maximum = 5600 ;
+-        DecimalDigits = 1 ;
++        DecimalDigits = 2 ;
+         Unit = FUNIT_POINT;
+-		First = 10 ;
++		First = 0 ;
+ 		Last = 5600 ;
+         SpinSize = 5 ;
+     };
++    FixedText       FT_RUBYSIZE
++    {
++        Pos = MAP_APPFONT ( 133 , 98 ) ;
++        Size = MAP_APPFONT ( 80 , 8 ) ;
++        Text [ en-US ] = "Max. Ruby text size" ;
++    };
++    MetricField     MF_RUBYSIZE
++    {
++        Pos = MAP_APPFONT ( 216 , 96 ) ;
++        Size = MAP_APPFONT ( 35 , 12 ) ;
++        Border = TRUE ;
++        TabStop = TRUE ;
++        Left = TRUE ;
++        Repeat = TRUE ;
++        Spin = TRUE ;
++        Minimum = 0 ;
++        Maximum = 5600 ;
++        DecimalDigits = 2 ;
++        Unit = FUNIT_POINT;
++        First = 0 ;
++        Last = 5600 ;
++        SpinSize = 5 ;
++    };
+     CheckBox        CB_RUBYBELOW
+     {
+-        Pos = MAP_APPFONT ( 14 , 99 ) ;
+-        Size = MAP_APPFONT ( 242 , 10 ) ;
++        Pos = MAP_APPFONT ( 14 , 112 ) ;
++        Size = MAP_APPFONT ( 110 , 10 ) ;
+         Text [ en-US ] = "Ruby text below/left from base text" ;
+ 	};
+     FixedLine       FL_DISPLAY
+     {
+-        Pos = MAP_APPFONT ( 6 , 115 ) ;
++        Pos = MAP_APPFONT ( 6 , 128 ) ;
+         Size = MAP_APPFONT ( 248 , 8 ) ;
+         Text [ en-US ] = "Grid display" ;
+ 	};
+     CheckBox        CB_DISPLAY
+     {
+-        Pos = MAP_APPFONT ( 12 , 126 ) ;
++        Pos = MAP_APPFONT ( 12 , 139 ) ;
+         Size = MAP_APPFONT ( 112 , 10 ) ;
+         Text [ en-US ] = "Display grid" ;
+ 	};
+@@ -200,7 +231,7 @@ TabPage TP_TEXTGRID_PAGE
+ 	};
+     CheckBox        CB_PRINT
+     {
+-        Pos = MAP_APPFONT ( 18 , 141 ) ;
++        Pos = MAP_APPFONT ( 18 , 154 ) ;
+         Size = MAP_APPFONT ( 106 , 10 ) ;
+         Text [ en-US ] = "Print grid" ;
+ 	};
+@@ -208,13 +239,13 @@ TabPage TP_TEXTGRID_PAGE
+ 	};
+     FixedText       FT_COLOR
+     {
+-        Pos = MAP_APPFONT ( 133 , 126 ) ;
++        Pos = MAP_APPFONT ( 133 , 139 ) ;
+         Size = MAP_APPFONT ( 55 , 8 ) ;
+         Text [ en-US ] = "Grid color" ;
+ 	};
+     ListBox         LB_COLOR
+     {
+-        Pos = MAP_APPFONT ( 191 , 124 ) ;
++        Pos = MAP_APPFONT ( 191 , 137 ) ;
+         Size = MAP_APPFONT ( 60 , 50 ) ;
+         TabStop = TRUE;
+         Border = TRUE;
+--- sw/source/core/layout/atrfrm.cxx.orig	2007-07-26 14:26:13.000000000 +0800
++++ sw/source/core/layout/atrfrm.cxx	2007-07-26 14:38:24.000000000 +0800
+@@ -274,6 +274,10 @@
+ #endif
+ // <--
+ 
++#ifndef _SVTOOLS_CJKOPTIONS_HXX
++#include <svtools/cjkoptions.hxx>
++#endif
++
+ using namespace ::com::sun::star;
+ using namespace ::rtl;
+ 
+@@ -2279,7 +2283,8 @@ BOOL SwFmtLineNumber::PutValue( const un
+ SwTextGridItem::SwTextGridItem()
+     : SfxPoolItem( RES_TEXTGRID ), aColor( COL_LIGHTGRAY ), nLines( 20 ),
+       nBaseHeight( 400 ), nRubyHeight( 200 ), eGridType( GRID_NONE ),
+-      bRubyTextBelow( 0 ), bPrintGrid( 1 ), bDisplayGrid( 1 )
++      bRubyTextBelow( 0 ), bPrintGrid( 1 ), bDisplayGrid( 1 ),
++      nBaseWidth(400), bSnapToChars( 1 ), bSquaredMode(1)
+ {
+ }
+ 
+@@ -2297,7 +2302,10 @@ int SwTextGridItem::operator==( const Sf
+            bRubyTextBelow == ((SwTextGridItem&)rAttr).GetRubyTextBelow() &&
+            bDisplayGrid == ((SwTextGridItem&)rAttr).GetDisplayGrid() &&
+            bPrintGrid == ((SwTextGridItem&)rAttr).GetPrintGrid() &&
+-           aColor == ((SwTextGridItem&)rAttr).GetColor();
++           aColor == ((SwTextGridItem&)rAttr).GetColor() && 
++           GetBaseWidth() == ((SwTextGridItem&)rAttr).GetBaseWidth() && 
++           bSnapToChars == ((SwTextGridItem&)rAttr).GetSnapToChars() &&
++           bSquaredMode == ((SwTextGridItem&)rAttr).GetSquaredMode();
+ }
+ 
+ SfxPoolItem* SwTextGridItem::Clone( SfxItemPool* pPool ) const
+@@ -2315,6 +2323,9 @@ SwTextGridItem& SwTextGridItem::operator
+     bRubyTextBelow = rCpy.GetRubyTextBelow();
+     bPrintGrid = rCpy.GetPrintGrid();
+     bDisplayGrid = rCpy.GetDisplayGrid();
++    nBaseWidth = rCpy.GetBaseWidth();
++    bSnapToChars = rCpy.GetSnapToChars();
++    bSquaredMode = rCpy.GetSquaredMode();
+ 
+ 	return *this;
+ }
+@@ -2345,6 +2356,11 @@ BOOL SwTextGridItem::QueryValue( uno::An
+                         "This value needs TWIPS-MM100 conversion" );
+             rVal <<= (sal_Int32) TWIP_TO_MM100(nBaseHeight);
+             break;
++        case MID_GRID_BASEWIDTH:
++            DBG_ASSERT( (nMemberId & CONVERT_TWIPS) != 0,
++                        "This value needs TWIPS-MM100 conversion" );
++            rVal <<= (sal_Int32) TWIP_TO_MM100(nBaseWidth);
++            break;
+         case MID_GRID_RUBYHEIGHT:
+             DBG_ASSERT( (nMemberId & CONVERT_TWIPS) != 0,
+                         "This value needs TWIPS-MM100 conversion" );
+@@ -2368,6 +2384,12 @@ BOOL SwTextGridItem::QueryValue( uno::An
+                     break;
+             }
+             break;
++        case MID_GRID_SNAPTOCHARS:
++            rVal.setValue( &bSnapToChars, ::getBooleanCppuType() );
++            break;
++        case MID_GRID_SQUARE_MODE:
++            rVal.setValue( &bSquaredMode, ::getBooleanCppuType() );
++            break;
+         default:
+             DBG_ERROR("Unknown SwTextGridItem member");
+             bRet = FALSE;
+@@ -2410,6 +2432,7 @@ BOOL SwTextGridItem::PutValue( const uno
+             SetDisplayGrid( *(sal_Bool*)rVal.getValue() );
+             break;
+         case MID_GRID_BASEHEIGHT:
++        case MID_GRID_BASEWIDTH:
+         case MID_GRID_RUBYHEIGHT:
+         {
+             DBG_ASSERT( (nMemberId & CONVERT_TWIPS) != 0,
+@@ -2420,6 +2443,8 @@ BOOL SwTextGridItem::PutValue( const uno
+             if( bRet && (nTmp >= 0) && ( nTmp <= USHRT_MAX) )
+                 if( (nMemberId & ~CONVERT_TWIPS) == MID_GRID_BASEHEIGHT )
+                     SetBaseHeight( (USHORT)nTmp );
++                else if( (nMemberId & ~CONVERT_TWIPS) == MID_GRID_BASEWIDTH )
++                    SetBaseWidth( (USHORT)nTmp );
+                 else
+                     SetRubyHeight( (USHORT)nTmp );
+             else
+@@ -2448,6 +2473,12 @@ BOOL SwTextGridItem::PutValue( const uno
+                 }
+             }
+             break;
++        case MID_GRID_SNAPTOCHARS:
++            SetSnapToChars( *(sal_Bool*)rVal.getValue() );
++            break;
++        case MID_GRID_SQUARE_MODE:
++            SetSquaredMode( *(sal_Bool*)rVal.getValue() );
++            break;
+         default:
+             DBG_ERROR("Unknown SwTextGridItem member");
+             bRet = FALSE;
+@@ -2456,6 +2487,75 @@ BOOL SwTextGridItem::PutValue( const uno
+     return bRet;
+ }
+ 
++void SwTextGridItem::SwitchPaperMode(BOOL bNew)
++{
++	if( bNew == bSquaredMode )
++	{
++		//same paper mode, not switch
++		return;
++	}
++
++	// use default value when grid is disable
++	if( eGridType == GRID_NONE )
++	{
++		bSquaredMode = bNew;
++		Init();
++		return;
++	}
++
++	if( bSquaredMode )
++	{
++		//switch from "squared mode" to "standard mode"
++		nBaseWidth = nBaseHeight;
++		nBaseHeight = nBaseHeight + nRubyHeight;
++		nRubyHeight = 0;
++	}
++	else
++	{
++		//switch from "standard mode" to "squared mode"
++		nRubyHeight = nBaseHeight/3;
++		nBaseHeight = nBaseHeight - nRubyHeight;
++		nBaseWidth = nBaseHeight;
++	}
++	bSquaredMode = !bSquaredMode;
++}
++
++void SwTextGridItem::Init()
++{
++	if( bSquaredMode )
++	{
++		nLines = 20;
++		nBaseHeight = 400;
++		nRubyHeight = 200;
++		eGridType = GRID_NONE;
++		bRubyTextBelow = 0;
++		bPrintGrid = 1;
++		bDisplayGrid = 1;
++		bSnapToChars = 1;
++		nBaseWidth = 400;
++	}
++	else
++	{
++		nLines = 44;
++		nBaseHeight = 312;
++		nRubyHeight = 0;
++		eGridType = GRID_NONE;
++		bRubyTextBelow = 0;
++		bPrintGrid = 1;
++		bDisplayGrid = 1;
++		nBaseWidth = 210;
++		bSnapToChars = 1;
++
++		//default grid type is line only in CJK env
++		//disable this function due to type area change 
++		//if grid type change.
++		//if(SvtCJKOptions().IsAsianTypographyEnabled())
++		//{
++		//	bDisplayGrid = 0;
++		//	eGridType = GRID_LINES_ONLY;
++		//}
++	}
++}
+ // class SwHeaderAndFooterEatSpacingItem
+ 
+ SfxPoolItem* SwHeaderAndFooterEatSpacingItem::Clone( SfxItemPool* pPool ) const
+--- sw/source/core/doc/docdesc.cxx.orig	2007-07-26 14:26:12.000000000 +0800
++++ sw/source/core/doc/docdesc.cxx	2007-07-26 14:32:18.000000000 +0800
+@@ -157,6 +157,8 @@
+ #include <SwUndoPageDesc.hxx>
+ #include <headerfooterhelper.hxx>
+ 
++#include <tgrditem.hxx>
++
+ using namespace com::sun::star;
+ 
+ static void lcl_DefaultPageFmt( sal_uInt16 nPoolFmtId,
+@@ -1068,3 +1070,36 @@ void SwDoc::CheckDefaultPageFmt()
+             lcl_DefaultPageFmt( rDesc.GetPoolFmtId(), rDesc.GetMaster(), rDesc.GetLeft() );
+     }
+ }
++
++void SwDoc::SetDefaultPageMode(bool bSquaredPageMode)
++{
++	if( bSquaredPageMode == IsSquaredPageMode() )
++		return;
++
++	const SwTextGridItem& rGrid =
++					(const SwTextGridItem&)GetDefault( RES_TEXTGRID );
++	SwTextGridItem aNewGrid = rGrid;
++	aNewGrid.SetSquaredMode(bSquaredPageMode);
++	aNewGrid.Init();
++	SetDefault(aNewGrid);
++	
++    for ( USHORT i = 0; i < GetPageDescCnt(); ++i )
++    {
++        SwPageDesc& rDesc = _GetPageDesc( i );
++
++        SwFrmFmt& rMaster = rDesc.GetMaster();
++		SwFrmFmt& rLeft = rDesc.GetLeft();
++        
++        SwTextGridItem aGrid((SwTextGridItem&)rMaster.GetAttr(RES_TEXTGRID));
++        aGrid.SwitchPaperMode( bSquaredPageMode );
++		rMaster.SetAttr(aGrid);
++		rLeft.SetAttr(aGrid);
++    }
++}
++
++sal_Bool SwDoc::IsSquaredPageMode() const
++{
++	const SwTextGridItem& rGrid =
++						(const SwTextGridItem&)GetDefault( RES_TEXTGRID );
++	return rGrid.IsSquaredMode();					
++}
+--- sw/source/ui/misc/pggrid.cxx.orig	2007-07-26 14:26:14.000000000 +0800
++++ sw/source/ui/misc/pggrid.cxx	2007-07-26 14:44:32.000000000 +0800
+@@ -69,6 +69,9 @@
+ #ifndef _SVX_LRSPITEM_HXX
+ #include <svx/lrspitem.hxx>
+ #endif
++#ifndef _SVX_ULSPITEM_HXX
++#include <svx/ulspitem.hxx>
++#endif
+ #ifndef _SVX_BOXITEM_HXX
+ #include <svx/boxitem.hxx>
+ #endif
+@@ -83,6 +86,11 @@
+ #endif
+ #include <pggrid.hrc>
+ 
++#include "wrtsh.hxx"
++#include "doc.hxx"
++#include "uiitems.hxx"
++#include "swmodule.hxx"
++#include "view.hxx"
+ /*-- 06.02.2002 15:25:39---------------------------------------------------
+ 
+   -----------------------------------------------------------------------*/
+@@ -92,6 +100,7 @@ SwTextGridPage::SwTextGridPage(Window *p
+     aNoGridRB               (this, SW_RES(RB_NOGRID          )),
+     aLinesGridRB            (this, SW_RES(RB_LINESGRID       )),
+     aCharsGridRB            (this, SW_RES(RB_CHARSGRID       )),
++    aSnapToCharsCB          (this, SW_RES(CB_SNAPTOCHARS     )),
+     aExampleWN              (this, SW_RES(WN_EXAMPLE         )),
+     aLayoutFL               (this, SW_RES(FL_LAYOUT          )),
+     aLinesPerPageFT         (this, SW_RES(FT_LINESPERPAGE    )),
+@@ -100,6 +109,8 @@ SwTextGridPage::SwTextGridPage(Window *p
+     aTextSizeMF             (this, SW_RES(MF_TEXTSIZE        )),
+     aCharsPerLineFT         (this, SW_RES(FT_CHARSPERLINE    )),
+     aCharsPerLineNF         (this, SW_RES(NF_CHARSPERLINE    )),
++    aCharWidthFT            (this, SW_RES(FT_CHARWIDTH       )),
++    aCharWidthMF            (this, SW_RES(MF_CHARWIDTH       )),
+     aRubySizeFT             (this, SW_RES(FT_RUBYSIZE        )),
+     aRubySizeMF             (this, SW_RES(MF_RUBYSIZE        )),
+     aRubyBelowCB            (this, SW_RES(CB_RUBYBELOW       )),
+@@ -111,7 +122,8 @@ SwTextGridPage::SwTextGridPage(Window *p
+     m_nRubyUserValue(0),
+     m_bRubyUserValue(sal_False),
+     m_aPageSize(MM50, MM50),
+-    m_bVertical(sal_False)
++    m_bVertical(sal_False),
++    m_bSquaredMode(sal_False)
+ {
+     FreeResource();
+ 
+@@ -122,24 +134,37 @@ SwTextGridPage::SwTextGridPage(Window *p
+     aControls[4] =&aTextSizeMF;
+     aControls[5] =&aCharsPerLineFT;
+     aControls[6] =&aCharsPerLineNF;
+-    aControls[7] =&aRubySizeFT;
+-    aControls[8] =&aRubySizeMF;
+-    aControls[9] =&aRubyBelowCB;
+-    aControls[10] =&aDisplayFL;
+-    aControls[11] =&aDisplayCB;
+-    aControls[12] =&aPrintCB;
+-    aControls[13] =&aColorFT;
+-    aControls[14] =&aColorLB;
+-    aControls[15] =0;
++    aControls[7] =&aCharWidthFT;
++    aControls[8] =&aCharWidthMF;
++    aControls[9] =&aRubySizeFT;
++    aControls[10] =&aRubySizeMF;    
++    aControls[11] =&aRubyBelowCB;
++    aControls[12] =&aDisplayFL;
++    aControls[13] =&aDisplayCB;
++    aControls[14] =&aPrintCB;
++    aControls[15] =&aColorFT;
++    aControls[16] =&aColorLB;
++    aControls[17] =0;
+ 
+-    Link aLink = LINK(this, SwTextGridPage, CharSizeChangedHdl);
++    Link aLink = LINK(this, SwTextGridPage, CharorLineChangedHdl);
+     aCharsPerLineNF.SetUpHdl(aLink);
+-    aTextSizeMF.SetUpHdl(aLink);
+     aCharsPerLineNF.SetDownHdl(aLink);
+-    aTextSizeMF.SetDownHdl(aLink);
+     aCharsPerLineNF.SetLoseFocusHdl(aLink);
+-    aTextSizeMF.SetLoseFocusHdl(aLink);
+-
++    aLinesPerPageNF.SetUpHdl(aLink);
++    aLinesPerPageNF.SetDownHdl(aLink);
++    aLinesPerPageNF.SetLoseFocusHdl(aLink);
++    
++    Link aSizeLink = LINK(this, SwTextGridPage, TextSizeChangedHdl);
++    aTextSizeMF.SetUpHdl(aSizeLink);
++    aTextSizeMF.SetDownHdl(aSizeLink);
++    aTextSizeMF.SetLoseFocusHdl(aSizeLink);
++    aRubySizeMF.SetUpHdl(aSizeLink);
++    aRubySizeMF.SetDownHdl(aSizeLink);
++    aRubySizeMF.SetLoseFocusHdl(aSizeLink); 
++    aCharWidthMF.SetUpHdl(aSizeLink);
++    aCharWidthMF.SetDownHdl(aSizeLink);
++    aCharWidthMF.SetLoseFocusHdl(aSizeLink);
++    
+     Link aGridTypeHdl = LINK(this, SwTextGridPage, GridTypeHdl);
+     aNoGridRB   .SetClickHdl(aGridTypeHdl);
+     aLinesGridRB.SetClickHdl(aGridTypeHdl);
+@@ -148,14 +173,8 @@ SwTextGridPage::SwTextGridPage(Window *p
+     Link aModifyLk = LINK(this, SwTextGridPage, GridModifyHdl);
+     aColorLB.SetSelectHdl(aModifyLk);
+     aPrintCB.SetClickHdl(aModifyLk);
+-    aRubyBelowCB.SetClickHdl(aModifyLk);
++    aRubyBelowCB.SetClickHdl(aModifyLk);   
+ 
+-    aLinesPerPageNF.SetUpHdl(aModifyLk);
+-    aRubySizeMF.SetUpHdl(aModifyLk);
+-    aLinesPerPageNF.SetDownHdl(aModifyLk);
+-    aRubySizeMF.SetDownHdl(aModifyLk);
+-    aLinesPerPageNF.SetLoseFocusHdl(aModifyLk);
+-    aRubySizeMF.SetLoseFocusHdl(aModifyLk);
+ 
+     aDisplayCB.SetClickHdl(LINK(this, SwTextGridPage, DisplayGridHdl));
+ 
+@@ -169,6 +188,34 @@ SwTextGridPage::SwTextGridPage(Window *p
+ 		aColorLB.InsertEntry( aColor, sName );
+ 	}
+ 	aColorLB.SetUpdateMode( TRUE );
++	//Get the default paper mode
++	SwView *pView   = ::GetActiveView();
++	if( pView )
++	{
++		SwWrtShell* pSh = pView->GetWrtShellPtr();
++		if( pSh )
++		{
++			m_bSquaredMode = pSh->GetDoc()->IsSquaredPageMode();
++		}
++	}
++	if( m_bSquaredMode )
++	{
++		aRubySizeFT.Show();
++		aRubySizeMF.Show();
++		aRubyBelowCB.Show();
++		aSnapToCharsCB.Hide();
++		aCharWidthFT.Hide();
++		aCharWidthMF.Hide();
++	}
++	else
++	{
++		aRubySizeFT.Hide();
++		aRubySizeMF.Hide();
++		aRubyBelowCB.Hide();
++		aSnapToCharsCB.Show();
++		aCharWidthFT.Show();
++		aCharWidthMF.Show();
++	}
+ }
+ /*-- 06.02.2002 15:25:40---------------------------------------------------
+ 
+@@ -196,7 +243,9 @@ BOOL    SwTextGridPage::FillItemSet(SfxI
+         aTextSizeMF.GetSavedValue().ToInt32() != aTextSizeMF.GetValue()||
+         aCharsPerLineNF.GetSavedValue().ToInt32()
+            != aCharsPerLineNF.GetValue()||
++        aSnapToCharsCB.GetSavedValue() != aSnapToCharsCB.IsChecked() ||
+         aRubySizeMF.GetSavedValue().ToInt32() != aRubySizeMF.GetValue()||
++        aCharWidthMF.GetSavedValue().ToInt32() != aCharWidthMF.GetValue()||
+         aRubyBelowCB.GetSavedValue() != aRubyBelowCB.IsChecked()||
+         aDisplayCB.GetSavedValue() != aDisplayCB.IsChecked()||
+         aPrintCB.GetSavedValue() != aPrintCB.IsChecked()||
+@@ -225,11 +274,13 @@ void    SwTextGridPage::Reset(const SfxI
+         }
+         pButton->Check();
+         GridTypeHdl(pButton);
++        aSnapToCharsCB.Check(rGridItem.IsSnapToChars());
+         aLinesPerPageNF.SetValue(rGridItem.GetLines());
+         m_nRubyUserValue = rGridItem.GetBaseHeight();
+         m_bRubyUserValue = sal_True;
+         aTextSizeMF.SetValue(aTextSizeMF.Normalize(m_nRubyUserValue), FUNIT_TWIP);
+         aRubySizeMF.SetValue(aRubySizeMF.Normalize(rGridItem.GetRubyHeight()), FUNIT_TWIP);
++        aCharWidthMF.SetValue(aCharWidthMF.Normalize(rGridItem.GetBaseWidth()), FUNIT_TWIP);
+         aRubyBelowCB.Check(rGridItem.IsRubyTextBelow());
+         aDisplayCB.Check(rGridItem.IsDisplayGrid());
+         aPrintCB.Check(rGridItem.IsPrintGrid());
+@@ -239,10 +290,12 @@ void    SwTextGridPage::Reset(const SfxI
+ 
+     aNoGridRB.SaveValue();
+     aLinesGridRB.SaveValue();
++    aSnapToCharsCB.SaveValue();
+     aLinesPerPageNF.SaveValue();
+     aTextSizeMF.SaveValue();
+-    aCharsPerLineNF.SaveValue();
++	aCharsPerLineNF.SaveValue();
+     aRubySizeMF.SaveValue();
++    aCharWidthMF.SaveValue();
+     aRubyBelowCB.SaveValue();
+     aDisplayCB.SaveValue();
+     aPrintCB.SaveValue();
+@@ -275,12 +328,15 @@ void SwTextGridPage::PutGridItem(SfxItem
+         SwTextGridItem aGridItem;
+         aGridItem.SetGridType(aNoGridRB.IsChecked() ? GRID_NONE :
+             aLinesGridRB.IsChecked() ? GRID_LINES_ONLY : GRID_LINES_CHARS );
++        aGridItem.SetSnapToChars(aSnapToCharsCB.IsChecked());
+         aGridItem.SetLines( static_cast< sal_uInt16 >(aLinesPerPageNF.GetValue()) );
+         aGridItem.SetBaseHeight( static_cast< sal_uInt16 >(
+             m_bRubyUserValue ? m_nRubyUserValue :
+                 aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP))) );
+         aGridItem.SetRubyHeight( static_cast< sal_uInt16 >(aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))) );
++        aGridItem.SetBaseWidth(aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP)));
+         aGridItem.SetRubyTextBelow(aRubyBelowCB.IsChecked());
++        aGridItem.SetSquaredMode(m_bSquaredMode);
+         aGridItem.SetDisplayGrid(aDisplayCB.IsChecked());
+         aGridItem.SetPrintGrid(aPrintCB.IsChecked());
+         aGridItem.SetColor(aColorLB.GetSelectEntryColor());
+@@ -292,7 +348,7 @@ void SwTextGridPage::PutGridItem(SfxItem
+ void SwTextGridPage::UpdatePageSize(const SfxItemSet& rSet)
+ {
+     if( SFX_ITEM_UNKNOWN !=  rSet.GetItemState( RES_FRAMEDIR, TRUE ))
+-	{
++    {
+         const SvxFrameDirectionItem& rDirItem =
+                     (const SvxFrameDirectionItem&)rSet.Get(RES_FRAMEDIR);
+         m_bVertical = rDirItem.GetValue() == FRMDIR_VERT_TOP_RIGHT||
+@@ -305,13 +361,16 @@ void SwTextGridPage::UpdatePageSize(cons
+                                             SID_ATTR_PAGE_SIZE);
+         const SvxLRSpaceItem& rLRSpace = (const SvxLRSpaceItem&)rSet.Get(
+                                                             RES_LR_SPACE );
++        const SvxULSpaceItem& rULSpace = (const SvxULSpaceItem&)rSet.Get(
++                                                            RES_UL_SPACE );                                                    
+         const SvxBoxItem& rBox = (const SvxBoxItem&) rSet.Get(RES_BOX);
+-        sal_Int32 nDistance = rLRSpace.GetLeft() + rLRSpace.GetRight();
++        sal_Int32 nDistanceLR = rLRSpace.GetLeft() + rLRSpace.GetRight();
++        sal_Int32 nDistanceUL = rULSpace.GetUpper() + rULSpace.GetLower();
+ 
+-        sal_Int32 nValue1 = rSize.GetSize().Height() - nDistance -
++        sal_Int32 nValue1 = rSize.GetSize().Height() - nDistanceUL -
+                 rBox.GetDistance(BOX_LINE_TOP) -
+                                     rBox.GetDistance(BOX_LINE_BOTTOM);
+-        sal_Int32 nValue2 = rSize.GetSize().Width() - nDistance -
++        sal_Int32 nValue2 = rSize.GetSize().Width() - nDistanceLR -
+                 rBox.GetDistance(BOX_LINE_LEFT) -
+                                     rBox.GetDistance(BOX_LINE_RIGHT);
+         if(m_bVertical)
+@@ -328,7 +387,20 @@ void SwTextGridPage::UpdatePageSize(cons
+         sal_Int32 nTextSize = static_cast< sal_Int32 >(m_bRubyUserValue ?
+                     m_nRubyUserValue :
+                         aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) );
+-        aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextSize);
++        
++        if ( m_bSquaredMode )
++        {
++            aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextSize);
++        }
++        else
++        {
++            sal_Int32 nTextWidth = aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP));
++            aLinesPerPageNF.SetValue(m_aPageSize.Height() / nTextSize);
++            if (nTextWidth)
++                aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextWidth); 
++            else
++                aCharsPerLineNF.SetValue( 45 );
++        }
+     }
+ }
+ /* -----------------------------06.02.2002 15:24------------------------------
+@@ -344,21 +416,86 @@ USHORT* SwTextGridPage::GetRanges()
+ /* -----------------------------08.02.2002 10:56------------------------------
+ 
+  ---------------------------------------------------------------------------*/
+-IMPL_LINK(SwTextGridPage, CharSizeChangedHdl, SpinField*, pField)
++IMPL_LINK(SwTextGridPage, CharorLineChangedHdl, SpinField*, pField)
+ {
+-    if(&aCharsPerLineNF == pField)
++    //if in squared mode
++    if ( m_bSquaredMode )
+     {
+-        long nWidth = m_aPageSize.Width() / static_cast< long >(aCharsPerLineNF.GetValue());
+-        aTextSizeMF.SetValue(aTextSizeMF.Normalize(nWidth), FUNIT_TWIP);
+-        //prevent rounding errors in the MetricField by saving the used value
+-        m_nRubyUserValue = nWidth;
+-        m_bRubyUserValue = sal_True;
++        if(&aCharsPerLineNF == pField)
++        {
++            long nWidth = m_aPageSize.Width() / static_cast< long >(aCharsPerLineNF.GetValue());
++            aTextSizeMF.SetValue(aTextSizeMF.Normalize(nWidth), FUNIT_TWIP);
++            //prevent rounding errors in the MetricField by saving the used value
++            m_nRubyUserValue = nWidth;
++            m_bRubyUserValue = sal_True;
++            
++			//set maximum line per page
++            {
++                sal_Int32 nMaxLines = m_aPageSize.Height() /
++                    (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
++                        aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP)));
++                aLinesPerPageNF.SetMax(nMaxLines);
++            }
++        }
++    }
++    else//in normal mode
++    {
++        if(&aLinesPerPageNF == pField)
++        {
++            long nHeight = m_aPageSize.Height() / aLinesPerPageNF.GetValue();
++            aTextSizeMF.SetValue(aTextSizeMF.Normalize(nHeight), FUNIT_TWIP);
++            aRubySizeMF.SetValue(0, FUNIT_TWIP);
++            
++            m_nRubyUserValue = nHeight;
++            m_bRubyUserValue = sal_True;
++        }
++        else if (&aCharsPerLineNF == pField)
++        {
++            long nWidth = m_aPageSize.Width() / aCharsPerLineNF.GetValue();
++            aCharWidthMF.SetValue(aCharWidthMF.Normalize(nWidth), FUNIT_TWIP);
++        }
++    }
++    GridModifyHdl(0);
++    return 0;
++}
++/* -----------------------------04.09.2006 15:46------------------------------
++ ---------------------------------------------------------------------------*/
++IMPL_LINK(SwTextGridPage, TextSizeChangedHdl, SpinField*, pField)
++{
++    //if in squared mode
++    if( m_bSquaredMode )
++    {
++        if (&aTextSizeMF == pField)
++        {
++            sal_Int32 nTextSize = aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP));
++            aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextSize);
++            m_bRubyUserValue = sal_False;
++        }
++		//set maximum line per page
++        {
++            sal_Int32 nMaxLines = m_aPageSize.Height() /
++                (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
++                    aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP)));
++            aLinesPerPageNF.SetMax(nMaxLines);
++        }
+     }
+     else
+     {
+-        sal_Int32 nTextSize = static_cast< sal_Int32 >(aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)));
+-        aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextSize);
+-        m_bRubyUserValue = sal_False;
++        if (&aTextSizeMF == pField)
++        {
++            sal_Int32 nTextSize = static_cast< sal_Int32 >(aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)));
++            aLinesPerPageNF.SetValue(m_aPageSize.Height() / nTextSize);
++            m_bRubyUserValue = sal_False;
++        }
++        else if (&aCharWidthMF == pField)
++        {
++            sal_Int32 nTextWidth = static_cast< sal_Int32 >(aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP)));
++            if (nTextWidth)
++                aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextWidth); 
++            else
++                aCharsPerLineNF.SetValue( 45 );
++        }
++        //rubySize is disabled
+     }
+     GridModifyHdl(0);
+     return 0;
+@@ -375,7 +512,19 @@ IMPL_LINK(SwTextGridPage, GridTypeHdl, R
+     //one special case
+     if(bEnable)
+         DisplayGridHdl(&aDisplayCB);
+-
++	
++	bEnable = &aCharsGridRB == pButton;
++	aSnapToCharsCB.Enable(bEnable);
++	
++	bEnable = &aLinesGridRB == pButton;
++	if(bEnable && !m_bSquaredMode )
++	{
++		aCharsPerLineFT.Enable(sal_False);
++		aCharsPerLineNF.Enable(sal_False);
++		aCharWidthFT.Enable(sal_False);
++		aCharWidthMF.Enable(sal_False);
++	}
++	
+     GridModifyHdl(0);
+     return 0;
+ }
+@@ -392,11 +541,6 @@ IMPL_LINK(SwTextGridPage, DisplayGridHdl
+  ---------------------------------------------------------------------------*/
+ IMPL_LINK(SwTextGridPage, GridModifyHdl, void*, EMPTYARG)
+ {
+-    //set maximum for Lines per page
+-    sal_Int32 nMaxLines = static_cast< sal_Int32 >(m_aPageSize.Height() /
+-                (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
+-                    aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))) );
+-    aLinesPerPageNF.SetMax(nMaxLines);
+     const SfxItemSet& rOldSet = GetItemSet();
+     SfxItemSet aSet(rOldSet);
+     const SfxItemSet* pExSet = GetTabDialog()->GetExampleSet();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]