summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/font/luatexfont.h
blob: c3a9e8aeadaad26f9d86e1c09b33b1a852a41639 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* luatexfont.h General font functions
   
   Copyright 2008 Taco Hoekwater <taco@luatex.org>

   This file is part of LuaTeX.

   LuaTeX is free software; you can redistribute it and/or modify it under
   the terms of the GNU General Public License as published by the Free
   Software Foundation; either version 2 of the License, or (at your
   option) any later version.

   LuaTeX is distributed in the hope that it will be useful, but WITHOUT
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
   License for more details.

   You should have received a copy of the GNU General Public License along
   with LuaTeX; if not, see <http://www.gnu.org/licenses/>. */

/* $Id: luatexfont.h 2271 2009-04-12 23:42:21Z oneiros $ */

#ifndef LUATEXFONT_H
#  define LUATEXFONT_H 1

#  include "ptexlib.h"
#  include "sfnt.h"

/* texfont.c */
extern charinfo *copy_charinfo(charinfo * ci);

/* tounicode.c */
extern integer write_cid_tounicode(fo_entry * fo, internalfontnumber f);

/* vfpacket.c */
extern void replace_packet_fonts(internal_font_number f, integer * old_fontid,
                                 integer * new_fontid, int count);
extern integer *packet_local_fonts(internal_font_number f, integer * num);

/* writeccf.c */
extern void writetype1w(fd_entry * fd);

/* writetype0.c */
extern void writetype0(fd_entry * fd);

/* writetype2.c */
extern void writetype2(fd_entry * fd);
extern unsigned long cidtogid_obj;
extern pdf_obj *pdf_new_stream(void);
extern void pdf_add_stream(pdf_obj * stream, unsigned char *buf, long len);
extern void pdf_release_obj(pdf_obj * stream);

/* writet3.c */
extern FILE *t3_file;

extern unsigned char *t3_buffer;
extern integer t3_size;
extern integer t3_curbyte;

#  define t3_read_file() readbinfile(t3_file,&t3_buffer,&t3_size)
#  define t3_close()     xfclose(t3_file, cur_file_name)
#  define t3_getchar()   t3_buffer[t3_curbyte++]
#  define t3_eof()      (t3_curbyte>t3_size)

#  define t3_prefix(s)    (!strncmp(t3_line_array, s, strlen(s)))
#  define t3_putchar(c)   pdfout(c)

#endif