summaryrefslogtreecommitdiff
path: root/include/freetype/internal/tfm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/freetype/internal/tfm.h')
-rw-r--r--include/freetype/internal/tfm.h41
1 files changed, 24 insertions, 17 deletions
diff --git a/include/freetype/internal/tfm.h b/include/freetype/internal/tfm.h
index 6478344d5..1a91eb497 100644
--- a/include/freetype/internal/tfm.h
+++ b/include/freetype/internal/tfm.h
@@ -46,19 +46,21 @@ FT_BEGIN_HEADER
typedef struct TFM_FontInfoRec_
{
/* Font Info */
- FT_ULong cs;
+ FT_Long cs; /* Check Sum */
/* Metrics */
FT_ULong ds, fs; /* Design Size */
FT_UInt design_size;
- FT_UInt slant;
+ FT_ULong slant;
FT_UInt begin_char, end_char;
FT_Long *width, *height, *depth;
/* Font bounding box */
- FT_UInt font_bbx_w, font_bbx_h;
- FT_UInt font_bbx_xoff, font_bbx_yoff;
+ FT_Long font_bbx_w, font_bbx_h;
+ FT_Long font_bbx_xoff, font_bbx_yoff;
} TFM_FontInfoRec, *TFM_FontInfo;
+ #define RDS2PT(rds) (tfm->design_size * ((FT_Long)(rds)/(FT_Long)(1<<20)))
+
/*************************************************************************/
/*************************************************************************/
/***** *****/
@@ -69,6 +71,23 @@ FT_BEGIN_HEADER
typedef struct TFM_ParserRec_* TFM_Parser;
+ typedef struct TFM_Parser_FuncsRec_
+ {
+ FT_Error
+ (*init)( TFM_Parser parser,
+ FT_Memory memory,
+ FT_Stream stream );
+
+ FT_Error
+ (*parse_metrics)( TFM_Parser parser );
+
+ void
+ (*done)( TFM_Parser parser );
+
+ } TFM_Parser_FuncsRec;
+
+
+
/**************************************************************************
*
* @struct:
@@ -110,19 +129,7 @@ FT_BEGIN_HEADER
typedef struct TFM_ServiceRec_
{
- FT_Error
- (*init)( TFM_Parser parser,
- FT_Memory memory,
- FT_Stream stream );
-
- FT_Error
- (*parse_metrics)( TFM_Parser parser );
-
- FT_Error
- (*parse_kern)( TFM_Parser parser );
-
- void
- (*done)( TFM_Parser parser );
+ const TFM_Parser_FuncsRec* tfm_parser_funcs;
} TFM_ServiceRec, *TFM_Service;