Rev 1054 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1054 | Rev 1059 | ||
---|---|---|---|
Line 68... | Line 68... | ||
68 | 68 | ||
69 | class CharSet: |
69 | class CharSet: |
70 | 70 | ||
71 | def __init__(self, num_els, first_idx, sz_x, sz_y): |
71 | def __init__(self, num_els, first_idx, sz_x, sz_y): |
72 | 72 | ||
- | 73 | num_els = int(num_els) |
|
- | 74 | first_idx = int(first_idx) |
|
- | 75 | sz_x = int(sz_x) |
|
- | 76 | sz_y = int(sz_y) |
|
- | 77 | ||
73 | # check arguments |
78 | # check arguments |
74 | if( int(num_els)<=0 ): |
- | |
75 | sys.exit('num_els must be positive!') |
79 | assert num_els>0, 'num_els must be positive!' |
76 | else: |
- | |
77 | self.num_els = int(num_els) |
- | |
78 | - | ||
79 | if( int(first_idx)<0 ): |
- | |
80 | sys.exit('first_idx must be non-negative!') |
80 | assert first_idx>=0, 'first_idx must be non-negative!' |
81 | else: |
- | |
82 | self.first_idx = int(first_idx) |
- | |
83 | - | ||
84 | if( int(sz_x)<1 ): |
- | |
85 | sys.exit('sz_x must be positive!') |
81 | assert sz_x>0, 'sz_x must be positive!' |
86 | else: |
- | |
87 | self.sz_x = int(sz_x) |
82 | assert sz_y>0, 'sz_y must be positive!' |
88 | 83 | ||
89 | if( int(sz_y)<1 ): |
84 | self.num_els = num_els |
90 | sys.exit('sz_y must be positive!') |
85 | self.first_idx = first_idx |
91 | else: |
86 | self.sz_x = sz_x |
92 | self.sz_y = int(sz_y) |
87 | self.sz_y = sz_y |
93 | 88 | ||
94 | # generate empty characters |
89 | # generate empty characters |
95 | self.charset = [None] * (self.first_idx + self.num_els) |
90 | self.charset = [None] * (self.first_idx + self.num_els) |
96 | 91 | ||
97 | for char_idx in range(self.first_idx, self.first_idx + self.num_els): |
92 | for char_idx in range(self.first_idx, self.first_idx + self.num_els): |
Line 204... | Line 199... | ||
204 | 199 | ||
205 | for i in range(32,256): |
200 | for i in range(32,256): |
206 | for y in range(6): |
201 | for y in range(6): |
207 | for x in range(6): |
202 | for x in range(6): |
208 | 203 | ||
- | 204 | # actual layout of the resulting font is defined here |
|
209 | offs = ((i>>3)*36 + x + y*6) & 0x3FF |
205 | offs = ((i>>3)*36 + x + y*6) & 0x3FF |
210 | 206 | # |
|
211 | bit = 1<<(7-(i&7)) |
207 | bit = 1<<(7-(i&7)) |
212 | 208 | ||
213 | if font.get_pix(i,y,x): |
209 | if font.get_pix(i,y,x): |
214 | binary[offs] = binary[offs] | bit |
210 | binary[offs] = binary[offs] | bit |
215 | 211 |