summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParth Wazurkar <parthwazurkar@gmail.com>2018-07-25 13:47:13 +0530
committerParth Wazurkar <parthwazurkar@gmail.com>2018-07-25 13:47:13 +0530
commit540347496a7d0aa7f379a181a410917d0fa3bc34 (patch)
treed4fac3ddb67037ba5abbdc5bbb861c7e2db2f758
parent1cffbb92e5def3324a8170ec9238b8982cc81599 (diff)
downloadfreetype2-540347496a7d0aa7f379a181a410917d0fa3bc34.tar.gz
[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.
-rw-r--r--src/vf/vfdrivr.h76
1 files changed, 75 insertions, 1 deletions
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;