§
    †ÛgÀ	  ã                   óf   — d Z ddlZddlmZ ddlmZmZ  ej        dg d¢¦  «        Zd„ Z	ed	œd
„Z
dS )z"
Low-level text helper utilities.
é    Né   )Ú_api)ÚKERNING_DEFAULTÚLOAD_NO_HINTINGÚ
LayoutItem)Ú	ft_objectÚcharÚ	glyph_idxÚxÚ	prev_kernc           	      óª  — t          j        d                     | t          | ¦  «                             dd¦  «                             d¦  «        ¦  «        ¦  «         d| cxk    rdk    rn ndnÇd| cxk    rdk    rn nd	nµd
| cxk    rdk    rn ndn£d| cxk    rdk    rn ndn‘d| cxk    rdk    rn ndnd| cxk    rdk    rn ndnmd| cxk    rdk    rn ndn[d| cxk    rdk    rn ndnId| cxk    rdk    rn ndn7d| cxk    rd k    rn nd!n%d"| cxk    rd#k    rn nd$nd%| cxk    rd&k    rn nd'nd }|rt          j        d(|› d)�¦  «         d S d S )*Nz(Glyph {} ({}) missing from current font.ÚasciiÚnamereplacei�  iÿ  ÚHebrewi   iÿ  ÚArabici 	  i	  Ú
Devanagarii€	  iÿ	  ÚBengalii 
  i
  ÚGurmukhii€
  iÿ
  ÚGujaratii   i  ÚOriyai€  iÿ  ÚTamili   i  ÚTelugui€  iÿ  ÚKannadai   i  Ú	Malayalami€  iÿ  ÚSinhalaz&Matplotlib currently does not support z
 natively.)r   Úwarn_externalÚformatÚchrÚencodeÚdecode)Ú	codepointÚblocks     úN/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/_text_helpers.pyÚwarn_on_missing_glyphr$      st  € ÝÔØ2×9Ò9ØÝ�	‰NŒN×!Ò! '¨=Ñ9Ô9×@Ò@ÀÑIÔIñ	Kô 	KñLô Lð Lð   9Ð6Ð6Ò6Ð6°Ò6Ð6Ð6Ð6Ð6ˆXˆXØ 9Ð6Ð6Ò6Ð6°Ò6Ð6Ð6Ð6Ð6ˆXˆXØ# yÐ:Ð:Ò:Ð:°FÒ:Ð:Ð:Ð:Ð:ˆ\ˆ\Ø  IÐ7Ð7Ò7Ð7°Ò7Ð7Ð7Ð7Ð7ˆYˆYØ! YÐ8Ð8Ò8Ð8°&Ò8Ð8Ð8Ð8Ð8ˆZˆZØ! YÐ8Ð8Ò8Ð8°&Ò8Ð8Ð8Ð8Ð8ˆZˆZØ )Ð5Ð5Ò5Ð5¨vÒ5Ð5Ð5Ð5Ð5ˆWˆWØ )Ð5Ð5Ò5Ð5¨vÒ5Ð5Ð5Ð5Ð5ˆWˆWØ 9Ð6Ð6Ò6Ð6°Ò6Ð6Ð6Ð6Ð6ˆXˆXØ  IÐ7Ð7Ò7Ð7°Ò7Ð7Ð7Ð7Ð7ˆYˆYØ" iÐ9Ð9Ò9Ð9°6Ò9Ð9Ð9Ð9Ð9ˆ[ˆ[Ø  IÐ7Ð7Ò7Ð7°Ò7Ð7Ð7Ð7Ð7ˆYˆYØð 
ð ð HÝÔØF°UÐFÐFÐFñ	Hô 	Hð 	Hð 	Hð 	HðHð Hó    )Ú	kern_modec             #   ó€  K  — d}d}|                      | ¦  «        }|}| D ]�}|                     ||¦  «        }|                     t          |¦  «        ¦  «        }|�|                     |||¦  «        dz  nd}	||	z  }|                     |t          ¬¦  «        }
t          |||||	¦  «        V — ||
j        dz  z  }|}ŒždS )a¾  
    Render *string* with *font*.  For each character in *string*, yield a
    (glyph-index, x-position) pair.  When such a pair is yielded, the font's
    glyph is set to the corresponding character.

    Parameters
    ----------
    string : str
        The string to be rendered.
    font : FT2Font
        The font.
    kern_mode : int
        A FreeType kerning mode.

    Yields
    ------
    glyph_index : int
    x_position : float
    r   Né@   g        )Úflagsi   )	Ú_get_fontmapÚgetÚget_char_indexÚordÚget_kerningÚ
load_glyphr   r   ÚlinearHoriAdvance)ÚstringÚfontr&   r   Úprev_glyph_idxÚchar_to_fontÚ	base_fontr	   r
   ÚkernÚglyphs              r#   Úlayoutr8   &   sõ   è è € ð( 	
€AØ€NØ×$Ò$ VÑ,Ô,€LØ€IØð #ð #ˆà×Ò  iÑ0Ô0ˆØ×'Ò'­¨D©	¬	Ñ2Ô2ˆ	ð Ð)ð ×!Ò! .°)¸YÑGÔGÈ"ÑLÐLØ/1ð 	ð 	
ˆT‰	ˆØ—’ 	µ�ÑAÔAˆÝ˜˜t Y°°4Ñ8Ô8Ð8Ð8Ð8Ø	ˆUÔ$ uÑ,Ñ,ˆØ"ˆˆð#ð #r%   )Ú__doc__ÚdataclassesÚ r   Úft2fontr   r   Úmake_dataclassr   r$   r8   © r%   r#   ú<module>r?      s¥   ððð ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ð (ˆ[Ô'ØÐFÐFÐFñHô H€
ðHð Hð Hð. '6ð $#ð $#ð $#ð $#ð $#ð $#ð $#r%   