1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
U
T±d: ã@s6ddlZddlmZmZdZdd„ZGdd„dƒZdS)    éNé)ÚImageÚ_binaryi cCs.|D]$}|dkr|d7}| t |¡¡qdS)z0Write network order (big-endian) 16-bit sequenceriN)ÚwriterZo16be)ÚfpÚvaluesÚv©r    úCd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\PIL/FontFile.pyÚputi16sr c@s4eZdZdZdZdd„Zdd„Zdd„Zd    d
„ZdS) ÚFontFilez)Base class for raster font file handlers.NcCsi|_dgd|_dS)Né)ÚinfoÚglyph)Úselfr    r    r
Ú__init__&szFontFile.__init__cCs
|j|S)N)r)rÚixr    r    r
Ú __getitem__*szFontFile.__getitem__cCs–|jr
dSd}}}d}|D]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}| | }}| |} | tkr@d| |} } | | }}|} |d||d||d||d|f}|j |         |¡|¡|||f|j|<qÜdS)    zCreate metrics and bitmapNrrééÚÚ1r )
ÚbitmapÚmaxÚWIDTHÚysizerÚnewÚmetricsÚrangeZpasteZcrop)rÚhÚwZmaxwidthÚlinesrÚdÚdstÚsrcZimZxsizerÚxÚyÚiZxxZx0Zy0Úsr    r    r
Úcompile-sF      
 
 
,zFontFile.compilec    CsÊ| ¡|j tj |¡ddd¡ttj |¡dddƒ€}| d¡| d|j›d     d    ¡¡| d
¡t
d ƒD]B}|j |}|sœt |dgd ƒqxt ||d|d |dƒqxW5QRXdS)z    Save fontrz.pbmZPNGz.pilÚwbsPILfont
z;;;;;;z;
ÚasciisDATA
r é
rrN) r)rÚsaveÚosÚpathÚsplitextÚopenrrÚencoderrr )rÚfilenamerÚidÚmr    r    r
r-\s
 
 
z FontFile.save)    Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrrr)r-r    r    r    r
r !s /r )r.rrrrr r r    r    r    r
Ú<module>s