Author: hdu
Date: Tue Jan 28 12:41:54 2014
New Revision: 1562051

URL: http://svn.apache.org/r1562051
Log:
#i124121# emulate oblique/italic for CoreText fonts without such styles

Modified:
    openoffice/trunk/main/vcl/aqua/source/gdi/ctfonts.cxx

Modified: openoffice/trunk/main/vcl/aqua/source/gdi/ctfonts.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/gdi/ctfonts.cxx?rev=1562051&r1=1562050&r2=1562051&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/gdi/ctfonts.cxx (original)
+++ openoffice/trunk/main/vcl/aqua/source/gdi/ctfonts.cxx Tue Jan 28 12:41:54 
2014
@@ -109,6 +109,16 @@ CTTextStyle::CTTextStyle( const ImplFont
                pMatrix = &aMatrix;
        }
 
+       // handle emulation of italic/oblique styles if requested and the font 
doesn't provide them
+       if( ((pReqFont->meItalic == ITALIC_NORMAL) || (pReqFont->meItalic == 
ITALIC_OBLIQUE))
+       && (mpFontData->meItalic != ITALIC_NORMAL)
+       && (mpFontData->meItalic != ITALIC_OBLIQUE))
+       {
+               if( !pMatrix)
+                       pMatrix = &(aMatrix = CGAffineTransformIdentity);
+               aMatrix = CGAffineTransformConcat(aMatrix, 
CGAffineTransformMake( 1, 0, 0.375F, 1, 0, 0));
+       }
+
        // create the style object for CoreText font attributes
        static const CFIndex nMaxDictSize = 16; // TODO: does this really 
suffice?
        mpStyleDict = CFDictionaryCreateMutable( NULL, nMaxDictSize,


Reply via email to