Ë
    £eh  ã                   ó–   — d dl mZ d dlmZ ddlmZ d dlZdZdZ ej                  e«      Z
 ej                  e«      Z G d„ d	e«      Zy)
é    )Ússtruct)ÚsafeEvalé   )ÚGlyphNzÇ
	>
	ppem:          H	# The PPEM for which this strike was designed (e.g., 9,
						# 12, 24)
	resolution:    H	# The screen resolution (in dpi) for which this strike
						# was designed (e.g., 72)
zz
	>
	glyphDataOffset:   L	# Offset from the beginning of the strike data record
							# to data for the individual glyph
c                   ó,   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zy)ÚStrikeNc                 ó<   — || _         || _        || _        i | _        y )N)ÚdataÚppemÚ
resolutionÚglyphs)ÚselfÚrawdatar   r   s       ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/ttLib/tables/sbixStrike.pyÚ__init__zStrike.__init__   s   € ØˆŒ	ØˆŒ	Ø$ˆŒØˆ�ó    c                 óÀ  — | j                   €ddlm} |j                  ‚t	        | j                   «      t
        k  r0ddlm} |j                  dft
        t	        | j                   «      fz  ‚t        j                  t        | j                   d t
         | «       t        j                  d| j                   t
        t
        t        z    «      \  }|t
        z
  t        z  dz
  | _        g | _        t        | j                  dz   «      D ]Y  }|t        z  t
        z   }t        j                  d| j                   ||t        z    «      \  }| j                  j                  |«       Œ[ t        | j                  «      D ]c  }t        | j                   | j                  |   | j                  |dz       |¬«      }|j!                  |«       || j"                  |j$                  <   Œe | `| `| ` y )Nr   ©ÚttLibz-Strike header too short: Expected %x, got %x.z>Lr   )r   Úgid)r
   Ú	fontToolsr   Ú
TTLibErrorÚlenÚsbixStrikeHeaderFormatSizer   ÚunpackÚsbixStrikeHeaderFormatÚstructÚsbixGlyphDataOffsetFormatSizeÚ	numGlyphsÚglyphDataOffsetsÚrangeÚappendr   Ú	decompiler   Ú	glyphName)r   ÚttFontr   ÚfirstGlyphDataOffsetÚiÚstartÚcurrent_offsetÚcurrent_glyphs           r   r#   zStrike.decompile   sÖ  € Ø�9‰9ÐÝ'à×"Ñ"Ð"Üˆt�y‰y‹>Ô6Ò6Ý'ð × Ñ Ø?ðô ,¬S°·±«^Ð<ñ=ð =ô 	�‰Ü" D§I¡IÐ.IÔ/IÐ$JÈDô	
ô
 #)§-¡-ØØ�I‰IÜ*Ô-GÜ/ñ.0ðó#
ÑÐ	ð !Ô#=Ñ=Ü*ñ+à-.ñ/ˆŒð !#ˆÔÜØ�N‰N˜QÑó
ò 	9ˆAð Ô5Ñ5Ô8RÑRˆEÜ &§¡Ø�d—i‘i ¨Ô0MÑ(MÐNó!Ñˆ^ð ×!Ñ!×(Ñ(¨Õ8ð	9ô �t—~‘~Ó&ò 	AˆAÜ!ØŸ	™	Ø×)Ñ)¨!Ñ,¨t×/DÑ/DÀQÈÁUÑ/Kðð ô	ˆMð ×#Ñ# FÔ+Ø3@ˆD�K‰K˜×/Ñ/Ò0ð	Að Ð!ØˆNØ‰Ir   c                 óä  — d| _         d| _        |j                  «       }t        t        t        |«      dz   z  z   }|D ]¨  }|| j                  v r| j                  |   }nt        |¬«      }|j                  |«       ||_	        | xj                  |j                  z  c_        |t        |j                  «      z  }| xj                   t        j                  t        |«      z  c_         Œª t        «       }||_	        | xj                   t        j                  t        |«      z  c_         t        j                  t        | «      | _        | xj                  | j                   | j                  z   z  c_        y )Nr   r   )r$   )r    Ú
bitmapDataÚgetGlyphOrderr   r   r   r   r   ÚcompileÚglyphDataOffsetr   r   ÚpackÚsbixGlyphDataOffsetFormatr   r
   )r   r%   Ú
