view nykyaeka/font.pl @ 80:d2121ed6e67e

Cosmetics.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 14 Aug 2012 06:17:39 +0300
parents acb5694e93d9
children
line wrap: on
line source

#!/usr/bin/perl

sub encode_font()
{
   @lines=split("\n",$_[0]);
   $widths="";
   $offsets="";
   $crroff=0;
   for($i=0;$i<$#lines;$i+=8)
   {
      $byte=0;
      $x=0;
      do
      {
         $byte=0;
         for($j=0;$j<8;$j++)
         {
            if(substr($lines[$i+$j],$x,1) eq 'a') { $byte |= (1<<$j); }
         }
         if($byte!=0)
         {
            printf("0x%x,",$byte);
            $crroff++;
         }
         $x++;
      } while($byte!=0);
      $lengths.=sprintf("%d,",$x);
      print "0x00,\n";
   }
}

print "unsigned char font[]={\n";
&encode_font(<<EOD);
...
...
...
...
...
...
...

.aaaaa
.a..aa
.a..aa
aaaaaa
aa..aa
aa..aa
aa..aa

aaaaa.
aa..a.
aa..a.
aaaaaa
aa...a
aa...a
aaaaaa

.aaaaa
.a....
.a....
aa....
aa....
aa....
aaaaaa

aaaaa.
a...a.
a...a.
a...aa
a...aa
a...aa
aaaaaa

.aaaaa
.a....
.a....
aaaa..
aa....
aa....
aaaaaa

.aaaaa
.a....
.a....
aaaa..
aa....
aa....
aa....

.aaaaa
.a....
.a....
aa..aa
aa..aa
aa...a
aaaaaa

.a..aa
.a..aa
.a..aa
aaaaaa
aa..aa
aa..aa
aa..aa

.a
.a
.a
aa
aa
aa
aa

....a
....a
....a
...aa
...aa
aa.aa
aaaaa

a...aaa
a..aa..
a.aa...
aaaa...
aa.aa..
aa..aaa
aa..aaa

.a....
.a....
.a....
aa....
aa....
aa....
aaaaaa

.aaaaaaa
.a..a.aa
.a..a.aa
aa.aa.aa
aa.aa.aa
aa.aa.aa
aa.aa.aa

.aaaaa
.a..aa
.a..aa
aa..aa
aa..aa
aa..aa
aa..aa

.aaaaa
.a...a
.a...a
aa...a
aa...a
aa...a
aaaaaa

aaaaaa
a....a
a....a
aaaaaa
aa....
aa....
aa....

.aaaaa
.a...a
.a...a
aa...a
aa.aaa
aa..aa
aaaaaa

.aaaaa
.a....
.a....
aa....
aa....
aa....
aa....

.aaaaa
.a....
.a....
.aaaaa
....aa
....aa
aaaaaa

aaaaaa
...a..
...a..
..aa..
..aa..
..aa..
..aa..

a...aa
a...aa
a...aa
aa..aa
aa..aa
aa..aa
aaaaaa

aa..aa
aa..aa
aa..aa
aa..aa
.aa.a.
.aa.a.
.aaaa.

aa.aa.aa
aa.aa.aa
aa.aa.aa
aa.aa.aa
.a.aa.a.
.a.aa.a.
.aaaaaa.

aa..aaaa
aa..a...
aa..a...
aaaaaaaa
...aa..a
...aa..a
aaaaa..a

aa...a
aa...a
aa...a
aaaaaa
....aa
....aa
aaaaaa

aaaaaa
.....a
.....a
aaaaaa
aa....
aa....
aaaaaa

aa.aa.
......
aaaaa.
aa..a.
aaaaaa
aa..aa
aa..aa

.aa.aa 
......
.aaaaa
.a..aa
aa..aa
aa..aa
aaaaaa

....
....
....
aaaa
..aa
....
....
EOD
print "};\n\nchar font_lengths[]={$lengths};\n\n";