[Scummvm-cvs-logs] SF.net SVN: scummvm:[41001] scummvm/trunk/tools/sci
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Fri May 29 16:38:42 CEST 2009
Revision: 41001
http://scummvm.svn.sourceforge.net/scummvm/?rev=41001&view=rev
Author: fingolfin
Date: 2009-05-29 14:38:42 +0000 (Fri, 29 May 2009)
Log Message:
-----------
Removed obsolete files
Removed Paths:
-------------
scummvm/trunk/tools/sci/5x8.font
scummvm/trunk/tools/sci/6x10.font
scummvm/trunk/tools/sci/bdf.cpp
scummvm/trunk/tools/sci/bdf.h
scummvm/trunk/tools/sci/bdfP.h
scummvm/trunk/tools/sci/bdfgname.cpp
scummvm/trunk/tools/sci/bdfgrid.cpp
scummvm/trunk/tools/sci/bdftofont.cpp
scummvm/trunk/tools/sci/fonttoc.cpp
Deleted: scummvm/trunk/tools/sci/5x8.font
===================================================================
--- scummvm/trunk/tools/sci/5x8.font 2009-05-29 14:38:22 UTC (rev 41000)
+++ scummvm/trunk/tools/sci/5x8.font 2009-05-29 14:38:42 UTC (rev 41001)
@@ -1,2307 +0,0 @@
-# 256 8
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x00 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x01 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x02 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x03 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x04 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x05 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x06 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x07 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x08 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x09 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x0a ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x0b ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x0c ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x0d ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x0e ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x0f ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x10 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x11 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x12 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x13 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x14 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x15 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x16 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x17 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x18 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x19 ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x1a ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x1b ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x1c ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x1d ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x1e ('.') */
-.....
-#.#..
-...#.
-#....
-...#.
-#....
-.#.#.
-.....
----- 0x1f ('.') */
-.....
-.....
-.....
-.....
-.....
-.....
-.....
-.....
----- 0x20 (' ') */
-..
-#.
-#.
-#.
-#.
-..
-#.
-..
----- 0x21 ('!') */
-....
-#.#.
-#.#.
-....
-....
-....
-....
-....
----- 0x22 ('"') */
-.#.#..
-.#.#..
-#####.
-.#.#..
-#####.
-.#.#..
-.#.#..
-......
----- 0x23 ('#') */
-..#...
-.###..
-#.#...
-.###..
-..#.#.
-.###..
-..#...
-......
----- 0x24 ('$') */
-......
-##..#.
-#..#..
-..#...
-.#..#.
-#..##.
-......
-......
----- 0x25 ('%') */
-.#....
-#.#...
-#.#...
-.#....
-#.###.
-#..#..
-.##.#.
-......
----- 0x26 ('&') */
-..
-#.
-#.
-..
-..
-..
-..
-..
----- 0x27 (''') */
-...
-.#.
-#..
-#..
-#..
-#..
-.#.
-...
----- 0x28 ('(') */
-...
-#..
-.#.
-.#.
-.#.
-.#.
-#..
-...
----- 0x29 (')') */
-.....
-.....
-#..#.
-.##..
-####.
-.##..
-#..#.
-.....
----- 0x2a ('*') */
-......
-......
-..#...
-..#...
-#####.
-..#...
-..#...
-......
----- 0x2b ('+') */
-...
-...
-...
-...
-...
-.#.
-.#.
-#..
----- 0x2c (',') */
-.....
-.....
-.....
-.....
-####.
-.....
-.....
-.....
----- 0x2d ('-') */
-..
-..
-..
-..
-..
-..
-#.
-..
----- 0x2e ('.') */
-.......
-.....#.
-....#..
-...#...
-..#....
-.#.....
-#......
-.......
----- 0x2f ('/') */
-.....
-.##..
-#..#.
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0x30 ('0') */
-....
-.#..
-##..
-.#..
-.#..
-.#..
-###.
-....
----- 0x31 ('1') */
-.....
-.##..
-#..#.
-...#.
-.##..
-#....
-####.
-.....
----- 0x32 ('2') */
-.....
-####.
-..#..
-.##..
-...#.
-#..#.
-.##..
-.....
----- 0x33 ('3') */
-.....
-..#..
-.##..
-#.#..
-####.
-..#..
-..#..
-.....
----- 0x34 ('4') */
-.....
-####.
-#....
-###..
-...#.
-#..#.
-.##..
-.....
----- 0x35 ('5') */
-.....
-.##..
-#....
-###..
-#..#.
-#..#.
-.##..
-.....
----- 0x36 ('6') */
-.....
-####.
-...#.
-..#..
-..#..
-.#...
-.#...
-.....
----- 0x37 ('7') */
-.....
-.##..
-#..#.
-.##..
-#..#.
-#..#.
-.##..
-.....
----- 0x38 ('8') */
-.....
-.##..
-#..#.
-#..#.
-.###.
-...#.
-.##..
-.....
----- 0x39 ('9') */
-..
-..
-#.
-..
-..
-#.
-..
-..
----- 0x3a (':') */
-...
-...
-.#.
-...
-...
-.#.
-.#.
-#..
----- 0x3b (';') */
-....
-..#.
-.#..
-#...
-#...
-.#..
-..#.
-....
----- 0x3c ('<') */
-.....
-.....
-.....
-####.
-.....
-####.
-.....
-.....
----- 0x3d ('=') */
-....
-#...
-.#..
-..#.
-..#.
-.#..
-#...
-....
----- 0x3e ('>') */
-.....
-.##..
-#..#.
-...#.
-..#..
-.....
-..#..
-.....
----- 0x3f ('?') */
-..##..
-.#..#.
-#..##.
-#.#.#.
-#.#.#.
-#..#..
-.#....
-..##..
----- 0x40 ('@') */
-.....
-.##..
-#..#.
-#..#.
-####.
-#..#.
-#..#.
-.....
----- 0x41 ('A') */
-.....
-###..
-#..#.
-###..
-#..#.
-#..#.
-###..
-.....
----- 0x42 ('B') */
-.....
-.##..
-#..#.
-#....
-#....
-#..#.
-.##..
-.....
----- 0x43 ('C') */
-.....
-###..
-#..#.
-#..#.
-#..#.
-#..#.
-###..
-.....
----- 0x44 ('D') */
-.....
-####.
-#....
-###..
-#....
-#....
-####.
-.....
----- 0x45 ('E') */
-.....
-####.
-#....
-###..
-#....
-#....
-#....
-.....
----- 0x46 ('F') */
-.....
-.##..
-#..#.
-#....
-#.##.
-#..#.
-.##..
-.....
----- 0x47 ('G') */
-.....
-#..#.
-#..#.
-####.
-#..#.
-#..#.
-#..#.
-.....
----- 0x48 ('H') */
-....
-###.
-.#..
-.#..
-.#..
-.#..
-###.
-....
----- 0x49 ('I') */
-.....
-.###.
-..#..
-..#..
-..#..
-#.#..
-.#...
-.....
----- 0x4a ('J') */
-.....
-#..#.
-#.#..
-##...
-#.#..
-#.#..
-#..#.
-.....
----- 0x4b ('K') */
-.....
-#....
-#....
-#....
-#....
-#....
-####.
-.....
----- 0x4c ('L') */
-......
-#...#.
-##.##.
-#.#.#.
-#...#.
-#...#.
-#...#.
-......
----- 0x4d ('M') */
-.....
-#..#.
-##.#.
-##.#.
-#.##.
-#.##.
-#..#.
-.....
----- 0x4e ('N') */
-.....
-.##..
-#..#.
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0x4f ('O') */
-.....
-###..
-#..#.
-#..#.
-###..
-#....
-#....
-.....
----- 0x50 ('P') */
-.....
-.##..
-#..#.
-#..#.
-#..#.
-#.##.
-.##..
-...#.
----- 0x51 ('Q') */
-.....
-###..
-#..#.
-#..#.
-###..
-#..#.
-#..#.
-.....
----- 0x52 ('R') */
-.....
-.##..
-#..#.
-.#...
-..#..
-#..#.
-.##..
-.....
----- 0x53 ('S') */
-....
-###.
-.#..
-.#..
-.#..
-.#..
-.#..
-....
----- 0x54 ('T') */
-.....
-#..#.
-#..#.
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0x55 ('U') */
-.....
-#..#.
-#..#.
-#..#.
-#..#.
-#.#..
-.#...
-.....
----- 0x56 ('V') */
-......
-#...#.
-#...#.
-#...#.
-#.#.#.
-##.##.
-#...#.
-......
----- 0x57 ('W') */
-.....
-#..#.
-#..#.
-.##..
-.##..
-#..#.
-#..#.
-.....
----- 0x58 ('X') */
-......
-#...#.
-#...#.
-.#.#..
-..#...
-..#...
-..#...
-......
----- 0x59 ('Y') */
-.....
-####.
-...#.
-..#..
-.#...
-#....
-####.
-.....
----- 0x5a ('Z') */
-....
-###.
-#...
-#...
-#...
-#...
-###.
-....
----- 0x5b ('[') */
-.......
-#......
-.#.....
-..#....
-...#...
-....#..
-.....#.
-.......
----- 0x5c ('\') */
-....
-###.
-..#.
-..#.
-..#.
-..#.
-###.
-....
----- 0x5d (']') */
-....
-.#..
-#.#.
-....
-....
-....
-....
-....
----- 0x5e ('^') */
-....
-....
-....
-....
-....
-....
-....
-####
----- 0x5f ('_') */
-...
-#..
-.#.
-...
-...
-...
-...
-...
----- 0x60 ('`') */
-.....
-.....
-.....
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0x61 ('a') */
-.....
-#....
-#....
-###..
-#..#.
-#..#.
-###..
-.....
----- 0x62 ('b') */
-....
-....
-....
-.##.
-#...
-#...
-.##.
-....
----- 0x63 ('c') */
-.....
-...#.
-...#.
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0x64 ('d') */
-.....
-.....
-.....
-.##..
-#.##.
-##...
-.##..
-.....
----- 0x65 ('e') */
-.....
-..#..
-.#.#.
-.#...
-###..
-.#...
-.#...
-.....
----- 0x66 ('f') */
-.....
-.....
-.....
-.##..
-#..#.
-.###.
-...#.
-.##..
----- 0x67 ('g') */
-.....
-#....
-#....
-###..
-#..#.
-#..#.
-#..#.
-.....
----- 0x68 ('h') */
-....
-.#..
-....
-##..
-.#..
-.#..
-###.
-....
----- 0x69 ('i') */
-....
-..#.
-....
-..#.
-..#.
-..#.
-#.#.
-.#..
----- 0x6a ('j') */
-.....
-#....
-#....
-#..#.
-###..
-#..#.
-#..#.
-.....
----- 0x6b ('k') */
-....
-##..
-.#..
-.#..
-.#..
-.#..
-###.
-....
----- 0x6c ('l') */
-......
-......
-......
-##.#..
-#.#.#.
-#.#.#.
-#.#.#.
-......
----- 0x6d ('m') */
-.....
-.....
-.....
-###..
-#..#.
-#..#.
-#..#.
-.....
----- 0x6e ('n') */
-.....
-.....
-.....
-.##..
-#..#.
-#..#.
-.##..
-.....
----- 0x6f ('o') */
-.....
-.....
-.....
-###..
-#..#.
-###..
-#....
-#....
----- 0x70 ('p') */
-.....
-.....
-.....
-.###.
-#..#.
-.###.
-...#.
-...#.
----- 0x71 ('q') */
-.....
-.....
-.....
-#.#..
-##.#.
-#....
-#....
-.....
----- 0x72 ('r') */
-....
-....
-....
-.##.
-##..
-..#.
-##..
-....
----- 0x73 ('s') */
-.....
-.#...
-.#...
-###..
-.#...
-.#.#.
-..#..
-.....
----- 0x74 ('t') */
-.....
-.....
-.....
-#..#.
-#..#.
-#..#.
-.###.
-.....
----- 0x75 ('u') */
-....
-....
-....
-#.#.
-#.#.
-#.#.
-.#..
-....
----- 0x76 ('v') */
-......
-......
-......
-#...#.
-#.#.#.
-#.#.#.
-.#.#..
-......
----- 0x77 ('w') */
-.....
-.....
-.....
-#..#.
-.##..
-.##..
-#..#.
-.....
----- 0x78 ('x') */
-.....
-.....
-.....
-#..#.
-#..#.
-.###.
-#..#.
-.##..
----- 0x79 ('y') */
-.....
-.....
-.....
-####.
-..#..
-.#...
-####.
-.....
----- 0x7a ('z') */
-..##.
-.#...
-..#..
-##...
-..#..
-.#...
-..##.
-.....
----- 0x7b ('{') */
-..
-#.
-#.
-#.
-#.
-#.
-#.
-..
----- 0x7c ('|') */
-##...
-..#..
-.#...
-..##.
-.#...
-..#..
-##...
-.....
----- 0x7d ('}') */
-.....
-.#.#.
-#.#..
-.....
-.....
-.....
-.....
-.....
----- 0x7e ('~') */
-.....
-.....
-.....
-.....
-.....
-.....
-.....
-.....
----- 0x7f ('.') */
-.....
-..#..
-.....
-..#..
-..#..
-..#..
-..#..
-.....
----- 0x80 ('.') */
-.....
-.....
-..#..
-.###.
-#.#..
-#.#..
-.###.
-..#..
----- 0x81 ('.') */
-.....
-..#..
-.#.#.
-###..
-.#...
-.#.#.
-#.#..
-.....
----- 0x82 ('.') */
-.....
-.....
-#...#
-.###.
-.#.#.
-.###.
-#...#
-.....
----- 0x83 ('.') */
-.....
-#...#
-.#.#.
-#####
-..#..
-#####
-..#..
-.....
----- 0x84 ('.') */
-..#..
-..#..
-..#..
-.....
-..#..
-..#..
-..#..
-.....
----- 0x85 ('.') */
-.###.
-#....
-###..
-#..#.
-.###.
-...#.
-###..
-.....
----- 0x86 ('.') */
-.....
-.#.#.
-.....
-.....
-.....
-.....
-.....
-.....
----- 0x87 ('.') */
-.....
-.###.
-#.#.#
-##..#
-##..#
-#.#.#
-.###.
-.....
----- 0x88 ('.') */
-..##.
-.#.#.
-..##.
-.....
-.###.
-.....
-.....
-.....
----- 0x89 ('.') */
-.....
-.....
-.....
-.#.#.
-#.#..
-.#.#.
-.....
-.....
----- 0x8a ('.') */
-.....
-.....
-.....
-.....
-.###.
-...#.
-...#.
-.....
----- 0x8b ('.') */
-.....
-.....
-.....
-.....
-.###.
-.....
-.....
-.....
----- 0x8c ('.') */
-.....
-.###.
-###.#
-##.##
-###.#
-##.##
-.###.
-.....
----- 0x8d ('.') */
-.....
-.###.
-.....
-.....
-.....
-.....
-.....
-.....
----- 0x8e ('.') */
-.....
-..#..
-.#.#.
-..#..
-.....
-.....
-.....
-.....
----- 0x8f ('.') */
-.....
-.....
-..#..
-.###.
-..#..
-.....
-.###.
-.....
----- 0x90 ('.') */
-..#..
-.#.#.
-...#.
-..#..
-.###.
-.....
-.....
-.....
----- 0x91 ('.') */
-.##..
-...#.
-.##..
-...#.
-.##..
-.....
-.....
-.....
----- 0x92 ('.') */
-.....
-..#..
-.#...
-.....
-.....
-.....
-.....
-.....
----- 0x93 ('.') */
-.....
-.....
-.....
-#..#.
-#..#.
-#..#.
-###..
-#....
----- 0x94 ('.') */
-.....
-.####
-###.#
-###.#
-.##.#
-..#.#
-..#.#
-.....
----- 0x95 ('.') */
-.....
-.....
-.....
-.....
-..#..
-.....
-.....
-.....
----- 0x96 ('.') */
-.....
-.....
-.....
-.....
-.....
-.....
-..#..
-.#...
----- 0x97 ('.') */
-..#..
-.##..
-..#..
-..#..
-.###.
-.....
-.....
-.....
----- 0x98 ('.') */
-..#..
-.#.#.
-..#..
-.....
-.###.
-.....
-.....
-.....
----- 0x99 ('.') */
-.....
-.....
-.....
-#.#..
-.#.#.
-#.#..
-.....
-.....
----- 0x9a ('.') */
-#....
-#....
-#....
-#.#..
-.##..
-####.
-..#..
-.....
----- 0x9b ('.') */
-#....
-#....
-#.#..
-##.#.
-...#.
-..#..
-.###.
-.....
----- 0x9c ('.') */
-#....
-.#...
-#....
-.##..
-#.#..
-####.
-..#..
-.....
----- 0x9d ('.') */
-.....
-..#..
-.....
-..#..
-.#...
-.#.#.
-..#..
-.....
----- 0x9e ('.') */
-.#...
-..#..
-.##..
-#..#.
-####.
-#..#.
-#..#.
-.....
----- 0x9f ('.') */
-..#..
-.#...
-.##..
-#..#.
-####.
-#..#.
-#..#.
-.....
----- 0xa0 ('.') */
-.##..
-#..#.
-.##..
-#..#.
-####.
-#..#.
-#..#.
-.....
----- 0xa1 ('.') */
-.#.#.
-#.#..
-.##..
-#..#.
-####.
-#..#.
-#..#.
-.....
----- 0xa2 ('.') */
-#..#.
-.....
-.##..
-#..#.
-####.
-#..#.
-#..#.
-.....
----- 0xa3 ('.') */
-.##..
-#..#.
-.##..
-#..#.
-####.
-#..#.
-#..#.
-.....
----- 0xa4 ('.') */
-.....
-.###.
-#.#..
-#.#..
-####.
-#.#..
-#.##.
-.....
----- 0xa5 ('.') */
-.....
-.##..
-#..#.
-#....
-#....
-#..#.
-.##..
-.#...
----- 0xa6 ('.') */
-.#...
-..#..
-####.
-#....
-###..
-#....
-####.
-.....
----- 0xa7 ('.') */
-..#..
-.#...
-####.
-#....
-###..
-#....
-####.
-.....
----- 0xa8 ('.') */
-.##..
-#..#.
-####.
-#....
-###..
-#....
-####.
-.....
----- 0xa9 ('.') */
-#..#.
-.....
-####.
-#....
-###..
-#....
-####.
-.....
----- 0xaa ('.') */
-.#...
-..#..
-.###.
-..#..
-..#..
-..#..
-.###.
-.....
----- 0xab ('.') */
-...#.
-..#..
-.###.
-..#..
-..#..
-..#..
-.###.
-.....
----- 0xac ('.') */
-..#..
-.#.#.
-.###.
-..#..
-..#..
-..#..
-.###.
-.....
----- 0xad ('.') */
-.#.#.
-.....
-.###.
-..#..
-..#..
-..#..
-.###.
-.....
----- 0xae ('.') */
-.....
-.###.
-.#..#
-###.#
-.#..#
-.#..#
-.###.
-.....
----- 0xaf ('.') */
-.#.#.
-#.#..
-#..#.
-##.#.
-#.##.
-#..#.
-#..#.
-.....
----- 0xb0 ('.') */
-.#...
-..#..
-.##..
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0xb1 ('.') */
-..#..
-.#...
-.##..
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0xb2 ('.') */
-.##..
-#..#.
-.##..
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0xb3 ('.') */
-.#.#.
-#.#..
-.##..
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0xb4 ('.') */
-#..#.
-.....
-.##..
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0xb5 ('.') */
-.....
-.....
-.....
-.....
-.#.#.
-..#..
-.#.#.
-.....
----- 0xb6 ('.') */
-.....
-.###.
-#.##.
-#.##.
-##.#.
-##.#.
-###..
-.....
----- 0xb7 ('.') */
-.#...
-..#..
-#..#.
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0xb8 ('.') */
-..#..
-.#...
-#..#.
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0xb9 ('.') */
-.##..
-#..#.
-#..#.
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0xba ('.') */
-#..#.
-.....
-#..#.
-#..#.
-#..#.
-#..#.
-.##..
-.....
----- 0xbb ('.') */
-...#.
-..#..
-#...#
-.#.#.
-..#..
-..#..
-..#..
-.....
----- 0xbc ('.') */
-.....
-#....
-###..
-#..#.
-#..#.
-###..
-#....
-.....
----- 0xbd ('.') */
-.....
-.##..
-#..#.
-#.#..
-#.#..
-#..#.
-#.#..
-.....
----- 0xbe ('.') */
-.#...
-..#..
-.....
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0xbf ('.') */
-..#..
-.#...
-.....
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0xc0 ('.') */
-..#..
-.#.#.
-.....
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0xc1 ('.') */
-.#.#.
-#.#..
-.....
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0xc2 ('.') */
-.....
-.#.#.
-.....
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0xc3 ('.') */
-.##..
-#..#.
-.##..
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0xc4 ('.') */
-.....
-.....
-.....
-####.
-.##.#
-#.##.
-.####
-.....
----- 0xc5 ('.') */
-.....
-.....
-.....
-..##.
-.#...
-.#...
-..##.
-..#..
----- 0xc6 ('.') */
-.#...
-..#..
-.....
-.##..
-#.##.
-##...
-.##..
-.....
----- 0xc7 ('.') */
-..#..
-.#...
-.....
-.##..
-#.##.
-##...
-.##..
-.....
----- 0xc8 ('.') */
-.##..
-#..#.
-.....
-.##..
-#.##.
-##...
-.##..
-.....
----- 0xc9 ('.') */
-.....
-.#.#.
-.....
-.##..
-#.##.
-##...
-.##..
-.....
----- 0xca ('.') */
-.#...
-..#..
-.....
-.##..
-..#..
-..#..
-.###.
-.....
----- 0xcb ('.') */
-...#.
-..#..
-.....
-.##..
-..#..
-..#..
-.###.
-.....
----- 0xcc ('.') */
-..#..
-.#.#.
-.....
-.##..
-..#..
-..#..
-.###.
-.....
----- 0xcd ('.') */
-.....
-.#.#.
-.....
-.##..
-..#..
-..#..
-.###.
-.....
----- 0xce ('.') */
-#.#..
-.#...
-#.#..
-...#.
-.###.
-#..#.
-.##..
-.....
----- 0xcf ('.') */
-.#.#.
-#.#..
-.....
-###..
-#..#.
-#..#.
-#..#.
-.....
----- 0xd0 ('.') */
-.#...
-..#..
-.....
-.##..
-#..#.
-#..#.
-.##..
-.....
----- 0xd1 ('.') */
-..#..
-.#...
-.....
-.##..
-#..#.
-#..#.
-.##..
-.....
----- 0xd2 ('.') */
-.##..
-#..#.
-.....
-.##..
-#..#.
-#..#.
-.##..
-.....
----- 0xd3 ('.') */
-.#.#.
-#.#..
-.....
-.##..
-#..#.
-#..#.
-.##..
-.....
----- 0xd4 ('.') */
-.....
-#..#.
-.....
-.##..
-#..#.
-#..#.
-.##..
-.....
----- 0xd5 ('.') */
-.....
-.....
-..#..
-.....
-.###.
-.....
-..#..
-.....
----- 0xd6 ('.') */
-.....
-.....
-.....
-.###.
-#.##.
-##.#.
-###..
-.....
----- 0xd7 ('.') */
-.#...
-..#..
-.....
-#..#.
-#..#.
-#..#.
-.###.
-.....
----- 0xd8 ('.') */
-..#..
-.#...
-.....
-#..#.
-#..#.
-#..#.
-.###.
-.....
----- 0xd9 ('.') */
-.##..
-#..#.
-.....
-#..#.
-#..#.
-#..#.
-.###.
-.....
----- 0xda ('.') */
-.....
-#..#.
-.....
-#..#.
-#..#.
-#..#.
-.###.
-.....
----- 0xdb ('.') */
-..#..
-.#...
-.....
-#..#.
-#..#.
-.###.
-#..#.
-.##..
----- 0xdc ('.') */
-.....
-#....
-#....
-###..
-#..#.
-###..
-#....
-#....
----- 0xdd ('.') */
-.....
-#..#.
-.....
-#..#.
-#..#.
-.###.
-#..#.
-.##..
----- 0xde ('.') */
-####.
-.....
-.##..
-#..#.
-####.
-#..#.
-#..#.
-.....
----- 0xdf ('.') */
-.....
-####.
-.....
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0xe0 ('.') */
-#..#.
-.##..
-.##..
-#..#.
-####.
-#..#.
-#..#.
-.....
----- 0xe1 ('.') */
-#..#.
-.##..
-.....
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0xe2 ('.') */
-.....
-.##..
-#..#.
-#..#.
-####.
-#..#.
-#..#.
-..##.
----- 0xe3 ('.') */
-.....
-.....
-.....
-.###.
-#..#.
-#..#.
-.###.
-..#..
----- 0xe4 ('.') */
-..#..
-.#...
-.##..
-#..#.
-#....
-#..#.
-.##..
-.....
----- 0xe5 ('.') */
-...#.
-..#..
-.....
-..##.
-.#...
-.#...
-..##.
-.....
----- 0xe6 ('.') */
-.##..
-#..#.
-.##..
-#..#.
-#....
-#..#.
-.##..
-.....
----- 0xe7 ('.') */
-.##..
-#..#.
-.....
-.##..
-#....
-#....
-.##..
-.....
----- 0xe8 ('.') */
-.#...
-.....
-.##..
-#..#.
-#....
-#..#.
-.##..
-.....
----- 0xe9 ('.') */
-.....
-..#..
-.....
-..##.
-.#...
-.#...
-..##.
-.....
----- 0xea ('.') */
-#..#.
-.##..
-.##..
-#..#.
-#....
-#..#.
-.##..
-.....
----- 0xeb ('.') */
-#..#.
-.##..
-.....
-.##..
-#....
-#....
-.##..
-.....
----- 0xec ('.') */
-#..#.
-.##..
-###..
-#..#.
-#..#.
-#..#.
-###..
-.....
----- 0xed ('.') */
-#.#..
-.#.#.
-...#.
-.###.
-#..#.
-#..#.
-.###.
-.....
----- 0xee ('.') */
-.....
-.###.
-.#..#
-###.#
-.#..#
-.#..#
-.###.
-.....
----- 0xef ('.') */
-.....
-..#..
-.###.
-..#..
-.##..
-#.#..
-.##..
-.....
----- 0xf0 ('.') */
-####.
-.....
-####.
-#....
-###..
-#....
-####.
-.....
----- 0xf1 ('.') */
-.....
-####.
-.....
-.##..
-#.##.
-##...
-.##..
-.....
----- 0xf2 ('.') */
-#..#.
-.##..
-####.
-#....
-###..
-#....
-####.
-.....
----- 0xf3 ('.') */
-#..#.
-.##..
-.....
-.##..
-#.##.
-##...
-.##..
-.....
----- 0xf4 ('.') */
-.##..
-.....
-####.
-#....
-###..
-#....
-####.
-.....
----- 0xf5 ('.') */
-.....
-.##..
-.....
-.##..
-#.##.
-##...
-.##..
-.....
----- 0xf6 ('.') */
-.....
-####.
-#....
-###..
-#....
-#....
-####.
-..#..
----- 0xf7 ('.') */
-.....
-.....
-.....
-.##..
-#.##.
-##...
-.##..
-..#..
----- 0xf8 ('.') */
-#..#.
-.##..
-####.
-#....
-###..
-#....
-####.
-.....
----- 0xf9 ('.') */
-#..#.
-.##..
-.....
-.##..
-#.##.
-##...
-.##..
-.....
----- 0xfa ('.') */
-.##..
-#..#.
-.###.
-#....
-#.##.
-#..#.
-.##..
-.....
----- 0xfb ('.') */
-.##..
-#..#.
-.....
-.##..
-#..#.
-.###.
-...#.
-.##..
----- 0xfc ('.') */
-#..#.
-.##..
-.###.
-#....
-#.##.
-#..#.
-.##..
-.....
----- 0xfd ('.') */
-#..#.
-.##..
-.....
-.##..
-#..#.
-.###.
-...#.
-.##..
----- 0xfe ('.') */
-.##..
-.....
-.###.
-#....
-#.##.
-#..#.
-.##..
-.....
----- 0xff ('.') */
-
-
Deleted: scummvm/trunk/tools/sci/6x10.font
===================================================================
--- scummvm/trunk/tools/sci/6x10.font 2009-05-29 14:38:22 UTC (rev 41000)
+++ scummvm/trunk/tools/sci/6x10.font 2009-05-29 14:38:42 UTC (rev 41001)
@@ -1,2819 +0,0 @@
-# 256 10
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x00 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x01 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x02 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x03 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x04 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x05 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x06 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x07 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x08 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x09 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x0a ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x0b ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x0c ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x0d ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x0e ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x0f ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x10 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x11 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x12 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x13 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x14 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x15 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x16 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x17 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x18 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x19 ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x1a ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x1b ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x1c ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x1d ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x1e ('.') */
-......
-#.#.#.
-......
-#...#.
-......
-#...#.
-......
-#.#.#.
-......
-......
----- 0x1f ('.') */
-....
-....
-....
-....
-....
-....
-....
-....
-....
-....
----- 0x20 (' ') */
-....
-.#..
-.#..
-.#..
-.#..
-.#..
-....
-.#..
-....
-....
----- 0x21 ('!') */
-....
-#.#.
-#.#.
-#.#.
-....
-....
-....
-....
-....
-....
----- 0x22 ('"') */
-......
-.#.#..
-.#.#..
-#####.
-.#.#..
-#####.
-.#.#..
-.#.#..
-......
-......
----- 0x23 ('#') */
-......
-..#...
-.###..
-#.#...
-.###..
-..#.#.
-.###..
-..#...
-......
-......
----- 0x24 ('$') */
-......
-.#..#.
-#.#.#.
-.#.#..
-..#...
-.#.#..
-#.#.#.
-#..#..
-......
-......
----- 0x25 ('%') */
-......
-.#....
-#.#...
-#.#...
-.#....
-#.#.#.
-#..#..
-.##.#.
-......
-......
----- 0x26 ('&') */
-..
-#.
-#.
-#.
-..
-..
-..
-..
-..
-..
----- 0x27 (''') */
-.....
-...#.
-..#..
-.#...
-.#...
-.#...
-..#..
-...#.
-.....
-.....
----- 0x28 ('(') */
-.....
-.#...
-..#..
-...#.
-...#.
-...#.
-..#..
-.#...
-.....
-.....
----- 0x29 (')') */
-......
-......
-#...#.
-.#.#..
-#####.
-.#.#..
-#...#.
-......
-......
-......
----- 0x2a ('*') */
-......
-......
-..#...
-..#...
-#####.
-..#...
-..#...
-......
-......
-......
----- 0x2b ('+') */
-....
-....
-....
-....
-....
-....
-.##.
-.#..
-#...
-....
----- 0x2c (',') */
-......
-......
-......
-......
-#####.
-......
-......
-......
-......
-......
----- 0x2d ('-') */
-.....
-.....
-.....
-.....
-.....
-.....
-.##..
-.##..
-.....
-.....
----- 0x2e ('.') */
-.......
-......#
-.....#.
-....#..
-...#...
-..#....
-.#.....
-#......
-.......
-.......
----- 0x2f ('/') */
-......
-..#...
-.#.#..
-#...#.
-#...#.
-#...#.
-.#.#..
-..#...
-......
-......
----- 0x30 ('0') */
-....
-.#..
-##..
-.#..
-.#..
-.#..
-.#..
-###.
-....
-....
----- 0x31 ('1') */
-......
-.###..
-#...#.
-....#.
-..##..
-.#....
-#.....
-#####.
-......
-......
----- 0x32 ('2') */
-......
-#####.
-....#.
-...#..
-..##..
-....#.
-#...#.
-.###..
-......
-......
----- 0x33 ('3') */
-......
-...#..
-..##..
-.#.#..
-#..#..
-#####.
-...#..
-...#..
-......
-......
----- 0x34 ('4') */
-......
-#####.
-#.....
-#.##..
-##..#.
-....#.
-#...#.
-.###..
-......
-......
----- 0x35 ('5') */
-......
-..##..
-.#....
-#.....
-#.##..
-##..#.
-#...#.
-.###..
-......
-......
----- 0x36 ('6') */
-......
-#####.
-....#.
-...#..
-...#..
-..#...
-.#....
-.#....
-......
-......
----- 0x37 ('7') */
-......
-.###..
-#...#.
-#...#.
-.###..
-#...#.
-#...#.
-.###..
-......
-......
----- 0x38 ('8') */
-......
-.###..
-#...#.
-#..##.
-.##.#.
-....#.
-...#..
-.##...
-......
-......
----- 0x39 ('9') */
-.....
-.....
-.##..
-.##..
-.....
-.....
-.##..
-.##..
-.....
-.....
----- 0x3a (':') */
-.....
-.....
-.##..
-.##..
-.....
-.....
-.##..
-.#...
-#....
-.....
----- 0x3b (';') */
-......
-....#.
-...#..
-..#...
-.#....
-..#...
-...#..
-....#.
-......
-......
----- 0x3c ('<') */
-......
-......
-......
-#####.
-......
-#####.
-......
-......
-......
-......
----- 0x3d ('=') */
-......
-.#....
-..#...
-...#..
-....#.
-...#..
-..#...
-.#....
-......
-......
----- 0x3e ('>') */
-......
-.###..
-#...#.
-...#..
-..#...
-..#...
-......
-..#...
-......
-......
----- 0x3f ('?') */
-......
-.###..
-#...#.
-#..##.
-#.#.#.
-#.##..
-#.....
-.###..
-......
-......
----- 0x40 ('@') */
-......
-..#...
-.#.#..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-......
-......
----- 0x41 ('A') */
-......
-####..
-.#..#.
-.#..#.
-.###..
-.#..#.
-.#..#.
-####..
-......
-......
----- 0x42 ('B') */
-......
-.###..
-#...#.
-#.....
-#.....
-#.....
-#...#.
-.###..
-......
-......
----- 0x43 ('C') */
-......
-####..
-.#..#.
-.#..#.
-.#..#.
-.#..#.
-.#..#.
-####..
-......
-......
----- 0x44 ('D') */
-......
-#####.
-#.....
-#.....
-####..
-#.....
-#.....
-#####.
-......
-......
----- 0x45 ('E') */
-......
-#####.
-#.....
-#.....
-####..
-#.....
-#.....
-#.....
-......
-......
----- 0x46 ('F') */
-......
-.###..
-#...#.
-#.....
-#.....
-#..##.
-#...#.
-.###..
-......
-......
----- 0x47 ('G') */
-......
-#...#.
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-#...#.
-......
-......
----- 0x48 ('H') */
-....
-###.
-.#..
-.#..
-.#..
-.#..
-.#..
-###.
-....
-....
----- 0x49 ('I') */
-......
-..###.
-...#..
-...#..
-...#..
-...#..
-#..#..
-.##...
-......
-......
----- 0x4a ('J') */
-......
-#...#.
-#..#..
-#.#...
-##....
-#.#...
-#..#..
-#...#.
-......
-......
----- 0x4b ('K') */
-......
-#.....
-#.....
-#.....
-#.....
-#.....
-#.....
-#####.
-......
-......
----- 0x4c ('L') */
-......
-#...#.
-#...#.
-##.##.
-#.#.#.
-#...#.
-#...#.
-#...#.
-......
-......
----- 0x4d ('M') */
-......
-#...#.
-#...#.
-##..#.
-#.#.#.
-#..##.
-#...#.
-#...#.
-......
-......
----- 0x4e ('N') */
-......
-.###..
-#...#.
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0x4f ('O') */
-......
-####..
-#...#.
-#...#.
-####..
-#.....
-#.....
-#.....
-......
-......
----- 0x50 ('P') */
-......
-.###..
-#...#.
-#...#.
-#...#.
-#...#.
-#.#.#.
-.###..
-....#.
-......
----- 0x51 ('Q') */
-......
-####..
-#...#.
-#...#.
-####..
-#.#...
-#..#..
-#...#.
-......
-......
----- 0x52 ('R') */
-......
-.###..
-#...#.
-#.....
-.###..
-....#.
-#...#.
-.###..
-......
-......
----- 0x53 ('S') */
-......
-#####.
-..#...
-..#...
-..#...
-..#...
-..#...
-..#...
-......
-......
----- 0x54 ('T') */
-......
-#...#.
-#...#.
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0x55 ('U') */
-......
-#...#.
-#...#.
-#...#.
-.#.#..
-.#.#..
-.#.#..
-..#...
-......
-......
----- 0x56 ('V') */
-......
-#...#.
-#...#.
-#...#.
-#.#.#.
-#.#.#.
-##.##.
-#...#.
-......
-......
----- 0x57 ('W') */
-......
-#...#.
-#...#.
-.#.#..
-..#...
-.#.#..
-#...#.
-#...#.
-......
-......
----- 0x58 ('X') */
-......
-#...#.
-#...#.
-.#.#..
-..#...
-..#...
-..#...
-..#...
-......
-......
----- 0x59 ('Y') */
-......
-#####.
-....#.
-...#..
-..#...
-.#....
-#.....
-#####.
-......
-......
----- 0x5a ('Z') */
-.....
-.###.
-.#...
-.#...
-.#...
-.#...
-.#...
-.###.
-.....
-.....
----- 0x5b ('[') */
-.......
-#......
-.#.....
-..#....
-...#...
-....#..
-.....#.
-......#
-.......
-.......
----- 0x5c ('\') */
-.....
-.###.
-...#.
-...#.
-...#.
-...#.
-...#.
-.###.
-.....
-.....
----- 0x5d (']') */
-......
-..#...
-.#.#..
-#...#.
-......
-......
-......
-......
-......
-......
----- 0x5e ('^') */
-.....
-.....
-.....
-.....
-.....
-.....
-.....
-.....
-#####
-.....
----- 0x5f ('_') */
-#..
-.#.
-...
-...
-...
-...
-...
-...
-...
-...
----- 0x60 ('`') */
-......
-......
-......
-.###..
-....#.
-.####.
-#...#.
-.####.
-......
-......
----- 0x61 ('a') */
-......
-#.....
-#.....
-#.##..
-##..#.
-#...#.
-##..#.
-#.##..
-......
-......
----- 0x62 ('b') */
-......
-......
-......
-.###..
-#...#.
-#.....
-#...#.
-.###..
-......
-......
----- 0x63 ('c') */
-......
-....#.
-....#.
-.##.#.
-#..##.
-#...#.
-#..##.
-.##.#.
-......
-......
----- 0x64 ('d') */
-......
-......
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-......
-......
----- 0x65 ('e') */
-......
-..##..
-.#..#.
-.#....
-####..
-.#....
-.#....
-.#....
-......
-......
----- 0x66 ('f') */
-......
-......
-......
-.####.
-#...#.
-#...#.
-.####.
-....#.
-#...#.
-.###..
----- 0x67 ('g') */
-......
-#.....
-#.....
-#.##..
-##..#.
-#...#.
-#...#.
-#...#.
-......
-......
----- 0x68 ('h') */
-....
-.#..
-....
-##..
-.#..
-.#..
-.#..
-###.
-....
-....
----- 0x69 ('i') */
-.....
-...#.
-.....
-..##.
-...#.
-...#.
-...#.
-#..#.
-#..#.
-.##..
----- 0x6a ('j') */
-......
-#.....
-#.....
-#...#.
-#..#..
-###...
-#..#..
-#...#.
-......
-......
----- 0x6b ('k') */
-....
-##..
-.#..
-.#..
-.#..
-.#..
-.#..
-###.
-....
-....
----- 0x6c ('l') */
-......
-......
-......
-##.#..
-#.#.#.
-#.#.#.
-#.#.#.
-#...#.
-......
-......
----- 0x6d ('m') */
-......
-......
-......
-#.##..
-##..#.
-#...#.
-#...#.
-#...#.
-......
-......
----- 0x6e ('n') */
-......
-......
-......
-.###..
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0x6f ('o') */
-......
-......
-......
-#.##..
-##..#.
-#...#.
-##..#.
-#.##..
-#.....
-#.....
----- 0x70 ('p') */
-......
-......
-......
-.##.#.
-#..##.
-#...#.
-#..##.
-.##.#.
-....#.
-....#.
----- 0x71 ('q') */
-......
-......
-......
-#.##..
-##..#.
-#.....
-#.....
-#.....
-......
-......
----- 0x72 ('r') */
-......
-......
-......
-.###..
-#.....
-.###..
-....#.
-####..
-......
-......
----- 0x73 ('s') */
-......
-.#....
-.#....
-####..
-.#....
-.#....
-.#..#.
-..##..
-......
-......
----- 0x74 ('t') */
-......
-......
-......
-#...#.
-#...#.
-#...#.
-#..##.
-.##.#.
-......
-......
----- 0x75 ('u') */
-......
-......
-......
-#...#.
-#...#.
-.#.#..
-.#.#..
-..#...
-......
-......
----- 0x76 ('v') */
-......
-......
-......
-#...#.
-#...#.
-#.#.#.
-#.#.#.
-.#.#..
-......
-......
----- 0x77 ('w') */
-......
-......
-......
-#...#.
-.#.#..
-..#...
-.#.#..
-#...#.
-......
-......
----- 0x78 ('x') */
-......
-......
-......
-#...#.
-#...#.
-#..##.
-.##.#.
-....#.
-#...#.
-.###..
----- 0x79 ('y') */
-......
-......
-......
-#####.
-...#..
-..#...
-.#....
-#####.
-......
-......
----- 0x7a ('z') */
-......
-...##.
-..#...
-...#..
-.##...
-...#..
-..#...
-...##.
-......
-......
----- 0x7b ('{') */
-...
-.#.
-.#.
-.#.
-.#.
-.#.
-.#.
-.#.
-...
-...
----- 0x7c ('|') */
-......
-.##...
-...#..
-..#...
-...##.
-..#...
-...#..
-.##...
-......
-......
----- 0x7d ('}') */
-......
-.#..#.
-#.#.#.
-#..#..
-......
-......
-......
-......
-......
-......
----- 0x7e ('~') */
-......
-......
-......
-......
-......
-......
-......
-......
-......
-......
----- 0x7f ('.') */
-......
-..#...
-......
-..#...
-..#...
-..#...
-..#...
-..#...
-......
-......
----- 0x80 ('.') */
-......
-......
-..#...
-.####.
-#.#...
-#.#...
-#.#...
-.####.
-..#...
-......
----- 0x81 ('.') */
-......
-..##..
-.#..#.
-.#....
-###...
-.#....
-.#..#.
-#.##..
-......
-......
----- 0x82 ('.') */
-......
-......
-......
-#...#.
-.###..
-.#.#..
-.###..
-#...#.
-......
-......
----- 0x83 ('.') */
-......
-#...#.
-#...#.
-.#.#..
-..#...
-#####.
-..#...
-..#...
-..#...
-......
----- 0x84 ('.') */
-......
-..#...
-..#...
-..#...
-......
-..#...
-..#...
-..#...
-......
-......
----- 0x85 ('.') */
-......
-.###..
-#.....
-###...
-#..#..
-.#..#.
-..###.
-....#.
-.###..
-......
----- 0x86 ('.') */
-.#.#..
-......
-......
-......
-......
-......
-......
-......
-......
-......
----- 0x87 ('.') */
-......
-.###..
-#...#.
-#.#.#.
-##..#.
-#.#.#.
-#...#.
-.###..
-......
-......
----- 0x88 ('.') */
-......
-..###.
-.#..#.
-.#.##.
-..#.#.
-......
-.####.
-......
-......
-......
----- 0x89 ('.') */
-......
-......
-......
-..#..#
-.#..#.
-#..#..
-.#..#.
-..#..#
-......
-......
----- 0x8a ('.') */
-......
-......
-......
-......
-.####.
-....#.
-......
-......
-......
-......
----- 0x8b ('.') */
-......
-......
-......
-......
-.####.
-......
-......
-......
-......
-......
----- 0x8c ('.') */
-......
-.###..
-#...#.
-###.#.
-##..#.
-##..#.
-#...#.
-.###..
-......
-......
----- 0x8d ('.') */
-#####.
-......
-......
-......
-......
-......
-......
-......
-......
-......
----- 0x8e ('.') */
-......
-..#...
-.#.#..
-..#...
-......
-......
-......
-......
-......
-......
----- 0x8f ('.') */
-......
-......
-..#...
-..#...
-#####.
-..#...
-..#...
-#####.
-......
-......
----- 0x90 ('.') */
-..##..
-.#..#.
-...#..
-..#...
-.####.
-......
-......
-......
-......
-......
----- 0x91 ('.') */
-.###..
-....#.
-..##..
-....#.
-.###..
-......
-......
-......
-......
-......
----- 0x92 ('.') */
-...#..
-..#...
-......
-......
-......
-......
-......
-......
-......
-......
----- 0x93 ('.') */
-......
-......
-......
-#...#.
-#...#.
-#...#.
-##..#.
-#.##..
-#.....
-......
----- 0x94 ('.') */
-......
-.####.
-###.#.
-###.#.
-.##.#.
-..#.#.
-..#.#.
-..#.#.
-......
-......
----- 0x95 ('.') */
-......
-......
-......
-......
-..#...
-......
-......
-......
-......
-......
----- 0x96 ('.') */
-......
-......
-......
-......
-......
-......
-......
-......
-...#..
-..#...
----- 0x97 ('.') */
-..#...
-.##...
-..#...
-..#...
-.###..
-......
-......
-......
-......
-......
----- 0x98 ('.') */
-......
-..##..
-.#..#.
-.#..#.
-..##..
-......
-.####.
-......
-......
-......
----- 0x99 ('.') */
-......
-......
-......
-#..#..
-.#..#.
-..#..#
-.#..#.
-#..#..
-......
-......
----- 0x9a ('.') */
-.#....
-##....
-.#....
-.#....
-###..#
-....##
-...#.#
-..####
-.....#
-......
----- 0x9b ('.') */
-.#....
-##....
-.#....
-.#....
-###.#.
-...#.#
-.....#
-....#.
-...###
-......
----- 0x9c ('.') */
-##....
-..#...
-.#....
-..#...
-##..#.
-...##.
-..#.#.
-.####.
-....#.
-......
----- 0x9d ('.') */
-......
-..#...
-......
-..#...
-..#...
-.#....
-#...#.
-.###..
-......
-......
----- 0x9e ('.') */
-.#....
-..#...
-.###..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-......
-......
----- 0x9f ('.') */
-...#..
-..#...
-.###..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-......
-......
----- 0xa0 ('.') */
-..#...
-.#.#..
-.###..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-......
-......
----- 0xa1 ('.') */
-.#..#.
-#.##..
-.###..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-......
-......
----- 0xa2 ('.') */
-.#.#..
-......
-.###..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-......
-......
----- 0xa3 ('.') */
-..#...
-.#.#..
-.###..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-......
-......
----- 0xa4 ('.') */
-......
-..####
-.#.#..
-#..#..
-#..###
-####..
-#..#..
-#..###
-......
-......
----- 0xa5 ('.') */
-......
-.###..
-#...#.
-#.....
-#.....
-#.....
-#...#.
-.###..
-..#...
-.#....
----- 0xa6 ('.') */
-.#....
-#####.
-#.....
-#.....
-####..
-#.....
-#.....
-#####.
-......
-......
----- 0xa7 ('.') */
-...#..
-#####.
-#.....
-#.....
-####..
-#.....
-#.....
-#####.
-......
-......
----- 0xa8 ('.') */
-..#...
-#####.
-#.....
-#.....
-####..
-#.....
-#.....
-#####.
-......
-......
----- 0xa9 ('.') */
-.#.#..
-#####.
-#.....
-#.....
-####..
-#.....
-#.....
-#####.
-......
-......
----- 0xaa ('.') */
-.#....
-..#...
-.###..
-..#...
-..#...
-..#...
-..#...
-.###..
-......
-......
----- 0xab ('.') */
-...#..
-..#...
-.###..
-..#...
-..#...
-..#...
-..#...
-.###..
-......
-......
----- 0xac ('.') */
-..#...
-.#.#..
-.###..
-..#...
-..#...
-..#...
-..#...
-.###..
-......
-......
----- 0xad ('.') */
-.#.#..
-......
-.###..
-..#...
-..#...
-..#...
-..#...
-.###..
-......
-......
----- 0xae ('.') */
-......
-####..
-.#..#.
-.#..#.
-###.#.
-.#..#.
-.#..#.
-####..
-......
-......
----- 0xaf ('.') */
-..#.#.
-.#.#..
-#...#.
-##..#.
-#.#.#.
-#..##.
-#...#.
-#...#.
-......
-......
----- 0xb0 ('.') */
-.#....
-..#...
-.###..
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xb1 ('.') */
-...#..
-..#...
-.###..
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xb2 ('.') */
-..#...
-.#.#..
-.###..
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xb3 ('.') */
-..#.#.
-.#.#..
-.###..
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xb4 ('.') */
-.#.#..
-......
-.###..
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xb5 ('.') */
-......
-......
-......
-#...#.
-.#.#..
-..#...
-.#.#..
-#...#.
-......
-......
----- 0xb6 ('.') */
-......
-.###..
-#..##.
-#..##.
-#.#.#.
-##..#.
-##..#.
-.###..
-......
-......
----- 0xb7 ('.') */
-.#....
-..#...
-#...#.
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xb8 ('.') */
-...#..
-..#...
-#...#.
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xb9 ('.') */
-..#...
-.#.#..
-......
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xba ('.') */
-.#.#..
-......
-#...#.
-#...#.
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xbb ('.') */
-...#..
-..#...
-#...#.
-#...#.
-.#.#..
-..#...
-..#...
-..#...
-......
-......
----- 0xbc ('.') */
-......
-#.....
-####..
-#...#.
-####..
-#.....
-#.....
-#.....
-......
-......
----- 0xbd ('.') */
-......
-.###..
-#...#.
-#..#..
-#.#...
-#..#..
-#...#.
-#.##..
-......
-......
----- 0xbe ('.') */
-.#....
-..#...
-......
-.###..
-....#.
-.####.
-#...#.
-.####.
-......
-......
----- 0xbf ('.') */
-...#..
-..#...
-......
-.###..
-....#.
-.####.
-#...#.
-.####.
-......
-......
----- 0xc0 ('.') */
-..#...
-.#.#..
-......
-.###..
-....#.
-.####.
-#...#.
-.####.
-......
-......
----- 0xc1 ('.') */
-..#.#.
-.#.#..
-......
-.###..
-....#.
-.####.
-#...#.
-.####.
-......
-......
----- 0xc2 ('.') */
-......
-.#.#..
-......
-.###..
-....#.
-.####.
-#...#.
-.####.
-......
-......
----- 0xc3 ('.') */
-..#...
-.#.#..
-..#...
-.###..
-....#.
-.####.
-#...#.
-.####.
-......
-......
----- 0xc4 ('.') */
-......
-......
-......
-.####.
-...#.#
-.#####
-#..#..
-.#####
-......
-......
----- 0xc5 ('.') */
-......
-......
-......
-.###..
-#...#.
-#.....
-#...#.
-.###..
-..#...
-.#....
----- 0xc6 ('.') */
-.#....
-..#...
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-......
-......
----- 0xc7 ('.') */
-...#..
-..#...
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-......
-......
----- 0xc8 ('.') */
-..#...
-.#.#..
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-......
-......
----- 0xc9 ('.') */
-......
-.#.#..
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-......
-......
----- 0xca ('.') */
-.#....
-..#...
-......
-.##...
-..#...
-..#...
-..#...
-.###..
-......
-......
----- 0xcb ('.') */
-..#...
-.#....
-......
-.##...
-..#...
-..#...
-..#...
-.###..
-......
-......
----- 0xcc ('.') */
-..#...
-.#.#..
-......
-.##...
-..#...
-..#...
-..#...
-.###..
-......
-......
----- 0xcd ('.') */
-......
-.#.#..
-......
-.##...
-..#...
-..#...
-..#...
-.###..
-......
-......
----- 0xce ('.') */
-......
-##....
-..##..
-.###..
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xcf ('.') */
-..#.#.
-.#.#..
-......
-#.##..
-##..#.
-#...#.
-#...#.
-#...#.
-......
-......
----- 0xd0 ('.') */
-.#....
-..#...
-......
-.###..
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xd1 ('.') */
-...#..
-..#...
-......
-.###..
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xd2 ('.') */
-..#...
-.#.#..
-......
-.###..
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xd3 ('.') */
-..#.#.
-.#.#..
-......
-.###..
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xd4 ('.') */
-......
-.#.#..
-......
-.###..
-#...#.
-#...#.
-#...#.
-.###..
-......
-......
----- 0xd5 ('.') */
-......
-......
-..#...
-......
-#####.
-......
-..#...
-......
-......
-......
----- 0xd6 ('.') */
-......
-......
-......
-.####.
-#..##.
-#.#.#.
-##..#.
-####..
-......
-......
----- 0xd7 ('.') */
-.#....
-..#...
-......
-#...#.
-#...#.
-#...#.
-#..##.
-.##.#.
-......
-......
----- 0xd8 ('.') */
-...#..
-..#...
-......
-#...#.
-#...#.
-#...#.
-#..##.
-.##.#.
-......
-......
----- 0xd9 ('.') */
-..#...
-.#.#..
-......
-#...#.
-#...#.
-#...#.
-#..##.
-.##.#.
-......
-......
----- 0xda ('.') */
-......
-.#.#..
-......
-#...#.
-#...#.
-#...#.
-#..##.
-.##.#.
-......
-......
----- 0xdb ('.') */
-......
-...#..
-..#...
-#...#.
-#...#.
-#..##.
-.##.#.
-....#.
-#...#.
-.###..
----- 0xdc ('.') */
-......
-......
-#.....
-####..
-#...#.
-#...#.
-#...#.
-####..
-#.....
-#.....
----- 0xdd ('.') */
-......
-.#.#..
-......
-#...#.
-#...#.
-#..##.
-.##.#.
-....#.
-#...#.
-.###..
----- 0xde ('.') */
-.###..
-......
-.###..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-......
-......
----- 0xdf ('.') */
-......
-.###..
-......
-.###..
-....#.
-.####.
-#...#.
-.####.
-......
-......
----- 0xe0 ('.') */
-#...#.
-.###..
-.###..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-......
-......
----- 0xe1 ('.') */
-#...#.
-.###..
-......
-.###..
-....#.
-.####.
-#...#.
-.####.
-......
-......
----- 0xe2 ('.') */
-......
-..#...
-.#.#..
-#...#.
-#...#.
-#####.
-#...#.
-#...#.
-...#..
-...##.
----- 0xe3 ('.') */
-......
-......
-......
-.###..
-....#.
-.####.
-#...#.
-.####.
-...#..
-...##.
----- 0xe4 ('.') */
-...#..
-..#...
-.###..
-#...#.
-#.....
-#.....
-#...#.
-.###..
-......
-......
----- 0xe5 ('.') */
-...#..
-..#...
-......
-.###..
-#...#.
-#.....
-#...#.
-.###..
-......
-......
----- 0xe6 ('.') */
-..#...
-.#.#..
-.###..
-#...#.
-#.....
-#.....
-#...#.
-.###..
-......
-......
----- 0xe7 ('.') */
-..#...
-.#.#..
-......
-.###..
-#...#.
-#.....
-#...#.
-.###..
-......
-......
----- 0xe8 ('.') */
-..#...
-......
-.###..
-#...#.
-#.....
-#.....
-#...#.
-.###..
-......
-......
----- 0xe9 ('.') */
-......
-..#...
-......
-.###..
-#...#.
-#.....
-#...#.
-.###..
-......
-......
----- 0xea ('.') */
-.#.#..
-..#...
-.###..
-#...#.
-#.....
-#.....
-#...#.
-.###..
-......
-......
----- 0xeb ('.') */
-.#.#..
-..#...
-......
-.###..
-#...#.
-#.....
-#...#.
-.###..
-......
-......
----- 0xec ('.') */
-.#.#..
-..#...
-####..
-#...#.
-#...#.
-#...#.
-#...#.
-####..
-......
-......
----- 0xed ('.') */
-.#.#..
-..#...
-....#.
-.##.#.
-#..##.
-#...#.
-#..##.
-.##.#.
-......
-......
----- 0xee ('.') */
-......
-.####.
-.#...#
-.#...#
-###..#
-.#...#
-.#...#
-.####.
-......
-......
----- 0xef ('.') */
-......
-...#..
-..###.
-...#..
-.###..
-#..#..
-#..#..
-.###..
-......
-......
----- 0xf0 ('.') */
-.###..
-......
-#####.
-#.....
-####..
-#.....
-#.....
-#####.
-......
-......
----- 0xf1 ('.') */
-......
-.###..
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-......
-......
----- 0xf2 ('.') */
-#...#.
-.###..
-#####.
-#.....
-####..
-#.....
-#.....
-#####.
-......
-......
----- 0xf3 ('.') */
-#...#.
-.###..
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-......
-......
----- 0xf4 ('.') */
-..#...
-......
-#####.
-#.....
-####..
-#.....
-#.....
-#####.
-......
-......
----- 0xf5 ('.') */
-......
-..#...
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-......
-......
----- 0xf6 ('.') */
-......
-#####.
-#.....
-#.....
-####..
-#.....
-#.....
-#####.
-..#...
-..##..
----- 0xf7 ('.') */
-......
-......
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-..#...
-..##..
----- 0xf8 ('.') */
-.#.#..
-..#...
-#####.
-#.....
-####..
-#.....
-#.....
-#####.
-......
-......
----- 0xf9 ('.') */
-.#.#..
-..#...
-......
-.###..
-#...#.
-#####.
-#.....
-.###..
-......
-......
----- 0xfa ('.') */
-..#...
-.#.#..
-.###..
-#...#.
-#.....
-#..##.
-#...#.
-.###..
-......
-......
----- 0xfb ('.') */
-..#...
-.#.#..
-......
-.##.#.
-#..#..
-.##...
-#.....
-.###..
-#...#.
-.###..
----- 0xfc ('.') */
-#...#.
-.###..
-.###..
-#...#.
-#.....
-#..##.
-#...#.
-.###..
-......
-......
----- 0xfd ('.') */
-#...#.
-.###..
-......
-.##.#.
-#..#..
-.##...
-#.....
-.###..
-#...#.
-.###..
----- 0xfe ('.') */
-..#...
-......
-.###..
-#...#.
-#.....
-#..##.
-#...#.
-.###..
-......
-......
----- 0xff ('.') */
-
-
Deleted: scummvm/trunk/tools/sci/bdf.cpp
===================================================================
--- scummvm/trunk/tools/sci/bdf.cpp 2009-05-29 14:38:22 UTC (rev 41000)
+++ scummvm/trunk/tools/sci/bdf.cpp 2009-05-29 14:38:42 UTC (rev 41001)
@@ -1,7434 +0,0 @@
-/*
- * Copyright 2001 Computing Research Labs, New Mexico State University
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
- * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-#ifndef lint
-#ifdef __GNUC__
-static char rcsid[] __attribute__((unused)) = "$Id$";
-#else
-static char rcsid[] = "$Id$";
-#endif
-#endif
-
-#include "bdfP.h"
-
-#ifdef HAVE_HBF
-#include "hbf.h"
-#endif
-
-#undef MAX
-#define MAX(h, i) ((h) > (i) ? (h) : (i))
-
-#undef MIN
-#define MIN(l, o) ((l) < (o) ? (l) : (o))
-
-/**************************************************************************
- *
- * Masks used for checking different bits per pixel cases.
- *
- **************************************************************************/
-
-unsigned char onebpp[] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
-unsigned char twobpp[] = { 0xc0, 0x30, 0x0c, 0x03 };
-unsigned char fourbpp[] = { 0xf0, 0x0f };
-unsigned char eightbpp[] = { 0xff };
-
-/**************************************************************************
- *
- * Default BDF font options.
- *
- **************************************************************************/
-
-static bdf_options_t _bdf_opts = {
- 1, /* Hint TTF glyphs. */
- 1, /* Correct metrics. */
- 1, /* Preserve unencoded glyphs. */
- 1, /* Preserve comments. */
- 1, /* Pad character-cells. */
- BDF_PROPORTIONAL, /* Default spacing. */
- 12, /* Default point size. */
- 0, /* Default horizontal resolution. */
- 0, /* Default vertical resolution. */
- 1, /* Bits per pixel. */
- BDF_UNIX_EOL, /* Line separator. */
-};
-
-/**************************************************************************
- *
- * Builtin BDF font properties.
- *
- **************************************************************************/
-
-/*
- * List of most properties that might appear in a font. Doesn't include the
- * RAW_* and AXIS_* properties in X11R6 polymorphic fonts.
- */
-static bdf_property_t _bdf_properties[] = {
- {"ADD_STYLE_NAME", BDF_ATOM, 1},
- {"AVERAGE_WIDTH", BDF_INTEGER, 1},
- {"AVG_CAPITAL_WIDTH", BDF_INTEGER, 1},
- {"AVG_LOWERCASE_WIDTH", BDF_INTEGER, 1},
- {"CAP_HEIGHT", BDF_INTEGER, 1},
- {"CHARSET_COLLECTIONS", BDF_ATOM, 1},
- {"CHARSET_ENCODING", BDF_ATOM, 1},
- {"CHARSET_REGISTRY", BDF_ATOM, 1},
- {"COMMENT", BDF_ATOM, 1},
- {"COPYRIGHT", BDF_ATOM, 1},
- {"DEFAULT_CHAR", BDF_CARDINAL, 1},
- {"DESTINATION", BDF_CARDINAL, 1},
- {"DEVICE_FONT_NAME", BDF_ATOM, 1},
- {"END_SPACE", BDF_INTEGER, 1},
- {"FACE_NAME", BDF_ATOM, 1},
- {"FAMILY_NAME", BDF_ATOM, 1},
- {"FIGURE_WIDTH", BDF_INTEGER, 1},
- {"FONT", BDF_ATOM, 1},
- {"FONTNAME_REGISTRY", BDF_ATOM, 1},
- {"FONT_ASCENT", BDF_INTEGER, 1},
- {"FONT_DESCENT", BDF_INTEGER, 1},
- {"FOUNDRY", BDF_ATOM, 1},
- {"FULL_NAME", BDF_ATOM, 1},
- {"ITALIC_ANGLE", BDF_INTEGER, 1},
- {"MAX_SPACE", BDF_INTEGER, 1},
- {"MIN_SPACE", BDF_INTEGER, 1},
- {"NORM_SPACE", BDF_INTEGER, 1},
- {"NOTICE", BDF_ATOM, 1},
- {"PIXEL_SIZE", BDF_INTEGER, 1},
- {"POINT_SIZE", BDF_INTEGER, 1},
- {"QUAD_WIDTH", BDF_INTEGER, 1},
- {"RAW_ASCENT", BDF_INTEGER, 1},
- {"RAW_AVERAGE_WIDTH", BDF_INTEGER, 1},
- {"RAW_AVG_CAPITAL_WIDTH", BDF_INTEGER, 1},
- {"RAW_AVG_LOWERCASE_WIDTH", BDF_INTEGER, 1},
- {"RAW_CAP_HEIGHT", BDF_INTEGER, 1},
- {"RAW_DESCENT", BDF_INTEGER, 1},
- {"RAW_END_SPACE", BDF_INTEGER, 1},
- {"RAW_FIGURE_WIDTH", BDF_INTEGER, 1},
- {"RAW_MAX_SPACE", BDF_INTEGER, 1},
- {"RAW_MIN_SPACE", BDF_INTEGER, 1},
- {"RAW_NORM_SPACE", BDF_INTEGER, 1},
- {"RAW_PIXEL_SIZE", BDF_INTEGER, 1},
- {"RAW_POINT_SIZE", BDF_INTEGER, 1},
- {"RAW_PIXELSIZE", BDF_INTEGER, 1},
- {"RAW_POINTSIZE", BDF_INTEGER, 1},
- {"RAW_QUAD_WIDTH", BDF_INTEGER, 1},
- {"RAW_SMALL_CAP_SIZE", BDF_INTEGER, 1},
- {"RAW_STRIKEOUT_ASCENT", BDF_INTEGER, 1},
- {"RAW_STRIKEOUT_DESCENT", BDF_INTEGER, 1},
- {"RAW_SUBSCRIPT_SIZE", BDF_INTEGER, 1},
- {"RAW_SUBSCRIPT_X", BDF_INTEGER, 1},
- {"RAW_SUBSCRIPT_Y", BDF_INTEGER, 1},
- {"RAW_SUPERSCRIPT_SIZE", BDF_INTEGER, 1},
- {"RAW_SUPERSCRIPT_X", BDF_INTEGER, 1},
- {"RAW_SUPERSCRIPT_Y", BDF_INTEGER, 1},
- {"RAW_UNDERLINE_POSITION", BDF_INTEGER, 1},
- {"RAW_UNDERLINE_THICKNESS", BDF_INTEGER, 1},
- {"RAW_X_HEIGHT", BDF_INTEGER, 1},
- {"RELATIVE_SETWIDTH", BDF_CARDINAL, 1},
- {"RELATIVE_WEIGHT", BDF_CARDINAL, 1},
- {"RESOLUTION", BDF_INTEGER, 1},
- {"RESOLUTION_X", BDF_CARDINAL, 1},
- {"RESOLUTION_Y", BDF_CARDINAL, 1},
- {"SETWIDTH_NAME", BDF_ATOM, 1},
- {"SLANT", BDF_ATOM, 1},
- {"SMALL_CAP_SIZE", BDF_INTEGER, 1},
- {"SPACING", BDF_ATOM, 1},
- {"STRIKEOUT_ASCENT", BDF_INTEGER, 1},
- {"STRIKEOUT_DESCENT", BDF_INTEGER, 1},
- {"SUBSCRIPT_SIZE", BDF_INTEGER, 1},
- {"SUBSCRIPT_X", BDF_INTEGER, 1},
- {"SUBSCRIPT_Y", BDF_INTEGER, 1},
- {"SUPERSCRIPT_SIZE", BDF_INTEGER, 1},
- {"SUPERSCRIPT_X", BDF_INTEGER, 1},
- {"SUPERSCRIPT_Y", BDF_INTEGER, 1},
- {"UNDERLINE_POSITION", BDF_INTEGER, 1},
- {"UNDERLINE_THICKNESS", BDF_INTEGER, 1},
- {"WEIGHT", BDF_CARDINAL, 1},
- {"WEIGHT_NAME", BDF_ATOM, 1},
- {"X_HEIGHT", BDF_INTEGER, 1},
- {"_MULE_BASELINE_OFFSET", BDF_INTEGER, 1},
- {"_MULE_RELATIVE_COMPOSE", BDF_INTEGER, 1},
-};
-
-static unsigned long _num_bdf_properties =
- sizeof(_bdf_properties) / sizeof(_bdf_properties[0]);
-
-/*
- * User defined properties.
- */
-static bdf_property_t *user_props;
-static unsigned long nuser_props = 0;
-
-/**************************************************************************
- *
- * Hash table utilities for the properties.
- *
- **************************************************************************/
-
-#define INITIAL_HT_SIZE 241
-
-typedef struct {
- char *key;
- void *data;
-} _hashnode, *hashnode;
-
-typedef struct {
- int limit;
- int size;
- int used;
- hashnode *table;
-} hashtable;
-
-typedef void (*hash_free_func)(
-#ifdef __STDC__
- hashnode node
-#endif
-);
-
-static hashnode *
-#ifdef __STDC__
-hash_bucket(char *key, hashtable *ht)
-#else
-hash_bucket(key, ht)
-char *key;
-hashtable *ht;
-#endif
-{
- char *kp = key;
- unsigned long res = 0;
- hashnode *bp = ht->table, *ndp;
-
- /*
- * Mocklisp hash function.
- */
- while (*kp)
- res = (res << 5) - res + *kp++;
-
- ndp = bp + (res % ht->size);
- while (*ndp) {
- kp = (*ndp)->key;
- if (kp[0] == key[0] && strcmp(kp, key) == 0)
- break;
- ndp--;
- if (ndp < bp)
- ndp = bp + (ht->size - 1);
- }
- return ndp;
-}
-
-static void
-#ifdef __STDC__
-hash_rehash(hashtable *ht)
-#else
-hash_rehash(ht)
-hashtable *ht;
-#endif
-{
- hashnode *obp = ht->table, *bp, *nbp;
- int i, sz = ht->size;
-
- ht->size <<= 1;
- ht->limit = ht->size / 3;
- ht->table = (hashnode *) malloc(sizeof(hashnode) * ht->size);
- (void) memset((char *) ht->table, 0, sizeof(hashnode) * ht->size);
-
- for (i = 0, bp = obp; i < sz; i++, bp++) {
- if (*bp) {
- nbp = hash_bucket((*bp)->key, ht);
- *nbp = *bp;
- }
- }
- free((char *) obp);
-}
-
-static void
-#ifdef __STDC__
-hash_init(hashtable *ht)
-#else
-hash_init(ht)
-hashtable *ht;
-#endif
-{
- int sz = INITIAL_HT_SIZE;
-
- ht->size = sz;
- ht->limit = sz / 3;
- ht->used = 0;
- ht->table = (hashnode *) malloc(sizeof(hashnode) * sz);
- (void) memset((char *) ht->table, 0, sizeof(hashnode) * sz);
-}
-
-static void
-#ifdef __STDC__
-hash_free(hashtable *ht)
-#else
-hash_free(ht)
-hashtable *ht;
-#endif
-{
- int i, sz = ht->size;
- hashnode *bp = ht->table;
-
- for (i = 0; i < sz; i++, bp++) {
- if (*bp)
- free((char *) *bp);
- }
- if (sz > 0)
- free((char *) ht->table);
-}
-
-static void
-#ifdef __STDC__
-hash_insert(char *key, void *data, hashtable *ht)
-#else
-hash_insert(key, data, ht)
-char *key;
-void *data;
-hashtable *ht;
-#endif
-{
- hashnode nn, *bp = hash_bucket(key, ht);
-
- nn = *bp;
- if (!nn) {
- *bp = nn = (hashnode) malloc(sizeof(_hashnode));
- nn->key = key;
- nn->data = data;
-
- if (ht->used >= ht->limit)
- hash_rehash(ht);
- ht->used++;
- } else
- nn->data = data;
-}
-
-static hashnode
-#ifdef __STDC__
-hash_lookup(char *key, hashtable *ht)
-#else
-hash_lookup(key, ht)
-char *key;
-hashtable *ht;
-#endif
-{
- hashnode *np = hash_bucket(key, ht);
- return *np;
-}
-
-static void
-#ifdef __STDC__
-hash_delete(char *name, hashtable *ht)
-#else
-hash_delete(name, ht)
-char *name;
-hashtable *ht;
-#endif
-{
- hashnode *hp;
-
- hp = hash_bucket(name, ht);
- if (*hp) {
- free((char *) *hp);
- *hp = 0;
- }
-}
-
-/*
- * The builtin property table.
- */
-static hashtable proptbl;
-
-/**************************************************************************
- *
- * Utility types and functions.
- *
- **************************************************************************/
-
-/*
- * Function type for parsing lines of a BDF font.
- */
-typedef int (*_bdf_line_func_t)(
-#ifdef __STDC__
- char *line,
- unsigned long linelen,
- unsigned long lineno,
- void *call_data,
- void *client_data
-#endif
-);
-
-/*
- * List structure for splitting lines into fields.
- */
-typedef struct {
- char **field;
- unsigned long size;
- unsigned long used;
- char *bfield;
- unsigned long bsize;
- unsigned long bused;
-} _bdf_list_t;
-
-/*
- * Structure used while loading BDF fonts.
- */
-typedef struct {
- unsigned long flags;
- unsigned long cnt;
- unsigned long row;
- unsigned long bpr;
- short minlb;
- short maxlb;
- short maxrb;
- short maxas;
- short maxds;
- short rbearing;
- char *glyph_name;
- long glyph_enc;
- bdf_font_t *font;
- bdf_options_t *opts;
- void *client_data;
- bdf_callback_t callback;
- bdf_callback_struct_t cb;
- unsigned long have[2048];
- _bdf_list_t list;
-} _bdf_parse_t;
-
-#define setsbit(m, cc) (m[(cc) >> 3] |= (1 << ((cc) & 7)))
-#define sbitset(m, cc) (m[(cc) >> 3] & (1 << ((cc) & 7)))
-
-/*
- * An empty string for empty fields.
- */
-static char empty[1] = { 0 };
-
-/*
- * Assume the line is NULL terminated and that the `list' parameter was
- * initialized the first time it was used.
- */
-static void
-#ifdef __STDC__
-_bdf_split(char *separators, char *line, unsigned long linelen,
- _bdf_list_t *list)
-#else
-_bdf_split(separators, line, linelen, list)
-char *separators, *line;
-unsigned long linelen;
-_bdf_list_t *list;
-#endif
-{
- int mult, final_empty;
- char *sp, *ep, *end;
- unsigned char seps[32];
-
- /*
- * Initialize the list.
- */
- list->used = list->bused = 0;
-
- /*
- * If the line is empty, then simply return.
- */
- if (linelen == 0 || line[0] == 0)
- return;
-
- /*
- * If the `separators' parameter is NULL or empty, split the list into
- * individual bytes.
- */
- if (separators == 0 || *separators == 0) {
- if (linelen > list->bsize) {
- if (list->bsize)
- list->bfield = (char *) malloc(linelen);
- else
- list->bfield = (char *) realloc(list->bfield, linelen);
- list->bsize = linelen;
- }
- list->bused = linelen;
- (void) memcpy(list->bfield, line, linelen);
- return;
- }
-
- /*
- * Prepare the separator bitmap.
- */
- (void) memset((char *) seps, 0, 32);
-
- /*
- * If the very last character of the separator string is a plus, then set
- * the `mult' flag to indicate that multiple separators should be
- * collapsed into one.
- */
- for (mult = 0, sp = separators; sp && *sp; sp++) {
- if (*sp == '+' && *(sp + 1) == 0)
- mult = 1;
- else
- setsbit(seps, *sp);
- }
-
- /*
- * Break the line up into fields.
- */
- for (final_empty = 0, sp = ep = line, end = sp + linelen;
- sp < end && *sp;) {
- /*
- * Collect everything that is not a separator.
- */
- for (; *ep && !sbitset(seps, *ep); ep++) ;
-
- /*
- * Resize the list if necessary.
- */
- if (list->used == list->size) {
- if (list->size == 0)
- list->field = (char **) malloc(sizeof(char *) * 5);
- else
- list->field = (char **)
- realloc((char *) list->field,
- sizeof(char *) * (list->size + 5));
-
- list->size += 5;
- }
-
- /*
- * Assign the field appropriately.
- */
- list->field[list->used++] = (ep > sp) ? sp : empty;
-
- sp = ep;
- if (mult) {
- /*
- * If multiple separators should be collapsed, do it now by
- * setting all the separator characters to 0.
- */
- for (; *ep && sbitset(seps, *ep); ep++)
- *ep = 0;
- } else if (*ep != 0)
- /*
- * Don't collapse multiple separators by making them 0, so just
- * make the one encountered 0.
- */
- *ep++ = 0;
- final_empty = (ep > sp && *ep == 0);
- sp = ep;
- }
-
- /*
- * Finally, NULL terminate the list.
- */
- if (list->used + final_empty + 1 >= list->size) {
- if (list->used == list->size) {
- if (list->size == 0)
- list->field = (char **) malloc(sizeof(char *) * 5);
- else
- list->field = (char **)
- realloc((char *) list->field,
- sizeof(char *) * (list->size + 5));
- list->size += 5;
- }
- }
- if (final_empty)
- list->field[list->used++] = empty;
-
- if (list->used == list->size) {
- if (list->size == 0)
- list->field = (char **) malloc(sizeof(char *) * 5);
- else
- list->field = (char **)
- realloc((char *) list->field,
- sizeof(char *) * (list->size + 5));
- list->size += 5;
- }
- list->field[list->used] = 0;
-}
-
-static void
-#ifdef __STDC__
-_bdf_shift(unsigned long n, _bdf_list_t *list)
-#else
-_bdf_shift(n, list)
-unsigned long n;
-_bdf_list_t *list;
-#endif
-{
- unsigned long i, u;
-
- if (list == 0 || list->used == 0 || n == 0)
- return;
-
- if (n >= list->used) {
- list->used = 0;
- return;
- }
- for (u = n, i = 0; u < list->used; i++, u++)
- list->field[i] = list->field[u];
- list->used -= n;
-}
-
-static char *
-#ifdef __STDC__
-_bdf_join(int c, unsigned long *len, _bdf_list_t *list)
-#else
-_bdf_join(c, len, list)
-int c;
-unsigned long *len;
-_bdf_list_t *list;
-#endif
-{
- unsigned long i, j;
- char *fp, *dp;
-
- if (list == 0 || list->used == 0)
- return 0;
-
- *len = 0;
-
- dp = list->field[0];
- for (i = j = 0; i < list->used; i++) {
- fp = list->field[i];
- while (*fp)
- dp[j++] = *fp++;
- if (i + 1 < list->used)
- dp[j++] = c;
- }
- dp[j] = 0;
-
- *len = j;
- return dp;
-}
-
-/*
- * High speed file reader that passes each line to a callback.
- */
-static int
-#ifdef __STDC__
-_bdf_readlines(int fd, _bdf_line_func_t callback, void *client_data,
- unsigned long *lno)
-#else
-_bdf_readlines(fd, callback, client_data, lno)
-int fd;
-_bdf_line_func_t callback;
-void *client_data;
-unsigned long *lno;
-#endif
-{
- _bdf_line_func_t cb;
- unsigned long lineno;
- int n, res, done, refill, bytes, hold;
- char *ls, *le, *pp, *pe, *hp;
- char buf[65536];
-
- if (callback == 0)
- return -1;
-
- cb = callback;
- lineno = 1;
- buf[0] = 0;
- res = done = 0;
- pp = ls = le = buf;
- bytes = 65536;
- while (!done && (n = read(fd, pp, bytes)) > 0) {
- /*
- * Determine the new end of the buffer pages.
- */
- pe = pp + n;
-
- for (refill = 0; done == 0 && refill == 0;) {
- while (le < pe && *le != '\n' && *le != '\r')
- le++;
-
- if (le == pe) {
- /*
- * Hit the end of the last page in the buffer. Need to find
- * out how many pages to shift and how many pages need to be
- * read in. Adjust the line start and end pointers down to
- * point to the right places in the pages.
- */
- pp = buf + (((ls - buf) >> 13) << 13);
- n = pp - buf;
- ls -= n;
- le -= n;
- n = pe - pp;
- (void) memcpy(buf, pp, n);
- pp = buf + n;
- bytes = 65536 - n;
- refill = 1;
- } else {
- /*
- * Temporarily NULL terminate the line.
- */
- hp = le;
- hold = *le;
- *le = 0;
-
- if (callback && *ls != '#' && *ls != 0x1a && le > ls &&
- (res = (*cb)(ls, le - ls, lineno, (void *) & cb,
- client_data)) != 0)
- done = 1;
- else {
- ls = ++le;
- /*
- * Handle the case of DOS crlf sequences.
- */
- if (le < pe && hold == '\n' && *le == '\r')
- ls = ++le;
- }
-
- /*
- * Increment the line number.
- */
- lineno++;
-
- /*
- * Restore the character at the end of the line.
- */
- *hp = hold;
- }
- }
- }
- *lno = lineno;
- return res;
-}
-
-unsigned char *
-#ifdef __STDC__
-_bdf_strdup(unsigned char *s, unsigned long len)
-#else
-_bdf_strdup(s, len)
-unsigned char *s;
-unsigned long len;
-#endif
-{
- unsigned char *ns;
-
- if (s == 0 || len == 0)
- return 0;
-
- ns = (unsigned char *) malloc(len);
- (void) memcpy((char *) ns, (char *) s, len);
- return ns;
-}
-
-void
-_bdf_memmove(char *dest, char *src, unsigned long bytes) {
- long i, j;
-
- i = (long) bytes;
- j = i & 7;
- i = (i + 7) >> 3;
-
- /*
- * Do a memmove using Ye Olde Duff's Device for efficiency.
- */
- if (src < dest) {
- src += bytes;
- dest += bytes;
-
- switch (j) {
- case 0:
- do {
- *--dest = *--src;
- case 7:
- *--dest = *--src;
- case 6:
- *--dest = *--src;
- case 5:
- *--dest = *--src;
- case 4:
- *--dest = *--src;
- case 3:
- *--dest = *--src;
- case 2:
- *--dest = *--src;
- case 1:
- *--dest = *--src;
- } while (--i > 0);
- }
- } else if (src > dest) {
- switch (j) {
- case 0:
- do {
- *dest++ = *src++;
- case 7:
- *dest++ = *src++;
- case 6:
- *dest++ = *src++;
- case 5:
- *dest++ = *src++;
- case 4:
- *dest++ = *src++;
- case 3:
- *dest++ = *src++;
- case 2:
- *dest++ = *src++;
- case 1:
- *dest++ = *src++;
- } while (--i > 0);
- }
- }
-}
-
-static unsigned char a2i[128] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-static unsigned char odigits[32] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-static unsigned char ddigits[32] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-static unsigned char hdigits[32] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
- 0x7e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-#define isdigok(m, d) (m[(d) >> 3] & (1 << ((d) & 7)))
-
-/*
- * Routine to convert an ASCII string into an unsigned long integer.
- */
-unsigned long
-#ifdef __STDC__
-_bdf_atoul(char *s, char **end, int base)
-#else
-_bdf_atoul(s, end, base)
-char *s, **end;
-int base;
-#endif
-{
- unsigned long v;
- unsigned char *dmap;
-
- if (s == 0 || *s == 0)
- return 0;
-
- /*
- * Make sure the radix is something recognizable. Default to 10.
- */
- switch (base) {
- case 8:
- dmap = odigits;
- break;
- case 16:
- dmap = hdigits;
- break;
- default:
- base = 10;
- dmap = ddigits;
- break;
- }
-
- /*
- * Check for the special hex prefix.
- */
- if (*s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) {
- base = 16;
- dmap = hdigits;
- s += 2;
- }
-
- for (v = 0; isdigok(dmap, *s); s++)
- v = (v * base) + a2i[(int) *s];
-
- if (end != 0)
- *end = s;
-
- return v;
-}
-
-/*
- * Routine to convert an ASCII string into an signed long integer.
- */
-long
-#ifdef __STDC__
-_bdf_atol(char *s, char **end, int base)
-#else
-_bdf_atol(s, end, base)
-char *s, **end;
-int base;
-#endif
-{
- long v, neg;
- unsigned char *dmap;
-
- if (s == 0 || *s == 0)
- return 0;
-
- /*
- * Make sure the radix is something recognizable. Default to 10.
- */
- switch (base) {
- case 8:
- dmap = odigits;
- break;
- case 16:
- dmap = hdigits;
- break;
- default:
- base = 10;
- dmap = ddigits;
- break;
- }
-
- /*
- * Check for a minus sign.
- */
- neg = 0;
- if (*s == '-') {
- s++;
- neg = 1;
- }
-
- /*
- * Check for the special hex prefix.
- */
- if (*s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) {
- base = 16;
- dmap = hdigits;
- s += 2;
- }
-
- for (v = 0; isdigok(dmap, *s); s++)
- v = (v * base) + a2i[(int) *s];
-
- if (end != 0)
- *end = s;
-
- return (!neg) ? v : -v;
-}
-
-/*
- * Routine to convert an ASCII string into an signed short integer.
- */
-short
-#ifdef __STDC__
-_bdf_atos(char *s, char **end, int base)
-#else
-_bdf_atos(s, end, base)
-char *s, **end;
-int base;
-#endif
-{
- short v, neg;
- unsigned char *dmap;
-
- if (s == 0 || *s == 0)
- return 0;
-
- /*
- * Make sure the radix is something recognizable. Default to 10.
- */
- switch (base) {
- case 8:
- dmap = odigits;
- break;
- case 16:
- dmap = hdigits;
- break;
- default:
- base = 10;
- dmap = ddigits;
- break;
- }
-
- /*
- * Check for a minus.
- */
- neg = 0;
- if (*s == '-') {
- s++;
- neg = 1;
- }
-
- /*
- * Check for the special hex prefix.
- */
- if (*s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X')) {
- base = 16;
- dmap = hdigits;
- s += 2;
- }
-
- for (v = 0; isdigok(dmap, *s); s++)
- v = (v * base) + a2i[(int) *s];
-
- if (end != 0)
- *end = s;
-
- return (!neg) ? v : -v;
-}
-
-/*
- * Routine to compare two glyphs by encoding so they can be sorted.
- */
-static int
-#ifdef __STDC__
-by_encoding(const void *a, const void *b)
-#else
-by_encoding(a, b)
-char *a, *b;
-#endif
-{
- bdf_glyph_t *c1, *c2;
-
- c1 = (bdf_glyph_t *) a;
- c2 = (bdf_glyph_t *) b;
- if (c1->encoding < c2->encoding)
- return -1;
- else if (c1->encoding > c2->encoding)
- return 1;
- return 0;
-}
-
-/**************************************************************************
- *
- * BDF font file parsing flags and functions.
- *
- **************************************************************************/
-
-/*
- * Parse flags.
- */
-#define _BDF_START 0x0001
-#define _BDF_FONT_NAME 0x0002
-#define _BDF_SIZE 0x0004
-#define _BDF_FONT_BBX 0x0008
-#define _BDF_PROPS 0x0010
-#define _BDF_GLYPHS 0x0020
-#define _BDF_GLYPH 0x0040
-#define _BDF_ENCODING 0x0080
-#define _BDF_SWIDTH 0x0100
-#define _BDF_DWIDTH 0x0200
-#define _BDF_BBX 0x0400
-#define _BDF_BITMAP 0x0800
-
-#define _BDF_SWIDTH_ADJ 0x1000
-
-#define _BDF_GLYPH_BITS (_BDF_GLYPH|_BDF_ENCODING|_BDF_SWIDTH|\
- _BDF_DWIDTH|_BDF_BBX|_BDF_BITMAP)
-
-#define _BDF_GLYPH_WIDTH_CHECK 0x40000000
-#define _BDF_GLYPH_HEIGHT_CHECK 0x80000000
-
-/*
- * Auto correction messages.
- */
-#define ACMSG1 "FONT_ASCENT property missing. Added \"FONT_ASCENT %hd\"."
-#define ACMSG2 "FONT_DESCENT property missing. Added \"FONT_DESCENT %hd\"."
-#define ACMSG3 "Font width != actual width. Old: %hd New: %hd."
-#define ACMSG4 "Font left bearing != actual left bearing. Old: %hd New: %hd."
-#define ACMSG5 "Font ascent != actual ascent. Old: %hd New: %hd."
-#define ACMSG6 "Font descent != actual descent. Old: %hd New: %hd."
-#define ACMSG7 "Font height != actual height. Old: %hd New: %hd."
-#define ACMSG8 "Glyph scalable width (SWIDTH) adjustments made."
-#define ACMSG9 "SWIDTH field missing at line %ld. Set automatically."
-#define ACMSG10 "DWIDTH field missing at line %ld. Set to glyph width."
-#define ACMSG11 "SIZE bits per pixel field adjusted to %hd."
-#define ACMSG12 "Duplicate encoding %ld (%s) changed to unencoded."
-#define ACMSG13 "Glyph %ld extra rows removed."
-#define ACMSG14 "Glyph %ld extra columns removed."
-#define ACMSG15 "Incorrect glyph count: %ld indicated but %ld found."
-
-/*
- * Error messages.
- */
-#define ERRMSG1 "[line %ld] Missing \"%s\" line."
-#define ERRMSG2 "[line %ld] Font header corrupted or missing fields."
-#define ERRMSG3 "[line %ld] Font glyphs corrupted or missing fields."
-
-void
-#ifdef __STDC__
-_bdf_add_acmsg(bdf_font_t *font, char *msg, unsigned long len)
-#else
-_bdf_add_acmsg(font, msg, len)
-bdf_font_t *font;
-char *msg;
-unsigned long len;
-#endif
-{
- char *cp;
-
- if (font->acmsgs_len == 0)
- font->acmsgs = (char *) malloc(len + 1);
- else
- font->acmsgs = (char *) realloc(font->acmsgs,
- font->acmsgs_len + len + 1);
-
- cp = font->acmsgs + font->acmsgs_len;
- (void) memcpy(cp, msg, len);
- cp += len;
- *cp++ = '\n';
- font->acmsgs_len += len + 1;
-}
-
-void
-#ifdef __STDC__
-_bdf_add_comment(bdf_font_t *font, char *comment, unsigned long len)
-#else
-_bdf_add_comment(font, comment, len)
-bdf_font_t *font;
-char *comment;
-unsigned long len;
-#endif
-{
- char *cp;
-
- if (font->comments_len == 0)
- font->comments = (char *) malloc(len + 1);
- else
- font->comments = (char *) realloc(font->comments,
- font->comments_len + len + 1);
-
- cp = font->comments + font->comments_len;
- (void) memcpy(cp, comment, len);
- cp += len;
- *cp++ = '\n';
- font->comments_len += len + 1;
-}
-
-/*
- * Set the spacing from the font name if it exists, or set it to the default
- * specified in the options.
- */
-static void
-#ifdef __STDC__
-_bdf_set_default_spacing(bdf_font_t *font, bdf_options_t *opts)
-#else
-_bdf_set_default_spacing(font, opts)
-bdf_font_t *font;
-bdf_options_t *opts;
-#endif
-{
- unsigned long len;
- char name[128];
- _bdf_list_t list;
-
- if (font == 0 || font->name == 0 || font->name[0] == 0)
- return;
-
- font->spacing = opts->font_spacing;
-
- len = (unsigned long)(strlen(font->name) + 1);
- (void) memcpy(name, font->name, len);
- list.size = list.used = 0;
- _bdf_split("-", name, len, &list);
- if (list.used == 15) {
- switch (list.field[11][0]) {
- case 'C':
- case 'c':
- font->spacing = BDF_CHARCELL;
- break;
- case 'M':
- case 'm':
- font->spacing = BDF_MONOWIDTH;
- break;
- case 'P':
- case 'p':
- font->spacing = BDF_PROPORTIONAL;
- break;
- }
- }
- if (list.size > 0)
- free((char *) list.field);
-}
-
-/*
- * Determine if the property is an atom or not. If it is, then clean it up so
- * the double quotes are removed if they exist.
- */
-static int
-#ifdef __STDC__
-_bdf_is_atom(char *line, unsigned long linelen, char **name, char **value)
-#else
-_bdf_is_atom(line, linelen, name, value)
-char *line;
-unsigned long linelen;
-char **name, **value;
-#endif
-{
- int hold;
- char *sp, *ep;
- bdf_property_t *p;
-
- *name = sp = ep = line;
- while (*ep && *ep != ' ' && *ep != '\t')
- ep++;
-
- hold = -1;
- if (*ep) {
- hold = *ep;
- *ep = 0;
- }
-
- p = bdf_get_property(sp);
-
- /*
- * Restore the character that was saved before any return can happen.
- */
- if (hold != -1)
- *ep = hold;
-
- /*
- * If the propert exists and is not an atom, just return here.
- */
- if (p && p->format != BDF_ATOM)
- return 0;
-
- /*
- * The property is an atom. Trim all leading and trailing whitespace and
- * double quotes for the atom value.
- */
- sp = ep;
- ep = line + linelen;
-
- /*
- * Trim the leading whitespace if it exists.
- */
- *sp++ = 0;
- while (*sp && (*sp == ' ' || *sp == '\t'))
- sp++;
-
- /*
- * Trim the leading double quote if it exists.
- */
- if (*sp == '"')
- sp++;
- *value = sp;
-
- /*
- * Trim the trailing whitespace if it exists.
- */
- while (ep > sp && (*(ep - 1) == ' ' || *(ep - 1) == '\t'))
- *--ep = 0;
-
- /*
- * Trim the trailing double quote if it exists.
- */
- if (ep > sp && *(ep - 1) == '"')
- *--ep = 0;
-
- return 1;
-}
-
-static void
-#ifdef __STDC__
-_bdf_add_property(bdf_font_t *font, char *name, char *value)
-#else
-_bdf_add_property(font, name, value)
-bdf_font_t *font;
-char *name, *value;
-#endif
-{
- unsigned long propid;
- hashnode hn;
- int len;
- bdf_property_t *prop, *fp;
-
- /*
- * First, check to see if the property already exists in the font.
- */
- if ((hn = hash_lookup(name, (hashtable *) font->internal)) != 0) {
- /*
- * The property already exists in the font, so simply replace
- * the value of the property with the current value.
- */
- fp = font->props + (unsigned long) hn->data;
-
- switch (fp->format) {
- case BDF_ATOM:
- /*
- * Delete the current atom if it exists.
- */
- if (fp->value.atom != 0)
- free(fp->value.atom);
-
- if (value == 0)
- len = 1;
- else
- len = strlen(value) + 1;
- if (len > 1) {
- fp->value.atom = (char *) malloc(len);
- (void) memcpy(fp->value.atom, value, len);
- } else
- fp->value.atom = 0;
- break;
- case BDF_INTEGER:
- fp->value.int32 = _bdf_atol(value, 0, 10);
- break;
- case BDF_CARDINAL:
- fp->value.card32 = _bdf_atoul(value, 0, 10);
- break;
- }
- return;
- }
-
- /*
- * See if this property type exists yet or not. If not, create it.
- */
- hn = hash_lookup(name, &proptbl);
- if (hn == 0) {
- bdf_create_property(name, BDF_ATOM);
- hn = hash_lookup(name, &proptbl);
- }
-
- /*
- * Allocate another property if this is overflow.
- */
- if (font->props_used == font->props_size) {
- if (font->props_size == 0)
- font->props = (bdf_property_t *) malloc(sizeof(bdf_property_t));
- else
- font->props = (bdf_property_t *)
- realloc((char *) font->props, sizeof(bdf_property_t) *
- (font->props_size + 1));
- fp = font->props + font->props_size;
- (void) memset((char *) fp, 0, sizeof(bdf_property_t));
- font->props_size++;
- }
-
- propid = (unsigned long) hn->data;
- if (propid >= _num_bdf_properties)
- prop = user_props + (propid - _num_bdf_properties);
- else
- prop = _bdf_properties + propid;
-
- fp = font->props + font->props_used;
-
- fp->name = prop->name;
- fp->format = prop->format;
- fp->builtin = prop->builtin;
-
- switch (prop->format) {
- case BDF_ATOM:
- if (value == 0)
- len = 1;
- else
- len = strlen(value) + 1;
- if (len > 1) {
- fp->value.atom = (char *) malloc(len);
- (void) memcpy(fp->value.atom, value, len);
- } else
- fp->value.atom = 0;
- break;
- case BDF_INTEGER:
- fp->value.int32 = _bdf_atol(value, 0, 10);
- break;
- case BDF_CARDINAL:
- fp->value.card32 = _bdf_atoul(value, 0, 10);
- break;
- }
-
- /*
- * If the property happens to be a comment, then it doesn't need
- * to be added to the internal hash table.
- */
- if (memcmp(name, "COMMENT", 7) != 0)
- /*
- * Add the property to the font property table.
- */
- hash_insert(fp->name, (void *) font->props_used,
- (hashtable *) font->internal);
-
- font->props_used++;
-
- /*
- * Some special cases need to be handled here. The DEFAULT_CHAR property
- * needs to be located if it exists in the property list, the FONT_ASCENT
- * and FONT_DESCENT need to be assigned if they are present, and the
- * SPACING property should override the default spacing.
- */
- if (memcmp(name, "DEFAULT_CHAR", 12) == 0)
- font->default_glyph = fp->value.int32;
- else if (memcmp(name, "FONT_ASCENT", 11) == 0)
- font->font_ascent = fp->value.int32;
- else if (memcmp(name, "FONT_DESCENT", 12) == 0)
- font->font_descent = fp->value.int32;
- else if (memcmp(name, "SPACING", 7) == 0) {
- if (fp->value.atom[0] == 'p' || fp->value.atom[0] == 'P')
- font->spacing = BDF_PROPORTIONAL;
- else if (fp->value.atom[0] == 'm' || fp->value.atom[0] == 'M')
- font->spacing = BDF_MONOWIDTH;
- else if (fp->value.atom[0] == 'c' || fp->value.atom[0] == 'C')
- font->spacing = BDF_CHARCELL;
- }
-}
-
-/*
- * Actually parse the glyph info and bitmaps.
- */
-static int
-#ifdef __STDC__
-_bdf_parse_glyphs(char *line, unsigned long linelen, unsigned long lineno,
- void *call_data, void *client_data)
-#else
-_bdf_parse_glyphs(line, linelen, lineno, call_data, client_data)
-char *line;
-unsigned long linelen, lineno;
-void *call_data, *client_data;
-#endif
-{
- int c;
- char *s;
- unsigned char *bp;
- unsigned long i, slen, nibbles;
- double ps, rx, dw, sw;
- _bdf_line_func_t *next;
- _bdf_parse_t *p;
- bdf_glyph_t *glyph;
- bdf_font_t *font;
- char nbuf[128];
-
- next = (_bdf_line_func_t *) call_data;
- p = (_bdf_parse_t *) client_data;
-
- font = p->font;
-
- /*
- * Check for a comment.
- */
- if (memcmp(line, "COMMENT", 7) == 0) {
- linelen -= 7;
- s = line + 7;
- if (*s != 0) {
- s++;
- linelen--;
- }
- _bdf_add_comment(p->font, s, linelen);
- return 0;
- }
-
- /*
- * The very first thing expected is the number of glyphs.
- */
- if (!(p->flags & _BDF_GLYPHS)) {
- if (memcmp(line, "CHARS", 5) != 0) {
- sprintf(nbuf, ERRMSG1, lineno, "CHARS");
- _bdf_add_acmsg(p->font, nbuf, strlen(nbuf));
- return BDF_MISSING_CHARS;
- }
- _bdf_split(" +", line, linelen, &p->list);
- p->cnt = font->glyphs_size = _bdf_atoul(p->list.field[1], 0, 10);
-
- /*
- * Make sure the number of glyphs is non-zero.
- */
- if (p->cnt == 0)
- font->glyphs_size = 64;
-
- font->glyphs = (bdf_glyph_t *) malloc(sizeof(bdf_glyph_t) *
- font->glyphs_size);
-
- /*
- * Set up the callback to indicate the glyph loading is about to
- * begin.
- */
- if (p->callback != 0) {
- p->cb.reason = BDF_LOAD_START;
- p->cb.total = p->cnt;
- p->cb.current = 0;
- (*p->callback)(&p->cb, p->client_data);
- }
- p->flags |= _BDF_GLYPHS;
- return 0;
- }
-
- /*
- * Check for the ENDFONT field.
- */
- if (memcmp(line, "ENDFONT", 7) == 0) {
- /*
- * Sort the glyphs by encoding.
- */
- qsort((char *) font->glyphs, font->glyphs_used, sizeof(bdf_glyph_t),
- by_encoding);
-
- p->flags &= ~_BDF_START;
- return 0;
- }
-
- /*
- * Check for the ENDCHAR field.
- */
- if (memcmp(line, "ENDCHAR", 7) == 0) {
- /*
- * Set up and call the callback if it was passed.
- */
- if (p->callback != 0) {
- p->cb.reason = BDF_LOADING;
- p->cb.total = font->glyphs_size;
- p->cb.current = font->glyphs_used;
- (*p->callback)(&p->cb, p->client_data);
- }
- p->glyph_enc = 0;
- p->flags &= ~_BDF_GLYPH_BITS;
- return 0;
- }
-
- /*
- * Check to see if a glyph is being scanned but should be ignored
- * because it is an unencoded glyph.
- */
- if ((p->flags & _BDF_GLYPH) &&
- p->glyph_enc == -1 && p->opts->keep_unencoded == 0)
- return 0;
-
- /*
- * Check for the STARTCHAR field.
- */
- if (memcmp(line, "STARTCHAR", 9) == 0) {
- /*
- * Set the character name in the parse info first until the
- * encoding can be checked for an unencoded character.
- */
- if (p->glyph_name != 0)
- free(p->glyph_name);
- _bdf_split(" +", line, linelen, &p->list);
- _bdf_shift(1, &p->list);
- s = _bdf_join(' ', &slen, &p->list);
- p->glyph_name = (char *) malloc(slen + 1);
- (void) memcpy(p->glyph_name, s, slen + 1);
- p->flags |= _BDF_GLYPH;
- return 0;
- }
-
- /*
- * Check for the ENCODING field.
- */
- if (memcmp(line, "ENCODING", 8) == 0) {
- if (!(p->flags & _BDF_GLYPH)) {
- /*
- * Missing STARTCHAR field.
- */
- sprintf(nbuf, ERRMSG1, lineno, "STARTCHAR");
- _bdf_add_acmsg(font, nbuf, strlen(nbuf));
- return BDF_MISSING_STARTCHAR;
- }
- _bdf_split(" +", line, linelen, &p->list);
- p->glyph_enc = _bdf_atol(p->list.field[1], 0, 10);
-
- /*
- * Check to see if this encoding has already been encountered. If it
- * has then change it to unencoded so it gets added if indicated.
- */
- if (p->glyph_enc >= 0) {
- if (_bdf_glyph_modified(p->have, p->glyph_enc)) {
- /*
- * Add a message saying a glyph has been moved to the
- * unencoded area.
- */
- sprintf(nbuf, ACMSG12, p->glyph_enc, p->glyph_name);
- _bdf_add_acmsg(font, nbuf, strlen(nbuf));
- p->glyph_enc = -1;
- font->modified = 1;
- } else
- _bdf_set_glyph_modified(p->have, p->glyph_enc);
- }
-
- if (p->glyph_enc >= 0) {
- /*
- * Make sure there are enough glyphs allocated in case the
- * number of characters happen to be wrong.
- */
- if (font->glyphs_used == font->glyphs_size) {
- font->glyphs = (bdf_glyph_t *)
- realloc((char *) font->glyphs,
- sizeof(bdf_glyph_t) * (font->glyphs_size + 64));
- (void) memset((char *)(font->glyphs + font->glyphs_size),
- 0, sizeof(bdf_glyph_t) << 6);
- font->glyphs_size += 64;
- }
-
- glyph = font->glyphs + font->glyphs_used++;
- glyph->name = p->glyph_name;
- glyph->encoding = p->glyph_enc;
-
- /*
- * Reset the initial glyph info.
- */
- p->glyph_name = 0;
- } else {
- /*
- * Unencoded glyph. Check to see if it should be added or not.
- */
- if (p->opts->keep_unencoded != 0) {
- /*
- * Allocate the next unencoded glyph.
- */
- if (font->unencoded_used == font->unencoded_size) {
- if (font->unencoded_size == 0)
- font->unencoded = (bdf_glyph_t *)
- malloc(sizeof(bdf_glyph_t) << 2);
- else
- font->unencoded = (bdf_glyph_t *)
- realloc((char *) font->unencoded,
- sizeof(bdf_glyph_t) *
- (font->unencoded_size + 4));
- font->unencoded_size += 4;
- }
-
- glyph = font->unencoded + font->unencoded_used;
- glyph->name = p->glyph_name;
- glyph->encoding = font->unencoded_used++;
- } else
- /*
- * Free up the glyph name if the unencoded shouldn't be
- * kept.
- */
- free(p->glyph_name);
-
- p->glyph_name = 0;
- }
-
- /*
- * Clear the flags that might be added when width and height are
- * checked for consistency.
- */
- p->flags &= ~(_BDF_GLYPH_WIDTH_CHECK | _BDF_GLYPH_HEIGHT_CHECK);
-
- p->flags |= _BDF_ENCODING;
- return 0;
- }
-
- /*
- * Point at the glyph being constructed.
- */
- if (p->glyph_enc == -1)
- glyph = font->unencoded + (font->unencoded_used - 1);
- else
- glyph = font->glyphs + (font->glyphs_used - 1);
-
- /*
- * Check to see if a bitmap is being constructed.
- */
- if (p->flags & _BDF_BITMAP) {
- /*
- * If there are more rows than are specified in the glyph metrics,
- * ignore the remaining lines.
- */
- if (p->row >= glyph->bbx.height) {
- if (!(p->flags & _BDF_GLYPH_HEIGHT_CHECK)) {
- sprintf(nbuf, ACMSG13, glyph->encoding);
- _bdf_add_acmsg(font, nbuf, strlen(nbuf));
- p->flags |= _BDF_GLYPH_HEIGHT_CHECK;
- font->modified = 1;
- }
- return 0;
- }
-
- /*
- * Only collect the number of nibbles indicated by the glyph metrics.
- * If there are more columns, they are simply ignored.
- */
- nibbles = p->bpr << 1;
- bp = glyph->bitmap + (p->row * p->bpr);
- for (i = 0, *bp = 0; i < nibbles; i++) {
- c = line[i];
- *bp = (*bp << 4) + a2i[c];
- if (i + 1 < nibbles && (i & 1))
- *++bp = 0;
- }
-
- /*
- * If any line has extra columns, indicate they have been removed.
- */
- if ((line[nibbles] == '0' || a2i[(int) line[nibbles]] != 0) &&
- !(p->flags & _BDF_GLYPH_WIDTH_CHECK)) {
- sprintf(nbuf, ACMSG14, glyph->encoding);
- _bdf_add_acmsg(font, nbuf, strlen(nbuf));
- p->flags |= _BDF_GLYPH_WIDTH_CHECK;
- font->modified = 1;
- }
-
- p->row++;
- return 0;
- }
-
- /*
- * Expect the SWIDTH (scalable width) field next.
- */
- if (memcmp(line, "SWIDTH", 6) == 0) {
- if (!(p->flags & _BDF_ENCODING)) {
- /*
- * Missing ENCODING field.
- */
- sprintf(nbuf, ERRMSG1, lineno, "ENCODING");
- _bdf_add_acmsg(font, nbuf, strlen(nbuf));
- return BDF_MISSING_ENCODING;
- }
- _bdf_split(" +", line, linelen, &p->list);
- glyph->swidth = _bdf_atoul(p->list.field[1], 0, 10);
- p->flags |= _BDF_SWIDTH;
- return 0;
- }
-
- /*
- * Expect the DWIDTH (scalable width) field next.
- */
- if (memcmp(line, "DWIDTH", 6) == 0) {
- _bdf_split(" +", line, linelen, &p->list);
- glyph->dwidth = _bdf_atoul(p->list.field[1], 0, 10);
-
- if (!(p->flags & _BDF_SWIDTH)) {
- /*
- * Missing SWIDTH field. Add an auto correction message and set
- * the scalable width from the device width.
- */
- sprintf(nbuf, ACMSG9, lineno);
- _bdf_add_acmsg(font, nbuf, strlen(nbuf));
- ps = (double) font->point_size;
- rx = (double) font->resolution_x;
- dw = (double) glyph->dwidth;
- glyph->swidth = (unsigned short)((dw * 72000.0) / (ps * rx));
- }
-
- p->flags |= _BDF_DWIDTH;
- return 0;
- }
-
- /*
- * Expect the BBX field next.
- */
- if (memcmp(line, "BBX", 3) == 0) {
- _bdf_split(" +", line, linelen, &p->list);
- glyph->bbx.width = _bdf_atos(p->list.field[1], 0, 10);
- glyph->bbx.height = _bdf_atos(p->list.field[2], 0, 10);
- glyph->bbx.x_offset = _bdf_atos(p->list.field[3], 0, 10);
- glyph->bbx.y_offset = _bdf_atos(p->list.field[4], 0, 10);
-
- /*
- * Generate the ascent and descent of the character.
- */
- glyph->bbx.ascent = glyph->bbx.height + glyph->bbx.y_offset;
- glyph->bbx.descent = -glyph->bbx.y_offset;
-
- /*
- * Determine the overall font bounding box as the characters are
- * loaded so corrections can be done later if indicated.
- */
- p->maxas = MAX(glyph->bbx.ascent, p->maxas);
- p->maxds = MAX(glyph->bbx.descent, p->maxds);
- p->rbearing = glyph->bbx.width + glyph->bbx.x_offset;
- p->maxrb = MAX(p->rbearing, p->maxrb);
- p->minlb = MIN(glyph->bbx.x_offset, p->minlb);
- p->maxlb = MAX(glyph->bbx.x_offset, p->maxlb);
-
- if (!(p->flags & _BDF_DWIDTH)) {
- /*
- * Missing DWIDTH field. Add an auto correction message and set
- * the device width to the glyph width.
- */
- sprintf(nbuf, ACMSG10, lineno);
- _bdf_add_acmsg(font, nbuf, strlen(nbuf));
- glyph->dwidth = glyph->bbx.width;
- }
-
- /*
- * If the BDF_CORRECT_METRICS flag is set, then adjust the SWIDTH
- * value if necessary.
- */
- if (p->opts->correct_metrics != 0) {
- /*
- * Determine the point size of the glyph.
- */
- ps = (double) font->point_size;
- rx = (double) font->resolution_x;
- dw = (double) glyph->dwidth;
- sw = (unsigned short)((dw * 72000.0) / (ps * rx));
-
- if (sw != glyph->swidth) {
- glyph->swidth = (unsigned short) sw;
- if (p->glyph_enc == -1)
- _bdf_set_glyph_modified(font->umod,
- font->unencoded_used - 1);
- else
- _bdf_set_glyph_modified(font->nmod, glyph->encoding);
- p->flags |= _BDF_SWIDTH_ADJ;
- font->modified = 1;
- }
- }
- p->flags |= _BDF_BBX;
- return 0;
- }
-
- /*
- * And finally, gather up the bitmap.
- */
- if (memcmp(line, "BITMAP", 6) == 0) {
- if (!(p->flags & _BDF_BBX)) {
- /*
- * Missing BBX field.
- */
- sprintf(nbuf, ERRMSG1, lineno, "BBX");
- _bdf_add_acmsg(font, nbuf, strlen(nbuf));
- return BDF_MISSING_BBX;
- }
- /*
- * Allocate enough space for the bitmap.
- */
- p->bpr = ((glyph->bbx.width * p->font->bpp) + 7) >> 3;
- glyph->bytes = p->bpr * glyph->bbx.height;
- glyph->bitmap = (unsigned char *) malloc(glyph->bytes);
- p->row = 0;
- p->flags |= _BDF_BITMAP;
- return 0;
- }
-
- return BDF_INVALID_LINE;
-}
-
-/*
- * Load the font properties.
- */
-static int
-#ifdef __STDC__
-_bdf_parse_properties(char *line, unsigned long linelen, unsigned long lineno,
- void *call_data, void *client_data)
-#else
-_bdf_parse_properties(line, linelen, lineno, call_data, client_data)
-char *line;
-unsigned long linelen, lineno;
-void *call_data, *client_data;
-#endif
-{
- unsigned long vlen;
- _bdf_line_func_t *next;
- _bdf_parse_t *p;
- char *name, *value, nbuf[128];
-
- next = (_bdf_line_func_t *) call_data;
- p = (_bdf_parse_t *) client_data;
-
- /*
- * Check for the end of the properties.
- */
- if (memcmp(line, "ENDPROPERTIES", 13) == 0) {
- /*
- * If the FONT_ASCENT or FONT_DESCENT properties have not been
- * encountered yet, then make sure they are added as properties and
- * make sure they are set from the font bounding box info.
- *
- * This is *always* done regardless of the options, because X11
- * requires these two fields to compile fonts.
- */
- if (bdf_get_font_property(p->font, "FONT_ASCENT") == 0) {
- p->font->font_ascent = p->font->bbx.ascent;
- sprintf(nbuf, "%hd", p->font->bbx.ascent);
- _bdf_add_property(p->font, "FONT_ASCENT", nbuf);
- sprintf(nbuf, ACMSG1, p->font->bbx.ascent);
- _bdf_add_acmsg(p->font, nbuf, strlen(nbuf));
- p->font->modified = 1;
- }
- if (bdf_get_font_property(p->font, "FONT_DESCENT") == 0) {
- p->font->font_descent = p->font->bbx.descent;
- sprintf(nbuf, "%hd", p->font->bbx.descent);
- _bdf_add_property(p->font, "FONT_DESCENT", nbuf);
- sprintf(nbuf, ACMSG2, p->font->bbx.descent);
- _bdf_add_acmsg(p->font, nbuf, strlen(nbuf));
- p->font->modified = 1;
- }
- p->flags &= ~_BDF_PROPS;
- *next = _bdf_parse_glyphs;
- return 0;
- }
-
- /*
- * Ignore the _XFREE86_GLYPH_RANGES properties.
- */
- if (memcmp(line, "_XFREE86_GLYPH_RANGES", 21) == 0)
- return 0;
-
- /*
- * Handle COMMENT fields and properties in a special way to preserve
- * the spacing.
- */
- if (memcmp(line, "COMMENT", 7) == 0) {
- name = value = line;
- value += 7;
- if (*value)
- *value++ = 0;
- _bdf_add_property(p->font, name, value);
- } else if (_bdf_is_atom(line, linelen, &name, &value))
- _bdf_add_property(p->font, name, value);
- else {
- _bdf_split(" +", line, linelen, &p->list);
- name = p->list.field[0];
- _bdf_shift(1, &p->list);
- value = _bdf_join(' ', &vlen, &p->list);
- _bdf_add_property(p->font, name, value);
- }
-
- return 0;
-}
-
-/*
- * Load the font header.
- */
-static int
-#ifdef __STDC__
-_bdf_parse_start(char *line, unsigned long linelen, unsigned long lineno,
- void *call_data, void *client_data)
-#else
-_bdf_parse_start(line, linelen, lineno, call_data, client_data)
-char *line;
-unsigned long linelen, lineno;
-void *call_data, *client_data;
-#endif
-{
- unsigned long slen;
- _bdf_line_func_t *next;
- _bdf_parse_t *p;
- bdf_font_t *font;
- char *s, nbuf[128];
-
- next = (_bdf_line_func_t *) call_data;
- p = (_bdf_parse_t *) client_data;
-
- /*
- * Check for a comment. This is done to handle those fonts that have
- * comments before the STARTFONT line for some reason.
- */
- if (memcmp(line, "COMMENT", 7) == 0) {
- if (p->opts->keep_comments != 0 && p->font != 0) {
- linelen -= 7;
- s = line + 7;
- if (*s != 0) {
- s++;
- linelen--;
- }
- _bdf_add_comment(p->font, s, linelen);
- }
- return 0;
- }
-
- if (!(p->flags & _BDF_START)) {
- if (memcmp(line, "STARTFONT", 9) != 0)
- /*
- * No STARTFONT field is a good indication of a problem.
- */
- return BDF_MISSING_START;
- p->flags = _BDF_START;
- p->font = font = (bdf_font_t *) calloc(1, sizeof(bdf_font_t));
- p->font->internal = (void *) malloc(sizeof(hashtable));
- hash_init((hashtable *) p->font->internal);
- p->font->spacing = p->opts->font_spacing;
- p->font->default_glyph = -1;
- return 0;
- }
-
- /*
- * Check for the start of the properties.
- */
- if (memcmp(line, "STARTPROPERTIES", 15) == 0) {
- _bdf_split(" +", line, linelen, &p->list);
- p->cnt = p->font->props_size = _bdf_atoul(p->list.field[1], 0, 10);
- p->font->props = (bdf_property_t *)
- malloc(sizeof(bdf_property_t) * p->cnt);
- p->flags |= _BDF_PROPS;
- *next = _bdf_parse_properties;
- return 0;
- }
-
- /*
- * Check for the FONTBOUNDINGBOX field.
- */
- if (memcmp(line, "FONTBOUNDINGBOX", 15) == 0) {
- if (!(p->flags & _BDF_SIZE)) {
- /*
- * Missing the SIZE field.
- */
- sprintf(nbuf, ERRMSG1, lineno, "SIZE");
- _bdf_add_acmsg(p->font, nbuf, strlen(nbuf));
- return BDF_MISSING_SIZE;
- }
- _bdf_split(" +", line, linelen, &p->list);
- p->font->bbx.width = _bdf_atos(p->list.field[1], 0, 10);
- p->font->bbx.height = _bdf_atos(p->list.field[2], 0, 10);
- p->font->bbx.x_offset = _bdf_atos(p->list.field[3], 0, 10);
- p->font->bbx.y_offset = _bdf_atos(p->list.field[4], 0, 10);
- p->font->bbx.ascent = p->font->bbx.height + p->font->bbx.y_offset;
- p->font->bbx.descent = -p->font->bbx.y_offset;
- p->flags |= _BDF_FONT_BBX;
- return 0;
- }
-
- /*
- * The next thing to check for is the FONT field.
- */
- if (memcmp(line, "FONT", 4) == 0) {
- _bdf_split(" +", line, linelen, &p->list);
- _bdf_shift(1, &p->list);
- s = _bdf_join(' ', &slen, &p->list);
- p->font->name = (char *) malloc(slen + 1);
- (void) memcpy(p->font->name, s, slen + 1);
- /*
- * If the font name is an XLFD name, set the spacing to the one in the
- * font name. If there is no spacing fall back on the default.
- */
- _bdf_set_default_spacing(p->font, p->opts);
- p->flags |= _BDF_FONT_NAME;
- return 0;
- }
-
- /*
- * Check for the SIZE field.
- */
- if (memcmp(line, "SIZE", 4) == 0) {
- if (!(p->flags & _BDF_FONT_NAME)) {
- /*
- * Missing the FONT field.
- */
- sprintf(nbuf, ERRMSG1, lineno, "FONT");
- _bdf_add_acmsg(p->font, nbuf, strlen(nbuf));
- return BDF_MISSING_FONTNAME;
- }
- _bdf_split(" +", line, linelen, &p->list);
- p->font->point_size = _bdf_atoul(p->list.field[1], 0, 10);
- p->font->resolution_x = _bdf_atoul(p->list.field[2], 0, 10);
- p->font->resolution_y = _bdf_atoul(p->list.field[3], 0, 10);
-
- /*
- * Check for the bits per pixel field.
- */
- if (p->list.used == 5) {
- p->font->bpp = _bdf_atos(p->list.field[4], 0, 10);
- if (p->font->bpp > 1 && (p->font->bpp & 1)) {
- /*
- * Move up to the next bits per pixel value if an odd number
- * is encountered.
- */
- p->font->bpp++;
- if (p->font->bpp <= 4) {
- sprintf(nbuf, ACMSG11, p->font->bpp);
- _bdf_add_acmsg(p->font, nbuf, strlen(nbuf));
- }
- }
- if (p->font->bpp > 4) {
- sprintf(nbuf, ACMSG11, p->font->bpp);
- _bdf_add_acmsg(p->font, nbuf, strlen(nbuf));
- p->font->bpp = 4;
- }
- } else
- p->font->bpp = 1;
-
- p->flags |= _BDF_SIZE;
- return 0;
- }
-
- return BDF_INVALID_LINE;
-}
-
-/**************************************************************************
- *
- * API.
- *
- **************************************************************************/
-
-void
-#ifdef __STDC__
-bdf_setup(void)
-#else
-bdf_setup()
-#endif
-{
- unsigned long i;
- bdf_property_t *prop;
-
- hash_init(&proptbl);
- for (i = 0, prop = _bdf_properties; i < _num_bdf_properties; i++, prop++)
- hash_insert(prop->name, (void *) i, &proptbl);
-}
-
-void
-#ifdef __STDC__
-bdf_cleanup(void)
-#else
-bdf_cleanup()
-#endif
-{
- unsigned long i;
- bdf_property_t *prop;
-
- hash_free(&proptbl);
-
- /*
- * Free up the user defined properties.
- */
- for (prop = user_props, i = 0; i < nuser_props; i++, prop++) {
- free(prop->name);
- if (prop->format == BDF_ATOM && prop->value.atom != 0)
- free(prop->value.atom);
- }
- if (nuser_props > 0)
- free((char *) user_props);
-
- _bdf_glyph_name_cleanup();
-}
-
-bdf_font_t *
-#ifdef __STDC__
-bdf_load_font(FILE *in, bdf_options_t *opts, bdf_callback_t callback,
- void *data)
-#else
-bdf_load_font(in, opts, callback, data)
-FILE *in;
-bdf_options_t *opts;
-bdf_callback_t callback;
-void *data;
-#endif
-{
- int n;
- unsigned long lineno;
- char msgbuf[128];
- _bdf_parse_t p;
-
- (void) memset((char *) &p, 0, sizeof(_bdf_parse_t));
- p.opts = (opts != 0) ? opts : &_bdf_opts;
- p.minlb = 32767;
- p.callback = callback;
- p.client_data = data;
- n = _bdf_readlines(fileno(in), _bdf_parse_start, (void *) & p, &lineno);
-
- if (p.font != 0) {
- /*
- * If the font is not proportional, set the fonts monowidth
- * field to the width of the font bounding box.
- */
- if (p.font->spacing != BDF_PROPORTIONAL)
- p.font->monowidth = p.font->bbx.width;
-
- /*
- * If the number of glyphs loaded is not that of the original count,
- * indicate the difference.
- */
- if (p.cnt != p.font->glyphs_used + p.font->unencoded_used) {
- sprintf(msgbuf, ACMSG15, p.cnt,
- p.font->glyphs_used + p.font->unencoded_used);
- _bdf_add_acmsg(p.font, msgbuf, strlen(msgbuf));
- p.font->modified = 1;
- }
-
- /*
- * Once the font has been loaded, adjust the overall font metrics if
- * necessary.
- */
- if (p.opts->correct_metrics != 0 &&
- (p.font->glyphs_used > 0 || p.font->unencoded_used > 0)) {
- if (p.maxrb - p.minlb != p.font->bbx.width) {
- sprintf(msgbuf, ACMSG3, p.font->bbx.width, p.maxrb - p.minlb);
- _bdf_add_acmsg(p.font, msgbuf, strlen(msgbuf));
- p.font->bbx.width = p.maxrb - p.minlb;
- p.font->modified = 1;
- }
- if (p.font->bbx.x_offset != p.minlb) {
- sprintf(msgbuf, ACMSG4, p.font->bbx.x_offset, p.minlb);
- _bdf_add_acmsg(p.font, msgbuf, strlen(msgbuf));
- p.font->bbx.x_offset = p.minlb;
- p.font->modified = 1;
- }
- if (p.font->bbx.ascent != p.maxas) {
- sprintf(msgbuf, ACMSG5, p.font->bbx.ascent, p.maxas);
- _bdf_add_acmsg(p.font, msgbuf, strlen(msgbuf));
- p.font->bbx.ascent = p.maxas;
- p.font->modified = 1;
- }
- if (p.font->bbx.descent != p.maxds) {
- sprintf(msgbuf, ACMSG6, p.font->bbx.descent, p.maxds);
- _bdf_add_acmsg(p.font, msgbuf, strlen(msgbuf));
- p.font->bbx.descent = p.maxds;
- p.font->bbx.y_offset = -p.maxds;
- p.font->modified = 1;
- }
- if (p.maxas + p.maxds != p.font->bbx.height) {
- sprintf(msgbuf, ACMSG7, p.font->bbx.height, p.maxas + p.maxds);
- _bdf_add_acmsg(p.font, msgbuf, strlen(msgbuf));
- }
- p.font->bbx.height = p.maxas + p.maxds;
-
- if (p.flags & _BDF_SWIDTH_ADJ)
- _bdf_add_acmsg(p.font, ACMSG8, strlen(ACMSG8));
- }
- }
-
- /*
- * Last, if an error happened during loading, handle the messages.
- */
- if (n < 0 && callback != 0) {
- /*
- * An error was returned. Alert the client.
- */
- p.cb.reason = BDF_ERROR;
- p.cb.errlineno = lineno;
- (*callback)(&p.cb, data);
- } else if (p.flags & _BDF_START) {
- if (p.font != 0) {
- /*
- * The ENDFONT field was never reached or did not exist.
- */
- if (!(p.flags & _BDF_GLYPHS))
- /*
- * Error happened while parsing header.
- */
- sprintf(msgbuf, ERRMSG2, lineno);
- else
- /*
- * Error happened when parsing glyphs.
- */
- sprintf(msgbuf, ERRMSG3, lineno);
-
- _bdf_add_acmsg(p.font, msgbuf, strlen(msgbuf));
- }
-
- if (callback != 0) {
- p.cb.reason = BDF_ERROR;
- p.cb.errlineno = lineno;
- (*callback)(&p.cb, data);
- }
- } else if (callback != 0) {
- /*
- * This forces the progress bar to always finish.
- */
- p.cb.current = p.cb.total;
- (*p.callback)(&p.cb, p.client_data);
- }
-
- /*
- * Free up the list used during the parsing.
- */
- if (p.list.size > 0)
- free((char *) p.list.field);
-
- if (p.font != 0) {
- /*
- * Make sure the comments are NULL terminated if they exist.
- */
- if (p.font->comments_len > 0) {
- p.font->comments = (char *) realloc(p.font->comments,
- p.font->comments_len + 1);
- p.font->comments[p.font->comments_len] = 0;
- }
-
- /*
- * Make sure the auto-correct messages are NULL terminated if they
- * exist.
- */
- if (p.font->acmsgs_len > 0) {
- p.font->acmsgs = (char *) realloc(p.font->acmsgs,
- p.font->acmsgs_len + 1);
- p.font->acmsgs[p.font->acmsgs_len] = 0;
- }
- }
-
- return p.font;
-}
-
-#ifdef HAVE_HBF
-static int
-#ifdef __STDC__
-_bdf_parse_hbf_header(char *line, unsigned long linelen, unsigned long lineno,
- void *call_data, void *client_data)
-#else
-_bdf_parse_hbf_header(line, linelen, lineno, call_data, client_data)
-char *line;
-unsigned long linelen, lineno;
-void *call_data, *client_data;
-#endif
-{
- unsigned long vlen;
- char *name, *value;
- _bdf_parse_t *p;
- _bdf_line_func_t *next;
- char nbuf[24];
-
- next = (_bdf_line_func_t *) call_data;
- p = (_bdf_parse_t *) client_data;
-
- /*
- * Check for comments.
- */
- if (memcmp(line, "COMMENT", 7) == 0) {
- if (p->opts->keep_comments != 0 && p->font != 0) {
- name = line;
- value = name + 7;
- vlen = linelen - 7;
- if (*value) {
- *value++ = 0;
- vlen--;
- }
- /*
- * If the properties are being parsed, add the comment as a
- * property. Otherwise, simply add the comment in the normal
- * fashion.
- */
- if (p->flags & _BDF_PROPS)
- _bdf_add_property(p->font, name, value);
- else
- _bdf_add_comment(p->font, value, vlen);
- }
- return 0;
- }
-
- if (!(p->flags & _BDF_START)) {
- if (memcmp(line, "HBF_START_FONT", 14) != 0)
- return -1;
- p->flags = _BDF_START;
- p->font = (bdf_font_t *) calloc(1, sizeof(bdf_font_t));
- /*
- * HBF fonts are always assumed to be 1 bit per pixel.
- */
- p->font->bpp = 1;
- p->font->internal = (void *) malloc(sizeof(hashtable));
- hash_init((hashtable *) p->font->internal);
- p->font->hbf = 1;
- p->font->spacing = p->opts->font_spacing;
- p->font->default_glyph = -1;
- return 0;
- }
-
- /*
- * Check for the HBF_END_FONT field.
- */
- if (memcmp(line, "HBF_END_FONT", 12) == 0)
- /*
- * Need to perform some checks here to see whether some fields are
- * missing or not.
- */
- return 0;
-
- /*
- * Check for HBF keywords which will be added as comments. These should
- * never occur in the properties list. Assume they won't.
- */
- if (memcmp(line, "HBF_", 4) == 0) {
- if (p->opts->keep_comments != 0)
- _bdf_add_comment(p->font, line, linelen);
- return 0;
- }
-
- if (!(p->flags & _BDF_PROPS)) {
- /*
- * Check for the start of the properties.
- */
- if (memcmp(line, "STARTPROPERTIES", 15) == 0) {
- _bdf_split(" +", line, linelen, &p->list);
- p->cnt = p->font->props_size = _bdf_atoul(p->list.field[1], 0, 10);
- p->font->props = (bdf_property_t *)
- malloc(sizeof(bdf_property_t) * p->cnt);
- p->flags |= _BDF_PROPS;
- return 0;
- }
-
- /*
- * Check for the CHARS field.
- */
- if (memcmp(line, "CHARS", 5) == 0) {
- _bdf_split(" +", line, linelen, &p->list);
- p->cnt = p->font->glyphs_size =
- _bdf_atoul(p->list.field[1], 0, 10);
- p->font->glyphs = (bdf_glyph_t *)
- malloc(sizeof(bdf_glyph_t) * p->cnt);
- return 0;
- }
-
- /*
- * Check for the FONTBOUNDINGBOX field.
- */
- if (memcmp(line, "FONTBOUNDINGBOX", 15) == 0) {
- if (!(p->flags & (_BDF_START | _BDF_FONT_NAME | _BDF_SIZE)))
- return -1;
- _bdf_split(" +", line, linelen, &p->list);
- p->font->bbx.width = _bdf_atos(p->list.field[1], 0, 10);
- p->font->bbx.height = _bdf_atos(p->list.field[2], 0, 10);
- p->font->bbx.x_offset = _bdf_atos(p->list.field[3], 0, 10);
- p->font->bbx.y_offset = _bdf_atos(p->list.field[4], 0, 10);
- p->font->bbx.ascent = p->font->bbx.height + p->font->bbx.y_offset;
- p->font->bbx.descent = -p->font->bbx.y_offset;
- p->flags |= _BDF_FONT_BBX;
- return 0;
- }
-
- /*
- * The next thing to check for is the FONT field.
- */
- if (memcmp(line, "FONT", 4) == 0) {
- if (!(p->flags & _BDF_START))
- return -1;
- _bdf_split(" +", line, linelen, &p->list);
- _bdf_shift(1, &p->list);
- value = _bdf_join(' ', &vlen, &p->list);
- p->font->name = (char *) malloc(vlen + 1);
- (void) memcpy(p->font->name, value, vlen + 1);
- /*
- * If the font name is an XLFD name, set the spacing to the one in
- * the font name. If there is no spacing fall back on the
- * default.
- */
- _bdf_set_default_spacing(p->font, p->opts);
- p->flags |= _BDF_FONT_NAME;
- return 0;
- }
-
- /*
- * Check for the SIZE field.
- */
- if (memcmp(line, "SIZE", 4) == 0) {
- if (!(p->flags & (_BDF_START | _BDF_FONT_NAME)))
- return -1;
- _bdf_split(" +", line, linelen, &p->list);
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list