
    >h*                    N   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
 ddlmZ ddlmZ ddlmZmZmZmZ dd	lmZmZmZmZ dd
lmZ erddlmZmZ ddlmZ  G d de      Z G d de      Z  G d de      Z! G d de      Z" G d de      Z# G d de      Z$ G d de      Z%y)z8Custom element classes related to run properties (font).    )annotations)TYPE_CHECKINGCallable)MSO_THEME_COLOR)WD_COLOR_INDEXWD_UNDERLINE)nsdecls)	parse_xml)ST_HexColorST_HpsMeasure	ST_StringST_VerticalAlignRun)BaseOxmlElementOptionalAttributeRequiredAttribute	ZeroOrOne)RGBColor)CT_OnOff	CT_String)Lengthc                  J    e Zd ZU dZ ede      Zded<    ede	      Z
ded<   y)	CT_ColorzL`w:color` element, specifying the color of a font and perhaps other objects.w:valzRGBColor | strvalzw:themeColorzMSO_THEME_COLOR | None
themeColorN)__name__
__module____qualname____doc__r   r   r   __annotations__r   r   r        T/var/www/html/bid_assistant/venv/lib/python3.12/site-packages/docx/oxml/text/font.pyr   r       s(    V+G[ACA):>?)[J&[r"   r   c                  J    e Zd ZU dZ ede      Zded<    ede      Zded<   y)CT_FontszW`<w:rFonts>` element.

    Specifies typeface name for the various language types.
    zw:ascii
str | Noneasciizw:hAnsihAnsiN)	r   r   r   r   r   r   r'   r    r(   r!   r"   r#   r%   r%   '   s+    
 *)Y?E:?))Y?E:?r"   r%   c                  .    e Zd ZU dZ ede      Zded<   y)CT_HighlightzE`w:highlight` element, specifying font highlighting/background color.r   r   r   N)r   r   r   r   r   r   r   r    r!   r"   r#   r*   r*   1   s    O+G^DCDr"   r*   c                  .    e Zd ZU dZ ede      Zded<   y)CT_HpsMeasurezJUsed for `<w:sz>` element and others, specifying font size in half-points.r   r   r   N)r   r   r   r   r   r   r   r    r!   r"   r#   r,   r,   7   s    T#G];C;r"   r,   c                     e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   dZ ededd       Zded<    eded d       Zd!ed"<    ed#ed$d       Z	d%ed&<    ed'ed(d       Z
 ed)ed*d       Z ed+ed,d       Z ed-ed.d       Z ed/ed0d       Z ed1ed2d       Z ed3ed4d       Z ed5ed6d       Z ed7ed8d       Z ed9ed:d       Z ed;ed<d       Z ed=ed>d       Z ed?ed@d       Z edAedBd       Z edCedDd       Z edEedFd       ZdGedH<    edIedJd       ZdKedL<    edMedNd       ZdOedP<    edQedRd       ZdSedT<    edUedVd       ZdWedX<    edYedZd       Z ed[ed\d       Z ed]ed^d       Z  ed_ed`d       Z![da Z"e#dtdb       Z$e$jJ                  dudc       Z$e#dvdd       Z&e&jJ                  dwde       Z&e#dvdf       Z'e'jJ                  dxdg       Z'e#dvdh       Z(e(jJ                  dydi       Z(e#dzdj       Z)e)jJ                  d{dk       Z)e#dzdl       Z*e*jJ                  d|dm       Z*e#d}dn       Z+e+jJ                  d~do       Z+e#ddp       Z,e,jJ                  ddq       Z,ddrZ-ddsZ.y)CT_RPrz7`<w:rPr>` element, containing the properties for a run.zCallable[[], CT_Color]get_or_add_colorzCallable[[], CT_Highlight]get_or_add_highlightzCallable[[], CT_Fonts]get_or_add_rFontszCallable[[], CT_HpsMeasure]get_or_add_szz!Callable[[], CT_VerticalAlignRun]get_or_add_vertAlignzCallable[..., CT_String]_add_rStylezCallable[[], CT_Underline]_add_uzCallable[[], None]_remove_color_remove_highlight_remove_rFonts_remove_rStyle
_remove_sz	_remove_u_remove_vertAlign)'w:rStylew:rFontsw:bw:bCsw:iw:iCsw:capsw:smallCapsw:strike	w:dstrike	w:outlinew:shadoww:emboss	w:imprint	w:noProofw:snapToGridw:vanishw:webHiddenw:colorz	w:spacingzw:wzw:kernz
w:positionw:szzw:szCsw:highlightw:uzw:effectzw:bdrzw:shdz	w:fitTextw:vertAlignw:rtlw:cszw:emzw:langzw:eastAsianLayoutw:specVanishw:oMathr=      N)
successorszCT_String | NonerStyler>      zCT_Fonts | NonerFontsr?      zCT_OnOff | Nonebr@      rA      rB      rC      rD      rE   	   rF   
   rG      rH      rI      rJ      rK      rL      rM      rN      rO      zCT_Color | NonecolorrP      zCT_HpsMeasure | NoneszrQ      zCT_Highlight | None	highlightrR      zCT_Underline | NoneurS       zCT_VerticalAlignRun | None	vertAlignrT   !   rU   "   rV   &   rW   '   c                0    t        dt        d      z        S )zGOverride metaclass method to set `w:color/@val` to RGB black on create.z<w:color %s w:val="000000"/>w)r
   r	   )selfs    r#   
_new_colorzCT_RPr._new_color   s    7'#,FGGr"   c                8    | j                   }|y|j                  S )z|Value of `./w:highlight/@val`.

        Specifies font's highlight color, or `None` if the text is not highlighted.
        N)rs   r   )r~   rs   s     r#   highlight_valzCT_RPr.highlight_val   s      NN	}}r"   c                X    || j                          y | j                         }||_        y N)r7   r0   r   )r~   valuers   s      r#   r   zCT_RPr.highlight_val   s+    =""$--/		r"   c                8    | j                   }|y|j                  S )a  The value of `w:rFonts/@w:ascii` or |None| if not present.

        Represents the assigned typeface name. The rFonts element also specifies other
        special-case typeface names; this method handles the case where just the common
        name is required.
        N)r\   r'   r~   r\   s     r#   rFonts_asciizCT_RPr.rFonts_ascii   s     >||r"   c                X    || j                          y | j                         }||_        y r   )r8   r1   r'   r~   r   r\   s      r#   r   zCT_RPr.rFonts_ascii   s+    =!'')r"   c                8    | j                   }|y|j                  S )z:The value of `w:rFonts/@w:hAnsi` or |None| if not present.N)r\   r(   r   s     r#   rFonts_hAnsizCT_RPr.rFonts_hAnsi   s     >||r"   c                P    || j                   y | j                         }||_        y r   )r\   r1   r(   r   s      r#   r   zCT_RPr.rFonts_hAnsi   s(    =T[[0'')r"   c                8    | j                   }|y|j                  S )zBString in `./w:rStyle/@val`, or None if `w:rStyle` is not present.N)rZ   r   )r~   rZ   s     r#   stylezCT_RPr.style   s     >zzr"   c                    || j                          y| j                  | j                  |       y|| j                  _        y)zSet `./w:rStyle/@val` to `style`, adding the `w:rStyle` element if necessary.

        If `style` is |None|, remove `w:rStyle` element if present.
        N)r   )r9   rZ   r4   r   )r~   r   s     r#   r   zCT_RPr.style   s;     =![[ '#DKKOr"   c                Z    | j                   }|y|j                  t        j                  k(  S )z|True| if `./w:vertAlign/@w:val` is "subscript".

        |False| if `w:vertAlign/@w:val` contains any other value. |None| if
        `w:vertAlign` is not present.
        N)rw   r   r   	SUBSCRIPTr~   rw   s     r#   	subscriptzCT_RPr.subscript   s,     NN	}} 3 = ===r"   c                   || j                          y t        |      du r$t        j                  | j	                         _        y | j                  9| j                  j
                  t        j                  k(  r| j                          y y y NT)r<   boolr   r   r3   r   rw   r~   r   s     r#   r   zCT_RPr.subscript   sm    =""$%[D .A.K.KD%%'+^^'DNN,>,>BUB_B_,_""$ -`'r"   c                Z    | j                   }|y|j                  t        j                  k(  S )z|True| if `w:vertAlign/@w:val` is 'superscript'.

        |False| if `w:vertAlign/@w:val` contains any other value. |None| if
        `w:vertAlign` is not present.
        N)rw   r   r   SUPERSCRIPTr   s     r#   superscriptzCT_RPr.superscript   s,     NN	}} 3 ? ???r"   c                   || j                          y t        |      du r$t        j                  | j	                         _        y | j                  9| j                  j
                  t        j                  k(  r| j                          y y y r   )r<   r   r   r   r3   r   rw   r   s     r#   r   zCT_RPr.superscript  sm    =""$%[D .A.M.MD%%'+^^'DNN,>,>BUBaBa,a""$ -b'r"   c                8    | j                   }|y|j                  S )z4The value of `w:sz/@w:val` or |None| if not present.N)rq   r   )r~   rq   s     r#   sz_valzCT_RPr.sz_val  s     WW:vvr"   c                X    || j                          y | j                         }||_        y r   )r:   r2   r   )r~   r   rq   s      r#   r   zCT_RPr.sz_val  s)    =OO!r"   c                8    | j                   }|y|j                  S )zValue of `w:u/@val`, or None if not present.

        Values `WD_UNDERLINE.SINGLE` and `WD_UNDERLINE.NONE` are mapped to `True` and
        `False` respectively.
        N)ru   r   )r~   ru   s     r#   u_valzCT_RPr.u_val!  s     FF9uur"   c                T    | j                          ||| j                         _        y y r   )r;   r5   r   r   s     r#   r   zCT_RPr.u_val-  s%     %DKKM r"   c                8    t        | |      }|y|j                  S )zIValue of boolean child with `name`, e.g. "w:b", "w:i", and "w:smallCaps".Ngetattrr   )r~   nameelements      r#   _get_bool_valzCT_RPr._get_bool_val3  s     $%?{{r"   c                h    | t        | d|z                y  t        | d|z               }||_        y )Nz
