22
22
#include <string.h>
24
24
static const char _svn_version[] =
25
"$Id: subfont.c 2448 2009-06-08 07:43:50Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.6/source/texk/web2c/luatexdir/font/subfont.c $";
25
"$Id: subfont.c 3261 2009-12-18 11:38:21Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.50.0/source/texk/web2c/luatexdir/font/subfont.c $";
27
27
static struct avl_table *sfd_tree = NULL;
29
29
static unsigned char *sfd_buffer = NULL;
30
static integer sfd_size = 0;
31
static integer sfd_curbyte = 0;
30
static int sfd_size = 0;
31
static int sfd_curbyte = 0;
33
33
#define SFD_BUF_SIZE SMALL_BUF_SIZE
35
35
#define sfd_close() xfclose(sfd_file, cur_file_name)
36
#define sfd_open() (sfd_file = fopen((char *) nameoffile + 1, FOPEN_RBIN_MODE))
36
#define sfd_open(a) (sfd_file = fopen((char *)(a), FOPEN_RBIN_MODE))
38
38
#define sfd_read_file() readbinfile(sfd_file,&sfd_buffer,&sfd_size)
39
39
#define sfd_getchar() sfd_buffer[sfd_curbyte++]
145
callback_id = callback_defined(find_sfd_file_callback);
146
if (callback_id > 0) {
147
if (run_callback(callback_id, "S->S", cur_file_name, &ftemp)) {
148
if (ftemp != NULL && strlen(ftemp)) {
151
cur_file_name = xstrdup(ftemp);
156
cur_file_name = kpse_find_file(cur_file_name, kpse_sfd_format, 0);
158
callback_id = callback_defined(read_sfd_file_callback);
159
if (callback_id > 0) {
160
if (!(run_callback(callback_id, "S->bSd", cur_file_name,
161
&file_opened, &sfd_buffer, &sfd_size) &&
162
file_opened && sfd_size > 0)) {
163
pdftex_warn("cannot open SFD file for reading");
164
cur_file_name = NULL;
169
pdftex_warn("cannot open SFD file for reading");
170
cur_file_name = NULL;
144
cur_file_name = luatex_find_file(sfd_name, find_sfd_file_callback);
146
callback_id = callback_defined(read_sfd_file_callback);
147
if (callback_id > 0) {
148
if (!(run_callback(callback_id, "S->bSd", cur_file_name,
149
&file_opened, &sfd_buffer, &sfd_size) &&
150
file_opened && sfd_size > 0)) {
151
pdftex_warn("cannot open SFD file for reading");
152
cur_file_name = NULL;
156
if (!sfd_open(cur_file_name)) {
157
pdftex_warn("cannot open SFD file for reading");
158
cur_file_name = NULL;
177
166
tex_printf("%s", cur_file_name);