2
* ttf.h - a heder file for TrueType driver with FreeType.
3
* by Hirotsugu Kakugawa
7
* Copyright (C) 1996-1998 Hirotsugu Kakugawa.
10
* This file is part of the VFlib Library. This library is free
11
* software; you can redistribute it and/or modify it under the terms of
12
* the GNU Library General Public License as published by the Free
13
* Software Foundation; either version 2 of the License, or (at your
14
* option) any later version. This library is distributed in the hope
15
* that it will be useful, but WITHOUT ANY WARRANTY; without even the
16
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
17
* PURPOSE. See the GNU Library General Public License for more details.
18
* You should have received a copy of the GNU Library General Public
19
* License along with this library; if not, write to the Free Software
20
* Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23
#ifndef __VFLIB_TTF_H__
25
#define __VFLIB_TTF_H__
28
#define FONTCLASS_NAME "truetype"
30
#define VF_CAPE_TTF_FONT_NUMBER "font-number"
31
#define VF_CAPE_TTF_PLATFORM_ID "platform-id"
32
#define VF_CAPE_TTF_ENCODING_ID "encoding-id"
33
#define VF_CAPE_TTF_MAPPING_ID "mapping-id"
34
#define VF_CAPE_TTF_ENCODING_FORCE "encoding-force"
35
#define VF_CAPE_TTF_HINTING "hinting"
36
#define VF_CAPE_TTF_JISX0212_R47ES "jisx0212-row47-empty-sjis"
38
#define TTF_ENV_FONT_DIR "VFLIB_TTF_FONTS"
40
#ifndef DEFAULT_EXTENSIONS
41
# define DEFAULT_EXTENSIONS ".ttf, .ttc"
44
#define POINTS_PER_INCH 72.27
46
#define DEFAULT_POINT_SIZE 12.0
47
#define DEFAULT_PIXEL_SIZE 24
48
#define DEFAULT_DIRECTION 'H' /* horizontal */
52
#define TTF_OL_ONCURVE 0x01
53
#define TTF_OL_X_BYTE 0x02
54
#define TTF_OL_Y_BYTE 0x04
55
#define TTF_OL_REPEAT_FLAGS 0x08
56
#define TTF_OL_SHORT_X_IS_POSITIVE 0x10
57
#define TTF_OL_NEXT_X_IS_ZERO 0x10
58
#define TTF_OL_SHORT_Y_IS_POSITIVE 0x20
59
#define TTF_OL_NEXT_Y_IS_ZERO 0x20
61
#define TTF_OL_COMP_ARG1_AND_2_ARE_WORDS (1<<0)
62
#define TTF_OL_COMP_ARGS_ARE_XY_VALUES (1<<1)
63
#define TTF_OL_COMP_ROUND_XY_TO_GRID (1<<2)
64
#define TTF_OL_COMP_WE_HAVE_A_SCALE (1<<3)
65
#define TTF_OL_COMP_RESERVED (1<<4)
66
#define TTF_OL_COMP_MORE_COMPONENTS (1<<5)
67
#define TTF_OL_COMP_WE_HAVE_AN_X_AND_Y_SCALE (1<<6)
68
#define TTF_OL_COMP_WE_HAVE_A_TWO_BY_TWO (1<<7)
69
#define TTF_OL_COMP_WE_HAVE_INSTRUCTIONS (1<<8)
70
#define TTF_OL_COMP_USE_MY_METRICS (1<<9)
72
#define TT_MAP_ID_SEARCH -1
74
#define TT_PLAT_ID_ANY -1
75
#define TT_PLAT_ID_APPLE 0
76
#define TT_PLAT_ID_MACINTOSH 1
77
#define TT_PLAT_ID_ISO 2
78
#define TT_PLAT_ID_MICROSOFT 3
80
#define TT_ENC_ID_ANY -1
81
#define TT_ENC_ID_ISO_ASCII 0
82
#define TT_ENC_ID_ISO_10646 1
83
#define TT_ENC_ID_ISO_8859_1 2
85
#define TT_ENC_ID_MS_SYMBOL 0
86
#define TT_ENC_ID_MS_UNICODE 1
87
#define TT_ENC_ID_MS_SHIFT_JIS 2
88
#define TT_ENC_ID_MS_BIG5 3
89
#define TT_ENC_ID_MS_RPC 4
90
#define TT_ENC_ID_MS_WANSUNG 5
91
#define TT_ENC_ID_MS_JOHAB 6
92
#define TT_ENC_ID_APPLE_DEFAULT 0
93
#define TT_ENC_ID_APPLE_UNICODE_1_1 1
94
#define TT_ENC_ID_APPLE_ISO_10646 2
95
#define TT_ENC_ID_APPLE_UNICODE_2_0 3
96
#define TT_ENC_ID_MAC_ROMAN 0
97
#define TT_ENC_ID_MAC_JAPANESE 1
98
#define TT_ENC_ID_MAC_TRADITIONAL_CHINESE 2
99
#define TT_ENC_ID_MAC_KOREAN 3
100
#define TT_ENC_ID_MAC_ARABIC 4
101
#define TT_ENC_ID_MAC_HEBREW 5
102
#define TT_ENC_ID_MAC_GREEK 6
103
#define TT_ENC_ID_MAC_RUSSIAN 7
104
#define TT_ENC_ID_MAC_RSYMBOL 8
105
#define TT_ENC_ID_MAC_DEVANAGARI 9
106
#define TT_ENC_ID_MAC_GURMUKHI 10
107
#define TT_ENC_ID_MAC_GUJARATI 11
108
#define TT_ENC_ID_MAC_ORIYA 12
109
#define TT_ENC_ID_MAC_BENGALI 13
110
#define TT_ENC_ID_MAC_TAMIL 14
111
#define TT_ENC_ID_MAC_TELUGU 15
112
#define TT_ENC_ID_MAC_KANNADA 16
113
#define TT_ENC_ID_MAC_MALAYALAM 17
114
#define TT_ENC_ID_MAC_SINHALESE 18
115
#define TT_ENC_ID_MAC_BURMESE 19
116
#define TT_ENC_ID_MAC_KHMER 20
117
#define TT_ENC_ID_MAC_THAI 21
118
#define TT_ENC_ID_MAC_LAOTIAN 22
119
#define TT_ENC_ID_MAC_GEORGIAN 23
120
#define TT_ENC_ID_MAC_ARMENIAN 24
121
#define TT_ENC_ID_MAC_MALDIVIAN 25
122
#define TT_ENC_ID_MAC_SIMPLIFIED_CHINESE 25
123
#define TT_ENC_ID_MAC_TIBETAN 26
124
#define TT_ENC_ID_MAC_MONGOLIAN 27
125
#define TT_ENC_ID_MAC_GEEZ 28
126
#define TT_ENC_ID_MAC_SLAVIC 29
127
#define TT_ENC_ID_MAC_VIETNAMESE 30
128
#define TT_ENC_ID_MAC_SINDHI 31
129
#define TT_ENC_ID_MAC_UNINTERP 32
135
typedef unsigned char ttf_byte;
136
typedef char ttf_char;
137
typedef unsigned short ttf_ushort;
138
typedef short ttf_short;
139
typedef unsigned long ttf_ulong;
140
typedef long ttf_long;
141
typedef long ttf_fixed;
142
typedef short ttf_funit;
143
typedef short ttf_fword;
144
typedef unsigned short ttf_ufword;
145
typedef short ttf_f2dot14;
148
ttf_ufword advanceWidth;
152
ttf_ushort advanceHeight;
159
int xMin, yMin, xMax, yMax;
160
ttf_hor_metrics h_met;
161
ttf_ver_metrics v_met;
163
unsigned int *end_points;
165
unsigned char *instructions;
170
typedef ttf_outline *TTF_OUTLINE;
173
#endif /*__VFLIB_TTF_H__*/