From 540347496a7d0aa7f379a181a410917d0fa3bc34 Mon Sep 17 00:00:00 2001 From: Parth Wazurkar Date: Wed, 25 Jul 2018 13:47:13 +0530 Subject: [PATCH] [vf] Define VF_FaceRec and other format specific structures. * src/vf/vfdrivr.h: Define VF_Bitmap, VF, and TFM and other structures to hold `vf' format specific values and define VF_FaceRec to accomodate them. --- src/vf/vfdrivr.h | 76 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/src/vf/vfdrivr.h b/src/vf/vfdrivr.h index 96693fb57..35e4926d4 100644 --- a/src/vf/vfdrivr.h +++ b/src/vf/vfdrivr.h @@ -37,10 +37,84 @@ FT_BEGIN_HEADER } VF_BitmapRec, *VF_Bitmap; + typedef struct VF_Rec_ + { + char *vf_path; + UINT4 cs; + UINT4 ds; + double design_size; + double point_size; + double dpi_x, dpi_y; + double mag_x, mag_y; + /* TFM */ + char *tfm_path; + TFM tfm; + /* subfotns */ + struct s_vf_subfont *subfonts; + int subfonts_opened; + int default_subfont; + /* file offset to character packets (offset in vf file) */ + long offs_char_packet; + }VF_Rec, *VF; + + typedef struct s_vf_char_packet + { + UINT4 pl; + UINT4 cc; + UINT4 tfm; + unsigned char *dvi; + }s_vf_char_packet *VF_CHAR_PACKET; + + typedef struct s_vf_char_packet_tbl + { + int npackets; + VF_CHAR_PACKET packets; + }s_vf_char_packet_tbl *VF_CHAR_PACKET_TBL; + + typedef struct s_vf_subfont + { + UINT4 k; + UINT4 s; + UINT4 d; + UINT4 a; + UINT4 l; + char *n; + int font_id; /* font id in VFlib */ + struct s_vf_subfont *next; + }s_vf_subfont *VF_SUBFONT; + + typedef struct TFM_Rec_ + { + /* Font Info */ + 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_Rec, *TFM; + + struct s_vf_dvi_stack + { + long h, v, w, x, y, z; + int f; + int font_id; + struct s_vf_dvi_stack *next; + }; + typedef struct s_vf_dvi_stack *VF_DVI_STACK; + +#define STACK(X) dvi_stack->next->X + typedef struct VF_FaceRec_ { FT_FaceRec root; - /* TO-DO */ + VF vf; } VF_FaceRec, *VF_Face;