+
    f7ig  c                   s(    R .t R tR tRR ltR tR# )
maxCtxFontc           	     s   ^ pR Fx  pW 9  d   K  W,          P                   pVP                  '       g   K1  VP                  P                   F-  pVP                   F  p\	        WVP
                  V4      pK  	  K/  	  Kz  	  V# )z4Calculate the usMaxContext value for an entire font.)GSUBGPOS)tableZ
LookupListZLookupZSubTablemaxCtxSubtableZ
LookupType)ZfontmaxCtxtagr   Zlookupsts   &     F/usr/lib64/python3.14/site-packages/fontTools/otlLib/maxContextCalc.pyr    r       st     F?	&&--Foo'V5F5FK & .   M    c                s   VR8X  d   V^8X  g   VR8X  d   VR9   d   \        V ^4      p V # VR8X  d   V^8X  d   \        V ^4      p V # VR8X  dI   V^8X  dB   VP                  P                  4        F!  pV F  p\        WP                  4      p K  	  K#  	  V # VR8X  d   V^8X  g   VR8X  d   V^8X  d   \	        YVR8X  d   RMR4      p V # VR8X  d   V^8X  g   VR8X  d    V^8X  d   \	        YVR8X  d   RMRR4      p V # VR8X  d   V^	8X  g   VR8X  d+   V^8X  d$   \        WVP                  VP                  4      p V # VR8X  d   V^8X  d   \        WR4      p V # )zSCalculate usMaxContext based on a single lookup table (and an existing
max value).
r   r   ZPosZSubZChainReverse)i   i   i   )	max	ligaturesZvaluesZ	CompCountmaxCtxContextualSubtabler   ZExtensionLookupTypeZExtSubTablemaxCtxContextualRule)r   r   Z
lookupTyper   r   Zligature   &&&&  r   r   r      sh    	v*/v*	1VQ< M7 
:?VQ4 M/ 
:?,,.I%V%7%78 & /, M# -J!O:QR?)&sf}eRWX  M -J!O:QR?)E7
 M -J!O:QR?R-C-CR^^T M 
:?%f)<Mr	   c                s   VP                   ^8X  dM   \        W: V: R24       F4  pVf   K	  \        WC: V: R24       F  pVf   K	  \        WV4      p K  	  K6  	  V # VP                   ^8X  dM   \        W: V: R24       F4  pVf   K	  \        WC: V: R24       F  pVf   K	  \        WV4      p K  	  K6  	  V # VP                   ^8X  d   \        WV4      p V # )z>Calculate usMaxContext based on a contextual feature subtable.ZRuleSetZRuleZClassSetZ	ClassRule)ZFormatZgetattrr   )r   r   ZruleTypechainZrulesetZruler   r   r   r   >   s     
yyA~rE8#DEGuh)GH<-fEB I F( M 
arUH#EFGE8)LM<-fEB N G M 
a%f%8Mr	   c                s    V'       g   \        WP                  4      # VR8X  d   \        V ^VP                  ,           4      # \        WP                  VP                  ,           4      # )z:Calculate usMaxContext based on a contextual feature rule.r
   )r   Z
GlyphCountZLookAheadGlyphCountZInputGlyphCount)r   r   r   s   &&&r   r   r   Y   sR     6==))	)	61r55566v))B,B,BBCCr	   N)Z )Z__all__r    r   r   r   ) r	   r   <module>r      s"   . 'T6Dr	   