#!/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; }