misc/libfreetype/src/bdf/bdf.h
changeset 9372 915436ff64ab
parent 9371 f3840de881bd
child 9373 b769a8e38cbd
--- a/misc/libfreetype/src/bdf/bdf.h	Thu Jul 25 23:16:06 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-/*
- * Copyright 2000 Computing Research Labs, New Mexico State University
- * Copyright 2001, 2002, 2003, 2004 Francesco Zappa Nardelli
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
- * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-#ifndef __BDF_H__
-#define __BDF_H__
-
-
-/*
- * Based on bdf.h,v 1.16 2000/03/16 20:08:51 mleisher
- */
-
-#include <ft2build.h>
-#include FT_INTERNAL_OBJECTS_H
-#include FT_INTERNAL_STREAM_H
-
-
-FT_BEGIN_HEADER
-
-
-/* Imported from bdfP.h */
-
-#define _bdf_glyph_modified( map, e )                 \
-          ( (map)[(e) >> 5] & ( 1 << ( (e) & 31 ) ) )
-#define _bdf_set_glyph_modified( map, e )              \
-          ( (map)[(e) >> 5] |= ( 1 << ( (e) & 31 ) ) )
-#define _bdf_clear_glyph_modified( map, e )             \
-          ( (map)[(e) >> 5] &= ~( 1 << ( (e) & 31 ) ) )
-
-/* end of bdfP.h */
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* BDF font options macros and types.                                    */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#define BDF_CORRECT_METRICS  0x01 /* Correct invalid metrics when loading. */
-#define BDF_KEEP_COMMENTS    0x02 /* Preserve the font comments.           */
-#define BDF_KEEP_UNENCODED   0x04 /* Keep the unencoded glyphs.            */
-#define BDF_PROPORTIONAL     0x08 /* Font has proportional spacing.        */
-#define BDF_MONOWIDTH        0x10 /* Font has mono width.                  */
-#define BDF_CHARCELL         0x20 /* Font has charcell spacing.            */
-
-#define BDF_ALL_SPACING  ( BDF_PROPORTIONAL | \
-                           BDF_MONOWIDTH    | \
-                           BDF_CHARCELL     )
-
-#define BDF_DEFAULT_LOAD_OPTIONS  ( BDF_CORRECT_METRICS | \
-                                    BDF_KEEP_COMMENTS   | \
-                                    BDF_KEEP_UNENCODED  | \
-                                    BDF_PROPORTIONAL    )
-
-
-  typedef struct  bdf_options_t_
-  {
-    int            correct_metrics;
-    int            keep_unencoded;
-    int            keep_comments;
-    int            font_spacing;
-
-  } bdf_options_t;
-
-
-  /* Callback function type for unknown configuration options. */
-  typedef int
-  (*bdf_options_callback_t)( bdf_options_t*  opts,
-                             char**          params,
-                             unsigned long   nparams,
-                             void*           client_data );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* BDF font property macros and types.                                   */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-#define BDF_ATOM      1
-#define BDF_INTEGER   2
-#define BDF_CARDINAL  3
-
-
-  /* This structure represents a particular property of a font. */
-  /* There are a set of defaults and each font has their own.   */
-  typedef struct  bdf_property_t_
-  {
-    char*  name;         /* Name of the property.   */
-    int    format;       /* Format of the property. */
-    int    builtin;      /* A builtin property.     */
-    union
-    {
-      char*          atom;
-      long           l;
-      unsigned long  ul;
-
-    } value;             /* Value of the property.  */
-
-  } bdf_property_t;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* BDF font metric and glyph types.                                      */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  typedef struct  bdf_bbx_t_
-  {
-    unsigned short  width;
-    unsigned short  height;
-
-    short           x_offset;
-    short           y_offset;
-
-    short           ascent;
-    short           descent;
-
-  } bdf_bbx_t;
-
-
-  typedef struct  bdf_glyph_t_
-  {
-    char*           name;        /* Glyph name.                          */
-    long            encoding;    /* Glyph encoding.                      */
-    unsigned short  swidth;      /* Scalable width.                      */
-    unsigned short  dwidth;      /* Device width.                        */
-    bdf_bbx_t       bbx;         /* Glyph bounding box.                  */
-    unsigned char*  bitmap;      /* Glyph bitmap.                        */
-    unsigned long   bpr;         /* Number of bytes used per row.        */
-    unsigned short  bytes;       /* Number of bytes used for the bitmap. */
-
-  } bdf_glyph_t;
-
-
-  typedef struct  _hashnode_
-  {
-    const char*  key;
-    size_t       data;
-
-  } _hashnode, *hashnode;
-
-
-  typedef struct  hashtable_
-  {
-    int        limit;
-    int        size;
-    int        used;
-    hashnode*  table;
-
-  } hashtable;
-
-
-  typedef struct  bdf_glyphlist_t_
-  {
-    unsigned short  pad;          /* Pad to 4-byte boundary.              */
-    unsigned short  bpp;          /* Bits per pixel.                      */
-    long            start;        /* Beginning encoding value of glyphs.  */
-    long            end;          /* Ending encoding value of glyphs.     */
-    bdf_glyph_t*    glyphs;       /* Glyphs themselves.                   */
-    unsigned long   glyphs_size;  /* Glyph structures allocated.          */
-    unsigned long   glyphs_used;  /* Glyph structures used.               */
-    bdf_bbx_t       bbx;          /* Overall bounding box of glyphs.      */
-
-  } bdf_glyphlist_t;
-
-
-  typedef struct  bdf_font_t_
-  {
-    char*            name;           /* Name of the font.                   */
-    bdf_bbx_t        bbx;            /* Font bounding box.                  */
-
-    long             point_size;     /* Point size of the font.             */
-    unsigned long    resolution_x;   /* Font horizontal resolution.         */
-    unsigned long    resolution_y;   /* Font vertical resolution.           */
-
-    int              spacing;        /* Font spacing value.                 */
-
-    unsigned short   monowidth;      /* Logical width for monowidth font.   */
-
-    long             default_char;   /* Encoding of the default glyph.      */
-
-    long             font_ascent;    /* Font ascent.                        */
-    long             font_descent;   /* Font descent.                       */
-
-    unsigned long    glyphs_size;    /* Glyph structures allocated.         */
-    unsigned long    glyphs_used;    /* Glyph structures used.              */
-    bdf_glyph_t*     glyphs;         /* Glyphs themselves.                  */
-
-    unsigned long    unencoded_size; /* Unencoded glyph struct. allocated.  */
-    unsigned long    unencoded_used; /* Unencoded glyph struct. used.       */
-    bdf_glyph_t*     unencoded;      /* Unencoded glyphs themselves.        */
-
-    unsigned long    props_size;     /* Font properties allocated.          */
-    unsigned long    props_used;     /* Font properties used.               */
-    bdf_property_t*  props;          /* Font properties themselves.         */
-
-    char*            comments;       /* Font comments.                      */
-    unsigned long    comments_len;   /* Length of comment string.           */
-
-    bdf_glyphlist_t  overflow;       /* Storage used for glyph insertion.   */
-
-    void*            internal;       /* Internal data for the font.         */
-
-    unsigned long    nmod[2048];     /* Bitmap indicating modified glyphs.  */
-    unsigned long    umod[2048];     /* Bitmap indicating modified          */
-                                     /* unencoded glyphs.                   */
-    unsigned short   modified;       /* Boolean indicating font modified.   */
-    unsigned short   bpp;            /* Bits per pixel.                     */
-
-    FT_Memory        memory;
-
-    bdf_property_t*  user_props;
-    unsigned long    nuser_props;
-    hashtable        proptbl;
-
-  } bdf_font_t;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* Types for load/save callbacks.                                        */
-  /*                                                                       */
-  /*************************************************************************/
-
-
-  /* Error codes. */
-#define BDF_MISSING_START       -1
-#define BDF_MISSING_FONTNAME    -2
-#define BDF_MISSING_SIZE        -3
-#define BDF_MISSING_CHARS       -4
-#define BDF_MISSING_STARTCHAR   -5
-#define BDF_MISSING_ENCODING    -6
-#define BDF_MISSING_BBX         -7
-
-#define BDF_OUT_OF_MEMORY      -20
-
-#define BDF_INVALID_LINE      -100
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* BDF font API.                                                         */
-  /*                                                                       */
-  /*************************************************************************/
-
-  FT_LOCAL( FT_Error )
-  bdf_load_font( FT_Stream       stream,
-                 FT_Memory       memory,
-                 bdf_options_t*  opts,
-                 bdf_font_t*    *font );
-
-  FT_LOCAL( void )
-  bdf_free_font( bdf_font_t*  font );
-
-  FT_LOCAL( bdf_property_t * )
-  bdf_get_property( char*        name,
-                    bdf_font_t*  font );
-
-  FT_LOCAL( bdf_property_t * )
-  bdf_get_font_property( bdf_font_t*  font,
-                         const char*  name );
-
-
-FT_END_HEADER
-
-
-#endif /* __BDF_H__ */
-
-
-/* END */