Font Info v1.0 ================ ** FREEWARE ** By Kenneth W. Hartlen September 16,1992 Font Info v1.0 produces a summary of your GEM font files. The summary contains information such as filename, font id, font name, point size, etc. This information is extracted from the font header of each GEM font file in a given directory and is displayed on screen or written to a user specified file. The main reason I wrote this program was because I wondered how many GEM fonts I had were mono-spaced. I was looking for mono-spaced GEM fonts to use with NeoDesk's FONTLOAD.PRG for replacing the system font. Rather than load each font into a font editor to check I thought a program to do the task would be very useful. Once I started writing the program I added other information so I would have an inventory list of exactly what my GEM font files contain. Font Info v1.0 was written in C and was compiled using HiSoft's Lattice C v5.52. FNTINF10.LZH Contents ======================= The archive file FNTINF10.LZH contains the following files: FONTINFO.TTP The Font Info v1.0 program. Can be run from GEM, NeoDesk or a CLI. FONTINFO.TXT This file. FONTINFO.NIC NeoDesk v3.02 icon file containing an icon for the Font Info v1.0 program. If any of these files are missing, the original FNTINF10.LZH file has be tampered with. Please locate a complete FNTINF10.LZH file. The Program ============= To run the program simply double-click the FONTINFO.TTP icon in GEM or NeoDesk. Since the program is a .TTP, you will be prompted for parameters. When run from a CLI such as NeoDesk CLI or Gulam (as I had intended it to be) the program usage is: FONTINFO [template] [outfile.ext] where, [template] is the optional path\template parameter used for the file search. For example: FONTINFO A:\FONTS\??????HI.FNT would produce a summary for all .FNT files in the A:\FONTS\ directory where the last two characters in the file name are 'HI'. ** WARNING ** Do not use *.* in the template as unexpected results may occur if a non-GEM font files are processed. [output.ext] is the optional path\filename.ext parameter in which to store the summary. For example: FONTINFO A:\*.FNT SUMMARY.TXT would produce a summary for all .FNT in the root directory of a: and save the summary in SUMMARY.TXT in the current directory. If using a CLI that supports I/O redirection you can omit this parameter and simply use I/O redirection to store the summary. Font Info v1.0 will return one of two exit codes: 0: the program terminated normally. -1: too many parameters. -2: outfile.ext could not be opened. Program output ================ Here is a sample summary that I'll use to describe the output of Font Info v1.0: GEM font Summary for: Fontz! -----------+ *.FNT Spacing --------+ | Format -------+ | | Offset -----+ | | | Sys font -+ | | | | | | | | | dpi Filename Id Font name Pt. Low Hi | | | | | X Y =============================================================================== ATCH11HI 00075 Chicago 009 032 127 N N I P Y 090 x 090 IBM06 15590 IBM-PC 006 000 255 N N I M Y 090 x 090 IBM11 15590 IBM-PC 011 000 255 N N I M Y 090 x 090 IBM12 15590 IBM-PC 012 000 255 N N I M Y 090 x 090 L2CT12 00101 Century 012 032 255 N N I P N ??? x 300 ATCH11FZ 00075 Chicago (test to pad font name) 009 032 127 N N I P Y 090 x 090 The header of the summary contains the template used for the file search so you'll know what directory and files the summary applies to. The rest of the header indicates what information is in each line of the summary. Which is (from left to right): Filename: obviously the filename for which the summary line applies. The file extension is not shown since 99% of the time it will be a .FNT extension. Id: the GEM font id. Font name: the GEM font name. Pt.: the font's point size (in 1/72"). Low: the lowest ASCII character with a font definition. Hi: the highest ASCII character with a font definition. Sys font: "Y" if default system font, otherwise "N". Offset: "Y" if horizontal offset table used, otherwise "N". Format: "M" if Motorola raster format, otherwise "I" for Intel raster format. Spacing: "M" of mono-spaced font, otherwise "P" for proportional font. Fontz!: "Y" if font contains the extended font header, otherwise "N". dpi X * Y: GEM font resolution, in dpi. This information allows you determine the output device for which the GEM font is intended. If the GEM font file doesn't use the extended font header then X is shown as ??? since it can't be calculate using font header information. However, Y can and is calculated from the given font header information. Disclaimer and Notes ====================== Font Info v1.0 is FREEWARE, meaning FNTINF10.LZH can be distributed freely (unmodified) and there is no cost to own a copy. Font Info v1.0 is provided AS IS. I make no warranties, either expressed or implied, with respect to the software, its quality, performance, or fitness. I will not be liable for direct, indirect, or consequential damages resulting from any defects in the software. Having said the that, I hope you find Font Info v1.0 as useful as I do. Now you won't waste precious time searching for the GEM font you know you have, somewhere! Support ========= Suggestions to improve Font Info v1.0, or if any bugs are encountered, or if you'd like to send $, can be sent to myself: Kenneth W. Hartlen Box 37, Site 6, RR#3 Armdale, Nova Scotia Canada B3L-4J3 Please send a self-addressed stamped envelope if you would like me to reply. I can also be reached by e-mail (until the university realizes I've graduated, shhhh... ) at my Internet addresses: hartlenk@newton.ccs.tuns.ca or hartlekw@taurus.cs.tuns.ca or hartlekw@tardis.cs.tuns.ca