Sweden-Number/tools/fnt2bdf.h

75 lines
3.0 KiB
C
Raw Normal View History

Release 961208 Sun Dec 8 14:51:57 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [configure.in] Added check to see if the compiler supports building a DLL when the --with-dll option is used. * [controls/listbox.c] Don't send LBN_SELCHANGE too often. Added WM_CHARTOITEM support. * [Make.rules.in] [library/Makefile.in] Build winestub.o and link it with Winelib programs. * [objects/text.c] Added support for '&&' in DrawText(). * [tools/build.c] Added -o option. Sat Dec 7 12:07:07 1996 Andrew Lewycky <plewycky@oise.utoronto.ca> * [win32/thread.c] GetCurrentThread(): return -2 (current thread pseudo-handle). GetCurrentThreadId(): return GetCurrentTask(). * [objects/font.c] [if1632/gdi32.spec] GetTextExtentPoint32{A,W}Buggy(): for future bug-compatibility. * [win32/findfile.c] FindClose(): ignore INVALID_HANDLE_VALUE (like Win95). * [windows/hook.c] [include/hook.h] [if1632/user.spec] [if1632/user32.spec] [windows/focus.c] [windows/message.c] [windows/nonclient.c] [windows/win.c] [windows/winpos.c] Hooks rewritten to support Win32. * [misc/winsock.c] WINSOCK_select(): need to put sockets with errors into exceptfds. WINSOCK_socket(): fix error return. * [windows/win.c] SetWindowWord(): call SetParent on GWW_HWNDPARENT. Wed Dec 4 22:03:05 1996 Andrew Taylor <andrew@riscan.com> * [files/dos_fs.c] Check if buf is NULL before copying string in GetFullPathName32A(). Wed Dec 4 21:40:59 1996 Robert Pouliot <krynos@clic.net> * [graphics/wing.c] [if1632/wing.spec] Implemented many WinG functions, but some don't seem to work correctly (probably due to the one not done). Wed Dec 4 03:38:25 1996 Lee Jaekil <juria@puma.kaitech.re.kr> * [misc/main.c] Implemented a few more of the SystemParametersInfo() cases. Sun Dec 1 22:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu> * [controls/button.c] Improved focus rectangle painting. * [windows/dialog.c] [windows/defdlg.c] Fixed IE3.0 problems with DWL_MSGRESULT. Sun Dec 1 20:49:32 1996 Albrecht Kleine <kleine@ak.sax.de> * [files/profile.c] Changed error handling in PROFILE_SetString().
1996-12-08 20:25:27 +01:00
#include <stdio.h>
enum data_types {dfChar, dfShort, dfLong, dfString};
#define ERROR_DATA 1
#define ERROR_VERSION 2
#define ERROR_SIZE 3
#define ERROR_MEMORY 4
#define ERROR_FILE 5
typedef struct tagFontHeader
{
unsigned char dfVersion[2]; /* Version (always 0x3000) */
unsigned char dfSize[4]; /* Total File Size */
unsigned char dfCopyright[60]; /* Copyright notice */
unsigned char dfType[2]; /* Vector or bitmap font */
unsigned char dfPoints[2]; /* Nominal point size */
unsigned char dfVertRes[2]; /* Vertical Resolution */
unsigned char dfHorizRes[2]; /* Horizontal Resolutionchar */
unsigned char dfAscent[2]; /* Character ascent in pixels */
unsigned char dfInternalLeading[2]; /* Leading included in character defn */
unsigned char dfExternalLeading[2]; /* Leading to be added by Windows */
unsigned char dfItalic[1]; /* 1=Italic font */
unsigned char dfUnderline[1]; /* 1=underlined font */
unsigned char dfStrikeOut[1]; /* 1=strike-out font */
unsigned char dfWeight[2]; /* Weight: 400=normal */
unsigned char dfCharSet[1]; /* Character Set for this font */
unsigned char dfPixWidth[2]; /* Character width (0 for proportional) */
unsigned char dfPixHeight[2]; /* Character height */
unsigned char dfPitchAndFamily[1]; /* Font Pitch and family */
unsigned char dfAvgWidth[2]; /* Average character width */
unsigned char dfMaxWidth[2]; /* Maximum character width */
unsigned char dfFirstChar[1]; /* Firwst character of the font */
unsigned char dfLastChar[1]; /* Last character of the font */
unsigned char dfDefaultChar[1]; /* Missing character */
unsigned char dfBreakChar[1]; /* Character to indicate word breaks */
unsigned char dfWidthBytes[2]; /* Number of bytes in each row */
unsigned char dfDevice[4]; /* Offset to device name */
unsigned char dfFace[4]; /* Offset to type face name */
unsigned char dfBitsPointer[4];
unsigned char dfBitsOffset[4]; /* Offset to bitmaps */
unsigned char dfReserved[1];
unsigned char dfFlags[4]; /* Bitmapped flags */
unsigned char dfAspace[2];
unsigned char dfBspace[2];
unsigned char dfCspace[2];
unsigned char dfColorTable[2]; /* Offset to Color table */
unsigned char dfReserved1[4];
} fnt_hdrS;
typedef struct WinCharStruct
{
unsigned int charWidth;
unsigned int charOffset;
} WinCharS;
typedef struct fntFontStruct
{
fnt_hdrS hdr;
WinCharS *dfCharTable;
unsigned char *dfDeviceP;
unsigned char *dfFaceP;
unsigned char *dfBitsPointerP;
unsigned char *dfBitsOffsetP;
short *dfColorTableP;
} fnt_fontS;
extern int return_data_value(enum data_types, void *);
extern int dump_bdf(fnt_fontS*, unsigned char* );
extern int dump_bdf_hdr(FILE* fp,fnt_fontS*, unsigned char* );
extern int parse_fnt_data(unsigned char* file_buffer, int length);