66
77from ...enum .text import WD_UNDERLINE
88from ..ns import qn
9- from ..simpletypes import ST_BrClear , ST_BrType , ST_String
9+ from ..simpletypes import ST_BrClear , ST_BrType , ST_HpsMeasure , ST_String
1010from ..xmlchemy import (
11- BaseOxmlElement , OptionalAttribute , ZeroOrMore , ZeroOrOne
11+ BaseOxmlElement , OptionalAttribute , RequiredAttribute , ZeroOrMore ,
12+ ZeroOrOne
1213)
1314
1415
@@ -29,6 +30,14 @@ class CT_Fonts(BaseOxmlElement):
2930 hAnsi = OptionalAttribute ('w:hAnsi' , ST_String )
3031
3132
33+ class CT_HpsMeasure (BaseOxmlElement ):
34+ """
35+ Used for ``<w:sz>`` element and others, specifying font size in
36+ half-points.
37+ """
38+ val = RequiredAttribute ('w:val' , ST_HpsMeasure )
39+
40+
3241class CT_R (BaseOxmlElement ):
3342 """
3443 ``<w:r>`` element, containing the properties and text for a run.
@@ -161,6 +170,7 @@ class CT_RPr(BaseOxmlElement):
161170 snapToGrid = ZeroOrOne ('w:snapToGrid' , successors = _tag_seq [16 :])
162171 vanish = ZeroOrOne ('w:vanish' , successors = _tag_seq [17 :])
163172 webHidden = ZeroOrOne ('w:webHidden' , successors = _tag_seq [18 :])
173+ sz = ZeroOrOne ('w:sz' , successors = _tag_seq [24 :])
164174 u = ZeroOrOne ('w:u' , successors = _tag_seq [27 :])
165175 rtl = ZeroOrOne ('w:rtl' , successors = _tag_seq [33 :])
166176 cs = ZeroOrOne ('w:cs' , successors = _tag_seq [34 :])
@@ -231,6 +241,16 @@ def style(self, style):
231241 else :
232242 self .rStyle .val = style
233243
244+ @property
245+ def sz_val (self ):
246+ """
247+ The value of `w:sz/@w:val` or |None| if not present.
248+ """
249+ sz = self .sz
250+ if sz is None :
251+ return None
252+ return sz .val
253+
234254 @property
235255 def underline (self ):
236256 """
0 commit comments