[ooo-build-commit] Branch 'ooo/master' - sw/source

Jan Holesovsky kendy at kemper.freedesktop.org
Mon Aug 17 20:03:03 PDT 2009


 sw/source/core/bastyp/breakit.cxx   |   13 +++++++++++++
 sw/source/core/text/itrform2.cxx    |    5 +++++
 sw/source/core/text/makefile.mk     |    3 +++
 sw/source/core/text/porlay.cxx      |   25 +++++++++++++++++++++----
 sw/source/core/txtnode/fntcache.cxx |    1 +
 5 files changed, 43 insertions(+), 4 deletions(-)

New commits:
commit 4d47fa0e9f354171a883b00b5d09aa22e1573a83
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Mon Aug 17 14:12:14 2009 +0000

    CWS-TOOLING: integrate CWS graphite01
    2009-08-06 11:09:01 +0200 hdu  r274708 : #i10000# fix build breaker for SYSTEM_GRAPHITE=NO
    2009-07-21 12:01:52 +0200 hdu  r274174 : #i93645# fix include files for EXT_USE_STLPORT
    2009-07-21 11:51:07 +0200 hdu  r274173 : #i93645# convert line-endings of files to be patched
    2009-07-21 10:49:01 +0200 hdu  r274170 : #i93645# adjust makefile.vc8 for HH-RelEng env (thanks ause)
    2009-07-20 05:21:32 +0200 kstribley  r274105 : attempt to fix Windows build error caused by NULL variable in nmake file
    2009-07-16 10:22:36 +0200 hdu  r274032 : #i69129# also use solar minor version to find graphite lib
    2009-07-16 05:36:06 +0200 kstribley  r274029 : allow windows build to have Graphite disabled with SAL_DISABLE_GRAPHITE
    2009-07-15 13:59:22 +0200 hdu  r274011 : #i69129# default to ENABLE_GRAPHITE=TRUE
    2009-07-15 13:19:54 +0200 hdu  r274008 : #i93645# ignore compile warnings for graphite
    2009-07-15 13:18:25 +0200 hdu  r274006 : #i93645# stlport needs libmath, use solar minor version to find matching libs
    2009-07-15 09:21:13 +0200 hdu  r273989 : #i100000# avoid compile warning
    2009-07-14 12:19:08 +0200 hdu  r273963 : CWS-TOOLING: rebase CWS graphite01 to trunk at 273858 (milestone: DEV300:m52)
    2009-07-13 06:54:56 +0200 kstribley  r273912 : change to use standard file headers
    2009-07-13 05:39:14 +0200 kstribley  r273911 : Remove unnecessary change to configure.in as reported by Rene
    2009-07-10 16:58:44 +0200 hdu  r273902 : #i100000# fix compile for precompiled-header support
    2009-07-02 13:48:26 +0200 kstribley  r273647 : #69129# fix a graphite bug which could crash with fonts containing obscure GDL positioning rules
    2009-07-02 01:44:02 +0200 rene  r273616 : #i10000# we need to link with -licuuc
    2009-07-01 04:02:20 +0200 kstribley  r273540 : restore missing sdf files from base
    2009-07-01 04:01:40 +0200 kstribley  r273539 : restore missing sdf files from base
    2009-07-01 04:01:12 +0200 kstribley  r273538 : restore missing sdf files from base
    2009-07-01 03:59:41 +0200 kstribley  r273537 : restore missing sdf files from base
    2009-06-29 10:16:51 +0200 kstribley  r273456 : #i69129# fixes a bug which caused occasional incorrect linebreaking when graphite is asked to render a part of a cluster not containing a base
    2009-06-27 10:43:58 +0200 kstribley  r273445 : #i69129# added kashida support for justified RTL text
    2009-06-01 12:57:06 +0200 kstribley  r272476 : CWS-TOOLING: rebase CWS graphite01 to trunk at 272291 (milestone: DEV300:m49)
    2009-05-26 10:50:06 +0200 kstribley  r272286 : #i69129# fixes a build error when NDEBUG is not defined
    2009-05-25 13:14:06 +0200 kstribley  r272237 : #i69129# enable debugging by fixing compile warnings
    2009-05-25 13:07:47 +0200 kstribley  r272234 : #i69129#  added env variable to disable GRAPHITE at run time on linux and fixed a bug with a rare attachment sequence
    2009-04-20 17:39:25 +0200 kstribley  r271001 : CWS-TOOLING: rebase CWS graphite01 to trunk at 270723 (milestone: DEV300:m46)
    2009-04-18 07:11:33 +0200 kstribley  r270957 : #i101178# attempt to fix buildbot builds by reordering configure.in
    2009-04-14 17:37:07 +0200 kstribley  r270801 : #i93645# tweak configure to enable graphite by default on windows and linux to assist testing with tinderbox build
    2009-04-14 16:33:17 +0200 kstribley  r270796 : #i96925# another fix for rtl fallback and add optional debug info in MultiSalLayout
    2009-04-08 13:27:55 +0200 kstribley  r270641 : #i69129# fix features after a bad merge
    2009-04-08 13:26:34 +0200 kstribley  r270640 : #i69129# add a patch for WinFont
    2009-03-24 12:37:54 +0100 kstribley  r269937 : #i69129# fix build error due to locale being included in method for features
    2009-03-24 12:36:10 +0100 kstribley  r269936 : #i93645# change patch variable and fix configure
    2009-03-20 04:18:56 +0100 kstribley  r269776 : CWS-TOOLING: rebase CWS graphite01 to trunk at 269297 (milestone: DEV300:m43)
    2009-03-01 13:10:59 +0100 kstribley  r268622 : added a patch to improve handling of a font with bad graphite language feature tables #i93645#
    2009-02-12 04:50:51 +0100 kstribley  r267631 : #i93645# fix windows build for graphite 2.3.1 and remove unnecessary patch
    2009-02-10 04:48:50 +0100 kstribley  r267535 : #i93645# fix a build error with stlport on Ubuntu 8.10 x86
    2009-02-10 03:51:10 +0100 kstribley  r267534 : #i69129# remove legacy config_office
    2009-02-07 19:12:54 +0100 kstribley  r267482 : #i93645# upgrade to using silgraphite-2.3.1
    2009-02-02 18:17:57 +0100 kstribley  r267290 : #i69129# backout unwanted checkin
    2009-02-02 17:44:03 +0100 kstribley  r267281 : #i69129# backout erroneous update to aclocal.m4
    2009-02-01 10:05:03 +0100 kstribley  r267236 : #i69129# fix build error due to locale being added to set font attributes
    2009-02-01 06:02:52 +0100 kstribley  r267235 : #i69129# fix erroneous merge
    2009-01-31 16:24:56 +0100 kstribley  r267234 : #i69129# update configure.in solenv.in in their new locations with enable graphite
    2009-01-31 10:53:18 +0100 kstribley  r267232 : CWS-TOOLING: rebase CWS graphite01 to trunk at 267171 (milestone: DEV300:m41)
    2008-12-17 04:17:33 +0100 kstribley  r265577 : #i93645# remove superfluous autoreconf check and autoconf patch
    2008-12-16 10:07:20 +0100 rene  r265529 : fix aclocal.m4 breakage
    2008-12-16 05:13:29 +0100 kstribley  r265520 : #i93645# change to autoconf && configure
    2008-12-16 04:39:48 +0100 kstribley  r265519 : #i93645# modified LD_FLAGS so that system graphite isn't pulled in by accident and fixed autoconf problem
    2008-12-15 14:16:25 +0100 rene  r265497 : check for working STL
    2008-12-15 12:53:39 +0100 rene  r265473 : revert broken check
    2008-12-15 11:59:21 +0100 kstribley  r265472 : #i93645# added check for system STL, since this is a requirement for system graphite to work correctly and moved the position of the check further down
    2008-12-15 11:55:34 +0100 kstribley  r265471 : #i93645# remove references to gr3ooo to allow system graphite to be used
    2008-12-12 18:48:18 +0100 rene  r265437 : fix link for system-graphite
    2008-12-12 18:46:45 +0100 rene  r265436 : the tarball is in graphite, remove obsolete check
    2008-12-12 18:22:22 +0100 rene  r265433 : typo; re-autoconf
    2008-12-12 17:35:26 +0100 rene  r265432 : actually implement SYSTEM_GRAPHIT checks (as already checked for in makefile.mks) but remove the checks in graphit itself and move to BUILD_TYPE
    2008-12-12 08:08:33 +0100 kstribley  r265387 : #i69129# 2 of the patched files need windows line endings so patch works on linux as well as windows
    2008-12-12 08:04:41 +0100 kstribley  r265386 : #i69129# rtl fallback fix which prevents caching of segments with fallback
    2008-12-08 04:28:12 +0100 kstribley  r264969 : results of running autoconf with graphite config changes #i69129#
    2008-12-05 08:12:47 +0100 kstribley  r264886 : backout unintential change at r264884
    2008-12-05 06:26:33 +0100 kstribley  r264884 : #i96925# fixes for uniscribe fallback
    2008-12-05 06:11:37 +0100 kstribley  r264883 : #i69129# improvements to windows graphite code, including caching of sila table lookup
    2008-12-02 13:28:51 +0100 kstribley  r264694 : #i93645# add graphite library and append to patch
    2008-11-27 06:47:10 +0100 kstribley  r264445 : #69129# fix rtl loop bug and rtl caching problem
    2008-11-27 06:42:20 +0100 kstribley  r264444 : add caching for GraphiteFontAdaptor
    2008-11-14 15:57:03 +0100 kstribley  r263681 : #69129# add graphite addtional files from cvs
    2008-11-14 15:54:47 +0100 kstribley  r263680 : #69129# fix for modified resolution api
    2008-11-13 16:24:09 +0100 kstribley  r263652 : #69129# add skeleton to build graphite module library
    2008-11-13 16:22:19 +0100 kstribley  r263651 : #69129# add skeleton to build graphite module library
    2008-11-13 16:16:10 +0100 kstribley  r263650 : #69129# migrate from cvs
    2008-11-13 15:26:54 +0100 kstribley  r263646 : #69129# add a module for the graphite library

