diff options
author | Caolán McNamara <caolanm@redhat.com> | 2012-08-13 15:52:43 +0100 |
---|---|---|
committer | Tomas Chvatal <tchvatal@suse.cz> | 2012-08-16 09:35:47 +0200 |
commit | 16be10d016c8ecb2e5df21466510bc0e9e2e3a27 (patch) | |
tree | 38db1b3fd2c40553c02f28513105d110884a1795 /vcl | |
parent | 1053dada25491ba5609ae47bef8766e379e96fd8 (diff) |
Resolves: fdo#53258 Aquabase-spanish-support busts ttf reader again
Once as #i107552# and now again as fdo#53258. This is one sick puppy
of a font. It makes fontforge and fontconfig jump through hoops
as well.
Change-Id: Ifee780bb1463dca4e8b045828a07369e6c3863fc
Signed-off-by: Tomas Chvatal <tchvatal@suse.cz>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/generic/fontmanager/fontmanager.cxx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/vcl/generic/fontmanager/fontmanager.cxx b/vcl/generic/fontmanager/fontmanager.cxx index ddb2fdba1703..76ca13ec4366 100644 --- a/vcl/generic/fontmanager/fontmanager.cxx +++ b/vcl/generic/fontmanager/fontmanager.cxx @@ -1554,9 +1554,14 @@ bool PrintFontManager::analyzeTrueTypeFile( PrintFont* pFont ) const if( aInfo.usubfamily ) pFont->m_aStyleName = OUString( aInfo.usubfamily ); - pFont->m_nPSName = m_pAtoms->getAtom( ATOM_PSNAME, - rtl::OUString(aInfo.psname, rtl_str_getLength(aInfo.psname), aEncoding), - sal_True ); + SAL_WARN_IF( !aInfo.psname, "vcl", "No PostScript name in font:" << aFile.getStr() ); + + rtl::OUString sPSName = aInfo.psname ? + rtl::OUString(aInfo.psname, rtl_str_getLength(aInfo.psname), aEncoding) : + m_pAtoms->getString(ATOM_FAMILYNAME, pFont->m_nFamilyName); // poor font does not have a postscript name + + pFont->m_nPSName = m_pAtoms->getAtom( ATOM_PSNAME, sPSName, sal_True ); + switch( aInfo.weight ) { case FW_THIN: pFont->m_eWeight = WEIGHT_THIN; break; |