You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
850 B
39 lines
850 B
#!/usr/bin/perl
|
|
|
|
# convert a linux console font (8x16 format) to a font definition
|
|
# suitable for processing with LibVNCServer
|
|
|
|
#if($#ARGV == 0) { exit; }
|
|
|
|
foreach $i (@ARGV) {
|
|
$fontname = $i;
|
|
$fontname =~ s/\.fnt$//;
|
|
$fontname =~ s/^.*\///g;
|
|
$fontname =~ y/+/_/;
|
|
|
|
print STDERR "$i -> $fontname\n";
|
|
|
|
open IN, "<$i";
|
|
print STDERR read(IN,$x,4096);
|
|
close(IN);
|
|
|
|
open OUT, ">$fontname.h";
|
|
print OUT "unsigned char ".$fontname."FontData[4096+1]={";
|
|
for($i=0;$i<4096;$i++) {
|
|
if(($i%16)==0) {
|
|
print OUT "\n";
|
|
}
|
|
printf OUT "0x%02x,", ord(substr($x,$i));
|
|
}
|
|
|
|
print OUT "\n};\nint ".$fontname."FontMetaData[256*5+1]={\n";
|
|
for($i=0;$i<256;$i++) {
|
|
print OUT ($i*16).",8,16,0,0,";
|
|
}
|
|
|
|
print OUT "};\nrfbFontData ".$fontname."Font = { ".$fontname."FontData, "
|
|
.$fontname."FontMetaData };\n";
|
|
|
|
close OUT;
|
|
}
|