+
    f7iM  c                   sj    ^ RI HtHt ^RIHt ^ RIt ! R R]P                  4      t ! R R]4      tR# )i    )	bytesjoinsafeEval)DefaultTableNc                   sN   a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	tV tR
# )table_V_O_R_G_a  Vertical Origin table

The ``VORG`` table contains the vertical origin of each glyph
in a `CFF` or `CFF2` font.

This table is structured so that you can treat it like a dictionary keyed by glyph name.

``ttFont['VORG'][<glyphName>]`` will return the vertical origin for any glyph.

``ttFont['VORG'][<glyphName>] = <value>`` will set the vertical origin for any glyph.

See also https://learn.microsoft.com/en-us/typography/opentype/spec/vorg
c                sr   VP                   V n         \        P                  ! R VR,          4      w  V n        V n        V n        V n        VR,          p. p. p^ p\        V P                  4       FP  p\        P                  ! RWV^,            4      w  rxV^,          pVP                  V4       VP                  V4       KR  	  / ;V n	        p	VP                  4       p
 V Uu. uF  qzV,          NK  	  pp\        W4       F	  w  rWV&   K  	  R# u upi   \         d    T P                   p\        Y4      p LCi ; i)>HHhH:N   N:r   NN>HhN)getGlyphNamestructZunpackmajorVersionminorVersiondefaultVertOriginYnumVertOriginYMetricsZrangeappendVOriginRecordsZgetGlyphOrderZ
IndexErrorZmapzip)selfdatattFontZvidsgidsZposZigidvOriginZvOrigZ
glyphOrdernamesr   nameZvids   &&&            F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/V_O_R_G_.py	decompileZtable_V_O_R_G_.decompile   s,    	 MM'48,	
#&
 Bxt112A!==370CDLC1HCKKKK 	 3 ')(e))+
	,045__E5
 U)ID$K * 6 	,,,L+E	,s$   D D0D D "D65D6c           	     s   \        V P                  P                  4       4      p\        V P                  P                  4       4      pVP	                  4       p V Uu. uF  qTV,          NK  	  pp\        \        Wb4      4      p\        V4      V n        VP                  4        V Uu. uF)  p\        P                  ! RV^ ,          V^,          4      NK+  	  p	p\        P                  ! RV P                  V P                  V P                  V P                  4      p
V	P                  ^ V
4       \!        V	4      pV# u upi   \
         d4    TP	                  R R7      pT Uu. uF  qTT,          NK  	  Mu upi pp ELi ; iu upi )T)Zrebuildr   r   )Zlistr   ZvalueskeysZgetReverseGlyphMapZKeyErrorr   Zlenr   sortr   Zpackr	   r
   r   Zinsertr    )r   r   Zvorgsr   ZnameMapr   r   vOriginTableZrecZdataListZheaderr   s   &&          r   compileZtable_V_O_R_G_.compile7   sN   T((//12T((--/0++-	5.34edDMMeD4 C,-%(Z"BNO,3FKKs1vs1v6,O##&&
 	6""# 5 	5///=G.34edDMMe4D4D	5 Ps6   D> D9-D> '/E?9D> >!E<E10E<;E<c                s   VP                  R V P                  R7       VP                  4        VP                  RV P                  R7       VP                  4        VP                  RV P                  R7       VP                  4        VP                  RV P
                  R7       VP                  4        . pV P                  P                  4       pV F9  p VP                  V4      pTP                  XYPP                  T,          .4       K;  	  VP                  4        V F.  p\        V^,          V^,          4      pVP                  W4       K0  	  R#     Lr; i)r	   valuer
   r   r   N)	simpletagr	   newliner
   r   r   r   r   Z
getGlyphIDr   r   VOriginRecordtoXML)	r   writerr   r   Z
glyphNames	glyphNamer   Zentry
vOriginRecs	   &&&      r   r#   Ztable_V_O_R_G_.toXMLO   s)   t/@/@At/@/@A-T5L5LM08R8RS((--/
#I''	2 i1D1DY1O PQ $ 	!E&uQxq:JV, "s   EEc                s   \        V R 4      '       g   / V n        VP                  V n        VR8X  dh   \        4       pV F2  p\	        V\
        4      '       d   K  Vw  rpVP                  WW44       K4  	  VP                  V P                  VP                  &   R# RV9   d   \        W\        VR,          4      4       R# R# )r   r"   r   N)Zhasattrr   r   r"   
isinstanceZstrfromXMLr   r%   setattrr   )r   r   attrscontentr   r&   Zelements   &&&&&  r   r(   Ztable_V_O_R_G_.fromXMLh   s    t-.."$D 	 ?"&J"gs++'.$W""4@	 #
 9C8J8JD
 4 45Dw 89     c                s    \        V\        4      '       d   V P                  V4      pWP                  9  d   V P                  # V P                  V,          # N)r'   intr   r   r   r   glyphSelector   &&r   __getitem__Ztable_V_O_R_G_.__getitem__y   sH    mS)) --m<M 3 33***""=11r,   c                s    \        V\        4      '       d   V P                  V4      pW P                  8w  d   W P                  V&   R # WP                  9   d   V P                  V R # R # r-   )r'   r.   r   r   r   )r   r0   r      &&&r   __setitem__Ztable_V_O_R_G_.__setitem__   sX    mS)) --m<M+++16.111##M2 2r,   c                s     V P                   V R # r-   )r   r/   r1   r   __delitem__Ztable_V_O_R_G_.__delitem__   s    .r,   )r   r   r   r	   r
   r   N)__name__
__module____qualname____firstlineno__Z__doc__r   r   r#   r(   r2   r4   r5   __static_attributes____classdictcell__Z__classdict__   @r   r   r      s3      D0-2:"23/ /r,   r   c                   s6   a  ] tR t^t o RR ltR tR tRtV tR# )r"   Nc                s    Wn         W n        R # r-   r%   r   )r   r   r   r3   r   __init__ZVOriginRecord.__init__   s    r,   c                s>   VP                  R 4       VP                  4        VP                  RV P                  R7       VP                  4        VP                  RV P                  R7       VP                  4        VP                  R 4       VP                  4        R# )r"   r%   r   r   N)Zbegintagr!   r    r%   r   Zendtag)r   r$   r   r3   r   r#   ZVOriginRecord.toXML   sp    (DNN;$,,7o&r,   c                sl    VR ,          pVR8X  d   \        WV4       R# \        W\        V4      4       R# )r   r%   N)r)   r   )r   r   r*   r+   r   r   s   &&&&& r   r(   ZVOriginRecord.fromXML   s+    g;D&D0r,   r>   )NN)	r6   r7   r8   r9   r?   r#   r(   r:   r;   r<   r=   r   r"   r"      s     1 1r,   r"   )	ZfontTools.misc.textToolsr    r   Z r   r   r   Zobjectr"   ) r,   r   <module>r@      s/    8  H/\.. H/V1F 1r,   