§
    ¢”jg  ã                   ó&   — d gZ d„ Zd„ Zdd„Zd„ ZdS )Ú
maxCtxFontc           	      ó¨   — d}dD ]L}|| vrŒ| |         j         }|j        sŒ|j        j        D ]#}|j        D ]}t	          |||j        |¦  «        }ŒŒ$ŒM|S )z4Calculate the usMaxContext value for an entire font.é    )ÚGSUBÚGPOS)ÚtableÚ
LookupListÚLookupÚSubTableÚmaxCtxSubtableÚ
LookupType)ÚfontÚmaxCtxÚtagr   ÚlookupÚsts         ún/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/otlLib/maxContextCalc.pyr   r      s”   € ð €FØð Lð LˆØ�dˆ?ˆ?ØØ�S”	”ˆØÔð 	ØØÔ&Ô-ð 	Lð 	LˆFØ”oð Lð L�Ý'¨°°VÔ5FÈÑKÔK��ðLð	Lð €Mó    c                 ó„  — |dk    r|dk    s
|dk    r|dv rt          | d¦  «        } �n|dk    r|dk    rt          | d¦  «        } nú|dk    r=|dk    r7|j                             ¦   «         D ]}|D ]}t          | |j        ¦  «        } ŒŒn·|dk    r|dk    s|dk    r |dk    rt	          | ||dk    rd	nd
¦  «        } n…|dk    r|dk    s|dk    r!|dk    rt	          | ||dk    rd	nd
d¦  «        } nR|dk    r|dk    s|dk    r#|dk    rt          | ||j        |j        ¦  «        } n|dk    r|dk    rt          | |d¦  «        } | S )z[Calculate usMaxContext based on a single lookup table (and an existing
    max value).
    r   é   r   )r   é   é   r   é   é   é   ÚPosÚSubé   é   ÚChainé	   ÚReverse)	ÚmaxÚ	ligaturesÚvaluesÚ	CompCountÚmaxCtxContextualSubtabler   ÚExtensionLookupTypeÚExtSubTableÚmaxCtxContextualRule)r   r   Ú
lookupTyper   r#   Úligatures         r   r   r      s«  € ð 	ˆvŠˆ˜*¨š/˜/ØˆvŠˆ˜*¨	Ð1Ð1å�V˜Q‘”ˆ‰ð 
�Šˆ˜:¨š?˜?Ý�V˜Q‘”ˆˆð 
�Šˆ˜:¨š?˜?Øœ×,Ò,Ñ.Ô.ð 	9ð 	9ˆIØ%ð 9ð 9�Ý˜V XÔ%7Ñ8Ô8��ð9ð	9ð
 �Š-ˆ-˜J¨!šO˜O°¸²°À:ÐQRÂ?À?Ý)¨&°"¸sÀfº}¸}°e°eÐRWÑXÔXˆˆð �Š-ˆ-˜J¨!šO˜O°¸²°À:ÐQRÂ?À?Ý)Ø�B ¨¢ ˜˜°E¸7ñ
ô 
ˆˆð
 �Š-ˆ-˜J¨!šO˜O°¸²°À:ÐQRÂ?À?Ý ¨¨RÔ-CÀRÄ^ÑTÔTˆˆð 
�Šˆ˜:¨š?˜?Ý% f¨b°)Ñ<Ô<ˆà€Mr   Ú c                 óŠ  — |j         dk    rHt          ||›|›d�¦  «        D ]1}|€Œt          ||›|›d�¦  «        D ]}|€Œt          | ||¦  «        } ŒŒ2no|j         dk    rHt          ||›|›d�¦  «        D ]1}|€Œt          ||›|›d�¦  «        D ]}|€Œt          | ||¦  «        } ŒŒ2n|j         dk    rt          | ||¦  «        } | S )	z>Calculate usMaxContext based on a contextual feature subtable.r   ÚRuleSetNÚRuler   ÚClassSetÚ	ClassRuler   )ÚFormatÚgetattrr)   )r   r   ÚruleTypeÚchainÚrulesetÚrules         r   r&   r&   >   s5  € ð 
„y�A‚~€~Ý˜r°E°E¸8¸8¸8Ð#DÑEÔEð 	Cð 	CˆGØˆØÝ °u°u¸h¸h¸hÐ)GÑHÔHð Cð C�Ø�<ØÝ-¨f°d¸EÑBÔB��ðCð	Cð 
Œ�aŠˆÝ˜r°U°U¸H¸H¸HÐ#EÑFÔFð 	Cð 	CˆGØˆØÝ ¸E¸EÀ8À8À8Ð)LÑMÔMð Cð C�Ø�<ØÝ-¨f°d¸EÑBÔB��ðCð	Cð 
Œ�aŠˆÝ% f¨b°%Ñ8Ô8ˆà€Mr   c                 ó¦   — |st          | |j        ¦  «        S |dk    rt          | d|j        z   ¦  «        S t          | |j        |j        z   ¦  «        S )z:Calculate usMaxContext based on a contextual feature rule.r!   r   )r"   Ú
GlyphCountÚLookAheadGlyphCountÚInputGlyphCount)r   r   r5   s      r   r)   r)   Y   s\   € ð ð 7Ý�6˜2œ=Ñ)Ô)Ð)Ø	�)Ò	Ð	Ý�6˜1˜rÔ5Ñ5Ñ6Ô6Ð6Ýˆv�rÔ)¨BÔ,BÑBÑCÔCÐCr   N)r,   )Ú__all__r   r   r&   r)   © r   r   ú<module>r>      s]   ðØˆ.€ðð ð ð 'ð 'ð 'ðTð ð ð ð6Dð Dð Dð Dð Dr   