home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0417.ZIP / CCE_0417.PD / ASCREEN.ZOO / fontstuf / lsfli < prev   
Text File  |  1992-03-19  |  1KB  |  28 lines

  1. #!/usr/local/bin/perl
  2. # lsfli --- zeige Inhalt einer FLI-Datei
  3. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. # Copyright (C) 1992 by Anselm Lingnau. Alle Rechte vorbehalten.
  5. #
  6. # Sie d"urfen dieses Skript frei benutzen und weitergeben, solange Sie dadurch
  7. # kein Geld verdienen oder behaupten, Sie h"atten es geschrieben.
  8. #
  9. die "usage: $0 flib res\n" unless @ARGV == 2;
  10. $res = $ARGV[1] * 65536;
  11. open(FLI, $ARGV[0]) || die "couldn't open $ARGV[0]\n";
  12. binmode(FLI);
  13. read(FLI, $head, 14) || die "couldn't read header\n";
  14. die "bad header\n" if substr($head, 0, 6) ne "FLIB\002\000";
  15. ($dirlen, $nsizes, $nfonts, $comlen) = unpack("S4", substr($head, 6, 8));
  16. read(FLI, $comment, $comlen) if $comlen > 0;
  17. for (1 .. $nsizes) {
  18.     read(FLI, $size, 8) || die "couldn't read size header\n";
  19.     ($ssize, $sfonts, $sdpi) = unpack("S2I", $size);
  20.     $scaled = $sdpi != $res ? sprintf(" scaled %5.3f", $sdpi/$res) : '';
  21.     for (1 .. $sfonts) {
  22.         read(FLI, $font, 9) || die "couldn't read font entry\n";
  23.         ($flen, $foff, $fnl) = unpack("I2C", $font);
  24.         read(FLI, $fname, $fnl) || die "couldn't read font name\n";
  25.         printf "%8u %8u $fname$scaled ($sdpi)\n", $foff, $flen;
  26.     }
  27. }
  28.