/[suikacvs]/perl/lib/Data/Number2XBM.pm
Suika

Contents of /perl/lib/Data/Number2XBM.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Fri Aug 15 08:15:52 2003 UTC (21 years, 2 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
FILE REMOVED
Historical

1
2 =pod
3
4 Number2XBM
5 Change: Public Domain
6
7 2001-07-14 wakaba <wakaba@suika.fam.cx>
8 - Data::Number2XBM.pm.
9 2001-07-09 wakaba
10 - Counter.cgi. Glyphs of numbers are taken from jiskan16.bdf.
11 1984-**-** JISC <http://www.jisc.org/>
12 - JIS X 9051-1984.
13
14 =cut
15
16 package Data::Number2XBM;
17
18 sub convert {
19 my $count = shift;
20 my $keta = shift;
21
22 @char0 = ('0x00,0x00,', '0xC0,0x03,', '0x20,0x04,', '0x10,0x08,', '0x10,0x08,', '0x18,0x18,', '0x08,0x10,', '0x08,0x10,', '0x08,0x10,', '0x08,0x10,', '0x18,0x18,', '0x10,0x08,', '0x10,0x08,', '0x20,0x04,', '0xC0,0x03,', '0x00,0x00,', );
23 @char1 = ('0x00,0x00,', '0x80,0x00,', '0xC0,0x00,', '0xA0,0x00,', '0x90,0x00,', '0x80,0x00,', '0x80,0x00,', '0x80,0x00,', '0x80,0x00,', '0x80,0x00,', '0x80,0x00,', '0x80,0x00,', '0x80,0x00,', '0x80,0x00,', '0xE0,0x03,', '0x00,0x00,', );
24 @char2 = ('0x00,0x00,', '0xE0,0x07,', '0x30,0x08,', '0x18,0x10,', '0x08,0x10,', '0x00,0x10,', '0x00,0x18,', '0x00,0x0C,', '0x00,0x06,', '0x00,0x03,', '0x80,0x01,', '0xC0,0x00,', '0x60,0x00,', '0x30,0x00,', '0xF8,0x1F,', '0x00,0x00,', );
25 @char3 = ('0x00,0x00,', '0xC0,0x07,', '0x70,0x08,', '0x18,0x10,', '0x00,0x10,', '0x00,0x10,', '0x00,0x08,', '0xE0,0x07,', '0x00,0x08,', '0x00,0x10,', '0x00,0x10,', '0x00,0x10,', '0x00,0x18,', '0x00,0x0E,', '0xF8,0x03,', '0x00,0x00,', );
26 @char4 = ('0x00,0x00,', '0x00,0x06,', '0x00,0x07,', '0x80,0x05,', '0xC0,0x04,', '0x60,0x04,', '0x30,0x04,', '0x18,0x04,', '0x0C,0x04,', '0x04,0x04,', '0xFC,0x3F,', '0x00,0x04,', '0x00,0x04,', '0x00,0x04,', '0x00,0x1F,', '0x00,0x00,', );
27 @char5 = ('0x00,0x00,', '0xF8,0x1F,', '0x08,0x00,', '0x08,0x00,', '0x08,0x00,', '0x08,0x00,', '0xE8,0x07,', '0x18,0x08,', '0x08,0x10,', '0x00,0x10,', '0x00,0x10,', '0x00,0x18,', '0x00,0x0C,', '0x00,0x07,', '0xF8,0x01,', '0x00,0x00,', );
28 @char6 = ('0x00,0x00,', '0x00,0x0F,', '0xC0,0x01,', '0x60,0x00,', '0x30,0x00,', '0x10,0x00,', '0xD8,0x03,', '0x28,0x0C,', '0x18,0x18,', '0x08,0x10,', '0x08,0x10,', '0x18,0x10,', '0x10,0x18,', '0x30,0x0C,', '0xC0,0x03,', '0x00,0x00,', );
29 @char7 = ('0x00,0x00,', '0xF8,0x3F,', '0x08,0x10,', '0x08,0x18,', '0x08,0x08,', '0x00,0x0C,', '0x00,0x04,', '0x00,0x06,', '0x00,0x02,', '0x00,0x03,', '0x00,0x01,', '0x00,0x01,', '0x80,0x01,', '0x80,0x00,', '0x80,0x00,', '0x00,0x00,', );
30 @char8 = ('0x00,0x00,', '0xC0,0x03,', '0x30,0x0C,', '0x18,0x18,', '0x08,0x10,', '0x08,0x10,', '0x10,0x08,', '0xE0,0x07,', '0x10,0x08,', '0x08,0x10,', '0x08,0x10,', '0x08,0x10,', '0x18,0x18,', '0x30,0x0C,', '0xC0,0x03,', '0x00,0x00,', );
31 @char9 = ('0x00,0x00,', '0xC0,0x03,', '0x30,0x0C,', '0x18,0x08,', '0x08,0x18,', '0x08,0x10,', '0x08,0x10,', '0x18,0x18,', '0x30,0x14,', '0xC0,0x1B,', '0x00,0x08,', '0x00,0x0C,', '0x00,0x06,', '0x80,0x03,', '0xF0,0x00,', '0x00,0x00,', );
32
33 $count = substr(('0' x $keta).$count,-$keta);
34 my @count = split('', $count);
35 my $width = $keta * 16;
36
37 my $ret = <<EOH;
38 #define c_width ${width}
39 #define c_height 16
40 static char c_bits[] = {
41 EOH
42
43 for $j (0...15) {
44 for $i (0...($keta-1)) {
45 $ret .= ${'char'.$count[$i]}[$j];
46 }
47 $ret .= "\n";
48 }
49
50 $ret .= '}';
51
52 }
53
54 1;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24