You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ms...@apache.org on 2023/02/28 13:18:44 UTC

[openoffice] 02/03: #i126753# fix invalid parse of GSUB table for OpenType fonts

This is an automated email from the ASF dual-hosted git repository.

mseidel pushed a commit to branch AOO41X
in repository https://gitbox.apache.org/repos/asf/openoffice.git

commit d61abae7b9c5f1d9d7773fdd3990a1027142cff0
Author: Tsutomu Uchino <ha...@apache.org>
AuthorDate: Fri Dec 25 13:29:02 2015 +0000

    #i126753# fix invalid parse of GSUB table for OpenType fonts
    
    git-svn-id: https://svn.apache.org/repos/asf/openoffice/trunk@1721674 13f79535-47bb-0310-9956-ffa450edef68
    (cherry picked from commit b784edbfa8dce4c0dc079dfcc69b640739b6e9e9)
---
 main/vcl/source/glyphs/gcach_ftyp.cxx | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/main/vcl/source/glyphs/gcach_ftyp.cxx b/main/vcl/source/glyphs/gcach_ftyp.cxx
index 06f7cb7a1b..7f9ceb8716 100644
--- a/main/vcl/source/glyphs/gcach_ftyp.cxx
+++ b/main/vcl/source/glyphs/gcach_ftyp.cxx
@@ -721,8 +721,8 @@ FreetypeServerFont::FreetypeServerFont( const ImplFontSelectData& rFSD, FtFontIn
     maFaceFT = pFI->GetFaceFT();
 
 #ifdef HDU_DEBUG
-    fprintf( stderr, "FTSF::FTSF(\"%s\", h=%d, w=%d, sy=%d) => %d\n",
-        pFI->GetFontFileName()->getStr(), rFSD.mnHeight, rFSD.mnWidth, pFI->IsSymbolFont(), maFaceFT!=0 );
+    fprintf( stderr, "FTSF::FTSF(\"%s\", h=%d, w=%d, vt=%d, sy=%d) => %d\n",
+        pFI->GetFontFileName()->getStr(), rFSD.mnHeight, rFSD.mnWidth, rFSD.mbVertical, pFI->IsSymbolFont(), maFaceFT!=0 );
 #endif
 
     if( !maFaceFT )
@@ -2478,6 +2478,7 @@ bool FreetypeServerFont::ApplyGSUB( const ImplFontSelectData& rFSD )
         }
 
         const FT_Byte* pFeatureTable = pGsubBase + nOfsFeatureTable + nOffset;
+        pFeatureTable += 2; // ignore FeatureParams
         const sal_uInt16 nCntLookups = GetUShort( pFeatureTable+0 );
         pFeatureTable += 2;
         for( sal_uInt16 i = 0; i < nCntLookups; ++i )