[Libreoffice-commits] core.git: Branch 'libreoffice-4-2' - editeng/source include/editeng oox/source sd/source svx/source
Muthu Subramanian
sumuthu at collabora.com
Mon Mar 17 03:43:04 PDT 2014
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 d58adfde297a840a65103a87bf09fb64f70803e1
Author: Muthu Subramanian <sumuthu at collabora.com>
Date: Tue Feb 4 18:24:03 2014 +0530
cp#1000025: Import casemaps from pptx.
(Ported from: 887bc4dd3e62fe6dd19dc9d1c3ba273a5b21b5ec
and 9dbcb79782d6a5b80c21a0c093537d18425b826f)
Change-Id: I211491e06273aedf5c8ddbd0ca3fc35f3d168aaa
Reviewed-on: https://gerrit.libreoffice.org/7848
Reviewed-by: Andras Timar <andras.timar at collabora.com>
Tested-by: Andras Timar <andras.timar at collabora.com>
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 4fb657c..3917427 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 26c2b24..f02990b 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 );
@@ -1958,6 +1965,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 c9b7970..149bb6e 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>
@@ -2786,6 +2787,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..d51d370 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,14 +152,15 @@ 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!" );
+ DBG_ASSERT( EDITITEMCOUNT == 53, "ITEMCOUNT geaendert, DefItems nicht angepasst!" );
// Init DefFonts:
GetDefaultFonts( *(SvxFontItem*)ppDefItems[EE_CHAR_FONTINFO - EE_ITEMS_START],
diff --git a/editeng/source/uno/unofdesc.cxx b/editeng/source/uno/unofdesc.cxx
index cd52e33..0382d90 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 f9b09dd..bac5bf9 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 dd17037..5a239927 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 80da17e..c6b55f4 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 b403060..8b7c896 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 66b1c26..a508981 100644
--- a/include/editeng/unotext.hxx
+++ b/include/editeng/unotext.hxx
@@ -107,6 +107,7 @@ class SvxItemPropertySet;
{ 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_STRIKEOUT), EE_CHAR_STRIKEOUT, &::getCppuType((const sal_Int16*)0), 0, MID_CROSS_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_SHADOWED), EE_CHAR_SHADOW, &::getBooleanCppuType(), 0, 0 }, \
{ MAP_CHAR_LEN("CharContoured"), EE_CHAR_OUTLINE, &::getBooleanCppuType(), 0, 0 }, \
{ MAP_CHAR_LEN("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 d077b4d..e166e6d 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 18dc10d..e3981ac 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 5d90fac..bb352e3 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>
@@ -224,6 +225,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 ) );
@@ -340,6 +342,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 ) );
@@ -384,6 +387,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 ) );
@@ -431,6 +435,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 5ddbe1d..058c1ec 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 b01aab4..4927d8d 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 6d6befa..b8f3a85 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 38c3839..0055783 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 },
More information about the Libreoffice-commits
mailing list