[Libreoffice-commits] core.git: Branch 'aoo/trunk' - 2 commits - curl/curl-7.19.7_win.patch vcl/source vcl/win

Oliver-Rainer Wittmann orw at apache.org
Tue Aug 6 07:07:50 PDT 2013


 curl/curl-7.19.7_win.patch       |   38 +++++++++++++++++++-------------------
 vcl/source/gdi/sallayout.cxx     |    7 -------
 vcl/win/source/gdi/winlayout.cxx |   11 ++++++++++-
 3 files changed, 29 insertions(+), 27 deletions(-)

New commits:
commit c54284e73d919859188eaafac797c99c2a36e97a
Author: Oliver-Rainer Wittmann <orw at apache.org>
Date:   Tue Aug 6 13:29:30 2013 +0000

    122938: another adjustment to get 'patch' working

diff --git a/curl/curl-7.19.7_win.patch b/curl/curl-7.19.7_win.patch
index bc59433..3f08fd2 100644
--- a/curl/curl-7.19.7_win.patch
+++ b/curl/curl-7.19.7_win.patch
@@ -1,19 +1,19 @@
---- misc/curl-7.19.7/lib/Makefile.vc9	2009-11-04 13:35:39.000000000 +0100
-+++ misc/build/curl-7.19.7/lib/Makefile.vc9	2009-11-18 12:32:57.234375000 +0100
-@@ -46,13 +46,13 @@
- # Stem for static libs and DLLs
- #
- LIB_NAME       = libcurl
--LIB_NAME_DEBUG = libcurld
-+LIB_NAME_DEBUG = libcurl
- 
- #
- # Stem for DLL import libs
- #
--IMPLIB_NAME       = libcurl_imp
--IMPLIB_NAME_DEBUG = libcurld_imp
-+IMPLIB_NAME       = libcurl
-+IMPLIB_NAME_DEBUG = libcurl
- 
- !IFNDEF OPENSSL_PATH
- OPENSSL_PATH   = ../../openssl-0.9.8g
+--- misc/curl-7.19.7/lib/Makefile.vc9	2009-11-04 13:35:39.000000000 +0100
++++ misc/build/curl-7.19.7/lib/Makefile.vc9	2009-11-18 12:32:57.234375000 +0100
+@@ -46,13 +46,13 @@
+ # Stem for static libs and DLLs
+ #
+ LIB_NAME       = libcurl
+-LIB_NAME_DEBUG = libcurld
++LIB_NAME_DEBUG = libcurl
+ 
+ #
+ # Stem for DLL import libs
+ #
+-IMPLIB_NAME       = libcurl_imp
+-IMPLIB_NAME_DEBUG = libcurld_imp
++IMPLIB_NAME       = libcurl
++IMPLIB_NAME_DEBUG = libcurl
+ 
+ !IFNDEF OPENSSL_PATH
+ OPENSSL_PATH   = ../../openssl-0.9.8g
commit 576e4ea626e1c1ffcf9d025e692db62fed8c3cab
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Aug 6 13:14:19 2013 +0000

    #i122948# fill gaps in glyphs->chars mapping for usp10-layouts
    
    using a heuristic that assumes a glyph with unknown char mapping
    is the continuation of the preceding glyph. If there is no known
    preceding mapping use the run bounds.

diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx
index b858517..18fef6e 100644
--- a/vcl/source/gdi/sallayout.cxx
+++ b/vcl/source/gdi/sallayout.cxx
@@ -1869,12 +1869,7 @@ void MultiSalLayout::AdjustLayout( ImplLayoutArgs& rArgs )
     for( n = 0; n < nLevel; ++n )
         maFallbackRuns[n].ResetPos();
     // get the next codepoint index that needs fallback
-    // and limit it to the minindex..endindex bounds
     int nActiveCharPos = nCharPos[0];
-    if( nActiveCharPos < mnMinCharPos)
-        nActiveCharPos = mnMinCharPos;
-    else if( nActiveCharPos >= rArgs.mnEndCharPos )
-        nActiveCharPos = rArgs.mnEndCharPos - 1;
     // get the end index of the active run
     int nLastRunEndChar = (vRtl[nActiveCharPos - mnMinCharPos])?
         rArgs.mnEndCharPos : rArgs.mnMinCharPos - 1;
@@ -2083,8 +2078,6 @@ void MultiSalLayout::AdjustLayout( ImplLayoutArgs& rArgs )
                 }
             }
         }
-//            if( !maFallbackRuns[i].PosIsInRun( nActiveCharPos ) )
-//                maFallbackRuns[i].NextRun();
     }
 
     mpLayouts[0]->Simplify( true );
diff --git a/vcl/win/source/gdi/winlayout.cxx b/vcl/win/source/gdi/winlayout.cxx
index 2447672..495fc3f 100644
--- a/vcl/win/source/gdi/winlayout.cxx
+++ b/vcl/win/source/gdi/winlayout.cxx
@@ -1850,8 +1850,9 @@ int UniscribeLayout::GetNextGlyphs( int nLen, sal_GlyphId* pGlyphs, Point& rPos,
     {
         // create and reset the new array
         mpGlyphs2Chars = new int[ mnGlyphCapacity ];
+        static const int CHARPOS_NONE = -1;
         for( int i = 0; i < mnGlyphCount; ++i )
-            mpGlyphs2Chars[i] = -1;
+            mpGlyphs2Chars[i] = CHARPOS_NONE;
         // calculate the char->glyph mapping
         for( nItem = 0; nItem < mnItemCount; ++nItem )
         {
@@ -1867,6 +1868,14 @@ int UniscribeLayout::GetNextGlyphs( int nLen, sal_GlyphId* pGlyphs, Point& rPos,
                 int i = mpLogClusters[c] + rVI.mnMinGlyphPos;
                 mpGlyphs2Chars[i] = c;
             }
+            // use a heuristic to fill the gaps in the glyphs2chars array
+            c = !rVI.IsRTL() ? rVI.mnMinCharPos : rVI.mnEndCharPos - 1;
+            for( int i = rVI.mnMinGlyphPos; i < rVI.mnEndGlyphPos; ++i ) {
+                if( mpGlyphs2Chars[i] == CHARPOS_NONE )
+                    mpGlyphs2Chars[i] = c;
+                else
+                    c = mpGlyphs2Chars[i];
+            }
         }
     }
 


More information about the Libreoffice-commits mailing list