§
    ¢”j  ã                   óÎ  — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ  G d„ dej        ¦  «        Z e ej        d	¦  «        ¦  «        d
„ ¦   «         Zdd„Z e ej        d	¦  «        ¦  «        d„ ¦   «         Z e ej        d	¦  «        ¦  «        d„ ¦   «         Z e ej        d	¦  «        ¦  «        d„ ¦   «         Z e	de¬¦  «         e ej        d	¦  «        ¦  «        d„ ¦   «         ¦   «         Z e	de¬¦  «         e ej        d	¦  «        ¦  «        d„ ¦   «         ¦   «         Z e	de¬¦  «         e ej        d	¦  «        ¦  «        d„ ¦   «         ¦   «         ZdS )é    )ÚpsCharStrings)ÚttLib)ÚNullPen)ÚotRound)ÚdeprecateFunction)Ú_add_methodÚ
_uniq_sortc                   ó   — e Zd Zd„ Zd„ ZdS )Ú_ClosureGlyphsT2Decompilerc                 óV   — t           j                             | ||¦  «         || _        d S ©N)r   ÚSimpleT2DecompilerÚ__init__Ú
components)Úselfr   Ú
localSubrsÚglobalSubrss       úc/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/subset/cff.pyr   z#_ClosureGlyphsT2Decompiler.__init__
   s(   € ÝÔ(×1Ò1°$¸
ÀKÑPÔPÐPØ$ˆŒˆˆó    c                 ó
  — |                       ¦   «         }t          |¦  «        dk    r[ddlm} |dd …         \  }}}}||         }||         }	| j                             |¦  «         | j                             |	¦  «         d S d S )Né   r   )ÚStandardEncodingéüÿÿÿ)ÚpopallÚlenÚ$fontTools.encodings.StandardEncodingr   r   Úadd)
r   ÚindexÚargsr   ÚadxÚadyÚbcharÚacharÚ	baseGlyphÚaccentGlyphs
             r   Ú
op_endcharz%_ClosureGlyphsT2Decompiler.op_endchar   s•   € Ø�{Š{‰}Œ}ˆÝˆt‰9Œ9˜Š>ˆ>ØMÐMÐMÐMÐMÐMð &*¨"¨#¨#¤YÑ"ˆC��e˜UØ(¨Ô/ˆIØ*¨5Ô1ˆKØŒO×Ò 	Ñ*Ô*Ð*ØŒO×Ò Ñ,Ô,Ð,Ð,Ð,ð ˆ>r   N)Ú__name__Ú
__module__Ú__qualname__r   r&   © r   r   r   r   	   s2   € € € € € ð%ð %ð %ð-ð -ð -ð -ð -r   r   zCFF c                 ó´  — | j         }t          |¦  «        dk    sJ ‚||                     ¦   «         d                  }|j        }|j        }|r‹t          ¦   «         }|D ]P}||vrŒ||         }t          |j        dg ¦  «        }	t          ||	|j	        ¦  «        }
|
 
                    |¦  «         ŒQ||j        z  }|j                             |¦  «         |}|°‰d S d S )Né   r   ÚSubrs)Úcffr   ÚkeysÚCharStringsÚglyphsÚsetÚgetattrÚprivater   r   ÚexecuteÚupdate)r   Úsr.   ÚfontÚglyphSetÚ	decomposer   ÚgÚglÚsubrsÚ
decompilers              r   Úclosure_glyphsr?      sø   € à
Œ(€CÝˆs‰8Œ8�qŠ=ˆ=ˆ=ˆ=Øˆs�xŠx‰zŒz˜!Œ}Ô€DØÔ€Hà”€IØ
ð Ý‘U”Uˆ
Øð 	#ð 	#ˆAØ˜Ð Ð ØØ˜!”ˆBå˜BœJ¨°Ñ4Ô4ˆEÝ3°JÀÀrÄ~ÑVÔVˆJØ×Ò˜rÑ"Ô"Ð"Ð"Ø�a”hÑˆ
Ø	Œ�Š˜
Ñ#Ô#Ð#Øˆ	ð ð ð ð ð ð r   Fc                 ó�  — | j                              |¦  «        \  }}|s|r|                     |rg ndg¦  «         d S t          | d¦  «        r| j        �| j        |         j        }n| j        }|j        }|j        }t          ¦   «         }	| 	                    |	¦  «         |j
        |k    r|j
        |z
  dg|_        d S dg|_        d S )NÚendcharÚFDArray)r0   ÚgetItemAndSelectorÚ
setProgramÚhasattrrB   ÚPrivateÚdefaultWidthXÚnominalWidthXr   ÚdrawÚwidthÚprogram)
r8   Ú	glyphNameÚisCFF2ÚignoreWidthÚcÚfdSelectIndexr4   ÚdfltWdXÚnmnlWdXÚpens
             r   Ú_empty_charstringrT   3   sÙ   € ØÔ'×:Ò:¸9ÑEÔEÑ€A€}Øð $�ð $à	�Š˜6Ð2�R�R¨	 {Ñ3Ô3Ð3Ð3Ð3å�4˜Ñ#Ô#ð 	#¨¬Ð(@Ø”l =Ô1Ô9ˆGˆGà”lˆGØÔ'ˆØÔ'ˆÝ‰iŒiˆØ	�Šˆs‰ŒˆØŒ7�gÒÐØœ 7Ñ*¨IÐ6ˆAŒIˆIˆIà"˜ˆAŒIˆIˆIr   c                 ó  — | j         }|j        d d…         |_        |j        rC|j        s<|j        dk    }|                     ¦   «         D ]}||         }t          |d|¬¦  «         Œ|                     ¦   «         D ]}||         }d|_        ŒdS )Nr,   z.notdef)rM   r   T)r.   Ú	fontNamesÚnotdef_glyphÚnotdef_outlineÚmajorr/   rT   ÚEncoding)r   r8   Úoptionsr.   rM   Úfontnames         r   Úprune_pre_subsetr]   G   s£   € à
Œ(€Cà”M " 1 "Ô%€C„MàÔð > GÔ$:ð >Ø”˜Q’ˆØŸš™
œ
ð 	>ð 	>ˆHØ�x”=ˆDÝ˜d I°fÐ=Ñ=Ô=Ð=Ð=ð —H’H‘J”Jð +ð +ˆØ�8Œ}ˆà*ˆŒˆàˆ4r   c                 ót  ‡‡‡— | j         }|                     ¦   «         D �]—}||         }|j        }|j                             |j        ¦  «        Š|j        D ]}|‰vrŒ|                     |¦  «        \  }}Œ |j        r©ˆfd„t          |j        ¦  «        D ¦   «         }	|j
        Šˆfd„|	D ¦   «         ‰_        ‰`‰`t          |d¦  «        r!|j        Šd ‰_        ˆfd„|	D ¦   «         ‰_        i }
t          |	¦  «        D ] \  }}|j        |         }||j        v r||
|<   Œ!|
|_        n*ˆfd„|j                             ¦   «         D ¦   «         |_        ˆfd„|j        D ¦   «         |_        t'          |j        ¦  «        |_        |j        j        r(|j        dk    }|j        D ]}t1          |||d¬	¦  «         Œ�Œ™dS )
Nc                 ó"   •— g | ]\  }}|‰v ¯	|‘ŒS r*   r*   )Ú.0Úir;   r1   s      €r   ú
<listcomp>z!subset_glyphs.<locals>.<listcomp>l   s"   ø€ ÐLÐLÐL™T˜Q ÀÀVÀÀ�qÀÀÀr   c                 ó*   •— g | ]}‰j         |         ‘ŒS r*   )Úitems)r`   ra   Úcsis     €r   rb   z!subset_glyphs.<locals>.<listcomp>n   s   ø€ Ð7Ð7Ð7¨!˜œ 1œÐ7Ð7Ð7r   ÚFDSelectc                 ó*   •— g | ]}‰j         |         ‘ŒS r*   )ÚgidArray)r`   ra   Úsels     €r   rb   z!subset_glyphs.<locals>.<listcomp>s   s   ø€ ÐAÐAÐA°A ¤¨Q¤ÐAÐAÐAr   c                 ó$   •— i | ]\  }}|‰v ¯	||“ŒS r*   r*   )r`   r;   Úvr1   s      €r   ú
<dictcomp>z!subset_glyphs.<locals>.<dictcomp>{   s$   ø€ ÐUÐUÐU¡t q¨!ÈÈfÈÈ˜a ÈÈÈr   c                 ó   •— g | ]}|‰v ¯|‘Œ	S r*   r*   )r`   r;   r1   s     €r   rb   z!subset_glyphs.<locals>.<listcomp>|   s   ø€ Ð?Ð?Ð?˜a°1¸°;°;˜°;°;°;r   r,   T)rM   rN   )r.   r/   r0   r1   ÚunionÚglyphs_emptiedÚcharsetrC   ÚcharStringsAreIndexedÚ	enumerateÚcharStringsIndexrd   ÚfileÚoffsetsrE   rf   Úformatrh   ÚcharStringsr   Ú	numGlyphsr[   Úretain_gidsrY   rT   )r   r7   r.   r\   r8   Úcsr;   rO   Ú_ÚindicesÚnewCharStringsÚ
indicesIdxÚ
charsetIdxrM   re   r1   ri   s                 @@@r   Úsubset_glyphsr€   \   s  øøø€ à
Œ(€CØ—H’H‘J”Jð #Lñ #LˆØ�8Œ}ˆØÔˆà”—’ Ô 0Ñ1Ô1ˆð ”ð 	,ð 	,ˆAØ˜ˆˆØØ×(Ò(¨Ñ+Ô+‰DˆAˆqˆqàÔ#ð 	VØLÐLÐLÐL¥Y¨t¬|Ñ%<Ô%<ÐLÑLÔLˆGØÔ%ˆCØ7Ð7Ð7Ð7¨wÐ7Ñ7Ô7ˆCŒIØ�˜#˜+Ý�t˜ZÑ(Ô(ð BØ”m�Ø!�”
ØAÐAÐAÐA¸ÐAÑAÔA�”ØˆNÝ*3°GÑ*<Ô*<ð 3ð 3Ñ&�
˜JØ”L Ô,�Ø˜œÐ&Ð&Ø(2�N 1Ñ%øØ+ˆBŒNˆNàUÐUÐUÐU¨r¬~×/CÒ/CÑ/EÔ/EÐUÑUÔUˆBŒNØ?Ð?Ð?Ð? 4¤<Ð?Ñ?Ô?ˆŒÝ˜Tœ\Ñ*Ô*ˆŒàŒ9Ô ð 	LØ”Y ’]ˆFØÔ%ð Lð L�Ý! $¨°&ÀdÐKÑKÔKÐKÐKùàˆ4r   c                 óÊ  ‡‡	— | j         }|                     ¦   «         D ]r}||         }|j        }t          |d¦  «        rQ|j        }t          |j        ¦  «        Š	ˆ	fd„|j        D ¦   «         |_        |j        Šˆfd„‰	D ¦   «         ‰_        ‰`	‰`
Œs|j        r|                     ¦   «          |j        s|                      ¦   «          n|j        s|                      ¦   «          dS )Nrf   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r*   )r   )r`   Ússr|   s     €r   rb   z%prune_post_subset.<locals>.<listcomp>’   s%   ø€ ÐEÐEÐE°"˜GŸMšM¨"Ñ-Ô-ÐEÐEÐEr   c                 ó    •— g | ]
}‰|         ‘ŒS r*   r*   )r`   ra   Úarrs     €r   rb   z%prune_post_subset.<locals>.<listcomp>”   s   ø€ Ð1Ð1Ð1 A˜˜QœÐ1Ð1Ð1r   T)r.   r/   r0   rE   rf   r	   rh   rB   rd   rt   ru   ÚdesubroutinizeÚhintingÚremove_hintsÚremove_unused_subroutines)
r   ÚttfFontr[   r.   r\   r8   rz   ri   r…   r|   s
           @@r   Úprune_post_subsetr‹   ‡   s  øø€ à
Œ(€CØ—H’H‘J”Jð &ð &ˆØ�8Œ}ˆØÔˆõ �4˜Ñ$Ô$ð 	&Ø”-ˆCÝ  ¤Ñ.Ô.ˆGØEÐEÐEÐE¸¼ÐEÑEÔEˆCŒLØ”,ˆCØ1Ð1Ð1Ð1¨Ð1Ñ1Ô1ˆCŒIØ�˜#˜+øð Ôð Ø×ÒÑÔÐð Œ?ð )Ø×ÒÑÔÐÐØÔ#ð )Ø×&Ò&Ñ(Ô(Ð(Øˆ4r   z)use 'CFFFontSet.desubroutinize()' instead)Úcategoryc                 ó8   — | j                              ¦   «          d S r   )r.   r†   ©r   s    r   r†   r†   £   s   € ð
 	„H×ÒÑÔÐÐÐr   z'use 'CFFFontSet.remove_hints()' insteadc                 ó8   — | j                              ¦   «          d S r   )r.   rˆ   rŽ   s    r   rˆ   rˆ   «   s   € ð
 	„H×ÒÑÔÐÐÐr   z2use 'CFFFontSet.remove_unused_subroutines' insteadc                 ó8   — | j                              ¦   «          d S r   )r.   r‰   rŽ   s    r   r‰   r‰   ³   s   € ð
 	„H×&Ò&Ñ(Ô(Ð(Ð(Ð(r   N)F)ÚfontTools.miscr   Ú	fontToolsr   ÚfontTools.pens.basePenr   ÚfontTools.misc.roundToolsr   ÚfontTools.misc.loggingToolsr   ÚfontTools.subset.utilr   r	   r   r   ÚgetTableClassr?   rT   r]   r€   r‹   ÚDeprecationWarningr†   rˆ   r‰   r*   r   r   ú<module>r™      s¤  ðØ (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ø -Ð -Ð -Ð -Ð -Ð -Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ð-ð -ð -ð -ð - Ô!Añ -ô -ð -ð& €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ðð ñ *Ô)ðð,$ð $ð $ð $ð( €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ðð ñ *Ô)ðð( €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ð'ð 'ñ *Ô)ð'ðT €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ðð ñ *Ô)ðð6 ÐØ/Ð:Lðñ ô ð €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ðð ñ *Ô)ñô ðð ÐØ-Ð8Jðñ ô ð €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ðð ñ *Ô)ñô ðð ÐØ8ÐCUðñ ô ð €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ð)ð )ñ *Ô)ñô ð)ð )ð )r   