Ë
    ^ãj  ã                   ó0   — d dl mZ dgZd„ Zd„ Zdd„Zd„ Zy)	é    )Ú_getLookupListÚ
maxCtxFontc           	      óÐ   — d}dD ]^  }|| vrŒ| |   j                   }t        |«      }|sŒ%|j                  D ]+  }|j                  D ]  }t	        |||j
                  |«      }Œ Œ- Œ` |S )z4Calculate the usMaxContext value for an entire font.r   )ÚGSUBÚGPOS)Útabler   ÚLookupÚSubTableÚmaxCtxSubtableÚ
LookupType)ÚfontÚmaxCtxÚtagr   Ú
lookupListÚlookupÚsts          úa/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/fontTools/otlLib/maxContextCalc.pyr   r      sŠ   € ð €FØò 	LˆØ�d‰?ØØ�S‘	—‘ˆÜ# EÓ*ˆ
ÙØØ ×'Ñ'ò 	LˆFØ—o‘oò L�Ü'¨°°V×5FÑ5FÈÓK‘ñLñ	Lð	Lð €Mó    c                 ó\  — |dk(  r|dk(  s	|dk(  r|dv rt        | d«      } | S |dk(  r|dk(  rt        | d«      } | S |dk(  rC|dk(  r>|j                  j                  «       D ]  }|D ]  }t        | |j                  «      } Œ Œ! | S |dk(  r|dk(  s
|dk(  r!|dk(  rt	        | ||dk(  rd	«      } | S d
«      } | S |dk(  r|dk(  s
|dk(  r|dk(  rt	        | ||dk(  rd	nd
d«      } | S |dk(  r|dk(  s
|dk(  r)|dk(  r$t        | ||j                  |j                  «      } | S |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ä�V˜Q“ˆð< €Mð7 
�Š˜:¨š?Ü�V˜Q“ˆð4 €Mð/ 
�Š˜:¨š?ØŸ™×,Ñ,Ó.ò 	9ˆIØ%ò 9�Ü˜V X×%7Ñ%7Ó8‘ñ9ð	9ð, €Mð# �Š-˜J¨!šO°¸²À:ÐQRÂ?Ü)¨&°"¸sÀfº}°eÓXˆð  €Mð! SXÓXˆð  €Mð �Š-˜J¨!šO°¸²À:ÐQRÂ?Ü)Ø�B ¨¢™°E¸7ó
ˆð €Mð �Š-˜J¨!šO°¸²À:ÐQRÂ?Ü ¨¨R×-CÑ-CÀRÇ^Á^ÓTˆð €Mð 
�Š˜:¨š?Ü% f¨b°)Ó<ˆà€Mr   c                 óü  — |j                   dv rX|j                   dk(  r|rdndn|›|›�}t        ||dz   «      D ])  }|€Œt        ||dz   «      D ]  }|€Œt        | ||«      } Œ Œ+ | S |j                   dv rl|j                   dk(  r|rd	nd
n|›|›d�}||j                   dk(  rdndz   }t        ||«      D ])  }|€Œt        ||dz   «      D ]  }|€Œt        | ||«      } Œ Œ+ | S |j                   dv rt        | ||«      } | S )z>Calculate usMaxContext based on a contextual feature subtable.)r   r   r   Ú
ChainedSeqÚSeqÚRuleSetÚRule)r   r   r   ÚChainedClassSeqÚClassSeqÚClassÚSet)r   r   )ÚFormatÚgetattrr*   )r   r   ÚruleTypeÚchainÚprefixÚrulesetÚruleÚruleSets           r   r'   r'   A   sW  € ð 
‡y�y�FÑð �y‰y˜AŠ~ñ #‰\©á ¡(Ð+ð 	ô
 ˜r 6¨IÑ#5Ó6ò 	CˆGØˆØÜ ¨°&©Ó9ò C�Ø�<ØÜ-¨f°d¸EÓB‘ñCð	Cð4 €Mð% 
�‰�fÑ	ð �y‰y˜AŠ~ñ #(Ñ©Zá %¢xÐ0ð 	ð
 ¨¯©°aª™I¸UÑCˆÜ˜r 7Ó+ò 	CˆGØˆØÜ ¨°&©Ó9ò C�Ø�<ØÜ-¨f°d¸EÓB‘ñCð	Cð €Mð 
�‰�fÑ	Ü% f¨b°%Ó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   r9   s      r   r*   r*   g   sV   € ñ Ü�6˜2Ÿ=™=Ó)Ð)Ø	�)Ò	Ü�6˜1˜r×5Ñ5Ñ5Ó6Ð6Üˆv�r×)Ñ)¨B×,BÑ,BÑBÓCÐCr   N)Ú )ÚfontTools.ttLib.tables.otTablesr   Ú__all__r   r   r'   r*   © r   r   ú<module>rF      s&   ðÝ :àˆ.€òò"'óT#óLDr   