glyphOrderÚcurrentGlyphDataOffsetr$   r*   Údummys          r   r.   zStrike.compileW   s8  € Ø #ˆÔØˆŒà×)Ñ)Ó+ˆ
ô 'Ü+¬s°:«ÀÑ/BÑCñDð 	ð $ò 	ˆIØ˜DŸK™KÑ'à $§¡¨IÑ 6‘ô !&°	Ô :�Ø×!Ñ! &Ô)Ø,BˆMÔ)Ø�OŠO˜}×4Ñ4Ñ4�OØ"¤c¨-×*?Ñ*?Ó&@Ñ@Ð"Ø×!Ò!¤W§\¡\Ü)¨=ó&ñ Ö!ð	ô  “ˆØ 6ˆÔØ×Ò¤§¡Ô.GÈÓ!OÑOÕô —L‘LÔ!7¸Ó>ˆŒ	à�	Š	�T×*Ñ*¨T¯_©_Ñ<Ñ<Ž	r   c                 óö  — |j                  d«       |j                  «        |j                  d| j                  ¬«       |j                  «        |j                  d| j                  ¬«       |j                  «        |j                  «       }t        t        |«      «      D ]6  }||   | j                  v sŒ| j                  ||      j                  ||«       Œ8 |j                  d«       |j                  «        y )NÚstriker   )Úvaluer   )ÚbegintagÚnewlineÚ	simpletagr   r   r-   r!   r   r   ÚtoXMLÚendtag)r   Ú	xmlWriterr%   r2   r'   s        r   r;   zStrike.toXML{   sÓ   € Ø×Ñ˜8Ô$Ø×ÑÔØ×Ñ˜F¨$¯)©)ÐÔ4Ø×ÑÔØ×Ñ˜L°·±ÐÔ@Ø×ÑÔØ×)Ñ)Ó+ˆ
Ü”s˜:“Ó'ò 	DˆAØ˜!‰} §¡Ò+Ø—‘˜J q™MÑ*×0Ñ0°¸FÕCð	Dð 	×Ñ˜Ô"Ø×ÑÕr   c                 óp  — |dv rt        | |t        |d   «      «       y |dk(  rúd|v rt        d|d   z   dz   «      }nd }d|v rt        d|d   z   dz   «      }n0d|v rt        d|d   z   dz   «      }ndd	lm} |j	                  d
«      ‚d|v rt        |d   «      }nd}d|v rt        |d   «      }	nd}	t        ||||	¬«      }
|D ]>  }t        |t        «      sŒ|\  }}}|
j                  ||||«       |
j                  |«       Œ@ |
| j                  |
j                  <   y dd	lm} |j	                  d|z  «      ‚)N)r   r   r7   ÚglyphÚgraphicTypez'''Ú	glyphnameÚnamer   r   zGlyph must have a glyph name.ÚoriginOffsetXÚoriginOffsetY)r$   r@   rC   rD   zcan't handle '%s' element)Úsetattrr   r   r   r   r   Ú
isinstanceÚtupleÚfromXMLr.   r   r$   )r   rB   ÚattrsÚcontentr%   ÚmyFormatÚmyGlyphNamer   Ú	myOffsetXÚ	myOffsetYr*   Úelements               r   rH   zStrike.fromXMLŠ   sj  € ØÐ)Ñ)Ü�D˜$¤¨¨w©Ó 8Õ9Ø�WŠ_Ø Ñ%Ü# E¨E°-Ñ,@Ñ$@À5Ñ$HÓI‘à�Ø˜eÑ#Ü& u¨u°[Ñ/AÑ'AÀEÑ'IÓJ‘Ø˜5‘Ü& u¨u°V©}Ñ'<¸uÑ'DÓE‘å+à×&Ñ&Ð'FÓGÐGØ %Ñ'Ü$ U¨?Ñ%;Ó<‘	à�	Ø %Ñ'Ü$ U¨?Ñ%;Ó<‘	à�	Ü!Ø%Ø$Ø'Ø'ô	ˆMð #ò 2�Ü˜g¤uÕ-Ø+2Ñ(�D˜% Ø!×)Ñ)¨$°°wÀÔGØ!×)Ñ)¨&Õ1ð	2ð
 4AˆD�K‰K˜×/Ñ/Ò0å'à×"Ñ"Ð#>ÀÑ#EÓFÐFr   )Nr   éH   )Ú__name__Ú
__module__Ú__qualname__r   r#   r.   r;   rH   © r   r   r   r      s   „ óò6òp"=òHó'Gr   r   )ÚfontTools.miscr   ÚfontTools.misc.textToolsr   Ú	sbixGlyphr   r   r   r1   Úcalcsizer   r   Úobjectr   rT   r   r   ú<module>rZ      s[   ðÝ "Ý -Ý Û ðÐ ðÐ ð .˜W×-Ñ-Ð.DÓEÐ Ø 0 × 0Ñ 0Ð1JÓ KÐ ôYGˆVõ YGr   