_remove_%szget_or_add_%sr   )r~   r   r   r   s       r#   _set_bool_valzCT_RPr._set_bool_val:  s;    =.GD,-.07'$$ 679r"   )returnWD_COLOR_INDEX | None)r   r   r   None)r   r&   )r   r&   r   r   )r   r&   )r   r&   r   r   )r   bool | None)r   r   r   r   )r   r   )r   Length | None)r   r   )r   WD_UNDERLINE | None)r   r   )r   strr   r   )r   r   r   r   )/r   r   r   r   r    _tag_seqr   rZ   r\   r^   bCsiiCscaps	smallCapsstrikedstrikeoutlineshadowembossimprintnoProof
snapToGridvanish	webHiddenro   rq   rs   ru   rw   rtlcs
specVanishoMathr   propertyr   setterr   r   r   r   r   r   r   r   r   r!   r"   r#   r.   r.   =   s   A,,44--..;;))&&%%))&&&&""!!))(HR  )MFM'
x|LFOL"5Xab\BAB
G
5C%HQRL1A
G
5CX(12,7D-HQRLAIzhqrl;F>G>Gzhrsm<Fzhrsm<F>G>G>hrsmDJzhrsm<F-HRSMBI&yXbc]KE?K(HRSMJBJ%.}RTRU%WI"W&u"#GAG,5mPXY[Y\P],^I)^
G
6C	6hrsm	4B>hrsmDJiHRSM:EH     
 
         \\
$ 
$ 	> 	> % % 	@ 	@ % %   ]]  	 	 \\& &
r"   r.   c                  .    e Zd ZU dZ ede      Zded<   y)CT_Underlinez<`<w:u>` element, specifying the underlining style for a run.r   r   r   N)r   r   r   r   r   r   r   r    r!   r"   r#   r   r   B  s    F0,GC	Gr"   r   c                  .    e Zd ZU dZ ede      Zded<   y)CT_VerticalAlignRunz=`<w:vertAlign>` element, specifying subscript or superscript.r   r   r   N)r   r   r   r   r   r   r   r    r!   r"   r#   r   r   H  s    G *=>C>r"   r   N)&r   
__future__r   typingr   r   docx.enum.dmlr   docx.enum.textr   r   docx.oxml.nsr	   docx.oxml.parserr
   docx.oxml.simpletypesr   r   r   r   docx.oxml.xmlchemyr   r   r   r   docx.sharedr   docx.oxml.sharedr   r   r   r   r%   r*   r,   r.   r   r   r!   r"   r#   <module>r      s    ? " * ) 7   &   !4"\ \@ @E? E<O <B_ BJH? H?/ ?r"   