~ubuntu-branches/ubuntu/maverick/luatex/maverick

« back to all changes in this revision

Viewing changes to source/texk/web2c/luatexdir/font/mapfile.h

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Preining
  • Date: 2009-12-25 09:47:05 UTC
  • mfrom: (1.1.9 upstream) (4.2.3 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091225094705-y33rpflo8t4u9nag
Tags: 0.50.0-1
* new upstream release
* disable fix-hurd-ftbfs patch, included upstream
* disable upstram-fixes, included upstream
* disable ubuntu_libpoppler-0.11, not needed anymore

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
   You should have received a copy of the GNU General Public License along
18
18
   with LuaTeX; if not, see <http://www.gnu.org/licenses/>. */
19
19
 
20
 
/* $Id: mapfile.h 2331 2009-04-18 16:39:50Z hhenkel $ */
 
20
/* $Id: mapfile.h 3282 2009-12-21 21:55:47Z hhenkel $ */
21
21
 
22
22
#ifndef MAPFILE_H
23
23
#  define MAPFILE_H
24
24
 
25
 
#  define F_INCLUDED          0x01
26
 
#  define F_SUBSETTED         0x02
27
 
#  define F_STDT1FONT         0x04
28
 
#  define F_SUBFONT           0x08
29
 
#  define F_TYPE1             0x10
30
 
#  define F_TRUETYPE          0x20
31
 
#  define F_OTF               0x40
32
 
#  define F_CIDKEYED          0x80
 
25
#  define F_INCLUDED          (1 << 0)
 
26
#  define F_SUBSETTED         (1 << 1)
 
27
#  define F_STDT1FONT         (1 << 2)
 
28
#  define F_SUBFONT           (1 << 3)
 
29
#  define F_TYPE1             (1 << 4)
 
30
#  define F_TRUETYPE          (1 << 5)
 
31
#  define F_OTF               (1 << 6)
 
32
#  define F_CIDKEYED          (1 << 7)
 
33
#  define F_SLANTSET          (1 << 8)
 
34
#  define F_EXTENDSET         (1 << 9)
 
35
#  define F_INUSE             (1 << 10)
 
36
 
 
37
typedef enum { MAPFILE, MAPLINE } maptype;
 
38
extern void process_map_item(char *s, int type);
33
39
 
34
40
#  define set_included(fm)    ((fm)->type |= F_INCLUDED)
35
41
#  define set_subsetted(fm)   ((fm)->type |= F_SUBSETTED)
38
44
#  define set_type1(fm)       ((fm)->type |= F_TYPE1)
39
45
#  define set_truetype(fm)    ((fm)->type |= F_TRUETYPE)
40
46
#  define set_opentype(fm)    ((fm)->type |= F_OTF)
41
 
#  define set_subfont(fm)     ((fm)->type |= F_SUBFONT)
42
47
#  define set_cidkeyed(fm)    ((fm)->type |= F_CIDKEYED)
 
48
#  define set_slantset(fm)    ((fm)->type |= F_SLANTSET)
 
49
#  define set_extendset(fm)   ((fm)->type |= F_EXTENDSET)
 
50
#  define set_inuse(fm)       ((fm)->type |= F_INUSE)
43
51
 
44
52
#  define unset_included(fm)  ((fm)->type &= ~F_INCLUDED)
45
53
#  define unset_subsetted(fm) ((fm)->type &= ~F_SUBSETTED)
48
56
#  define unset_type1(fm)     ((fm)->type &= ~F_TYPE1)
49
57
#  define unset_truetype(fm)  ((fm)->type &= ~F_TRUETYPE)
50
58
#  define unset_opentype(fm)  ((fm)->type &= ~F_OTF)
51
 
#  define unset_subfont(fm)   ((fm)->type &= ~F_SUBFONT)
52
59
#  define unset_cidkeyed(fm)  ((fm)->type &= ~F_CIDKEYED)
 
60
#  define unset_slantset(fm)  ((fm)->type &= ~F_SLANTSET)
 
61
#  define unset_extendset(fm) ((fm)->type &= ~F_EXTENDSET)
 
62
#  define unset_inuse(fm)     ((fm)->type &= ~F_INUSE)
53
63
 
54
64
#  define is_included(fm)     (((fm)->type & F_INCLUDED) != 0)
55
65
#  define is_subsetted(fm)    (((fm)->type & F_SUBSETTED) != 0)
58
68
#  define is_type1(fm)        (((fm)->type & F_TYPE1) != 0)
59
69
#  define is_truetype(fm)     (((fm)->type & F_TRUETYPE) != 0)
60
70
#  define is_opentype(fm)     (((fm)->type & F_OTF) != 0)
61
 
#  define is_subfont(fm)      (((fm)->type & F_SUBFONT) != 0)
62
71
#  define is_cidkeyed(fm)     (((fm)->type & F_CIDKEYED) != 0)
 
72
#  define is_slantset(fm)     (((fm)->type & F_SLANTSET) != 0)
 
73
#  define is_extendset(fm)    (((fm)->type & F_EXTENDSET) != 0)
 
74
#  define is_inuse(fm)        (((fm)->type & F_INUSE) != 0)
63
75
 
64
76
#  define fm_slant(fm)        (fm)->slant
65
77
#  define fm_extend(fm)       (fm)->extend
71
83
#  define is_builtin(fm)      (!is_fontfile(fm))
72
84
 
73
85
#  define LINK_TFM            0x01
74
 
#  define LINK_PS             0x02
75
86
#  define set_tfmlink(fm)     ((fm)->links |= LINK_TFM)
76
 
#  define set_pslink(fm)      ((fm)->links |= LINK_PS)
77
87
#  define unset_tfmlink(fm)   ((fm)->links &= ~LINK_TFM)
78
 
#  define unset_pslink(fm)    ((fm)->links &= ~LINK_PS)
79
88
#  define has_tfmlink(fm)     ((fm)->links & LINK_TFM)
80
 
#  define has_pslink(fm)      ((fm)->links & LINK_PS)
81
89
 
82
90
/**********************************************************************/
83
91
 
86
94
    char *tfm_name;             /* TFM file name (1st field in map line) */
87
95
    char *sfd_name;             /* subfont directory name, like @sfd_name@ */
88
96
    char *ps_name;              /* PostScript name (optional 2nd field in map line) */
89
 
    integer fd_flags;           /* font descriptor /Flags (PDF Ref. section 5.7.1) */
90
 
    integer slant;              /* SlantFont */
91
 
    integer extend;             /* ExtendFont */
 
97
    int fd_flags;               /* font descriptor /Flags (PDF Ref. section 5.7.1) */
 
98
    int slant;                  /* SlantFont */
 
99
    int extend;                 /* ExtendFont */
92
100
    char *encname;              /* encoding file name */
93
101
    char *ff_name;              /* font file name */
94
102
    unsigned short type;        /* various flags */
97
105
    /* parameters NOT scanned from the map file: */
98
106
    subfont_entry *subfont;     /* subfont mapping */
99
107
    unsigned short links;       /* link flags from tfm_tree and ps_tree */
100
 
    boolean in_use;             /* true if this structure has been referenced already */
101
108
} fm_entry;
102
109
 
103
110
typedef struct {
107
114
 
108
115
/**********************************************************************/
109
116
 
110
 
fm_entry *lookup_fontmap(char *);
 
117
#  define FONT_SLANT_MIN   -2000
 
118
#  define FONT_SLANT_MAX    2000
 
119
#  define FONT_EXTEND_MIN  -5000
 
120
#  define FONT_EXTEND_MAX   5000
 
121
 
 
122
/**********************************************************************/
 
123
 
111
124
boolean hasfmentry(internalfontnumber);
112
125
void fm_free(void);
113
126
void fm_read_info(void);
114
127
ff_entry *check_ff_exist(char *, boolean);
115
 
void pdfmapfile(integer);
116
 
void pdfmapline(integer);
 
128
void pdfmapfile(int);
 
129
void pdfmapline(int);
117
130
void pdf_init_map_file(string map_name);
118
131
fm_entry *new_fm_entry(void);
119
132
void delete_fm_entry(fm_entry *);