[comp.sys.mac.programmer] Finding font resource sizes.

cro@cs.arizona.edu (Charles R. Oldham) (11/10/90)

Hi folks!

	I have a possibly stupid request.

	I want to scan the resource fork of a given file to find all
of the fonts and their sizes present in the file.

	Currently, that's easy using FONDs and FONTs.  Just grab the
FOND resource from the file, get the ID number, look up all the FONTs,
and do calculations on the FONT IDs to determine what size they are
and if they belong to the FOND.

	NFNTs are driving me up the wall.

	Inside Mac talks about the Font Association Table, and
provides the data structure AssocTable.  I thought that would solve
all my problems.  No chance.  The data structure appears to be
embedded in the FamRec, but it's *commented out*!  What the heck?

	I could get to it using pointe arithmetic in C, but my
language of choice for this project is Pascal.  It would be a pain to
write a C routine to be included in the final Pascal program (I don't
even know if you can do that).

	As an example, I want to be able to scan a file and display

		Courier 9
		Courier 12
		Monaco 9
		New Century Schoolbook 12
		New Century Schoolbook 14
		New Century Schoolbook 18
		Quantum 24
		Quantum 36
		Zapf Chancery 12
		Zapf Chancery 24

	when these fonts are installed in the file, even though there
are mixed FONTs and NFNTs in the file.

	On top of this it may be necessary since Inside Mac talks
about maybe doing away with FONTs altogether and going to NFNTs
exclusively.

	Thanks for your help.  Please reply to me--I don't always have
time to read all of this newsgroup.

*-----------------------------------------------------------------------------*
*Charles R. (C. R.) Oldham                    | Bitnet: OLDHAM@ARIZRVAX       *
*Department of Instructional Computing        | Internet:                     *
*Ctr. for Computing Information and Technology| (Preferred)                   *
*University of Arizona                        |   cro@caslon.cs.arizona.edu   *
*Tucson, Arizona                              |or oldham@rvax.ccit.arizona.edu*
*USA                                          |                               *
*(602) 621-9480                               | IXOYE                         *
*-----------------------------------------------------------------------------*
*  #include <disclaimer.yuk>                                                  *
*-----------------------------------------------------------------------------*