summaryrefslogtreecommitdiffstats
path: root/utils/consolefont2c.pl
diff options
context:
space:
mode:
Diffstat (limited to 'utils/consolefont2c.pl')
-rwxr-xr-xutils/consolefont2c.pl38
1 files changed, 38 insertions, 0 deletions
diff --git a/utils/consolefont2c.pl b/utils/consolefont2c.pl
new file mode 100755
index 0000000..9196649
--- /dev/null
+++ b/utils/consolefont2c.pl
@@ -0,0 +1,38 @@
+#!/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;
+}
OpenPOWER on IntegriCloud