diff --git a/sw/source/core/bastyp/breakit.cxx b/sw/source/core/bastyp/breakit.cxx
index f463c81..1dd1616 100644
--- a/sw/source/core/bastyp/breakit.cxx
+++ b/sw/source/core/bastyp/breakit.cxx
@@ -32,6 +32,7 @@
 #include "precompiled_sw.hxx"
 
 #include "breakit.hxx"
+#include <unicode/uchar.h>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #ifndef _COM_SUN_STAR_I18N_SCRIPTTYPE_HDL_
 #include <com/sun/star/i18n/ScriptType.hdl>
@@ -119,6 +120,18 @@ USHORT SwBreakIt::GetRealScriptOfText( const String& rTxt,
             --nPos;
         nScript = xBreak->getScriptType( rTxt, nPos );
         sal_Int32 nChgPos = 0;
+        if ( i18n::ScriptType::WEAK == nScript && nPos + 1 < rTxt.Len() )
+        {
+            // A weak character followed by a mark may be meant to combine with
+            // the mark, so prefer the following character's script
+            switch ( u_charType(rTxt.GetChar(nPos + 1) ) ) {
+            case U_NON_SPACING_MARK:
+            case U_ENCLOSING_MARK:
+            case U_COMBINING_SPACING_MARK:
+                nScript = xBreak->getScriptType( rTxt, nPos+1 );
+                break;
+            }
+        }
         if( i18n::ScriptType::WEAK == nScript && nPos &&
             0 < (nChgPos = xBreak->beginOfScript( rTxt, nPos, nScript )) )
             nScript = xBreak->getScriptType( rTxt, nChgPos-1 );
diff --git a/sw/source/core/text/itrform2.cxx b/sw/source/core/text/itrform2.cxx
index d9d6934..2aa65f2 100644
--- a/sw/source/core/text/itrform2.cxx
+++ b/sw/source/core/text/itrform2.cxx
@@ -1973,6 +1973,7 @@ long SwTxtFormatter::CalcOptRepaint( xub_StrLen nOldLineEnd,
         nReformat -= 2;
 
 #ifndef QUARTZ
+#ifndef ENABLE_GRAPHITE
         // --> FME 2004-09-27 #i28795#, #i34607#, #i38388#
         // step back six(!) more characters for complex scripts
         // this is required e.g., for Khmer (thank you, Javier!)
@@ -1981,6 +1982,10 @@ long SwTxtFormatter::CalcOptRepaint( xub_StrLen nOldLineEnd,
         if( ::i18n::ScriptType::COMPLEX == rSI.ScriptType( nReformat ) )
             nMaxContext = 6;
 #else
+        // Some Graphite fonts need context for scripts not marked as complex
+        static const xub_StrLen nMaxContext = 10;
+#endif
+#else
         // some fonts like Quartz's Zapfino need more context
         // TODO: query FontInfo for maximum unicode context
         static const xub_StrLen nMaxContext = 8;
diff --git a/sw/source/core/text/makefile.mk b/sw/source/core/text/makefile.mk
index 5cb00b9..fbc0000 100644
--- a/sw/source/core/text/makefile.mk
+++ b/sw/source/core/text/makefile.mk
@@ -45,6 +45,9 @@ AUTOSEG=true
 CDEFS+=-Dmydebug
 .ENDIF
 
+.IF "$(ENABLE_GRAPHITE)" == "TRUE"
+CFLAGS+=-DENABLE_GRAPHITE
+.ENDIF
 # --- Files --------------------------------------------------------
 
 .IF "$(product)$(cap)" == ""
diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx
index b8d3de0..7b42802 100644
--- a/sw/source/core/text/porlay.cxx
+++ b/sw/source/core/text/porlay.cxx
@@ -6,9 +6,6 @@
  *
  * OpenOffice.org - a multi-platform office productivity suite
  *
- * $RCSfile: porlay.cxx,v $
- * $Revision: 1.67.190.1 $
- *
  * This file is part of OpenOffice.org.
  *
  * OpenOffice.org is free software: you can redistribute it and/or modify
@@ -45,6 +42,7 @@
 #include <porrst.hxx>		// SwHangingPortion
 #include <pormulti.hxx> 	// SwMultiPortion
 #include <breakit.hxx>
+#include <unicode/uchar.h>
 #include <com/sun/star/i18n/ScriptType.hdl>
 #include <com/sun/star/i18n/CTLScriptType.hdl>
 #include <com/sun/star/i18n/WordType.hdl>
@@ -1030,7 +1028,26 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
         }
         // <--
 
-        aScriptChg.Insert( nChg, nCnt );
+        // special case for dotted circle since it can be used with complex
+        // before a mark, so we want it associated with the mark's script
+        if (nChg < rTxt.Len() && nChg > 0 && (i18n::ScriptType::WEAK ==
+            pBreakIt->xBreak->getScriptType(rTxt,nChg - 1)))
+        {
+            int8_t nType = u_charType(rTxt.GetChar(nChg) );
+            if (nType == U_NON_SPACING_MARK || nType == U_ENCLOSING_MARK ||
+                nType == U_COMBINING_SPACING_MARK )
+            {
+                aScriptChg.Insert( nChg - 1, nCnt );
+            }
+            else
+            {
+                aScriptChg.Insert( nChg, nCnt );
+            }
+        }
+        else
+        {
+            aScriptChg.Insert( nChg, nCnt );
+        }
         aScriptType.Insert( nScript, nCnt++ );
 
         // if current script is asian, we search for compressable characters
diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx
index 1e47e16..138109d 100644
--- a/sw/source/core/txtnode/fntcache.cxx
+++ b/sw/source/core/txtnode/fntcache.cxx
@@ -152,6 +152,7 @@ SwFntObj::SwFntObj( const SwSubFont &rFont, const void *pOwn, ViewShell *pSh ) :
                  || UNDERLINE_NONE != aFont.GetOverline()
                  || STRIKEOUT_NONE != aFont.GetStrikeout() )
                  && !aFont.IsWordLineMode();
+    aFont.SetLanguage(rFont.GetLanguage());
 }
 
 SwFntObj::~SwFntObj()


More information about the ooo-build-commit mailing list