o
    a                      @   sf   d dl mZ d dlmZ d dlZeeZdZdZ	G dd de
ZG dd	 d	eZG d
d deZdS )    )sstruct)safeEvalNz
  > # big endian
  height:       B
  width:        B
  horiBearingX: b
  horiBearingY: b
  horiAdvance:  B
  vertBearingX: b
  vertBearingY: b
  vertAdvance:  B
zX
  > # big endian
  height:   B
  width:    B
  BearingX: b
  BearingY: b
  Advance:  B
c                   @   s   e Zd Zdd Zdd ZdS )BitmapGlyphMetricsc                 C   sd   | | jj |  t| jjd D ]}|j|t| |d |  q|	| jj |  d S )N   )value)
Zbegintag	__class____name__newliner   	getformatbinaryFormatZ	simpletaggetattrZendtag)selfwriterttFontZ
metricName r   K/usr/lib/python3/dist-packages/fontTools/ttLib/tables/BitmapGlyphMetrics.pytoXML!   s   
zBitmapGlyphMetrics.toXMLc                 C   sj   t t| jjd }|D ]%}t|tsq|\}}}||v r)t|d t| |< qt	
d|| jj qd S )Nr   r   z&unknown name '%s' being ignored in %s.)setr   r
   r   r   
isinstancetupler   varslogZwarningr   )r   nameZattrsZcontentr   ZmetricNameselementr   r   r   fromXML*   s   

zBitmapGlyphMetrics.fromXMLN)r   
__module____qualname__r   r   r   r   r   r   r      s    	r   c                   @      e Zd ZeZdS )BigGlyphMetricsN)r   r   r   bigGlyphMetricsFormatr   r   r   r   r   r   7       r   c                   @   r   )SmallGlyphMetricsN)r   r   r   smallGlyphMetricsFormatr   r   r   r   r   r!   :   r    r!   )ZfontTools.miscr   ZfontTools.misc.textToolsr   ZloggingZ	getLoggerr   r   r   r"   objectr   r   r!   r   r   r   r   <module>   s   
	