2010-10-12 15:59:00 +02:00
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2012-06-21 20:25:33 +01:00
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2.0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2.0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
2006-09-17 12:22:12 +00:00
2003-12-11 08:19:31 +00:00
# include "CharacterProperties.hxx"
2007-05-22 17:55:38 +00:00
# include "ContainerHelper.hxx"
2003-12-11 08:19:31 +00:00
# include "macros.hxx"
# include <com/sun/star/beans/PropertyAttribute.hpp>
# include <com/sun/star/style/XStyle.hpp>
# include <com/sun/star/awt/FontSlant.hpp>
# include <com/sun/star/lang/Locale.hpp>
# include <com/sun/star/awt/FontFamily.hpp>
# include <com/sun/star/awt/CharSet.hpp>
# include <com/sun/star/awt/FontPitch.hpp>
# include <com/sun/star/awt/FontUnderline.hpp>
# include <com/sun/star/awt/FontWeight.hpp>
# include <com/sun/star/style/CaseMap.hpp>
# include <com/sun/star/text/FontRelief.hpp>
# include <com/sun/star/text/FontEmphasis.hpp>
# include <com/sun/star/text/RubyAdjust.hpp>
2007-05-22 17:55:38 +00:00
# include <com/sun/star/awt/FontStrikeout.hpp>
2008-11-26 15:19:48 +00:00
# include <com/sun/star/text/WritingMode2.hpp>
2009-09-17 11:26:03 +00:00
# include <com/sun/star/i18n/ScriptType.hpp>
2007-05-22 17:55:38 +00:00
# include <comphelper/InlineContainer.hxx>
2003-12-11 08:19:31 +00:00
2009-09-17 11:26:03 +00:00
2008-04-04 10:00:12 +00:00
// header for struct SvtLinguConfig
2009-10-06 07:38:24 +02:00
# include <unotools/lingucfg.hxx>
2008-04-04 10:00:12 +00:00
# include <i18npool/mslangid.hxx>
2012-11-17 02:28:07 +01:00
# include <i18npool/languagetag.hxx>
2008-04-04 10:00:12 +00:00
# include <vcl/outdev.hxx>
2003-12-11 08:19:31 +00:00
using namespace : : com : : sun : : star ;
using : : com : : sun : : star : : beans : : Property ;
2007-05-22 17:55:38 +00:00
using : : rtl : : OUString ;
2003-12-11 08:19:31 +00:00
namespace chart
{
void CharacterProperties : : AddPropertiesToVector (
2007-05-22 17:55:38 +00:00
: : std : : vector < Property > & rOutProperties )
2003-12-11 08:19:31 +00:00
{
// CharacterProperties
rOutProperties . push_back (
Property ( C2U ( " CharFontName " ) ,
PROP_CHAR_FONT_NAME ,
2007-05-22 17:55:38 +00:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 08:19:31 +00:00
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
rOutProperties . push_back (
Property ( C2U ( " CharFontStyleName " ) ,
PROP_CHAR_FONT_STYLE_NAME ,
2007-05-22 17:55:38 +00:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 08:19:31 +00:00
beans : : PropertyAttribute : : BOUND
2007-07-25 07:55:28 +00:00
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 08:19:31 +00:00
// CharFontFamily (see awt.FontFamily)
rOutProperties . push_back (
Property ( C2U ( " CharFontFamily " ) ,
PROP_CHAR_FONT_FAMILY ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontCharSet (see awt.CharSet)
rOutProperties . push_back (
Property ( C2U ( " CharFontCharSet " ) ,
PROP_CHAR_FONT_CHAR_SET ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontPitch (see awt.FontPitch)
rOutProperties . push_back (
Property ( C2U ( " CharFontPitch " ) ,
PROP_CHAR_FONT_PITCH ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharColor
rOutProperties . push_back (
Property ( C2U ( " CharColor " ) ,
PROP_CHAR_COLOR ,
: : getCppuType ( reinterpret_cast < const sal_Int32 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharEscapement
rOutProperties . push_back (
Property ( C2U ( " CharEscapement " ) ,
PROP_CHAR_ESCAPEMENT ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
2008-07-02 11:00:23 +00:00
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 08:19:31 +00:00
// CharHeight
rOutProperties . push_back (
Property ( C2U ( " CharHeight " ) ,
PROP_CHAR_CHAR_HEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharUnderline (see awt.FontUnderline)
rOutProperties . push_back (
Property ( C2U ( " CharUnderline " ) ,
PROP_CHAR_UNDERLINE ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharUnderlineColor
rOutProperties . push_back (
Property ( C2U ( " CharUnderlineColor " ) ,
PROP_CHAR_UNDERLINE_COLOR ,
: : getCppuType ( reinterpret_cast < const sal_Int32 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
// CharUnderlineHasColor
rOutProperties . push_back (
Property ( C2U ( " CharUnderlineHasColor " ) ,
PROP_CHAR_UNDERLINE_HAS_COLOR ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2011-01-19 17:13:10 +01:00
// CharOverline (see awt.FontUnderline)
rOutProperties . push_back (
Property ( C2U ( " CharOverline " ) ,
PROP_CHAR_OVERLINE ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharOverlineColor
rOutProperties . push_back (
Property ( C2U ( " CharOverlineColor " ) ,
PROP_CHAR_OVERLINE_COLOR ,
: : getCppuType ( reinterpret_cast < const sal_Int32 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
// CharOverlineHasColor
rOutProperties . push_back (
Property ( C2U ( " CharOverlineHasColor " ) ,
PROP_CHAR_OVERLINE_HAS_COLOR ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2003-12-11 08:19:31 +00:00
// CharWeight (see awt.FontWeight)
rOutProperties . push_back (
Property ( C2U ( " CharWeight " ) ,
PROP_CHAR_WEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharPosture
rOutProperties . push_back (
Property ( C2U ( " CharPosture " ) ,
PROP_CHAR_POSTURE ,
: : getCppuType ( reinterpret_cast < const awt : : FontSlant * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
rOutProperties . push_back (
Property ( C2U ( " CharAutoKerning " ) ,
PROP_CHAR_AUTO_KERNING ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
rOutProperties . push_back (
Property ( C2U ( " CharKerning " ) ,
PROP_CHAR_KERNING ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
// CharEscapementHeight
rOutProperties . push_back (
Property ( C2U ( " CharEscapementHeight " ) ,
PROP_CHAR_ESCAPEMENT_HEIGHT ,
: : getCppuType ( reinterpret_cast < const sal_Int8 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
2008-07-02 11:00:23 +00:00
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 08:19:31 +00:00
// CharStrikeout (see awt.FontStrikeout)
rOutProperties . push_back (
Property ( C2U ( " CharStrikeout " ) ,
PROP_CHAR_STRIKE_OUT ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharWordMode
rOutProperties . push_back (
Property ( C2U ( " CharWordMode " ) ,
PROP_CHAR_WORD_MODE ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharLocale
rOutProperties . push_back (
Property ( C2U ( " CharLocale " ) ,
PROP_CHAR_LOCALE ,
: : getCppuType ( reinterpret_cast < const lang : : Locale * > ( 0 ) ) ,
2010-06-01 16:51:03 +02:00
//#i111967# no PropertyChangeEvent is fired on change so far
beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2003-12-11 08:19:31 +00:00
// CharShadowed
rOutProperties . push_back (
Property ( C2U ( " CharShadowed " ) ,
PROP_CHAR_SHADOWED ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharContoured
rOutProperties . push_back (
Property ( C2U ( " CharContoured " ) ,
PROP_CHAR_CONTOURED ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharRelief (see text.FontRelief)
rOutProperties . push_back (
Property ( C2U ( " CharRelief " ) ,
PROP_CHAR_RELIEF ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharEmphasize (see text.FontEmphasis)
rOutProperties . push_back (
Property ( C2U ( " CharEmphasis " ) ,
PROP_CHAR_EMPHASIS ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharacterPropertiesAsian
// =====
// CharFontNameAsian
rOutProperties . push_back (
Property ( C2U ( " CharFontNameAsian " ) ,
PROP_CHAR_ASIAN_FONT_NAME ,
2007-05-22 17:55:38 +00:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 08:19:31 +00:00
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontStyleNameAsian
rOutProperties . push_back (
Property ( C2U ( " CharFontStyleNameAsian " ) ,
PROP_CHAR_ASIAN_FONT_STYLE_NAME ,
2007-05-22 17:55:38 +00:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 08:19:31 +00:00
beans : : PropertyAttribute : : BOUND
2007-07-25 07:55:28 +00:00
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 08:19:31 +00:00
// CharFontFamilyAsian (see awt.FontFamily)
rOutProperties . push_back (
Property ( C2U ( " CharFontFamilyAsian " ) ,
PROP_CHAR_ASIAN_FONT_FAMILY ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontCharSetAsian (see awt.CharSet)
rOutProperties . push_back (
Property ( C2U ( " CharFontCharSetAsian " ) ,
PROP_CHAR_ASIAN_CHAR_SET ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontPitchAsian (see awt.FontPitch)
rOutProperties . push_back (
Property ( C2U ( " CharFontPitchAsian " ) ,
PROP_CHAR_ASIAN_FONT_PITCH ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharHeightAsian
rOutProperties . push_back (
Property ( C2U ( " CharHeightAsian " ) ,
PROP_CHAR_ASIAN_CHAR_HEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharWeightAsian
rOutProperties . push_back (
Property ( C2U ( " CharWeightAsian " ) ,
PROP_CHAR_ASIAN_WEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharPostureAsian
rOutProperties . push_back (
Property ( C2U ( " CharPostureAsian " ) ,
PROP_CHAR_ASIAN_POSTURE ,
: : getCppuType ( reinterpret_cast < const awt : : FontSlant * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharLocaleAsian
rOutProperties . push_back (
Property ( C2U ( " CharLocaleAsian " ) ,
PROP_CHAR_ASIAN_LOCALE ,
: : getCppuType ( reinterpret_cast < const lang : : Locale * > ( 0 ) ) ,
2010-06-01 16:51:03 +02:00
//#i111967# no PropertyChangeEvent is fired on change so far
beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2003-12-11 08:19:31 +00:00
// CharacterPropertiesComplex
// ===
// CharFontNameComplex
rOutProperties . push_back (
Property ( C2U ( " CharFontNameComplex " ) ,
PROP_CHAR_COMPLEX_FONT_NAME ,
2007-05-22 17:55:38 +00:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 08:19:31 +00:00
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontStyleNameComplex
rOutProperties . push_back (
Property ( C2U ( " CharFontStyleNameComplex " ) ,
PROP_CHAR_COMPLEX_FONT_STYLE_NAME ,
2007-05-22 17:55:38 +00:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 08:19:31 +00:00
beans : : PropertyAttribute : : BOUND
2007-07-25 07:55:28 +00:00
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 08:19:31 +00:00
// CharFontFamilyComplex (see awt.FontFamily)
rOutProperties . push_back (
Property ( C2U ( " CharFontFamilyComplex " ) ,
PROP_CHAR_COMPLEX_FONT_FAMILY ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontCharSetComplex (see awt.CharSet)
rOutProperties . push_back (
Property ( C2U ( " CharFontCharSetComplex " ) ,
PROP_CHAR_COMPLEX_CHAR_SET ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontPitchComplex (see awt.FontPitch)
rOutProperties . push_back (
Property ( C2U ( " CharFontPitchComplex " ) ,
PROP_CHAR_COMPLEX_FONT_PITCH ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharHeightComplex
rOutProperties . push_back (
Property ( C2U ( " CharHeightComplex " ) ,
PROP_CHAR_COMPLEX_CHAR_HEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharWeightComplex
rOutProperties . push_back (
Property ( C2U ( " CharWeightComplex " ) ,
PROP_CHAR_COMPLEX_WEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharPostureComplex
rOutProperties . push_back (
Property ( C2U ( " CharPostureComplex " ) ,
PROP_CHAR_COMPLEX_POSTURE ,
: : getCppuType ( reinterpret_cast < const awt : : FontSlant * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharLocaleComplex
rOutProperties . push_back (
Property ( C2U ( " CharLocaleComplex " ) ,
PROP_CHAR_COMPLEX_LOCALE ,
: : getCppuType ( reinterpret_cast < const lang : : Locale * > ( 0 ) ) ,
2010-06-01 16:51:03 +02:00
//#i111967# no PropertyChangeEvent is fired on change so far
beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2008-11-26 15:19:48 +00:00
// Writing Mode left to right vs right to left
rOutProperties . push_back (
Property ( C2U ( " WritingMode " ) ,
PROP_WRITING_MODE ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) , /*com::sun::star::text::WritingMode2*/
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2009-06-04 09:41:18 +00:00
rOutProperties . push_back (
Property ( C2U ( " ParaIsCharacterDistance " ) ,
PROP_PARA_IS_CHARACTER_DISTANCE ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2003-12-11 08:19:31 +00:00
}
void CharacterProperties : : AddDefaultsToMap (
2007-05-22 17:55:38 +00:00
: : chart : : tPropertyValueMap & rOutMap )
2003-12-11 08:19:31 +00:00
{
2007-05-22 17:55:38 +00:00
const float fDefaultFontHeight = 13.0 ;
2008-04-04 10:00:12 +00:00
SvtLinguConfig aLinguConfig ;
2009-09-17 11:26:03 +00:00
lang : : Locale aDefaultLocale ;
2008-04-04 10:00:12 +00:00
aLinguConfig . GetProperty ( C2U ( " DefaultLocale " ) ) > > = aDefaultLocale ;
lang : : Locale aDefaultLocale_CJK ;
aLinguConfig . GetProperty ( C2U ( " DefaultLocale_CJK " ) ) > > = aDefaultLocale_CJK ;
lang : : Locale aDefaultLocale_CTL ;
aLinguConfig . GetProperty ( C2U ( " DefaultLocale_CTL " ) ) > > = aDefaultLocale_CTL ;
2009-09-17 11:26:03 +00:00
using namespace : : com : : sun : : star : : i18n : : ScriptType ;
LanguageType nLang ;
2012-11-17 02:28:07 +01:00
nLang = MsLangId : : resolveSystemLanguageByScriptType ( LanguageTag ( aDefaultLocale ) . getLanguageType ( false ) , LATIN ) ;
2009-09-17 11:26:03 +00:00
Font aFont = OutputDevice : : GetDefaultFont ( DEFAULTFONT_LATIN_SPREADSHEET , nLang , DEFAULTFONT_FLAGS_ONLYONE , 0 ) ;
2012-11-17 02:28:07 +01:00
nLang = MsLangId : : resolveSystemLanguageByScriptType ( LanguageTag ( aDefaultLocale_CJK ) . getLanguageType ( false ) , ASIAN ) ;
2009-09-17 11:26:03 +00:00
Font aFontCJK = OutputDevice : : GetDefaultFont ( DEFAULTFONT_CJK_SPREADSHEET , nLang , DEFAULTFONT_FLAGS_ONLYONE , 0 ) ;
2012-11-17 02:28:07 +01:00
nLang = MsLangId : : resolveSystemLanguageByScriptType ( LanguageTag ( aDefaultLocale_CTL ) . getLanguageType ( false ) , COMPLEX ) ;
2009-09-17 11:26:03 +00:00
Font aFontCTL = OutputDevice : : GetDefaultFont ( DEFAULTFONT_CTL_SPREADSHEET , nLang , DEFAULTFONT_FLAGS_ONLYONE , 0 ) ;
2008-04-04 10:00:12 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_NAME , OUString ( aFont . GetName ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_STYLE_NAME , OUString ( aFont . GetStyleName ( ) ) ) ;
2008-06-16 11:55:32 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_FAMILY , sal_Int16 ( aFont . GetFamily ( ) ) ) ; //awt::FontFamily::SWISS
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_CHAR_SET , sal_Int16 ( aFont . GetCharSet ( ) ) ) ; //use awt::CharSet::DONTKNOW instead of SYSTEM to avoid assertion issue 50249
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_PITCH , sal_Int16 ( aFont . GetPitch ( ) ) ) ; //awt::FontPitch::VARIABLE
2007-09-18 14:07:35 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault < sal_Int32 > ( rOutMap , PROP_CHAR_COLOR , - 1 ) ; //automatic color (COL_AUTO)
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_CHAR_HEIGHT , fDefaultFontHeight ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_UNDERLINE , awt : : FontUnderline : : NONE ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault < sal_Int32 > ( rOutMap , PROP_CHAR_UNDERLINE_COLOR , - 1 ) ; //automatic color (COL_AUTO)
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_UNDERLINE_HAS_COLOR , false ) ;
2011-01-19 17:13:10 +01:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_OVERLINE , awt : : FontUnderline : : NONE ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault < sal_Int32 > ( rOutMap , PROP_CHAR_OVERLINE_COLOR , - 1 ) ; //automatic color (COL_AUTO)
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_OVERLINE_HAS_COLOR , false ) ;
2007-09-18 14:07:35 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_WEIGHT , awt : : FontWeight : : NORMAL ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_POSTURE , awt : : FontSlant_NONE ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_AUTO_KERNING , true ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault < sal_Int16 > ( rOutMap , PROP_CHAR_KERNING , 0 ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault < sal_Int16 > ( rOutMap , PROP_CHAR_STRIKE_OUT , awt : : FontStrikeout : : NONE ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_WORD_MODE , false ) ;
2008-04-04 10:00:12 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_LOCALE , aDefaultLocale ) ;
2007-09-18 14:07:35 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_SHADOWED , false ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_CONTOURED , false ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_RELIEF , text : : FontRelief : : NONE ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_EMPHASIS , text : : FontEmphasis : : NONE ) ;
2003-12-11 08:19:31 +00:00
// Asian (com.sun.star.style.CharacterPropertiesAsian)
2007-09-18 14:07:35 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_CHAR_HEIGHT , fDefaultFontHeight ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_WEIGHT , awt : : FontWeight : : NORMAL ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_POSTURE , awt : : FontSlant_NONE ) ;
2008-04-04 10:00:12 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_LOCALE , aDefaultLocale_CJK ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_FONT_NAME , OUString ( aFontCJK . GetName ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_FONT_STYLE_NAME , OUString ( aFontCJK . GetStyleName ( ) ) ) ;
2008-06-16 11:55:32 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_FONT_FAMILY , sal_Int16 ( aFontCJK . GetFamily ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_CHAR_SET , sal_Int16 ( aFontCJK . GetCharSet ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_FONT_PITCH , sal_Int16 ( aFontCJK . GetPitch ( ) ) ) ;
2003-12-11 08:19:31 +00:00
// Complex Text Layout (com.sun.star.style.CharacterPropertiesComplex)
2007-09-18 14:07:35 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_CHAR_HEIGHT , fDefaultFontHeight ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_WEIGHT , awt : : FontWeight : : NORMAL ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_POSTURE , awt : : FontSlant_NONE ) ;
2008-04-04 10:00:12 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_LOCALE , aDefaultLocale_CTL ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_FONT_NAME , OUString ( aFontCTL . GetName ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_FONT_STYLE_NAME , OUString ( aFontCTL . GetStyleName ( ) ) ) ;
2008-06-16 11:55:32 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_FONT_FAMILY , sal_Int16 ( aFontCTL . GetFamily ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_CHAR_SET , sal_Int16 ( aFontCTL . GetCharSet ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_FONT_PITCH , sal_Int16 ( aFontCTL . GetPitch ( ) ) ) ;
2008-11-26 15:19:48 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_WRITING_MODE , sal_Int16 ( com : : sun : : star : : text : : WritingMode2 : : PAGE ) ) ;
2009-06-04 09:41:18 +00:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_PARA_IS_CHARACTER_DISTANCE , sal_True ) ;
2007-05-22 17:55:38 +00:00
}
bool CharacterProperties : : IsCharacterPropertyHandle ( sal_Int32 nHandle )
{
return ( FAST_PROPERTY_ID_START_CHAR_PROP < = nHandle & &
nHandle < CharacterProperties : : FAST_PROPERTY_ID_END_CHAR_PROP ) ;
}
awt : : FontDescriptor CharacterProperties : : createFontDescriptorFromPropertySet (
const uno : : Reference < beans : : XMultiPropertySet > & xMultiPropSet )
{
awt : : FontDescriptor aResult ;
// Note: keep this sorted!
: : comphelper : : MakeVector < OUString > aPropNames
( C2U ( " CharFontCharSet " ) ) ; // CharSet
aPropNames
( C2U ( " CharFontFamily " ) ) // Family
( C2U ( " CharFontName " ) ) // Name
( C2U ( " CharFontPitch " ) ) // Pitch
( C2U ( " CharFontStyleName " ) ) // StyleName
( C2U ( " CharHeight " ) ) // Height
( C2U ( " CharPosture " ) ) // Slant
( C2U ( " CharStrikeout " ) ) // Strikeout
( C2U ( " CharUnderline " ) ) // Underline
( C2U ( " CharWeight " ) ) // Weight
( C2U ( " CharWordMode " ) ) // WordLineMode
;
uno : : Sequence < OUString > aPropNameSeq ( ContainerHelper : : ContainerToSequence ( aPropNames ) ) ;
uno : : Sequence < uno : : Any > aValues ( xMultiPropSet - > getPropertyValues ( aPropNameSeq ) ) ;
sal_Int32 i = 0 ;
// Note keep this sorted according to the list above (comments are the fieldnames)
aValues [ i + + ] > > = aResult . CharSet ;
aValues [ i + + ] > > = aResult . Family ;
aValues [ i + + ] > > = aResult . Name ;
aValues [ i + + ] > > = aResult . Pitch ;
aValues [ i + + ] > > = aResult . StyleName ;
2007-08-03 11:36:13 +00:00
float fCharHeight = 0 ;
2007-05-22 17:55:38 +00:00
aValues [ i + + ] > > = fCharHeight ;
aResult . Height = static_cast < sal_Int16 > ( fCharHeight ) ;
aValues [ i + + ] > > = aResult . Slant ;
aValues [ i + + ] > > = aResult . Strikeout ;
aValues [ i + + ] > > = aResult . Underline ;
aValues [ i + + ] > > = aResult . Weight ;
aValues [ i + + ] > > = aResult . WordLineMode ;
OSL_ASSERT ( i = = aValues . getLength ( ) ) ;
return aResult ;
2003-12-11 08:19:31 +00:00
}
} // namespace chart
2010-10-12 15:59:00 +02:00
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */