openoffice-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From h..@apache.org
Subject svn commit: r1562059 - /openoffice/trunk/main/vcl/aqua/source/gdi/ctfonts.cxx
Date Tue, 28 Jan 2014 13:12:22 GMT
Author: hdu
Date: Tue Jan 28 13:12:22 2014
New Revision: 1562059

URL: http://svn.apache.org/r1562059
Log:
#i124122# emulate bold font weights for CoreText if needed

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=1562059&r1=1562058&r2=1562059&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/gdi/ctfonts.cxx (original)
+++ openoffice/trunk/main/vcl/aqua/source/gdi/ctfonts.cxx Tue Jan 28 13:12:22 2014
@@ -141,6 +141,16 @@ CTTextStyle::CTTextStyle( const ImplFont
 	CFDictionarySetValue( mpStyleDict, kCTFontAttributeName, pNewCTFont );
 	CFRelease( pNewCTFont);
 
+	// handle emulation of bold styles if requested and the font that doesn't provide them
+	if( (pReqFont->meWeight > WEIGHT_MEDIUM)
+	&&  (mpFontData->meWeight <= WEIGHT_MEDIUM)
+	&&  (mpFontData->meWeight != WEIGHT_DONTKNOW))
+	{
+		const int nBoldFactor = -lrint( (3.5F * pReqFont->meWeight) / mpFontData->meWeight);
+		CFNumberRef pCFIntBold = CFNumberCreate( NULL, kCFNumberIntType, &nBoldFactor);
+		CFDictionarySetValue( mpStyleDict, kCTStrokeWidthAttributeName, pCFIntBold);
+	}
+
 #if 0 // LastResort is implicit in CoreText's font cascading
 	const void* aGFBDescriptors[] = { CTFontDescriptorCreateWithNameAndSize( CFSTR("LastResort"),
0) }; // TODO: use the full GFB list
 	const int nGfbCount = sizeof(aGFBDescriptors) / sizeof(*aGFBDescriptors);



Mime
View raw message