module.mk |
|
664 |
pfr.c |
END |
708 |
pfrcmap.c |
PFR_CMap |
4519 |
pfrcmap.h |
PFRCMAP_H_ |
920 |
pfrdrivr.c |
PFR_Face |
5618 |
pfrdrivr.h |
PFRDRIVR_H_ |
773 |
pfrerror.h |
This file is used to define the PFR error enumeration constants.
|
962 |
pfrgload.c |
for macro definitions |
21886 |
pfrgload.h |
PFRGLOAD_H_ |
1059 |
pfrload.c |
The overall structure of a PFR file is as follows.
PFR header
58 bytes (contains nPhysFonts)
Logical font directory (size at most 2^16 bytes)
2 bytes (nLogFonts)
+ nLogFonts * 5 bytes
==> nLogFonts <= 13106
Logical font section (size at most 2^24 bytes)
nLogFonts * logFontRecord
logFontRecord (size at most 2^16 bytes)
12 bytes (fontMatrix)
+ 1 byte (flags)
+ 0-5 bytes (depending on `flags')
+ 0-(1+255*(2+255)) = 0-65536 (depending on `flags')
+ 5 bytes (physical font info)
+ 0-1 bytes (depending on PFR header)
==> minimum size 18 bytes
Physical font section (size at most 2^24 bytes)
nPhysFonts * (physFontRecord
+ nBitmapSizes * nBmapChars * bmapCharRecord)
physFontRecord (size at most 2^24 bytes)
14 bytes (font info)
+ 1 byte (flags)
+ 0-2 (depending on `flags')
+ 0-? (structure too complicated to be shown here; depending on
`flags'; contains `nBitmapSizes' and `nBmapChars')
+ 3 bytes (nAuxBytes)
+ nAuxBytes
+ 1 byte (nBlueValues)
+ 2 * nBlueValues
+ 6 bytes (hinting data)
+ 2 bytes (nCharacters)
+ nCharacters * (4-10 bytes) (depending on `flags')
==> minimum size 27 bytes
bmapCharRecord
4-7 bytes
Glyph program strings (three possible types: simpleGps, compoundGps,
and bitmapGps; size at most 2^24 bytes)
simpleGps (size at most 2^16 bytes)
1 byte (flags)
1-2 bytes (n[XY]orus, depending on `flags')
0-(64+512*2) = 0-1088 bytes (depending on `n[XY]orus')
0-? (structure too complicated to be shown here; depending on
`flags')
1-? glyph data (faintly resembling PS Type 1 charstrings)
==> minimum size 3 bytes
compoundGps (size at most 2^16 bytes)
1 byte (nElements <= 63, flags)
+ 0-(1+255*(2+255)) = 0-65536 (depending on `flags')
+ nElements * (6-14 bytes)
bitmapGps (size at most 2^16 bytes)
1 byte (flags)
3-13 bytes (position info, depending on `flags')
0-? bitmap data
==> minimum size 4 bytes
PFR trailer
8 bytes
==> minimum size of a valid PFR:
58 (header)
+ 2 (nLogFonts)
+ 27 (1 physFontRecord)
+ 8 (trailer)
-----
95 bytes
|
28988 |
pfrload.h |
some size checks should be always done (mainly to prevent |
3425 |
pfrobjs.c |
/
/************************************************************************ |
17487 |
pfrobjs.h |
PFR_Face |
2135 |
pfrsbit.c |
/
/************************************************************************ |
21398 |
pfrsbit.h |
PFRSBIT_H_ |
878 |
pfrtypes.h |
/
/* the PFR Header structure |
8090 |
rules.mk |
|
1885 |