Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- DOS 5.0 Ref. - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

struc FontFileHeader
 ffhFileTag     db 8 dup (?)    ; Font-file identifier (0ffh,"FONT   ")
 ffhReserved    db 8 dup (?)    ; Reserved (must be 0)
 ffhPointers    dw ?            ; No. of information pointers (= 1)
 ffhPointerType db ?            ; Type of pointer (= 1)
 ffhOffset      dd ?            ; File offset of FontInfoHeader
ends                            ; = 23d bytes


struc FontInfoHeader
 fihCodePages   dw ?            ; No. of code-page entries
ends                            ; = 2 bytes


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.


; Structure of EGA.CPI  ; Code-Page Information file
;       FontFileHeader
;       FontInfoHeader
;       NUM_CODEPAGES * CPEntryHeader
;       NUM_CODEPAGES * (FontDataHeader
;                       (ScreenFontHeader + bitmaps  ; VGA 8*16
;                       (ScreenFontHeader + bitmaps  ; EGA 8*14
;                       (ScreenFontHeader + bitmaps  ; CGA 8*8
;       Copyright notice (1-150 bytes)

See Also: CodePageIDs

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson