summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorhdu <duerr@sun.com>2009-09-21 16:25:31 +0200
committerhdu <duerr@sun.com>2009-09-21 16:25:31 +0200
commitf894d7f3120515731dd17a0e19dbdc3117d44057 (patch)
treee16a02da942649b110ab5ee485ea90736678bdf5 /vcl
parentd7ff257a75a885d6815540009bef772564455434 (diff)
#i105240# bitmap fonts are neither subsettable nor embeddable
Diffstat (limited to 'vcl')
-rw-r--r--vcl/aqua/source/gdi/salatsuifontutils.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/vcl/aqua/source/gdi/salatsuifontutils.cxx b/vcl/aqua/source/gdi/salatsuifontutils.cxx
index 8e38981a3c7c..23755ae2f571 100644
--- a/vcl/aqua/source/gdi/salatsuifontutils.cxx
+++ b/vcl/aqua/source/gdi/salatsuifontutils.cxx
@@ -207,6 +207,13 @@ static bool GetDevFontAttributes( ATSUFontID nFontID, ImplDevFontAttributes& rDF
rDFA.meItalic = ITALIC_NONE;
rDFA.mbSymbolFlag = false;
+ // ignore bitmap fonts
+ ATSFontRef rATSFontRef = FMGetATSFontRefFromFont( nFontID );
+ ByteCount nHeadLen = 0;
+ OSStatus rc = ATSFontGetTable( rATSFontRef, 0x68656164/*head*/, 0, 0, NULL, &nHeadLen );
+ if( (rc != noErr) || (nHeadLen <= 0) )
+ return false;
+
// all scalable fonts on this platform are subsettable
rDFA.mbSubsettable = true;
rDFA.mbEmbeddable = false;
@@ -216,7 +223,7 @@ static bool GetDevFontAttributes( ATSUFontID nFontID, ImplDevFontAttributes& rDF
// prepare iterating over all name strings of the font
ItemCount nFontNameCount = 0;
- OSStatus rc = ATSUCountFontNames( nFontID, &nFontNameCount );
+ rc = ATSUCountFontNames( nFontID, &nFontNameCount );
if( rc != noErr )
return false;
int nBestNameValue = 0;