editeng/source/editeng/editattr.cxx | 17 +++++++++++++++- editeng/source/editeng/editattr.hxx | 12 +++++++++++ editeng/source/editeng/editdoc.cxx | 9 ++++++++ editeng/source/editeng/editeng.cxx | 2 + editeng/source/editeng/eerdll.cxx | 12 ++++++----- editeng/source/uno/unofdesc.cxx | 1 editeng/source/uno/unotext.cxx | 2 - include/editeng/eeitem.hxx | 17 ++++++++-------- include/editeng/eeitemid.hxx | 2 - include/editeng/unoprnms.hxx | 1 include/editeng/unotext.hxx | 1 oox/source/drawingml/textcharacterpropertiescontext.cxx | 2 + sd/source/core/drawdoc4.cxx | 2 + sd/source/core/stlpool.cxx | 5 ++++ sd/source/ui/view/drtxtob1.cxx | 7 ++++++ svx/source/svdraw/svdotextdecomposition.cxx | 5 ++-- svx/source/tbxctrls/tbcontrl.cxx | 6 +++++ svx/source/unodraw/unoprov.cxx | 1 18 files changed, 86 insertions(+), 18 deletions(-)
New commits: commit 68f80e00f8dbe1d2617c8ab2a4066d70424f4bcd Author: Julien Nabet <serval2...@yahoo.fr> Date: Tue Jan 28 22:05:50 2014 +0100 Following cp#1000025 Change-Id: I7d005fdd67e479852e9869332d3976b4a7095c29 diff --git a/editeng/source/editeng/eerdll.cxx b/editeng/source/editeng/eerdll.cxx index 10bcb76..d51d370 100644 --- a/editeng/source/editeng/eerdll.cxx +++ b/editeng/source/editeng/eerdll.cxx @@ -160,7 +160,7 @@ SfxPoolItem** GlobalEditData::GetDefItems() ppDefItems[51] = new SvxCharSetColorItem( Color( COL_RED ), RTL_TEXTENCODING_DONTKNOW, EE_FEATURE_NOTCONV ); ppDefItems[52] = new SvxFieldItem( SvxFieldData(), EE_FEATURE_FIELD ); - DBG_ASSERT( EDITITEMCOUNT == 52, "ITEMCOUNT geaendert, DefItems nicht angepasst!" ); + DBG_ASSERT( EDITITEMCOUNT == 53, "ITEMCOUNT geaendert, DefItems nicht angepasst!" ); // Init DefFonts: GetDefaultFonts( *(SvxFontItem*)ppDefItems[EE_CHAR_FONTINFO - EE_ITEMS_START], commit f8dd856e99a9aab2d22b0436b5876d3426be4c7d Author: Muthu Subramanian <sumu...@collabora.com> Date: Tue Feb 4 17:41:22 2014 +0530 cp#1000025: Import casemaps from pptx. (Ported from: 887bc4dd3e62fe6dd19dc9d1c3ba273a5b21b5ec) Change-Id: Ia6edae11f491f3b7432052efeca71916c7c999d4 diff --git a/editeng/source/editeng/editattr.cxx b/editeng/source/editeng/editattr.cxx index de847d6..b437e9b 100644 --- a/editeng/source/editeng/editattr.cxx +++ b/editeng/source/editeng/editattr.cxx @@ -43,6 +43,7 @@ #include <editeng/emphasismarkitem.hxx> #include <editeng/charscaleitem.hxx> #include <editeng/charreliefitem.hxx> +#include <editeng/cmapitem.hxx> #include "editattr.hxx" @@ -185,7 +186,7 @@ void EditCharAttribFontWidth::SetFont( SvxFont& /*rFont*/, OutputDevice* ) EditCharAttribStrikeout::EditCharAttribStrikeout( const SvxCrossedOutItem& rAttr, sal_uInt16 _nStart, sal_uInt16 _nEnd ) : EditCharAttrib( rAttr, _nStart, _nEnd ) { - DBG_ASSERT( rAttr.Which() == EE_CHAR_STRIKEOUT, "Not a Size attribute!" ); + DBG_ASSERT( rAttr.Which() == EE_CHAR_STRIKEOUT, "Not a Strikeout attribute!" ); } void EditCharAttribStrikeout::SetFont( SvxFont& rFont, OutputDevice* ) @@ -194,6 +195,20 @@ void EditCharAttribStrikeout::SetFont( SvxFont& rFont, OutputDevice* ) } // ------------------------------------------------------------------------- +// class EditCharAttribCaseMap +// ------------------------------------------------------------------------- +EditCharAttribCaseMap::EditCharAttribCaseMap( const SvxCaseMapItem& rAttr, sal_uInt16 _nStart, sal_uInt16 _nEnd ) + : EditCharAttrib( rAttr, _nStart, _nEnd ) +{ + DBG_ASSERT( rAttr.Which() == EE_CHAR_CASEMAP, "Not a CaseMap Item!" ); +} + +void EditCharAttribCaseMap::SetFont( SvxFont& rFont, OutputDevice* ) +{ + rFont.SetCaseMap( ((const SvxCaseMapItem*)GetItem())->GetCaseMap() ); +} + +// ------------------------------------------------------------------------- // class EditCharAttribColor // ------------------------------------------------------------------------- EditCharAttribColor::EditCharAttribColor( const SvxColorItem& rAttr, sal_uInt16 _nStart, sal_uInt16 _nEnd ) diff --git a/editeng/source/editeng/editattr.hxx b/editeng/source/editeng/editattr.hxx index 5d8eb3b..0c9bd7b 100644 --- a/editeng/source/editeng/editattr.hxx +++ b/editeng/source/editeng/editattr.hxx @@ -47,6 +47,7 @@ class SvxEmphasisMarkItem; class SvxCharReliefItem; class SfxVoidItem; class OutputDevice; +class SvxCaseMapItem; #define CH_FEATURE_OLD (sal_uInt8) 0xFF #define CH_FEATURE (sal_Unicode) 0x01 @@ -219,6 +220,17 @@ public: }; // ------------------------------------------------------------------------- +// class EditCharAttribCaseMap +// ------------------------------------------------------------------------- +class EditCharAttribCaseMap : public EditCharAttrib +{ +public: + EditCharAttribCaseMap( const SvxCaseMapItem& rAttr, sal_uInt16 nStart, sal_uInt16 nEnd ); + + virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ); +}; + +// ------------------------------------------------------------------------- // class EditCharAttribUnderline // ------------------------------------------------------------------------- class EditCharAttribUnderline : public EditCharAttrib diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx index 65de34a3..9d7bc47 100644 --- a/editeng/source/editeng/editdoc.cxx +++ b/editeng/source/editeng/editdoc.cxx @@ -33,6 +33,7 @@ #include <editeng/wrlmitem.hxx> #include <editeng/wghtitem.hxx> #include <editeng/udlnitem.hxx> +#include <editeng/cmapitem.hxx> #include <editeng/contouritem.hxx> #include <editeng/escapementitem.hxx> #include <editeng/shdditem.hxx> @@ -216,6 +217,7 @@ const SfxItemInfo aItemInfos[EDITITEMCOUNT] = { { 0, SFX_ITEM_POOLABLE }, // EE_CHAR_RUBI_DUMMY { 0, SFX_ITEM_POOLABLE }, // EE_CHAR_XMLATTRIBS { SID_ATTR_CHAR_OVERLINE, SFX_ITEM_POOLABLE }, + { SID_ATTR_CHAR_CASEMAP, SFX_ITEM_POOLABLE }, // EE_CHAR_CASEMAP { 0, SFX_ITEM_POOLABLE }, // EE_FEATURE_TAB { 0, SFX_ITEM_POOLABLE }, // EE_FEATURE_LINEBR { SID_ATTR_CHAR_CHARSETCOLOR, SFX_ITEM_POOLABLE }, // EE_FEATURE_NOTCONV @@ -368,6 +370,11 @@ EditCharAttrib* MakeCharAttrib( SfxItemPool& rPool, const SfxPoolItem& rAttr, sa pNew = new EditCharAttrib( rNew, nS, nE ); // Attribute is only for holding XML information... } break; + case EE_CHAR_CASEMAP: + { + pNew = new EditCharAttribCaseMap( (const SvxCaseMapItem&)rNew, nS, nE ); + } + break; case EE_FEATURE_TAB: { pNew = new EditCharAttribTab( (const SfxVoidItem&)rNew, nS ); @@ -1938,6 +1945,8 @@ void CreateFont( SvxFont& rFont, const SfxItemSet& rSet, bool bSearchInParent, s rFont.SetOverline( ((const SvxOverlineItem&)rSet.Get( EE_CHAR_OVERLINE )).GetLineStyle() ); if ( bSearchInParent || ( rSet.GetItemState( EE_CHAR_STRIKEOUT ) == SFX_ITEM_ON ) ) rFont.SetStrikeout( ((const SvxCrossedOutItem&)rSet.Get( EE_CHAR_STRIKEOUT )).GetStrikeout() ); + if ( bSearchInParent || ( rSet.GetItemState( EE_CHAR_CASEMAP ) == SFX_ITEM_ON ) ) + rFont.SetCaseMap( ((const SvxCaseMapItem&)rSet.Get( EE_CHAR_CASEMAP )).GetCaseMap() ); if ( bSearchInParent || ( rSet.GetItemState( nWhich_Italic ) == SFX_ITEM_ON ) ) rFont.SetItalic( ((const SvxPostureItem&)rSet.Get( nWhich_Italic )).GetPosture() ); if ( bSearchInParent || ( rSet.GetItemState( EE_CHAR_OUTLINE ) == SFX_ITEM_ON ) ) diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx index 1edc5ae..50f3dcb 100644 --- a/editeng/source/editeng/editeng.cxx +++ b/editeng/source/editeng/editeng.cxx @@ -37,6 +37,7 @@ #include <editeng/acorrcfg.hxx> #include <editeng/flditem.hxx> #include <editeng/txtrange.hxx> +#include <editeng/cmapitem.hxx> #include <vcl/graph.hxx> #include <editeng/autokernitem.hxx> @@ -2764,6 +2765,7 @@ void EditEngine::SetFontInfoInItemSet( SfxItemSet& rSet, const SvxFont& rFont ) rSet.Put( SvxUnderlineItem( rFont.GetUnderline(), EE_CHAR_UNDERLINE ) ); rSet.Put( SvxOverlineItem( rFont.GetOverline(), EE_CHAR_OVERLINE ) ); rSet.Put( SvxCrossedOutItem( rFont.GetStrikeout(), EE_CHAR_STRIKEOUT ) ); + rSet.Put( SvxCaseMapItem( rFont.GetCaseMap(), EE_CHAR_CASEMAP ) ); rSet.Put( SvxPostureItem( rFont.GetItalic(), EE_CHAR_ITALIC ) ); rSet.Put( SvxContourItem( rFont.IsOutline(), EE_CHAR_OUTLINE ) ); rSet.Put( SvxAutoKernItem( rFont.IsKerning(), EE_CHAR_PAIRKERNING ) ); diff --git a/editeng/source/editeng/eerdll.cxx b/editeng/source/editeng/eerdll.cxx index 704573a..10bcb76 100644 --- a/editeng/source/editeng/eerdll.cxx +++ b/editeng/source/editeng/eerdll.cxx @@ -58,6 +58,7 @@ #include <editeng/wrlmitem.hxx> #include <editeng/numitem.hxx> #include <editeng/langitem.hxx> +#include <editeng/cmapitem.hxx> #include <editeng/charscaleitem.hxx> #include <editeng/charreliefitem.hxx> #include <editeng/frmdiritem.hxx> @@ -151,12 +152,13 @@ SfxPoolItem** GlobalEditData::GetDefItems() ppDefItems[45] = new SfxVoidItem( EE_CHAR_RUBI_DUMMY ); ppDefItems[46] = new SvXMLAttrContainerItem( EE_CHAR_XMLATTRIBS ); ppDefItems[47] = new SvxOverlineItem( UNDERLINE_NONE, EE_CHAR_OVERLINE ); + ppDefItems[48] = new SvxCaseMapItem( SVX_CASEMAP_NOT_MAPPED, EE_CHAR_CASEMAP ); // Features - ppDefItems[48] = new SfxVoidItem( EE_FEATURE_TAB ); - ppDefItems[49] = new SfxVoidItem( EE_FEATURE_LINEBR ); - ppDefItems[50] = new SvxCharSetColorItem( Color( COL_RED ), RTL_TEXTENCODING_DONTKNOW, EE_FEATURE_NOTCONV ); - ppDefItems[51] = new SvxFieldItem( SvxFieldData(), EE_FEATURE_FIELD ); + ppDefItems[49] = new SfxVoidItem( EE_FEATURE_TAB ); + ppDefItems[50] = new SfxVoidItem( EE_FEATURE_LINEBR ); + ppDefItems[51] = new SvxCharSetColorItem( Color( COL_RED ), RTL_TEXTENCODING_DONTKNOW, EE_FEATURE_NOTCONV ); + ppDefItems[52] = new SvxFieldItem( SvxFieldData(), EE_FEATURE_FIELD ); DBG_ASSERT( EDITITEMCOUNT == 52, "ITEMCOUNT geaendert, DefItems nicht angepasst!" ); diff --git a/editeng/source/uno/unofdesc.cxx b/editeng/source/uno/unofdesc.cxx index b131586..8042663 100644 --- a/editeng/source/uno/unofdesc.cxx +++ b/editeng/source/uno/unofdesc.cxx @@ -33,6 +33,7 @@ #include <svl/itempool.hxx> #include <editeng/unofdesc.hxx> +#include <editeng/svxfont.hxx> using namespace ::rtl; using namespace ::com::sun::star; diff --git a/editeng/source/uno/unotext.cxx b/editeng/source/uno/unotext.cxx index b319921..14fe408 100644 --- a/editeng/source/uno/unotext.cxx +++ b/editeng/source/uno/unotext.cxx @@ -950,7 +950,7 @@ beans::PropertyState SAL_CALL SvxUnoTextRangeBase::getPropertyState( const OUStr } static sal_uInt16 aSvxUnoFontDescriptorWhichMap[] = { EE_CHAR_FONTINFO, EE_CHAR_FONTHEIGHT, EE_CHAR_ITALIC, - EE_CHAR_UNDERLINE, EE_CHAR_WEIGHT, EE_CHAR_STRIKEOUT, + EE_CHAR_UNDERLINE, EE_CHAR_WEIGHT, EE_CHAR_STRIKEOUT, EE_CHAR_CASEMAP, EE_CHAR_WLM, 0 }; beans::PropertyState SAL_CALL SvxUnoTextRangeBase::_getPropertyState(const SfxItemPropertySimpleEntry* pMap, sal_Int32 nPara) diff --git a/include/editeng/eeitem.hxx b/include/editeng/eeitem.hxx index 04ce68c..8d22e44 100644 --- a/include/editeng/eeitem.hxx +++ b/include/editeng/eeitem.hxx @@ -78,17 +78,18 @@ #define EE_CHAR_RUBI_DUMMY (EE_ITEMS_START+45) #define EE_CHAR_XMLATTRIBS (EE_ITEMS_START+46) #define EE_CHAR_OVERLINE (EE_ITEMS_START+47) -#define EE_CHAR_END (EE_ITEMS_START+47) +#define EE_CHAR_CASEMAP (EE_ITEMS_START+48) +#define EE_CHAR_END (EE_ITEMS_START+48) -#define EE_FEATURE_START (EE_ITEMS_START+48) -#define EE_FEATURE_TAB (EE_ITEMS_START+48) -#define EE_FEATURE_LINEBR (EE_ITEMS_START+49) -#define EE_FEATURE_NOTCONV (EE_ITEMS_START+50) -#define EE_FEATURE_FIELD (EE_ITEMS_START+51) -#define EE_FEATURE_END (EE_ITEMS_START+51) +#define EE_FEATURE_START (EE_ITEMS_START+49) +#define EE_FEATURE_TAB (EE_ITEMS_START+49) +#define EE_FEATURE_LINEBR (EE_ITEMS_START+50) +#define EE_FEATURE_NOTCONV (EE_ITEMS_START+51) +#define EE_FEATURE_FIELD (EE_ITEMS_START+52) +#define EE_FEATURE_END (EE_ITEMS_START+52) -#define EE_ITEMS_END (EE_ITEMS_START+51) +#define EE_ITEMS_END (EE_ITEMS_START+52) #define EDITITEMCOUNT ( EE_ITEMS_END - EE_ITEMS_START + 1 ) diff --git a/include/editeng/eeitemid.hxx b/include/editeng/eeitemid.hxx index 8230387..5870c96 100644 --- a/include/editeng/eeitemid.hxx +++ b/include/editeng/eeitemid.hxx @@ -86,7 +86,7 @@ #define ITEMID_WORDLINEMODE EE_CHAR_WLM #define ITEMID_PROPSIZE 0 #define ITEMID_CHARSETCOLOR 0 // EE_FEATURE_NOTCONV -#define ITEMID_CASEMAP 0 +#define ITEMID_CASEMAP EE_CHAR_CASEMAP #define ITEMID_LANGUAGE 0 #define ITEMID_ESCAPEMENT EE_CHAR_ESCAPEMENT #define ITEMID_NOLINEBREAK 0 diff --git a/include/editeng/unoprnms.hxx b/include/editeng/unoprnms.hxx index 38ba3bd..c8c1e99 100644 --- a/include/editeng/unoprnms.hxx +++ b/include/editeng/unoprnms.hxx @@ -328,6 +328,7 @@ #define UNO_NAME_EDIT_CHAR_COLOR "CharColor" #define UNO_NAME_EDIT_CHAR_CROSSEDOUT "CharCrossedOut" #define UNO_NAME_EDIT_CHAR_STRIKEOUT "CharStrikeout" +#define UNO_NAME_EDIT_CHAR_CASEMAP "CharCaseMap" #define UNO_NAME_EDIT_CHAR_ESCAPEMENT "CharEscapement" #define UNO_NAME_EDIT_CHAR_FONTNAME "CharFontName" #define UNO_NAME_EDIT_CHAR_SHADOWED "CharShadowed" diff --git a/include/editeng/unotext.hxx b/include/editeng/unotext.hxx index 394079c..452104e 100644 --- a/include/editeng/unotext.hxx +++ b/include/editeng/unotext.hxx @@ -106,6 +106,7 @@ class SvxItemPropertySet; { MAP_CHAR_LEN("CharOverlineColor"), EE_CHAR_OVERLINE, &::getCppuType((const sal_Int32*)0), 0, MID_TL_COLOR }, \ { MAP_CHAR_LEN("CharOverlineHasColor"), EE_CHAR_OVERLINE, &::getBooleanCppuType(), 0, MID_TL_HASCOLOR } , \ { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_CROSSEDOUT), EE_CHAR_STRIKEOUT, &::getBooleanCppuType(), 0, MID_CROSSED_OUT }, \ + { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_CASEMAP), EE_CHAR_CASEMAP, &::getCppuType((const sal_Int16*)0), 0, 0 }, \ { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_STRIKEOUT), EE_CHAR_STRIKEOUT, &::getCppuType((const sal_Int16*)0), 0, MID_CROSS_OUT}, \ { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_SHADOWED), EE_CHAR_SHADOW, &::getBooleanCppuType(), 0, 0 }, \ { MAP_CHAR_LEN("CharContoured"), EE_CHAR_OUTLINE, &::getBooleanCppuType(), 0, 0 }, \ diff --git a/oox/source/drawingml/textcharacterpropertiescontext.cxx b/oox/source/drawingml/textcharacterpropertiescontext.cxx index 8622558..19b54c6 100644 --- a/oox/source/drawingml/textcharacterpropertiescontext.cxx +++ b/oox/source/drawingml/textcharacterpropertiescontext.cxx @@ -57,6 +57,8 @@ TextCharacterPropertiesContext::TextCharacterPropertiesContext( mrTextCharacterProperties.moStrikeout = aAttribs.getToken( XML_strike ); if ( aAttribs.hasAttribute( XML_baseline ) ) mrTextCharacterProperties.moBaseline = aAttribs.getInteger( XML_baseline ); + if( aAttribs.hasAttribute( XML_cap ) ) + mrTextCharacterProperties.moCaseMap = aAttribs.getToken( XML_cap ); if ( aAttribs.hasAttribute( XML_b ) ) mrTextCharacterProperties.moBold = aAttribs.getBool( XML_b ); diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx index 040413c..33395ae 100644 --- a/sd/source/core/drawdoc4.cxx +++ b/sd/source/core/drawdoc4.cxx @@ -64,6 +64,7 @@ #include <editeng/emphasismarkitem.hxx> #include <editeng/fontitem.hxx> #include <editeng/shdditem.hxx> +#include <editeng/cmapitem.hxx> #include <svx/xbtmpit.hxx> #include <svx/xflhtit.hxx> #include <svx/xflgrit.hxx> @@ -210,6 +211,7 @@ void SdDrawDocument::CreateLayoutTemplates() rISet.Put(SvxUnderlineItem(UNDERLINE_NONE, EE_CHAR_UNDERLINE)); rISet.Put(SvxOverlineItem(UNDERLINE_NONE, EE_CHAR_OVERLINE)); rISet.Put(SvxCrossedOutItem(STRIKEOUT_NONE, EE_CHAR_STRIKEOUT )); + rISet.Put(SvxCaseMapItem(SVX_CASEMAP_NOT_MAPPED, EE_CHAR_CASEMAP )); rISet.Put(SvxEmphasisMarkItem(EMPHASISMARK_NONE, EE_CHAR_EMPHASISMARK)); rISet.Put(SvxCharReliefItem(RELIEF_NONE, EE_CHAR_RELIEF)); rISet.Put(SvxColorItem(Color(COL_AUTO), EE_CHAR_COLOR )); diff --git a/sd/source/core/stlpool.cxx b/sd/source/core/stlpool.cxx index 488e6f5..9abf9ba 100644 --- a/sd/source/core/stlpool.cxx +++ b/sd/source/core/stlpool.cxx @@ -36,6 +36,7 @@ #include <editeng/numitem.hxx> #include <editeng/brushitem.hxx> #include <editeng/editeng.hxx> +#include <editeng/cmapitem.hxx> #include <svl/smplhint.hxx> #include <editeng/langitem.hxx> #include <editeng/charreliefitem.hxx> @@ -233,6 +234,7 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const String& rLayoutName, sal_Bo rSet.Put( SvxUnderlineItem(UNDERLINE_NONE, EE_CHAR_UNDERLINE ) ); rSet.Put( SvxOverlineItem(UNDERLINE_NONE, EE_CHAR_OVERLINE ) ); rSet.Put( SvxCrossedOutItem(STRIKEOUT_NONE, EE_CHAR_STRIKEOUT ) ); + rSet.Put( SvxCaseMapItem(SVX_CASEMAP_NOT_MAPPED, EE_CHAR_CASEMAP ) ); rSet.Put( SvxShadowedItem(sal_False, EE_CHAR_SHADOW ) ); rSet.Put( SvxContourItem(sal_False, EE_CHAR_OUTLINE ) ); rSet.Put( SvxEmphasisMarkItem(EMPHASISMARK_NONE, EE_CHAR_EMPHASISMARK ) ); @@ -354,6 +356,7 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const String& rLayoutName, sal_Bo rTitleSet.Put(SvxUnderlineItem(UNDERLINE_NONE, EE_CHAR_UNDERLINE )); rTitleSet.Put(SvxOverlineItem(UNDERLINE_NONE, EE_CHAR_OVERLINE )); rTitleSet.Put(SvxCrossedOutItem(STRIKEOUT_NONE, EE_CHAR_STRIKEOUT )); + rTitleSet.Put(SvxCaseMapItem(SVX_CASEMAP_NOT_MAPPED, EE_CHAR_CASEMAP )); rTitleSet.Put(SvxShadowedItem(sal_False, EE_CHAR_SHADOW )); rTitleSet.Put(SvxContourItem(sal_False, EE_CHAR_OUTLINE )); rTitleSet.Put( SvxEmphasisMarkItem(EMPHASISMARK_NONE, EE_CHAR_EMPHASISMARK ) ); @@ -399,6 +402,7 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const String& rLayoutName, sal_Bo rSubtitleSet.Put(SvxUnderlineItem(UNDERLINE_NONE, EE_CHAR_UNDERLINE )); rSubtitleSet.Put(SvxOverlineItem(UNDERLINE_NONE, EE_CHAR_OVERLINE )); rSubtitleSet.Put(SvxCrossedOutItem(STRIKEOUT_NONE, EE_CHAR_STRIKEOUT )); + rSubtitleSet.Put(SvxCaseMapItem(SVX_CASEMAP_NOT_MAPPED, EE_CHAR_CASEMAP )); rSubtitleSet.Put(SvxShadowedItem(sal_False, EE_CHAR_SHADOW )); rSubtitleSet.Put(SvxContourItem(sal_False, EE_CHAR_OUTLINE )); rSubtitleSet.Put( SvxEmphasisMarkItem(EMPHASISMARK_NONE, EE_CHAR_EMPHASISMARK ) ); @@ -447,6 +451,7 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const String& rLayoutName, sal_Bo rNotesSet.Put( SvxUnderlineItem(UNDERLINE_NONE, EE_CHAR_UNDERLINE ) ); rNotesSet.Put( SvxOverlineItem(UNDERLINE_NONE, EE_CHAR_OVERLINE ) ); rNotesSet.Put( SvxCrossedOutItem(STRIKEOUT_NONE, EE_CHAR_STRIKEOUT ) ); + rNotesSet.Put( SvxCaseMapItem(SVX_CASEMAP_NOT_MAPPED, EE_CHAR_CASEMAP ) ); rNotesSet.Put( SvxShadowedItem(sal_False, EE_CHAR_SHADOW ) ); rNotesSet.Put( SvxContourItem(sal_False, EE_CHAR_OUTLINE ) ); rNotesSet.Put( SvxEmphasisMarkItem(EMPHASISMARK_NONE, EE_CHAR_EMPHASISMARK ) ); diff --git a/sd/source/ui/view/drtxtob1.cxx b/sd/source/ui/view/drtxtob1.cxx index 6ad4cf1..0cba7c3 100644 --- a/sd/source/ui/view/drtxtob1.cxx +++ b/sd/source/ui/view/drtxtob1.cxx @@ -54,6 +54,7 @@ #include <editeng/writingmodeitem.hxx> #include <editeng/frmdiritem.hxx> #include <svl/itemiter.hxx> +#include <editeng/cmapitem.hxx> #include "app.hrc" @@ -418,6 +419,12 @@ void TextObjectBar::Execute( SfxRequest &rReq ) Get( EE_CHAR_SHADOW ) ).GetValue(), EE_CHAR_SHADOW ) ); } break; + case SID_ATTR_CHAR_CASEMAP: + { + aNewAttr.Put( SvxCaseMapItem( ( (const SvxCaseMapItem&) aEditAttr. + Get( EE_CHAR_CASEMAP ) ) ) ); + } + break; case SID_ATTR_CHAR_STRIKEOUT: { FontStrikeout eFSO = ( ( (const SvxCrossedOutItem&) aEditAttr. diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx index 0d53e44..f66a336 100644 --- a/svx/source/svdraw/svdotextdecomposition.cxx +++ b/svx/source/svdraw/svdotextdecomposition.cxx @@ -176,6 +176,7 @@ namespace { if(rInfo.mrText.Len() && rInfo.mnTextLen) { + OUString caseMappedText = rInfo.mrFont.CalcCaseMap( rInfo.mrText ); basegfx::B2DVector aFontScaling; drawinglayer::attribute::FontAttribute aFontAttribute( drawinglayer::primitive2d::getFontAttributeFromVclFont( @@ -327,7 +328,7 @@ namespace // attributes for TextSimplePortionPrimitive2D aNewTransform, - rInfo.mrText, + caseMappedText, rInfo.mnTextStart, rInfo.mnTextLen, aDXArray, @@ -354,7 +355,7 @@ namespace // TextSimplePortionPrimitive2D is enough pNewPrimitive = new drawinglayer::primitive2d::TextSimplePortionPrimitive2D( aNewTransform, - rInfo.mrText, + caseMappedText, rInfo.mnTextStart, rInfo.mnTextLen, aDXArray, diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index 62f2ee2..0b7324f 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -73,6 +73,8 @@ #include <editeng/shdditem.hxx> #include <editeng/udlnitem.hxx> #include <editeng/wghtitem.hxx> +#include <editeng/svxfont.hxx> +#include <editeng/cmapitem.hxx> #include "svx/drawitem.hxx" #include <svx/tbcontrl.hxx> #include "svx/dlgutil.hxx" @@ -630,6 +632,10 @@ void SvxStyleBox_Impl::UserDraw( const UserDrawEvent& rUDEvt ) if ( pItem ) aFont.SetStrikeout( static_cast< const SvxCrossedOutItem* >( pItem )->GetStrikeout() ); + pItem = aItemSet.GetItem( SID_ATTR_CHAR_CASEMAP ); + if ( pItem ) + ((SvxFont &)aFont).SetCaseMap( static_cast< const SvxCaseMapItem* >( pItem )->GetCaseMap() ); + pItem = aItemSet.GetItem( SID_ATTR_CHAR_EMPHASISMARK ); if ( pItem ) aFont.SetEmphasisMark( static_cast< const SvxEmphasisMarkItem* >( pItem )->GetEmphasisMark() ); diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx index 32ab65a..28b3077 100644 --- a/svx/source/unodraw/unoprov.cxx +++ b/svx/source/unodraw/unoprov.cxx @@ -605,6 +605,7 @@ SfxItemPropertyMapEntry* ImplGetSvxControlShapePropertyMap() { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_WEIGHT), 0, &::getCppuType((const float*)0), 0, 0 }, { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_UNDERLINE), 0, &::getCppuType((const sal_Int16*)0), 0, 0 }, { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_STRIKEOUT), 0, &::getCppuType((const sal_Int16*)0), 0, 0}, + { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_CASEMAP), 0, &::getCppuType((const sal_Int16*)0), 0, 0 }, { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_COLOR), 0, &::getCppuType((const sal_Int32*)0), 0, 0 }, { MAP_CHAR_LEN("CharRelief"), 0, &::getCppuType((const sal_Int16*)0), 0, 0 }, { MAP_CHAR_LEN("CharUnderlineColor"), 0, &::getCppuType((const sal_Int32*)0), 0, 0 }, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits