diff options
author | Muthu Subramanian <sumuthu@collabora.com> | 2014-01-27 16:23:44 +0530 |
---|---|---|
committer | Muthu Subramanian <sumuthu@collabora.com> | 2014-01-27 16:23:44 +0530 |
commit | 887bc4dd3e62fe6dd19dc9d1c3ba273a5b21b5ec (patch) | |
tree | f8bc90276eac21ba17922488a1e10b55e7fc05e5 | |
parent | 22bb611598ed792ba72202451317f4958f32f673 (diff) |
cp#1000025: Import casemaps from pptx.
Note: This only imports it and it may not be
even possible to export (even to othe formats).
Change-Id: I8e104f1bc3a95c42ac932b6ab58365dc113fb2e0
-rw-r--r-- | editeng/source/accessibility/AccessibleEditableTextPara.cxx | 1 | ||||
-rw-r--r-- | editeng/source/editeng/editattr.cxx | 17 | ||||
-rw-r--r-- | editeng/source/editeng/editattr.hxx | 12 | ||||
-rw-r--r-- | editeng/source/editeng/editdoc.cxx | 9 | ||||
-rw-r--r-- | editeng/source/editeng/editeng.cxx | 2 | ||||
-rw-r--r-- | editeng/source/editeng/eerdll.cxx | 10 | ||||
-rw-r--r-- | editeng/source/uno/unofdesc.cxx | 1 | ||||
-rw-r--r-- | editeng/source/uno/unotext.cxx | 2 | ||||
-rw-r--r-- | include/editeng/eeitem.hxx | 17 | ||||
-rw-r--r-- | include/editeng/eeitemid.hxx | 2 | ||||
-rw-r--r-- | include/editeng/unoprnms.hxx | 1 | ||||
-rw-r--r-- | include/editeng/unotext.hxx | 1 | ||||
-rw-r--r-- | oox/source/drawingml/textcharacterpropertiescontext.cxx | 2 | ||||
-rw-r--r-- | sd/source/core/drawdoc4.cxx | 2 | ||||
-rw-r--r-- | sd/source/core/stlpool.cxx | 5 | ||||
-rw-r--r-- | sd/source/ui/view/drtxtob1.cxx | 7 | ||||
-rw-r--r-- | svx/source/svdraw/svdotextdecomposition.cxx | 5 | ||||
-rw-r--r-- | svx/source/tbxctrls/tbcontrl.cxx | 6 | ||||
-rw-r--r-- | svx/source/unodraw/unoprov.cxx | 1 |
19 files changed, 86 insertions, 17 deletions
diff --git a/editeng/source/accessibility/AccessibleEditableTextPara.cxx b/editeng/source/accessibility/AccessibleEditableTextPara.cxx index 75dce259e031..1cf13e023548 100644 --- a/editeng/source/accessibility/AccessibleEditableTextPara.cxx +++ b/editeng/source/accessibility/AccessibleEditableTextPara.cxx @@ -885,6 +885,7 @@ namespace accessibility STR("CharPosture"); STR("CharShadowed"); STR("CharStrikeout"); + STR("CharCaseMap"); STR("CharUnderline"); STR("CharUnderlineColor"); STR("CharWeight"); diff --git a/editeng/source/editeng/editattr.cxx b/editeng/source/editeng/editattr.cxx index 1014424c844d..d5e7e23f94bf 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" @@ -182,7 +183,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* ) @@ -191,6 +192,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 4fb657c25b84..39174273c1d4 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 1f9f35dd2933..7a0de12e8790 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> @@ -211,6 +212,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 @@ -363,6 +365,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 ); @@ -1945,6 +1952,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 649a725603f4..e015bd9fe591 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> @@ -2607,6 +2608,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 704573aaa1eb..10bcb7645eea 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 cd52e33e2157..0382d901ffc0 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 93c46ae97b71..fa6a90fd975a 100644 --- a/editeng/source/uno/unotext.cxx +++ b/editeng/source/uno/unotext.cxx @@ -951,7 +951,7 @@ beans::PropertyState SAL_CALL SvxUnoTextRangeBase::getPropertyState( const OUStr } static const 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 dd17037731c1..5a2399272732 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 80da17ef582c..c6b55f4f4b28 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 b4030609f1f5..8b7c89637d34 100644 --- a/include/editeng/unoprnms.hxx +++ b/include/editeng/unoprnms.hxx @@ -329,6 +329,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 e1ee419791a1..da054cd6a245 100644 --- a/include/editeng/unotext.hxx +++ b/include/editeng/unotext.hxx @@ -99,6 +99,7 @@ class SvxItemPropertySet; { OUString("CharOverlineHasColor"), EE_CHAR_OVERLINE, ::getBooleanCppuType(), 0, MID_TL_HASCOLOR } , \ { OUString(UNO_NAME_EDIT_CHAR_CROSSEDOUT), EE_CHAR_STRIKEOUT, ::getBooleanCppuType(), 0, MID_CROSSED_OUT }, \ { OUString(UNO_NAME_EDIT_CHAR_STRIKEOUT), EE_CHAR_STRIKEOUT, ::getCppuType((const sal_Int16*)0), 0, MID_CROSS_OUT}, \ + { OUString(UNO_NAME_EDIT_CHAR_CASEMAP), EE_CHAR_CASEMAP, ::getCppuType((const sal_Int16*)0), 0, 0 }, \ { OUString(UNO_NAME_EDIT_CHAR_SHADOWED), EE_CHAR_SHADOW, ::getBooleanCppuType(), 0, 0 }, \ { OUString("CharContoured"), EE_CHAR_OUTLINE, ::getBooleanCppuType(), 0, 0 }, \ { OUString("CharEscapementHeight"), EE_CHAR_ESCAPEMENT, ::getCppuType((const sal_Int8*)0), 0, MID_ESC_HEIGHT },\ diff --git a/oox/source/drawingml/textcharacterpropertiescontext.cxx b/oox/source/drawingml/textcharacterpropertiescontext.cxx index d873c441dbec..36bb46536f0b 100644 --- a/oox/source/drawingml/textcharacterpropertiescontext.cxx +++ b/oox/source/drawingml/textcharacterpropertiescontext.cxx @@ -59,6 +59,8 @@ TextCharacterPropertiesContext::TextCharacterPropertiesContext( mrTextCharacterProperties.moBold = rAttribs.getBool( XML_b ); if ( rAttribs.hasAttribute( XML_i ) ) mrTextCharacterProperties.moItalic = rAttribs.getBool( XML_i ); + if( rAttribs.hasAttribute( XML_cap ) ) + mrTextCharacterProperties.moCaseMap = rAttribs.getToken( XML_cap ); /* TODO / unhandled so far: XML_cap diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx index 18dc10dc8794..e3981ac86a28 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 7324c994e358..00d38e94e5e1 100644 --- a/sd/source/core/stlpool.cxx +++ b/sd/source/core/stlpool.cxx @@ -37,6 +37,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> @@ -225,6 +226,7 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const OUString& rLayoutName, sal_ 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 ) ); @@ -341,6 +343,7 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const OUString& rLayoutName, sal_ 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 ) ); @@ -385,6 +388,7 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const OUString& rLayoutName, sal_ 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 ) ); @@ -432,6 +436,7 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const OUString& rLayoutName, sal_ 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 01692f526790..d1328ee951f4 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" @@ -417,6 +418,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 b01aab4052df..4927d8d45b21 100644 --- a/svx/source/svdraw/svdotextdecomposition.cxx +++ b/svx/source/svdraw/svdotextdecomposition.cxx @@ -178,6 +178,7 @@ namespace { if(!rInfo.maText.isEmpty() && rInfo.mnTextLen) { + OUString caseMappedText = rInfo.mrFont.CalcCaseMap( rInfo.maText ); basegfx::B2DVector aFontScaling; drawinglayer::attribute::FontAttribute aFontAttribute( drawinglayer::primitive2d::getFontAttributeFromVclFont( @@ -329,7 +330,7 @@ namespace // attributes for TextSimplePortionPrimitive2D aNewTransform, - rInfo.maText, + caseMappedText, rInfo.mnTextStart, rInfo.mnTextLen, aDXArray, @@ -356,7 +357,7 @@ namespace // TextSimplePortionPrimitive2D is enough pNewPrimitive = new drawinglayer::primitive2d::TextSimplePortionPrimitive2D( aNewTransform, - rInfo.maText, + caseMappedText, rInfo.mnTextStart, rInfo.mnTextLen, aDXArray, diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index a2369dc9a87a..68998469994b 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" @@ -628,6 +630,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 4972b49a5337..7a7abf07057d 100644 --- a/svx/source/unodraw/unoprov.cxx +++ b/svx/source/unodraw/unoprov.cxx @@ -585,6 +585,7 @@ SfxItemPropertyMapEntry const * ImplGetSvxControlShapePropertyMap() { OUString(UNO_NAME_EDIT_CHAR_WEIGHT), 0, ::getCppuType((const float*)0), 0, 0 }, { OUString(UNO_NAME_EDIT_CHAR_UNDERLINE), 0, ::getCppuType((const sal_Int16*)0), 0, 0 }, { OUString(UNO_NAME_EDIT_CHAR_STRIKEOUT), 0, ::getCppuType((const sal_Int16*)0), 0, 0}, + { OUString(UNO_NAME_EDIT_CHAR_CASEMAP), 0, ::getCppuType((const sal_Int16*)0), 0, 0 }, { OUString(UNO_NAME_EDIT_CHAR_COLOR), 0, ::getCppuType((const sal_Int32*)0), 0, 0 }, { OUString("CharRelief"), 0, ::getCppuType((const sal_Int16*)0), 0, 0 }, { OUString("CharUnderlineColor"), 0, ::getCppuType((const sal_Int32*)0), 0, 0 }, |