summaryrefslogtreecommitdiff
path: root/src/tfm/tfmdrivr.h
blob: 1d3c60cab1ad7867de3c4b1d85c72bb295f5a669 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/****************************************************************************
 *
 * tfmdrivr.h
 *
 *   FreeType font driver for TeX's TFM FONT files
 *
 * Copyright 1996-2018 by
 * David Turner, Robert Wilhelm, and Werner Lemberg.
 *
 * This file is part of the FreeType project, and may only be used,
 * modified, and distributed under the terms of the FreeType project
 * license, LICENSE.TXT.  By continuing to use, modify, or distribute
 * this file you indicate that you have read the license and
 * understand and accept it fully.
 *
 */


#ifndef TFMDRIVR_H_
#define TFMDRIVR_H_

#include <ft2build.h>
#include FT_INTERNAL_DRIVER_H

#include "tfm.h"


FT_BEGIN_HEADER

  typedef struct TFM_BitmapRec_
  {
    FT_UInt              bbx_width, bbx_height;
    FT_UInt              off_x, off_y;
    FT_UInt              mv_x,  mv_y;
    FT_Byte              *bitmap;
    FT_UInt              raster;

  } TFM_BitmapRec, *TFM_Bitmap;

  typedef struct TFM_GlyphRec_
  {
    /* Font Info */
    int             type;         /* METRIC_TYPE_xxx */
    int             type_aux;     /* METRIC_TYPE_AUX_xxx */
    UINT4           cs;
    /* Metrics */
    UINT4           ds;
    double          design_size;
    double          slant;
    unsigned int    begin_char, end_char;
    INT4            *width, *height, *depth;
    /* Font bounding box */
    double          font_bbx_w, font_bbx_h;
    double          font_bbx_xoff, font_bbx_yoff;

  } TFM_GlyphRec, *TFM_Glyph;

  typedef struct  TFM_FaceRec_
  {
    FT_FaceRec        root;
    TFM_Glyph         tfm_glyph;
  } TFM_FaceRec, *TFM_Face;


  FT_EXPORT_VAR( const FT_Driver_ClassRec )  tfm_driver_class;


FT_END_HEADER


#endif /* TFMDRIVR_H_ */


/* END */