§
    èƒñ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       úS/data/share/cad/hardware/.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                 ó¤  ‡‡‡— | j         }|                     ¦   «         D �]¯}||         }|j        }|j                             |j        ¦  «        Š|j        D ]}|‰vrŒ|                     |¦  «        \  }}Œ |j        rxˆfd„t          |j        ¦  «        D ¦   «         }	|j
        Šˆfd„|	D ¦   «         ‰_        ‰`‰`i }
t          |	¦  «        D ] \  }}|j        |         }||j        v r||
|<   Œ!|
|_        n*ˆfd„|j                             ¦   «         D ¦   «         |_        t          |d¦  «        r4|j        Šd ‰_        ˆˆfd„t          |j        ¦  «        D ¦   «         ‰_        ˆfd„|j        D ¦   «         |_        t)          |j        ¦  «        |_        |j        j        r-|j        dk    }|j        D ]}||vrŒt3          |||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   c                 ó$   •— i | ]\  }}|‰v ¯	||“ŒS r*   r*   )r`   r;   Úvr1   s      €r   ú
<dictcomp>z!subset_glyphs.<locals>.<dictcomp>w   s$   ø€ ÐUÐUÐU¡t q¨!ÈÈfÈÈ˜a ÈÈÈr   ÚFDSelectc                 óh   •— g | ].\  }}|‰v ¯	|t          ‰j        ¦  «        k     ¯!‰j        |         ‘Œ/S r*   )r   ÚgidArray)r`   ra   r;   r1   Úsels      €€r   rb   z!subset_glyphs.<locals>.<listcomp>|   sJ   ø€ ð ð ð á�A�qØ˜�;�; 1¥s¨3¬<Ñ'8Ô'8Ò#8Ð#8ð ”˜Q”à#8Ð#8Ð#8r   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ÚoffsetsÚcharStringsrE   ri   ÚformatÚorig_glyph_orderrk   r   Ú	numGlyphsr[   Úretain_gidsrY   rT   )r   r7   r.   r\   r8   Úcsr;   rO   Ú_ÚindicesÚnewCharStringsÚ
indicesIdxÚ
charsetIdxrM   re   r1   rl   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Ø�˜#˜+Øˆ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˜Ñ$Ô$ð 	Ø”-ˆCØˆCŒJðð ð ð ð å% aÔ&8Ñ9Ô9ðñ ô ˆCŒLð
 @Ð?Ð?Ð? 4¤<Ð?Ñ?Ô?ˆŒÝ˜Tœ\Ñ*Ô*ˆŒàŒ9Ô ð 	LØ”Y ’]ˆFØÔ%ð Lð L�Ø˜B�;�;ØÝ! $¨°&À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 )Nri   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   ri   r	   rk   rB   rd   rt   ru   ÚdesubroutinizeÚhintingÚremove_hintsÚremove_unused_subroutines)
r   ÚttfFontr[   r.   r\   r8   r{   rl   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Ô  Ñ(Ô(Ñ)Ô)ð.ð .ñ *Ô)ð.ðb €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ðð ñ *Ô)ðð6 ÐØ/Ð:Lðñ ô ð €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ðð ñ *Ô)ñô ðð ÐØ-Ð8Jðñ ô ð €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ðð ñ *Ô)ñô ðð ÐØ8ÐCUðñ ô ð €Ð ˆUÔ  Ñ(Ô(Ñ)Ô)ð)ð )ñ *Ô)ñô ð)ð )ð )r   