View | Details | Raw Unified | Return to issue 18285
Collapse All | Expand All

(-)psprintBoldItalicPatch/inc/psprint/fontmanager.hxx (+16 lines)
Lines 395-400 Link Here
395
    std::hash_map< fontID, PrintFont* >       m_aFonts;
395
    std::hash_map< fontID, PrintFont* >       m_aFonts;
396
    std::hash_map< int, family::type >        m_aFamilyTypes;
396
    std::hash_map< int, family::type >        m_aFamilyTypes;
397
    std::hash_map< int,  int >                m_aFamilyStyles;
397
    std::hash_map< int,  int >                m_aFamilyStyles;
398
    std::list< fontID >                     m_aArtificialFonts;
398
    std::list< rtl::OUString >              m_aPrinterDrivers;
399
    std::list< rtl::OUString >              m_aPrinterDrivers;
399
    std::list< rtl::OString >               m_aFontDirectories;
400
    std::list< rtl::OString >               m_aFontDirectories;
400
    std::list< int >							m_aPrivateFontDirectories;
401
    std::list< int >							m_aPrivateFontDirectories;
Lines 497-502 Link Here
497
    // get the font list and fast font info. see getFontList for pParser
498
    // get the font list and fast font info. see getFontList for pParser
498
    void getFontListWithFastInfo( std::list< FastPrintFontInfo >& rFonts, const PPDParser* pParser = NULL ) const;
499
    void getFontListWithFastInfo( std::list< FastPrintFontInfo >& rFonts, const PPDParser* pParser = NULL ) const;
499
500
501
    // true if the font is an artificial one
502
    bool isArtificial( fontID nFontID )
503
    {
504
        bool result = false;
505
        ::std::list<int>::const_iterator it = m_aArtificialFonts.begin();
506
        for ( ; it != m_aArtificialFonts.end(); ++it )
507
        {
508
            if ( *it == nFontID )
509
            {
510
                result = true;;
511
                break;
512
            }
513
        }
514
        return result;
515
    }
500
    // get font info for a specific font
516
    // get font info for a specific font
501
    bool getFontInfo( fontID nFontID, PrintFontInfo& rInfo ) const;
517
    bool getFontInfo( fontID nFontID, PrintFontInfo& rInfo ) const;
502
    // get fast font info for a specific font
518
    // get fast font info for a specific font
(-)psprintBoldItalicPatch/source/printergfx/text_gfx.cxx (+3 lines)
Lines 193-198 Link Here
193
    mnTextAngle                       = nAngle;
193
    mnTextAngle                       = nAngle;
194
    mbTextVertical                    = bVertical;
194
    mbTextVertical                    = bVertical;
195
195
196
    bool fontIsArtificial = mrFontMgr.isArtificial(mnFontID );
197
    maVirtualStatus.mbArtItalic = ( fontIsArtificial && ( mrFontMgr.getFontItalic(mnFontID)  == italic::Italic ) );
198
    maVirtualStatus.mbArtBold = ( fontIsArtificial && (  mrFontMgr.getFontWeight(mnFontID) >= weight::Medium ) );
196
    return 0;
199
    return 0;
197
}
200
}
198
201
(-)psprintBoldItalicPatch/source/fontmanager/fontmanager.cxx (+2 lines)
Lines 246-251 Link Here
246
            else if( (result)->m_eType == fonttype::Builtin )
246
            else if( (result)->m_eType == fonttype::Builtin )
247
                m_aFontFileToFontID[ static_cast<BuiltinFont*>(result)->m_aMetricFile ].insert( aFont );
247
                m_aFontFileToFontID[ static_cast<BuiltinFont*>(result)->m_aMetricFile ].insert( aFont );
248
            m_aFonts[ aFont ] = result;
248
            m_aFonts[ aFont ] = result;
249
            m_aArtificialFonts.push_back(aFont);
249
            // track what family's have what styles {italic, bold, 
250
            // track what family's have what styles {italic, bold, 
250
            // italic-bold }
251
            // italic-bold }
251
            updateFamilyStyles( result); 
252
            updateFamilyStyles( result); 
Lines 2222-2227 Link Here
2222
        m_aFontDirectories.clear();
2223
        m_aFontDirectories.clear();
2223
        m_aPrivateFontDirectories.clear();
2224
        m_aPrivateFontDirectories.clear();
2224
        m_aFamilyStyles.clear();
2225
        m_aFamilyStyles.clear();
2226
        m_aArtificialFonts.clear();
2225
    }
2227
    }
2226
2228
2227
#if OSL_DEBUG_LEVEL > 1
2229
#if OSL_DEBUG_LEVEL > 1

Return to issue 18285