Export Writer font effects "Capitals", "Lowercase" and "Title" (see Format -> 
Character -> Font effects) to HTML using CSS text-transform property.

Corresponding import code is not yet done, I will get to that soon.

Contributed under LGPLv3+ and MPL.

Harri
From 3b0ee298fcc0150f8e77abb2b4006568a1974b69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Harri=20Pitk=C3=A4nen?= <hatap...@iki.fi>
Date: Sun, 12 Jun 2011 18:42:03 +0300
Subject: [PATCH] Support font effects "Capitals", "Lowercase" and "Title" in
 HTML export

Export Writer font effects "Capitals", "Lowercase" and "Title" (see
Format -> Character -> Font effects) to HTML using CSS text-transform
property. Corresponding import code is not yet implemented.
---
 sw/source/filter/html/css1atr.cxx  |   21 +++++++++++++++------
 sw/source/filter/html/css1kywd.cxx |    5 +++++
 sw/source/filter/html/css1kywd.hxx |    5 +++++
 3 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/sw/source/filter/html/css1atr.cxx b/sw/source/filter/html/css1atr.cxx
index 9bf6ea4..92a149b 100644
--- a/sw/source/filter/html/css1atr.cxx
+++ b/sw/source/filter/html/css1atr.cxx
@@ -2564,18 +2564,27 @@ static Writer& OutCSS1_SvxCaseMap( Writer& rWrt, const SfxPoolItem& rHt )
     if( !rHTMLWrt.IsHTMLMode(HTMLMODE_SMALL_CAPS) )
         return rWrt;
 
-    const sal_Char *pStr = 0;
     switch( ((const SvxCaseMapItem&)rHt).GetCaseMap() )
     {
-    case SVX_CASEMAP_NOT_MAPPED:	pStr = sCSS1_PV_normal;		break;
-    case SVX_CASEMAP_KAPITAELCHEN:	pStr = sCSS1_PV_small_caps;	break;
+    case SVX_CASEMAP_NOT_MAPPED:
+        rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_font_variant, sCSS1_PV_normal );
+        break;
+    case SVX_CASEMAP_KAPITAELCHEN:
+        rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_font_variant, sCSS1_PV_small_caps );
+        break;
+    case SVX_CASEMAP_VERSALIEN:
+        rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_transform, sCSS1_PV_uppercase );
+        break;
+    case SVX_CASEMAP_GEMEINE:
+        rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_transform, sCSS1_PV_lowercase );
+        break;
+    case SVX_CASEMAP_TITEL:
+        rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_transform, sCSS1_PV_capitalize );
+        break;
     default:
         ;
     }
 
-    if( pStr )
-        rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_font_variant, pStr );
-
     return rWrt;
 }
 
diff --git a/sw/source/filter/html/css1kywd.cxx b/sw/source/filter/html/css1kywd.cxx
index ba7ab32..7874c6f 100644
--- a/sw/source/filter/html/css1kywd.cxx
+++ b/sw/source/filter/html/css1kywd.cxx
@@ -109,6 +109,11 @@ sal_Char CSS1_CONSTASCII_DEF( sCSS1_PV_extra_bold, "extra-bold" );
 sal_Char CSS1_CONSTASCII_DEF( sCSS1_PV_lighter, "lighter" );
 sal_Char CSS1_CONSTASCII_DEF( sCSS1_PV_bolder, "bolder" );
 
+sal_Char CSS1_CONSTASCII_DEF( sCSS1_P_text_transform, "text-transform" );
+
+sal_Char CSS1_CONSTASCII_DEF( sCSS1_PV_capitalize, "capitalize" );
+sal_Char CSS1_CONSTASCII_DEF( sCSS1_PV_uppercase, "uppercase" );
+sal_Char CSS1_CONSTASCII_DEF( sCSS1_PV_lowercase, "lowercase" );
 
 sal_Char CSS1_CONSTASCII_DEF( sCSS1_P_font_size, "font-size" );
 
diff --git a/sw/source/filter/html/css1kywd.hxx b/sw/source/filter/html/css1kywd.hxx
index e3f8f05..539ad90 100644
--- a/sw/source/filter/html/css1kywd.hxx
+++ b/sw/source/filter/html/css1kywd.hxx
@@ -102,6 +102,11 @@ extern sal_Char CSS1_CONSTASCII_DECL( sCSS1_P_font_variant, "font-variant" );
 //sal_Char CSS1_CONSTASCII_DECL( sCSS1_PV_normal, "normal" );
 extern sal_Char CSS1_CONSTASCII_DECL( sCSS1_PV_small_caps, "small-caps" );
 
+extern sal_Char CSS1_CONSTASCII_DECL( sCSS1_P_text_transform, "text-transform" );
+
+extern sal_Char CSS1_CONSTASCII_DECL( sCSS1_PV_capitalize, "capitalize" );
+extern sal_Char CSS1_CONSTASCII_DECL( sCSS1_PV_uppercase, "uppercase" );
+extern sal_Char CSS1_CONSTASCII_DECL( sCSS1_PV_lowercase, "lowercase" );
 
 extern sal_Char CSS1_CONSTASCII_DECL( sCSS1_P_font_weight, "font-weight" );
 
-- 
1.7.5.3

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to