1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
|
Font highlight color
====================
Text in a Word document can be "highlighted" with a number of colors,
providing text background color. The visual effect is similar to that
produced using a highlighter (often fluorescent yellow) on a printed page.
Protocol
--------
Text is highlighted by assigning a member of `WD_COLOR_INDEX` to
`Font.highlight_color`.
>>> font = paragraph.add_run().font
>>> font.highlight_color
None
>>> font.highlight_color = WD_COLOR_INDEX.YELLOW
>>> font.highlight_color
YELLOW (7)
>>> font.highlight_color = WD_COLOR_INDEX.TURQUOISE
>>> font.highlight_color
TURQUOISE (3)
>>> font.highlight_color = None
>>> font.highlight_color
None
Enumerations
------------
* `WdColorIndex Enumeration on MSDN`_
.. _WdColorIndex Enumeration on MSDN: https://msdn.microsoft.com/EN-US/library/office/ff195343.aspx
XML Semantics
-------------
Mapping of `WD_COLOR_INDEX` members to `ST_Highlight` values::
AUTO = 'default'
BLACK = 'black'
BLUE = 'blue'
BRIGHTGREEN = 'green'
DARKBLUE = 'darkBlue'
DARKRED = 'darkRed'
DARKYELLOW = 'darkYellow'
GRAY25 = 'lightGray'
GRAY50 = 'darkGray'
GREEN = 'darkGreen'
PINK = 'magenta'
RED = 'red'
TEAL = 'darkCyan'
TURQUOISE = 'cyan'
VOILET = 'darkMagenta'
WHITE = 'white'
YELLOW = 'yellow'
Specimen XML
------------
.. highlight:: xml
Baseline run::
<w:r>
<w:t>Black text on white background</w:t>
</w:r>
Blue text, Bright Green Highlight::
<w:r>
<w:rPr>
<w:highlight w:val="green"/>
</w:rPr>
<w:t>Blue text on bright green background</w:t>
</w:r>
Red text, Green Highlight::
<w:r>
<w:rPr>
<w:highlight w:val="darkGreen"/>
</w:rPr>
<w:t>Red text on green background</w:t>
</w:r>
Schema excerpt
--------------
.. highlight:: xml
According to the schema, run properties may appear in any order and may
appear multiple times each. Not sure what the semantics of that would be or
why one would want to do it, but something to note. Word seems to place them
in the order below when it writes the file.::
<xsd:complexType name="CT_RPr"> <!-- denormalized -->
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="rStyle" type="CT_String"/>
<xsd:element name="rFonts" type="CT_Fonts"/>
<xsd:element name="b" type="CT_OnOff"/>
<xsd:element name="bCs" type="CT_OnOff"/>
<xsd:element name="i" type="CT_OnOff"/>
<xsd:element name="iCs" type="CT_OnOff"/>
<xsd:element name="caps" type="CT_OnOff"/>
<xsd:element name="smallCaps" type="CT_OnOff"/>
<xsd:element name="strike" type="CT_OnOff"/>
<xsd:element name="dstrike" type="CT_OnOff"/>
<xsd:element name="outline" type="CT_OnOff"/>
<xsd:element name="shadow" type="CT_OnOff"/>
<xsd:element name="emboss" type="CT_OnOff"/>
<xsd:element name="imprint" type="CT_OnOff"/>
<xsd:element name="noProof" type="CT_OnOff"/>
<xsd:element name="snapToGrid" type="CT_OnOff"/>
<xsd:element name="vanish" type="CT_OnOff"/>
<xsd:element name="webHidden" type="CT_OnOff"/>
<xsd:element name="color" type="CT_Color"/>
<xsd:element name="spacing" type="CT_SignedTwipsMeasure"/>
<xsd:element name="w" type="CT_TextScale"/>
<xsd:element name="kern" type="CT_HpsMeasure"/>
<xsd:element name="position" type="CT_SignedHpsMeasure"/>
<xsd:element name="sz" type="CT_HpsMeasure"/>
<xsd:element name="szCs" type="CT_HpsMeasure"/>
<xsd:element name="highlight" type="CT_Highlight"/>
<xsd:element name="u" type="CT_Underline"/>
<xsd:element name="effect" type="CT_TextEffect"/>
<xsd:element name="bdr" type="CT_Border"/>
<xsd:element name="shd" type="CT_Shd"/>
<xsd:element name="fitText" type="CT_FitText"/>
<xsd:element name="vertAlign" type="CT_VerticalAlignRun"/>
<xsd:element name="rtl" type="CT_OnOff"/>
<xsd:element name="cs" type="CT_OnOff"/>
<xsd:element name="em" type="CT_Em"/>
<xsd:element name="lang" type="CT_Language"/>
<xsd:element name="eastAsianLayout" type="CT_EastAsianLayout"/>
<xsd:element name="specVanish" type="CT_OnOff"/>
<xsd:element name="oMath" type="CT_OnOff"/>
</xsd:choice>
<xsd:element name="rPrChange" type="CT_RPrChange" minOccurs="0"/>
</xsd:sequence>
</xsd:group>
<!-- complex types -->
<xsd:complexType name="CT_Highlight">
<xsd:attribute name="val" type="ST_Highlight" use="required"/>
</xsd:complexType>
<!-- simple types -->
<xsd:simpleType name="ST_Highlight">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="default"/>
<xsd:enumeration value="black"/>
<xsd:enumeration value="blue"/>
<xsd:enumeration value="green"/>
<xsd:enumeration value="darkBlue"/>
<xsd:enumeration value="darkRed"/>
<xsd:enumeration value="darkYellow"/>
<xsd:enumeration value="lightGray"/>
<xsd:enumeration value="darkGray"/>
<xsd:enumeration value="darkGreen"/>
<xsd:enumeration value="magenta"/>
<xsd:enumeration value="red"/>
<xsd:enumeration value="darkCyan"/>
<xsd:enumeration value="cyan"/>
<xsd:enumeration value="darkMagenta"/>
<xsd:enumeration value="white"/>
<xsd:enumeration value="yellow"/>
</xsd:restriction>
</xsd:simpleType>
|