K i jdZddlmZddlmZddlmZmZ d dZGddej Z y ) z* Parse X Bitmap Distribution Format (BDF) ) annotations)BinaryIO)FontFileImagec |j}|sy|jdrn&|ddjjd}i} |j}|r|jdrn>|j d}||dzdjd||d|jd<bt } |j}|r|jdrn ||ddz }-d |d j D\}}}} d |d j D\} } | | f|| |z ||z| fd d ||ff} tjd||f|dd} |t|d| | fS#t$rtjd||f} Y5wxYw)Ns STARTCHAR asciisBITMAP rsENDCHARc32K|]}t|ywNint.0ps U/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/PIL/BdfFontFile.py zbdf_char..Gs$JSV$JBBXc32K|]}t|ywrrrs rrzbdf_char..Ks81A8rDWIDTHr1hexENCODING) readline startswithstripdecodefind bytearraysplitr frombytes ValueErrornewr)fsidpropsibitmapwidthheightx_dispy_dispdwxdwybboxims rbdf_charr5s  JJL << %   12  g &B E  JJLALL+  FF4L'(Q}';';G'Daell7#$ [F  JJLALL, !CR& %KU5\5G5G5I$J!E6669h 5 5 78HC c &6!56>F7; Auf D - __S5&/65# F s5$%tR // - YYsUFO ,-s;E((!F  F c$eZdZdZdfd ZxZS) BdfFontFilez(Font file plugin for the X11 BDF format.cjt||j}|jds d}t |i}g} |j}|r|jdrn|j d}||dzdj d||d|j d<|d|dvr:|j d d kr&|j||dzdj d t|}|sy|\}} \} } } } d | cxkrt|jkrnn| | | | f|j| <N) Ns STARTFONT 2.1znot a valid BDF files ENDPROPERTIESr rr r )sCOMMENTs COPYRIGHTsLogicalFontDescriptionr) super__init__rr SyntaxErrorr!r appendr5lenglyph)selffpr(msgr*commentsr+cr)chxydstsrcr4 __class__s rr:zBdfFontFile.__init___s:  KKM||,-(Cc" " A %56t A+,QUR=+?+?+HE!BQ%,,w' (!u226634q8OOAa!ebM$8$8$AB A)* &BNRcBB(TZZ(!#S#r!1 2 )r@rreturnNone)__name__ __module__ __qualname____doc__r: __classcell__)rHs@rr7r7\s222rIr7N)r'rrJzqtuple[str, int, tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]], Image.Image] | None) rO __future__rtypingrrrr5r7rIrrUs?(#;0;0 ;0|2(##2rI