§
    ¢”jû  ã                   ó–   — 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dS )
é    )Ú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dS )
ÚStrikeNr   éH   c                 ó>   — || _         || _        || _        i | _        d S )N)ÚdataÚppemÚ
resolutionÚglyphs)ÚselfÚrawdatar   r   s       úp/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/ttLib/tables/sbixStrike.pyÚ__init__zStrike.__init__   s"   € ØˆŒ	ØˆŒ	Ø$ˆŒØˆŒˆˆó    c                 óš  — | j         €ddlm} |j        ‚t	          | j         ¦  «        t
          k     r+d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 ]Z}|t          z  t
          z   }t          j        d| j         ||t          z   …         ¦  «        \  }| j                             |¦  «         Œ[t          | j        ¦  «        D ]]}t          | j         | j        |         | j        |dz            …         |¬¦  «        }|                     |¦  «         || j        |j        <   Œ^| `| `| ` d S )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ÐØ'Ð'Ð'Ð'Ð'Ð'àÔ"Ð"ÝˆtŒy‰>Œ>Õ6Ò6Ð6Ø'Ð'Ð'Ð'Ð'Ð'ð Ô Ø?ðõ ,­S°´©^¬^Ð<ñ=ð =õ 	ŒÝ" D¤IÐ.IÕ/IÐ.IÔ$JÈDñ	
ô 	
ð 	
õ
 #)¤-ØØŒIÝ*Õ-GÝ/ñ.0ð 0ôñ#
ô #
ÑÐ	ð !Õ#=Ñ=Ý*ñ+à-.ñ/ˆŒð !#ˆÔÝØŒN˜QÑñ
ô 
ð 	9ð 	9ˆAð Õ5Ñ5Õ8RÑRˆEÝ &¤Ø�d”i ¨Õ0MÑ(MÐ MÔNñ!ô !Ñˆ^ð Ô!×(Ò(¨Ñ8Ô8Ð8Ð8õ �t”~Ñ&Ô&ð 	Að 	AˆAÝ!Øœ	ØÔ)¨!Ô,¨tÔ/DÀQÈÁUÔ/KÐKôð ð	ñ ô ˆMð ×#Ò# FÑ+Ô+Ð+Ø3@ˆDŒK˜Ô/Ñ0Ð0ØÐ!ØˆNØˆIˆIˆIr   c                 ó¸  — d| _         d| _        |                     ¦   «         }t          t          t          |¦  «        dz   z  z   }|D ]™}|| j        v r| j        |         }nt          |¬¦  «        }|                     |¦  «         ||_	        | 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_        d S )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   sZ  € Ø #ˆÔØˆŒà×)Ò)Ñ+Ô+ˆ
õ 'Ý+­s°:©¬ÀÑ/BÑCñDð 	ð $ð 	ð 	ˆIØ˜DœKÐ'Ð'à $¤¨IÔ 6��õ !&°	Ð :Ñ :Ô :�Ø×!Ò! &Ñ)Ô)Ð)Ø,BˆMÔ)ØˆOŒO˜}Ô4Ñ4ˆOŒOØ"¥c¨-Ô*?Ñ&@Ô&@Ñ@Ð"ØÐ!Ô!¥W¤\Ý)¨=ñ&ô &ñ Ð!Ô!Ð!õ
 ‘”ˆØ 6ˆÔØÐÔ¥¤Õ.GÈÑ!OÔ!OÑOÐÔõ ”LÕ!7¸Ñ>Ô>ˆŒ	àˆ	Œ	�TÔ*¨T¬_Ñ<Ñ<ˆ	Œ	ˆ	ˆ	r   c                 óð  — |                      d¦  «         |                     ¦   «          |                     d| j        ¬¦  «         |                     ¦   «          |                     d| j        ¬¦  «         |                     ¦   «          |                     ¦   «         }|D ],}|| j        v r!| j        |                              ||¦  «         Œ-|                     d¦  «         |                     ¦   «          d S )NÚstriker   )Úvaluer   )	ÚbegintagÚnewlineÚ	simpletagr   r   r.   r   ÚtoXMLÚendtag)r   Ú	xmlWriterr&   r3   r%   s        r   r<   zStrike.toXML{   sû   € Ø×Ò˜8Ñ$Ô$Ð$Ø×ÒÑÔÐØ×Ò˜F¨$¬)ÐÑ4Ô4Ð4Ø×ÒÑÔÐØ×Ò˜L°´ÐÑ@Ô@Ð@Ø×ÒÑÔÐØ×)Ò)Ñ+Ô+ˆ
Ø#ð 	@ð 	@ˆIØ˜DœKÐ'Ð'Ø”˜IÔ&×,Ò,¨Y¸Ñ?Ô?Ð?øà×Ò˜Ñ"Ô"Ð"Ø×ÒÑÔÐÐÐr   c                 óì  — |dv r&t          | |t          |d         ¦  «        ¦  «         d S |dk    �r&d|v rt          d|d         z   dz   ¦  «        }nd }d|v rt          d|d         z   dz   ¦  «        }n;d|v rt          d|d         z   dz   ¦  «        }ndd	lm} |                     d
¦  «        ‚d|v rt          |d         ¦  «        }nd}d|v rt          |d         ¦  «        }	nd}	t          ||||	¬¦  «        }
|D ]J}t          |t          ¦  «        r3|\  }}}|
                     ||||¦  «         |
 	                    |¦  «         ŒK|
| j
        |
j        <   d S dd	lm} |                     d|z  ¦  «        ‚)N)r   r   r8   ÚglyphÚgraphicTypez'''Ú	glyphnameÚnamer   r   zGlyph must have a glyph name.ÚoriginOffsetXÚoriginOffsetY)r%   rA   rD   rE   zcan't handle '%s' element)Úsetattrr   r   r   r   r   Ú
isinstanceÚtupleÚfromXMLr/   r   r%   )r   rC   ÚattrsÚcontentr&   ÚmyFormatÚmyGlyphNamer   Ú	myOffsetXÚ	myOffsetYr+   Úelements               r   rI   zStrike.fromXMLŠ   sæ  € ØÐ)Ð)Ð)Ý�D˜$¥¨¨w¬Ñ 8Ô 8Ñ9Ô9Ð9Ð9Ð9Ø�WŠ_‰_Ø Ð%Ð%Ý# E¨E°-Ô,@Ñ$@À5Ñ$HÑIÔI��à�Ø˜eÐ#Ð#Ý& u¨u°[Ô/AÑ'AÀEÑ'IÑJÔJ��Ø˜5��Ý& u¨u°V¬}Ñ'<¸uÑ'DÑEÔE��à+Ð+Ð+Ð+Ð+Ð+à×&Ò&Ð'FÑGÔGÐGØ %Ð'Ð'Ý$ U¨?Ô%;Ñ<Ô<�	�	à�	Ø %Ð'Ð'Ý$ U¨?Ô%;Ñ<Ô<�	�	à�	Ý!Ø%Ø$Ø'Ø'ð	ñ ô ˆMð #ð 2ð 2�Ý˜g¥uÑ-Ô-ð 2Ø+2Ñ(�D˜% Ø!×)Ò)¨$°°wÀÑGÔGÐGØ!×)Ò)¨&Ñ1Ô1Ð1øØ3@ˆDŒK˜Ô/Ñ0Ð0Ð0à'Ð'Ð'Ð'Ð'Ð'à×"Ò"Ð#>ÀÑ#EÑFÔFÐFr   )Nr   r	   )Ú__name__Ú
__module__Ú__qualname__r   r$   r/   r<   rI   © r   r   r   r      sk   € € € € € ðð ð ð ð6ð 6ð 6ðp"=ð "=ð "=ðHð ð ð'Gð 'Gð 'Gð 'Gð 'Gr   r   )ÚfontTools.miscr   ÚfontTools.misc.textToolsr   Ú	sbixGlyphr   r   r   r2   Úcalcsizer   r   Úobjectr   rT   r   r   ú<module>rZ      sÆ   ðØ "Ð "Ð "Ð "Ð "Ð "Ø -Ð -Ð -Ð -Ð -Ð -Ø Ð Ð Ð Ð Ð Ø €€€ðÐ ðÐ ð .˜WÔ-Ð.DÑEÔEÐ Ø 0 Ô 0Ð1JÑ KÔ KÐ ðYGð YGð YGð YGð YGˆVñ YGô YGð YGð YGð YGr   