struc CPEntryHeader cpeLength dw 28d ; Size of this structure, in bytes (28) cpeNext dd ? ; Offset to next CPEntryHeader (last=0) cpeDevType dw ? ; Device type (1=screen, 2=printer) cpeDevSubType db 8 dup (?) ; Name of device & file (e.g. "EGA ") cpeCodePageID dw ? ; Code-page identifier cpeReserved db 6 dup (?) ; Reserved (must be 0) cpeOffset dd ? ; Offset to font data for this code-page ends ; = 28d bytes
struc FontDataHeader fdhReserved dw 1 ; Reserved (must be 1) fdhFonts dw ? ; Number of fonts (max. 1 if printer) fdhLength dw ? ; Byte size of font data ends ; = 6 bytes
struc ScreenFontHeader sfhHeight db ? ; Character height sfhWidth db ? ; Character width sfhRelHeight db ? ; Currently unused; must be 0 sfhRelWidth db ? ; Currently unused; must be 0 sfhCharacters dw ? ; No. of characters defined in bitmap ends ; = 6 bytes ; ScreenFontHeader followed immediately by character bitmaps. ; Byte size of bitmaps = sfhCharacters * 8
struc PrintFontHeader pfhSelType dw ? ; Selection type for printer font pfhSeqLength dw ? ; Byte size of control-sequence data ends ; = 4 bytes ; PrinterFontHeader followed immediately by control sequence ; data (< 31 bytes) and possibly downloadable font data.