
    Ph                     ^    d dl mZ ddlmZ d dlZdZdZdZdZ G d d	ej                        Z	y)
    )safeEval   )DefaultTableN         c                   (    e Zd ZdZd Zd Zd Zd Zy)table__g_a_s_pa  Grid-fitting and Scan-conversion Procedure table

    The ``gasp`` table defines the preferred rasterization settings for
    the font when rendered on monochrome and greyscale output devices.

    See also https://learn.microsoft.com/en-us/typography/opentype/spec/gasp
    c                 j   t        j                  d|d d       \  | _        }d| j                  cxk  rdk  sn J d| j                  z         |dd  }i | _        t	        |      D ]D  }t        j                  d|d d       \  }}t        |      | j                  t        |      <   |dd  }F |rJ d       y )N>HHr   r   r   zunknown 'gasp' format: %sztoo much data)structunpackversion	gaspRangerangeint)selfdatattFont	numRangesirangeMaxPPEMrangeGaspBehaviors          jC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\fontTools/ttLib/tables/_g_a_s_p.py	decompileztable__g_a_s_p.decompile   s    "(--tBQx"@iDLL%A%Q'BT\\'QQ%ABxy!A.4mmE48.L+L+034E0FDNN3|,-8D " ((x4    c                 "   d}t        | j                        }d}t        | j                  j                               }|D ]3  \  }}|t	        j
                  d||      z   }|t        t        z   z  s2d}5 t	        j
                  d||      |z   }|S )Nr   r   r   r   )lenr   sorteditemsr   packGASP_GRIDFITGASP_DOGRAY)r   r   r   r   r   r    r   r   s           r   compileztable__g_a_s_p.compile    s    '	t~~++-./4+L+&++e\;LMMD \K%?#@@ 05 {{5'95<r   c                     t        | j                  j                               }|D ]-  \  }}|j                  dd|fd|fg       |j	                          / y )Nr   r   r   )r   r   r    	simpletagnewline)r   writerr   r    r   r   s         r   toXMLztable__g_a_s_p.toXML,   s\    t~~++-./4+L+#\2(*;< NN 05r   c                     |dk7  ry t        | d      si | _        t        |d         | j                  t        |d         <   y )Nr   r   r   )hasattrr   r   )r   nameattrscontentr   s        r   fromXMLztable__g_a_s_p.fromXML8   sD    ;t[)DN:B%&;
xn 567r   N)__name__
__module____qualname____doc__r   r$   r)   r/    r   r   r
   r
      s    	)


r   r
   )
fontTools.misc.textToolsr    r   r   GASP_SYMMETRIC_GRIDFITGASP_SYMMETRIC_SMOOTHINGr#   r"   r
   r4   r   r   <module>r9      s8    -     ! 3
\.. 3
r   