Tag: cws_dev300_rptchart02 User: oj Date: 2008-06-05 10:40:04+0000 Modified: dba/reportdesign/source/core/api/ImageControl.cxx dba/reportdesign/source/core/api/FixedLine.cxx dba/reportdesign/source/core/api/ReportComponent.cxx
Log: #i90298# impl asian and complex File Changes: Directory: /dba/reportdesign/source/core/api/ ============================================= File [changed]: ImageControl.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/core/api/ImageControl.cxx?r1=1.5.2.2&r2=1.5.2.3 Delta lines: +32 -1 -------------------- --- ImageControl.cxx 2008-05-15 12:32:10+0000 1.5.2.2 +++ ImageControl.cxx 2008-06-05 10:40:02+0000 1.5.2.3 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ImageControl.cxx,v $ - * $Revision: 1.5.2.2 $ + * $Revision: 1.5.2.3 $ * * This file is part of OpenOffice.org. * @@ -64,6 +64,8 @@ ,PROPERTY_CHARPOSTURE ,PROPERTY_CHARRELIEF ,PROPERTY_FONTDESCRIPTOR + ,PROPERTY_FONTDESCRIPTORASIAN + ,PROPERTY_FONTDESCRIPTORCOMPLEX ,PROPERTY_CONTROLTEXTEMPHASISMARK ,PROPERTY_CHARROTATION ,PROPERTY_CHARSCALEWIDTH @@ -90,6 +92,35 @@ ,PROPERTY_MASTERFIELDS ,PROPERTY_DETAILFIELDS ,PROPERTY_PARAADJUST + , PROPERTY_CHAREMPHASISASIAN + , PROPERTY_CHARFONTNAMEASIAN + , PROPERTY_CHARFONTSTYLENAMEASIAN + , PROPERTY_CHARFONTFAMILYASIAN + , PROPERTY_CHARFONTCHARSETASIAN + , PROPERTY_CHARFONTPITCHASIAN + , PROPERTY_CHARHEIGHTASIAN + , PROPERTY_CHARUNDERLINEASIAN + , PROPERTY_CHARWEIGHTASIAN + , PROPERTY_CHARPOSTUREASIAN + , PROPERTY_CHARWORDMODEASIAN + , PROPERTY_CHARROTATIONASIAN + , PROPERTY_CHARSCALEWIDTHASIAN + , PROPERTY_CHARLOCALEASIAN + , PROPERTY_CHAREMPHASISCOMPLEX + , PROPERTY_CHARFONTNAMECOMPLEX + , PROPERTY_CHARFONTSTYLENAMECOMPLEX + , PROPERTY_CHARFONTFAMILYCOMPLEX + , PROPERTY_CHARFONTCHARSETCOMPLEX + , PROPERTY_CHARFONTPITCHCOMPLEX + , PROPERTY_CHARHEIGHTCOMPLEX + , PROPERTY_CHARUNDERLINECOMPLEX + , PROPERTY_CHARWEIGHTCOMPLEX + , PROPERTY_CHARPOSTURECOMPLEX + , PROPERTY_CHARWORDMODECOMPLEX + , PROPERTY_CHARROTATIONCOMPLEX + , PROPERTY_CHARSCALEWIDTHCOMPLEX + , PROPERTY_CHARLOCALECOMPLEX + }; return uno::Sequence< ::rtl::OUString >(pProps,sizeof(pProps)/sizeof(pProps[0])); } File [changed]: FixedLine.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/core/api/FixedLine.cxx?r1=1.6.2.1&r2=1.6.2.2 Delta lines: +34 -1 -------------------- --- FixedLine.cxx 2008-05-15 12:32:10+0000 1.6.2.1 +++ FixedLine.cxx 2008-06-05 10:40:02+0000 1.6.2.2 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: FixedLine.cxx,v $ - * $Revision: 1.6.2.1 $ + * $Revision: 1.6.2.2 $ * * This file is part of OpenOffice.org. * @@ -72,6 +72,8 @@ ,PROPERTY_CHARPOSTURE ,PROPERTY_CHARRELIEF ,PROPERTY_FONTDESCRIPTOR + ,PROPERTY_FONTDESCRIPTORASIAN + ,PROPERTY_FONTDESCRIPTORCOMPLEX ,PROPERTY_CONTROLTEXTEMPHASISMARK ,PROPERTY_CHARROTATION ,PROPERTY_CHARSCALEWIDTH @@ -106,6 +108,37 @@ ,PROPERTY_MASTERFIELDS ,PROPERTY_DETAILFIELDS ,PROPERTY_PARAADJUST + + , PROPERTY_CHAREMPHASISASIAN + , PROPERTY_CHARFONTNAMEASIAN + , PROPERTY_CHARFONTSTYLENAMEASIAN + , PROPERTY_CHARFONTFAMILYASIAN + , PROPERTY_CHARFONTCHARSETASIAN + , PROPERTY_CHARFONTPITCHASIAN + , PROPERTY_CHARHEIGHTASIAN + , PROPERTY_CHARUNDERLINEASIAN + , PROPERTY_CHARWEIGHTASIAN + , PROPERTY_CHARPOSTUREASIAN + , PROPERTY_CHARWORDMODEASIAN + , PROPERTY_CHARROTATIONASIAN + , PROPERTY_CHARSCALEWIDTHASIAN + , PROPERTY_CHARLOCALEASIAN + , PROPERTY_CHAREMPHASISCOMPLEX + , PROPERTY_CHARFONTNAMECOMPLEX + , PROPERTY_CHARFONTSTYLENAMECOMPLEX + , PROPERTY_CHARFONTFAMILYCOMPLEX + , PROPERTY_CHARFONTCHARSETCOMPLEX + , PROPERTY_CHARFONTPITCHCOMPLEX + , PROPERTY_CHARHEIGHTCOMPLEX + , PROPERTY_CHARUNDERLINECOMPLEX + , PROPERTY_CHARWEIGHTCOMPLEX + , PROPERTY_CHARPOSTURECOMPLEX + , PROPERTY_CHARWORDMODECOMPLEX + , PROPERTY_CHARROTATIONCOMPLEX + , PROPERTY_CHARSCALEWIDTHCOMPLEX + , PROPERTY_CHARLOCALECOMPLEX + + }; return uno::Sequence< ::rtl::OUString >(pProps,sizeof(pProps)/sizeof(pProps[0])); } File [changed]: ReportComponent.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/core/api/ReportComponent.cxx?r1=1.3&r2=1.3.2.1 Delta lines: +47 -8 -------------------- --- ReportComponent.cxx 2008-04-10 18:13:32+0000 1.3 +++ ReportComponent.cxx 2008-06-05 10:40:02+0000 1.3.2.1 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ReportComponent.cxx,v $ - * $Revision: 1.3 $ + * $Revision: 1.3.2.1 $ * * This file is part of OpenOffice.org. * @@ -42,13 +42,36 @@ #include <com/sun/star/reflection/XProxyFactory.hpp> #include <com/sun/star/text/ParagraphVertAlign.hpp> #include <svx/unoshape.hxx> +#include <svx/unolingu.hxx> #include <svtools/syslocale.hxx> +#include <svtools/lingucfg.hxx> // ============================================================================= namespace reportdesign { // ============================================================================= using namespace com::sun::star; using namespace comphelper; + +void lcl_getDefaultFonts( Font& rLatinFont, Font& rCJKFont, Font& rCTLFont,LanguageType _eLatin,LanguageType _eCJK,LanguageType _eCTL ) +{ + LanguageType eLatin = _eLatin; + + // #108374# / #107782#: If the UI language is Korean, the default Latin font has to + // be queried for Korean, too (the Latin language from the document can't be Korean). + // This is the same logic as in SwDocShell::InitNew. + LanguageType eUiLanguage = Application::GetSettings().GetUILanguage(); + switch( eUiLanguage ) + { + case LANGUAGE_KOREAN: + case LANGUAGE_KOREAN_JOHAB: + eLatin = eUiLanguage; + break; + } + + rLatinFont = OutputDevice::GetDefaultFont( DEFAULTFONT_LATIN_PRESENTATION, eLatin, DEFAULTFONT_FLAGS_ONLYONE ); + rCJKFont = OutputDevice::GetDefaultFont( DEFAULTFONT_CJK_PRESENTATION, _eCJK, DEFAULTFONT_FLAGS_ONLYONE ); + rCTLFont = OutputDevice::GetDefaultFont( DEFAULTFONT_CTL_PRESENTATION, _eCTL, DEFAULTFONT_FLAGS_ONLYONE ) ; +} OFormatProperties::OFormatProperties() :nAlign(0) ,nFontEmphasisMark(0) @@ -70,13 +93,29 @@ ,bCharShadowed(sal_False) ,bCharContoured(sal_False) { - Font aInitFont = Application::GetDefaultDevice()->GetSettings().GetStyleSettings().GetAppFont(); - aFontDescriptor = VCLUnoHelper::CreateFontDescriptor(aInitFont); + try + { + SvtLinguConfig aLinguConfig; + aLinguConfig.GetProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DefaultLocale"))) >>= aCharLocale; + LanguageType eCurLang = SvxLocaleToLanguage( aCharLocale ); + aLinguConfig.GetProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DefaultLocale_CJK"))) >>= aCharLocaleAsian; + LanguageType eCurLangCJK = SvxLocaleToLanguage( aCharLocaleAsian ); + aLinguConfig.GetProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DefaultLocale_CTL"))) >>= aCharLocaleComplex; + LanguageType eCurLangCTL = SvxLocaleToLanguage( aCharLocaleComplex ); + + Font aLatin,aCJK,aCTL; + lcl_getDefaultFonts(aLatin,aCJK,aCTL,eCurLang,eCurLangCJK,eCurLangCTL); + aFontDescriptor = VCLUnoHelper::CreateFontDescriptor(aLatin); + aAsianFontDescriptor = VCLUnoHelper::CreateFontDescriptor(aCJK); + aComplexFontDescriptor = VCLUnoHelper::CreateFontDescriptor(aCTL); + } + catch(const uno::Exception&) + { + } aFontDescriptor.Weight = awt::FontWeight::NORMAL; aFontDescriptor.CharacterWidth = awt::FontWidth::NORMAL; - aCharLocale = SvtSysLocale().GetLocaleData().getLocale(); - //if ( !aFontDescriptor.StyleName.getLength() ) - // aFontDescriptor.StyleName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("test")); + + // aCharLocale = SvtSysLocale().GetLocaleData().getLocale(); } // ----------------------------------------------------------------------------- void OReportComponentProperties::setShape(uno::Reference< drawing::XShape >& _xShape,const uno::Reference< report::XReportComponent>& _xTunnel,oslInterlockedCount& _rRefCount) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
