summaryrefslogtreecommitdiff
path: root/sw/source/filter/html/svxcss1.cxx
diff options
context:
space:
mode:
authorHarri Pitkänen <hatapitk@iki.fi>2011-06-18 21:12:01 +0300
committerTor Lillqvist <tlillqvist@novell.com>2011-06-20 15:01:37 +0300
commit9b3c44d568b38938acc797c4a9ff42ad77890250 (patch)
tree5ed63b56a6812735d0abbbf21f4eda32379efd81 /sw/source/filter/html/svxcss1.cxx
parentc5efe3c01578a84c551f7ed5605f147f1b10e9f9 (diff)
Support CSS text-transform property in HTML import
Diffstat (limited to 'sw/source/filter/html/svxcss1.cxx')
-rw-r--r--sw/source/filter/html/svxcss1.cxx35
1 files changed, 35 insertions, 0 deletions
diff --git a/sw/source/filter/html/svxcss1.cxx b/sw/source/filter/html/svxcss1.cxx
index 9de2080428c2..0a0b86c5cd2d 100644
--- a/sw/source/filter/html/svxcss1.cxx
+++ b/sw/source/filter/html/svxcss1.cxx
@@ -128,6 +128,14 @@ static CSS1PropertyEnum const aFontVariantTable[] =
{ 0, 0 }
};
+static CSS1PropertyEnum const aTextTransformTable[] =
+{
+ { sCSS1_PV_uppercase, SVX_CASEMAP_VERSALIEN },
+ { sCSS1_PV_lowercase, SVX_CASEMAP_GEMEINE },
+ { sCSS1_PV_capitalize, SVX_CASEMAP_TITEL },
+ { 0, 0 }
+};
+
static CSS1PropertyEnum const aDirectionTable[] =
{
{ sCSS1_PV_ltr, FRMDIR_HORI_LEFT_TOP },
@@ -1314,6 +1322,32 @@ static void ParseCSS1_font_variant( const CSS1Expression *pExpr,
}
}
+static void ParseCSS1_text_transform( const CSS1Expression *pExpr,
+ SfxItemSet &rItemSet,
+ SvxCSS1PropertyInfo& /*rPropInfo*/,
+ const SvxCSS1Parser& /*rParser*/ )
+{
+ OSL_ENSURE( pExpr, "no expression" );
+
+ // none | capitalize | uppercase | lowercase
+
+ switch( pExpr->GetType() )
+ {
+ case CSS1_IDENT:
+ {
+ sal_uInt16 nCaseMap;
+ if( SvxCSS1Parser::GetEnum( aTextTransformTable, pExpr->GetString(),
+ nCaseMap ) )
+ {
+ rItemSet.Put( SvxCaseMapItem( (SvxCaseMap)nCaseMap,
+ aItemIds.nCaseMap ) );
+ }
+ }
+ default:
+ ;
+ }
+}
+
/* */
static void ParseCSS1_color( const CSS1Expression *pExpr,
@@ -3140,6 +3174,7 @@ static CSS1PropEntry aCSS1PropFnTab[] =
CSS1_PROP_ENTRY(text_align),
CSS1_PROP_ENTRY(text_decoration),
CSS1_PROP_ENTRY(text_indent),
+ CSS1_PROP_ENTRY(text_transform),
CSS1_PROP_ENTRY(margin_left),
CSS1_PROP_ENTRY(margin_right),
CSS1_PROP_ENTRY(margin_top),