|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T r
Length: 2384 (0x950)
Types: TextFile
Names: »rst.h«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦c319c2751⟧ »unix3.0/TeX3.0.tar.Z«
└─⟦036c765ac⟧
└─⟦this⟧ »TeX3.0/TeXcontrib/salkind/src/rst.h«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
└─⟦this⟧ »./tex82/TeXcontrib/salkind/src/rst.h«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦63303ae94⟧ »unix3.14/TeX3.14.tar.Z«
└─⟦c58930e5c⟧
└─⟦this⟧ »TeX3.14/TeXcontrib/salkind/src/rst.h«
/*
* RST file format, version 0
* (as documented in old Imprint-10 Programmer's Manual)
*
* An RST file consists of the following sections:
*
* filemark 8 bytes (contains the word "Rast")
* preamble variable length but at least 40 bytes
* glyph directory usually 127 entries
* raster data
*/
#define FILEMARK_SIZE 8 /* bytes */
#define MAX_PREAMBLE_STRING 256 /* really unknown limit */
#define PREAMBLE_FIXED_PART 36 /* up to variable length strings */
#define GLYPH_ENTRY_SIZE 15
typedef char ONEB;
typedef short TWOB;
typedef long THREEB;
typedef long FOURB;
/*
* The Preamble
*
* Value fields can be 1, 2, 3, or 4 bytes long, and
* are stored with the most signifigant byte first.
*
* Character strings are of variable length; they are stored
* as a one byte count and then the string of characters
* (don't believe the documentation that says the strings are
* null terminated - it lies!).
*/
struct rst_dsc {
int s_l; /* length of string */
char s_p[MAX_PREAMBLE_STRING]; /* the string itself */
};
struct rst_preamble {
TWOB rp_bytes; /* bytes in preamble (excluding self) */
ONEB rp_version; /* current zero */
THREEB rp_glyphptr; /* offset to glyph directory */
TWOB rp_firstglyph; /* usually 0 */
TWOB rp_lastglyph; /* usually 127 */
FOURB rp_fontmag; /* magnification in units of .001 */
FOURB rp_designsize; /* design size in fix units */
FOURB rp_interline; /* 0 defaults to designsize*1.2 */
FOURB rp_interword; /* 0 defaults to designsize/1.2 */
TWOB rp_rotation; /* counter clockwise degrees 0..359 */
ONEB rp_charadvance; /* 0 to right, 1 downward, 2 left */
ONEB rp_lineadvance; /* 3 upwards */
FOURB rp_checksum; /* 0 for no check */
TWOB rp_fontres; /* in pixels per inch */
/* variable length fields here (C structures can't handle this) */
struct rst_dsc rp_fontident; /* name of font */
struct rst_dsc rp_facetype; /* ??? */
struct rst_dsc rp_outdevice; /* set to 'ImPrint-10' */
struct rst_dsc rp_creator; /* name of user/origin */
};
/*
* The Glyph Directory
*/
struct rst_glyph_entry { /* A directory entry contains */
TWOB rg_h; /* height */
TWOB rg_w; /* width */
TWOB rg_y; /* distance from top */
TWOB rg_x; /* distance from left */
FOURB rg_width; /* advance width */
THREEB rg_offset; /* offset to raster data in file/memory */
};
/* The Raster Data */
/* End of RST file */