Index: sd/source/filter/eppt/epptso.cxx =================================================================== RCS file: /cvs/graphics/sd/source/filter/eppt/epptso.cxx,v retrieving revision 1.90 diff -u -r1.90 epptso.cxx --- sd/source/filter/eppt/epptso.cxx 6 Mar 2006 09:03:32 -0000 1.90 +++ sd/source/filter/eppt/epptso.cxx 5 Sep 2006 16:09:07 -0000 @@ -1921,6 +1921,7 @@ mAny >>= rFontDesc.Pitch; } } + bOk = ImplGetPropertyValue( String( RTL_CONSTASCII_USTRINGPARAM( "CharFontNameAsian" ) ), bGetPropStateValue ); meAsianOrComplexFont = ePropState; if ( bOk ) @@ -1940,6 +1941,26 @@ } } + bOk = ImplGetPropertyValue( String( RTL_CONSTASCII_USTRINGPARAM( "CharFontNameComplex" ) ), bGetPropStateValue ); + meAsianOrComplexFont = ePropState; + if ( bOk ) + { + FontCollectionEntry aFontDesc( *(::rtl::OUString*)mAny.getValue() ); + sal_uInt32 nCount = rFontCollection.GetCount(); + mnAsianOrComplexFont = (sal_uInt16)rFontCollection.GetId( aFontDesc ); + if ( mnAsianOrComplexFont == nCount ) + { + FontCollectionEntry& rFontDesc = rFontCollection.GetLast(); + if ( ImplGetPropertyValue( String( RTL_CONSTASCII_USTRINGPARAM( "CharFontCharSetComplex" ) ), sal_False ) ) + mAny >>= rFontDesc.CharSet; + if ( ImplGetPropertyValue( String( RTL_CONSTASCII_USTRINGPARAM( "CharFontFamilyComplex" ) ), sal_False ) ) + mAny >>= rFontDesc.Family; + if ( ImplGetPropertyValue( String( RTL_CONSTASCII_USTRINGPARAM( "CharFontPitchComplex" ) ), sal_False ) ) + mAny >>= rFontDesc.Pitch; + } + } + + if ( ImplGetPropertyValue( String( RTL_CONSTASCII_USTRINGPARAM( "CharWeight" ) ), bGetPropStateValue ) ) { float fFloat;