Difference between revisions of "Writer/Underline Color"
(→MS Binary Format specification) |
(→export design detail) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
== Descriptions of Main Problems == | == Descriptions of Main Problems == | ||
− | Currently, Apache OpenOffice 3.4 doesn't implement the support of underline color importing and exporting in | + | Currently, Apache OpenOffice 3.4 doesn't implement the support of underline color importing and exporting in WORD 2003/2007 filter, although it works well in ODF. Color of underlining text in documents imported from Word 2003/2007 into Writer get |
the wrong color, e.g. black as default color in Writer, while in Word 2003 it would be any one. Color of Underlining text in documents exported from Writer to Word 2003 will be lost, and also set the color as default value black. | the wrong color, e.g. black as default color in Writer, while in Word 2003 it would be any one. Color of Underlining text in documents exported from Writer to Word 2003 will be lost, and also set the color as default value black. | ||
Line 80: | Line 80: | ||
style:text-underline-color The value range is either font-color or a color value | style:text-underline-color The value range is either font-color or a color value | ||
=== MS Binary Format specification === | === MS Binary Format specification === | ||
− | + | underline color is one of Character Properties(CHP) in Binary Format,and the color attribute is stored using the following sprm property. | |
− | sprmCCvUI | + | |
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Sprm | ||
+ | ! ispmd | ||
+ | ! operand | ||
+ | |- | ||
+ | | sprmCCvUI(0x6877) | ||
+ | | 0x77 | ||
+ | | A COLORREF value that specifies the color of the text underline. | ||
+ | |} | ||
=== OOXML Format specification === | === OOXML Format specification === | ||
Line 88: | Line 98: | ||
== Support underline color in WW8 filter == | == Support underline color in WW8 filter == | ||
+ | === import design detail === | ||
+ | |||
+ | 1. Adding the underline color loading function SwWW8ImplReader::Read_UnderlineColor(), | ||
+ | |||
+ | 2. Read sprmCCvUI property from stream in SwWW8ImplReader::GetSprmReadInfo() | ||
+ | |||
+ | === export design detail === | ||
+ | |||
+ | 1. Adding the color export process in WW8AttributeOutput::CharUnderline() method which handle the underline property export. | ||
+ | |||
+ | 2. Retrive the underline color attribute from SvxUnderlineItem::GetColor() and write them | ||
+ | into sprmCCvUI property | ||
+ | |||
+ | == Support underline color in WORD 2007 filter == | ||
+ | TODO |
Latest revision as of 09:38, 11 July 2012
Contents
Underline color in Writer
Underline color is not a standalone attribute in Writer. It belongs to the underline attribute, which is one of significant font effect attribute. The underline and underline color attributes can be accessed via the “Font Effects” pane in Writer, and the value range for underline color is the same as for the Color pane.
Descriptions of Main Problems
Currently, Apache OpenOffice 3.4 doesn't implement the support of underline color importing and exporting in WORD 2003/2007 filter, although it works well in ODF. Color of underlining text in documents imported from Word 2003/2007 into Writer get the wrong color, e.g. black as default color in Writer, while in Word 2003 it would be any one. Color of Underlining text in documents exported from Writer to Word 2003 will be lost, and also set the color as default value black.
underline color import | status |
---|---|
odt | work |
doc | lost |
docx | lost |
underline color export | status |
---|---|
odt2odt | work |
odt2doc | lost |
doc2odt | lost |
doc2doc | lost |
docx2odt | lost |
docx2doc | lost |
Underline color in document model
The Underline and Underline color attributes can be accessed via the UNO API. Using the properties CharUnderline, CharUnderlineColor, and CharUnderlinelineHasColor in the service com.sun.star.style.CharacterProperties. These properties are described in the following table:
underlinecolor related properties | |
---|---|
short CharUnderline | This property contains the value for the character underline. |
::com::sun::star::util::Color CharUnderlineColor | This property contains the color of the underline for the characters. |
boolean CharUnderlinelineHasColor | This property specifies if the property CharUnderlineColor is used for an underline. |
There is a Value container named SvxUnderlineItem for underline font effects which specify the underline color property
Underline color in specification
ODF specification
The underrline color attribute is stored using the following ODF property.
style:text-underline-color The value range is either font-color or a color value
MS Binary Format specification
underline color is one of Character Properties(CHP) in Binary Format,and the color attribute is stored using the following sprm property.
Sprm | ispmd | operand |
---|---|---|
sprmCCvUI(0x6877) | 0x77 | A COLORREF value that specifies the color of the text underline. |
OOXML Format specification
When it comes to Office open XML specification, element <w:u> and attribute <w:color> are used to specify the color for the underling text. e.g. <w:u … w:color="auto" />
Support underline color in WW8 filter
import design detail
1. Adding the underline color loading function SwWW8ImplReader::Read_UnderlineColor(),
2. Read sprmCCvUI property from stream in SwWW8ImplReader::GetSprmReadInfo()
export design detail
1. Adding the color export process in WW8AttributeOutput::CharUnderline() method which handle the underline property export.
2. Retrive the underline color attribute from SvxUnderlineItem::GetColor() and write them into sprmCCvUI property
Support underline color in WORD 2007 filter
TODO