B ] @sXddlmZddlmZmZdddddd d Zd d d dZddZGdddejZdS))print_function)FontFileImageZRomanZItalicZObliquezReverse ItaliczReverse ObliqueZOther)RIOZRIZROZOTZ ProportionalZ MonospacedZCell)PMCcCsx&|}|sdS|dddkrPqW|ddd}i}xT|}|r`|dddkrbP|d}||ddd||d|d<qDWg}x4|}|r|dd d krP||ddqWd |}d d |dD\}}}} dd |dD\} } | | f|| |||| fdd||ff} ytd||f|dd} Wn&t k r~t d||f} YnX|t |d| | fS)N s STARTCHARasciisBITMAP rsENDCHARcSsg|] }t|qS)int).0prr1/tmp/pip-build-ktz6qwqq/Pillow/PIL/BdfFontFile.py Dszbdf_char..ZBBXcSsg|] }t|qSr)r)rrrrrrEsZDWIDTHr1hexENCODING) readlinestripdecodefindappendjoinsplitrZ frombytes ValueErrornewr)fsidpropsiZbitmapxyldZdxZdyZbboximrrrbdf_char(s: , *r/c@seZdZddZdS) BdfFontFilec Cs tj||}|dddkr,tdi}g}x|}|rR|dddkrTP|d}||ddd||d|d<|d|d kr6|d d kr6|||dddq6WxVt|}|sP|\}}\} } } } d |krt|j krnq| | | | f|j |<qWdS) N s STARTFONT 2.1znot a valid BDF files ENDPROPERTIESrrrr )sCOMMENTs COPYRIGHTsLogicalFontDescriptionr) r__init__r SyntaxErrorrrr r/lenZglyph) selffpr&r(commentsr)cr'chZxydstsrcr.rrrr2Ws,  (  zBdfFontFile.__init__N)__name__ __module__ __qualname__r2rrrrr0Vsr0N) __future__rrrZ bdf_slantZ bdf_spacingr/r0rrrrs  .