home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / X / mit / fonts / lib / fs / FSOpenFont.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-07-16  |  2.2 KB  |  58 lines

  1. /* $XConsortium: FSOpenFont.c,v 1.3 91/07/16 20:32:14 keith Exp $ */
  2.  
  3. /* @(#)FSOpenFont.c    4.1    91/05/02
  4.  * Copyright 1990 Network Computing Devices;
  5.  * Portions Copyright 1987 by Digital Equipment Corporation and the
  6.  * Massachusetts Institute of Technology
  7.  *
  8.  * Permission to use, copy, modify, and distribute this protoype software
  9.  * and its documentation to Members and Affiliates of the MIT X Consortium
  10.  * any purpose and without fee is hereby granted, provided
  11.  * that the above copyright notice appear in all copies and that both that
  12.  * copyright notice and this permission notice appear in supporting
  13.  * documentation, and that the names of Network Computing Devices, Digital or
  14.  * MIT not be used in advertising or publicity pertaining to distribution of
  15.  * the software without specific, written prior permission.
  16.  *
  17.  * NETWORK COMPUTING DEVICES, DIGITAL AND MIT DISCLAIM ALL WARRANTIES WITH
  18.  * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  19.  * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES, DIGITAL OR MIT BE
  20.  * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  21.  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  22.  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  23.  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  24.  */
  25.  
  26. #include    "FSlibint.h"
  27.  
  28. Font
  29. FSOpenBitmapFont(svr, hint, fmask, name, otherid)
  30.     FSServer   *svr;
  31.     fsBitmapFormat hint;
  32.     fsBitmapFormatMask fmask;
  33.     char       *name;
  34.     Font       *otherid;
  35. {
  36.     unsigned char nbytes;
  37.     fsOpenBitmapFontReq *req;
  38.     fsOpenBitmapFontReply reply;
  39.     Font        fid;
  40.     char        buf[256];
  41.  
  42.     GetReq(OpenBitmapFont, req);
  43.     nbytes = name ? strlen(name) : 0;
  44.     buf[0] = (char) nbytes;
  45.     bcopy(name, &buf[1], nbytes);
  46.     nbytes++;
  47.     req->fid = fid = svr->resource_id++;
  48.     req->format_hint = hint;
  49.     req->format_mask = fmask;
  50.     req->length += (nbytes + 3) >> 2;
  51.     _FSSend(svr, buf, (long) nbytes);
  52.     (void) _FSReply(svr, (fsReply *) & reply,
  53.      (sizeof(fsOpenBitmapFontReply) - sizeof(fsGenericReply)) >> 2, fsFalse);
  54.     *otherid = reply.otherid;
  55.     SyncHandle();
  56.     return fid;
  57. }
  58.