b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $Xorg: PclSFonts.h,v 1.3 2000/08/17 19:48:08 cpqbld Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef HAVE_DIX_CONFIG_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include <dix-config.h>
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef _PCLFONTS_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define _PCLFONTS_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* -*-H-*-
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync******************************************************************************
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync******************************************************************************
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync* File: PclFonts.h
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync* Description: Send Soft Font Download data to the specified file pointer.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync******************************************************************************
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync******************************************************************************
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Hewlett-Packard Company
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 International Business Machines Corp.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Sun Microsystems, Inc.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Novell, Inc.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Digital Equipment Corp.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Fujitsu Limited
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Hitachi, Ltd.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPermission is hereby granted, free of charge, to any person obtaining a copy
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncof this software and associated documentation files (the "Software"), to deal
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncin the Software without restriction, including without limitation the rights
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccopies of the Software, and to permit persons to whom the Software is
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfurnished to do so, subject to the following conditions:
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncThe above copyright notice and this permission notice shall be included in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncall copies or substantial portions of the Software.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncExcept as contained in this notice, the names of the copyright holders shall
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncnot be used in advertising or otherwise to promote the sale, use or other
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdealings in this Software without prior written authorization from said
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccopyright holders.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char fid; /* sfont font ID */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char cindex; /* character indext */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PclFontMapRec, PclFontMapPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int h_offset;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int v_offset;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int width;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int height;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int font_pitch;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char *raster_top;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PclCharDataRec, *PclCharDataPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char spacing;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int pitch;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int cellheight;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int cellwidth;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ascent;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int descent;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PclFontDescRec, *PclFontDescPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PclFontHead8Rec {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *fontname;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PclFontDescRec fd;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short fid;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char *index;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync struct _PclFontHead8Rec *next;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PclFontHead8Rec, *PclFontHead8Ptr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PclFontHead16Rec {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *fontname;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PclFontDescRec fd;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short cur_fid;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char cur_cindex;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PclFontMapRec **index;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short firstCol;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short lastCol;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short firstRow;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short lastRow;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync struct _PclFontHead16Rec *next;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PclFontHead16Rec, *PclFontHead16Ptr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PclInternalFontRec {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *fontname;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync float pitch;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync float height;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *pcl_font_name;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *spacing;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync struct _PclInternalFontRec *next;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PclInternalFontRec, *PclInternalFontPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PclFontHead8Ptr phead8;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PclFontHead16Ptr phead16;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PclInternalFontPtr pinfont;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char cur_max_fid;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PclSoftFontInfoRec, *PclSoftFontInfoPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define MONOSPACE 0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PROPSPACE 1
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* _PCLFONTS_H */