
    Ph                         d dl mZ d dl mZ  G d dej                        Zedk(  r4ddlZddlZ ej                   ej                         j                         yy)   )DefaultTable)	ttProgramc                   2    e Zd ZdZd Zd Zd Zd Zd ZeZ	y)table__f_p_g_ma  Font Program table

    The ``fpgm`` table typically contains function defintions that are
    used by font instructions. This Font Program is similar to the Control
    Value Program that is stored in the ``prep`` table, but
    the ``fpgm`` table is only executed one time, when the font is first
    used.

    See also https://learn.microsoft.com/en-us/typography/opentype/spec/fpgm
    c                 \    t        j                         }|j                  |       || _        y N)r   ProgramfromBytecodeprogram)selfdatattFontr   s       jC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\fontTools/ttLib/tables/_f_p_g_m.py	decompileztable__f_p_g_m.decompile   s%    ##%T"    c                 P    t        | d      r| j                  j                         S y)Nr   r   )hasattrr   getBytecode)r   r   s     r   compileztable__f_p_g_m.compile   s"    4#<<++--r   c                 <    | j                   j                  ||       y r   )r   toXML)r   writerr   s      r   r   ztable__f_p_g_m.toXML   s    66*r   c                 b    t        j                         }|j                  ||||       || _        y r   )r   r	   fromXMLr   )r   nameattrscontentr   r   s         r   r   ztable__f_p_g_m.fromXML   s)    ##%eWf5r   c                 H    t        | d      xr t        | j                        S )ag  
        >>> fpgm = table__f_p_g_m()
        >>> bool(fpgm)
        False
        >>> p = ttProgram.Program()
        >>> fpgm.program = p
        >>> bool(fpgm)
        False
        >>> bc = bytearray([0])
        >>> p.fromBytecode(bc)
        >>> bool(fpgm)
        True
        >>> p.bytecode.pop()
        0
        >>> bool(fpgm)
        False
        r   )r   boolr   )r   s    r   __bool__ztable__f_p_g_m.__bool__#   s    $ tY'>D,>>r   N)
__name__
__module____qualname____doc__r   r   r   r   r    __nonzero__ r   r   r   r      s'    	

+
?( Kr   r   __main__    N)
 r   r   r   r!   sysdoctestexittestmodfailedr&   r   r   <module>r/      sP     2\.. 2j zCHH_W__%%&	 r   