a :jgù ã@sXddlmZddlZddlmZddlmZmZdZddd d œd d „Z Gd d„dƒZ dS)é)Ú annotationsN)ÚBinaryIOé)ÚImageÚ_binaryi rz7tuple[int, int, int, int, int, int, int, int, int, int]ÚNone)ÚfpÚvaluesÚreturncCs.|D]$}|dkr|d7}| t |¡¡qdS)z0Write network order (big-endian) 16-bit sequenceriN)ÚwriterZo16be)rr Úv©r ú6/usr/local/lib/python3.9/site-packages/PIL/FontFile.pyÚputi16src@sZeZdZUdZdZded<ddœdd„Zd d d œd d „Zddœdd„Zdddœdd„Z dS)ÚFontFilez)Base class for raster font file handlers.NzImage.Image | NoneÚbitmapr)r cCsi|_dgd|_dS)Né)ÚinfoÚglyph)Úselfr r rÚ__init__)s øzFontFile.__init__Úintz`tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int], Image.Image] | None)Úixr cCs |j|S)N)r)rrr r rÚ __getitem__5s zFontFile.__getitem__cCs˜|jr dSd}}}d}|jD]h}|r |\}}}} t||d|dƒ}||d|d}|tkr~|d7}|d|d}t||ƒ}q |} ||} | dkrª| dkrªdS||_t d| | f¡|_dgd|_d} } tdƒD]´}||}|rÞ|\}}}} |d|d}| | }}| |} | tkrBd| |} } | | }}|} |d||d||d||d|f}|j  |   |¡|¡|||f|j|<qÞdS)zCreate metrics and bitmapNrrééÚ1r) rrÚmaxÚWIDTHÚysizerÚnewÚmetricsÚrangeZpasteÚcrop)rÚhÚwZmaxwidthÚlinesrÚdÚdstÚsrcZimZxsizerÚxÚyÚiÚxxZx0Zy0Úsr r rÚcompile@sH    ý     ,zFontFile.compileÚstr)Úfilenamer cCsê| ¡|jsd}t|ƒ‚|j tj |¡ddd¡ttj |¡dddƒ„}| d¡| d|j ›d   d ¡¡| d ¡t d ƒD]<}|j |}|s¨t |d ƒqŠt ||d|d|dƒqŠWdƒn1sÜ0YdS)z Save fontzNo bitmap createdrz.pbmZPNGz.pilÚwbsPILfont z;;;;;;z; ÚasciisDATA r) rrrrrrrrrrrrN)r/rÚ ValueErrorÚsaveÚosÚpathÚsplitextÚopenr rÚencoder"r!r)rr1ÚmsgrÚidÚmr r rr5qs     z FontFile.save) Ú__name__Ú __module__Ú __qualname__Ú__doc__rÚ__annotations__rrr/r5r r r rr$s    1r) Ú __future__rr6ÚtypingrÚrrrrrr r r rÚs