+++ /dev/null
-HEADER
- DATE
- MD5
-MAIN
-
-nodes
-
- 0 hlist_node hlist_node
- 1 vlist_node vlist_node
- 2 rule_node dir_node ***
- 3 ins_node rule_node
- 4 mark_node ins_node
- 5 adjust_node disp_node ***
- 6 ligature_node mark_node
- 7 disc_node adjust_node
- 8 whatsit_node ligature_node
- 9 math_node disc_node
-10 glue_node whatsit_node
-11 kern_node math_node
-12 penalty_node glue_node
-13 unset_node kern_node
-14 penalty_node
-15 unset_node
-16
-
-font
- font_dir[]
-
-catcode
- 16 kanji
- 17 kana
- 18 other_kchar
-
-
+++ /dev/null
-OBJS = itex.o local.o md5file.o openinou.o subroute.o\
- tex0.o tex1.o tex2.o tex3.o tex4.o tex5.o tex6.o\
- tex7.o tex8.o tex9.o texmf.o yandy_pool.o
-
-CC = gcc
+++ /dev/null
-Basic
- origin: h, v
- compress level: all, object
- pdf scheme: pdf, pdf/a
- encrypt: yes, no
-
-PDFTeX
-
-1. output_one_char ->
- pdf_begin_string(f)
- pdf_print_char(f, c)
- adv_char_width(f, c)
-
-2. pdf_begin_string ->
- f != prev_f -> pdf_end_string() pdf_set_font(f)
-
-3. pdf_end_string
- ? pdf_doing_sting
-
-4. pdf_end_string_nl
-
-5. adv_char_width(f, c)
- pdf_h += ?
-
-6. pdf_set_rule
/* Default editor command string: `%d' expands to the line number where
TeX or Metafont found an error and `%s' expands to the name of the
file. The environment variables TEXEDIT and MFEDIT override this. */
-#ifndef EDITOR
-/* #define EDITOR "vi +%d %s" */
-/* #define EDITOR "epsilon +%d %s" */ /* better default for DOS bkph */
- #define EDITOR "c:\\yandy\\WinEdt\\WinEdt.exe [Open('%s');SelLine(%d,7)]"
-#endif
/* If you don't want to be able to potentially share format/base files
across architectures, define NO_FMTBASE_SWAP. Sharable files load
+++ /dev/null
-/* c-ctype.h: ASCII-safe versions of the <ctype.h> macros.
-
- Copyright 1992 Karl Berry
- Copyright 2007 TeX Users Group
- Copyright 2014 Clerk Ma
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifndef C_CTYPE_H
-#define C_CTYPE_H
-
-#include <ctype.h>
-
-/* Be sure we have `isascii'. */
-#ifndef isascii
- #define isascii(c) 1
-#endif
-
-#define ISALNUM(c) (isascii (c) && isalnum(c))
-#define ISALPHA(c) (isascii (c) && isalpha(c))
-#define ISASCII isascii
-#define ISCNTRL(c) (isascii (c) && iscntrl(c))
-#define ISDIGIT(c) (isascii (c) && isdigit (c))
-#define ISGRAPH(c) (isascii (c) && isgraph(c))
-#define ISLOWER(c) (isascii (c) && islower(c))
-#define ISPRINT(c) (isascii (c) && isprint(c))
-#define ISPUNCT(c) (isascii (c) && ispunct(c))
-#define ISSPACE(c) (isascii (c) && isspace(c))
-#define ISUPPER(c) (isascii (c) && isupper(c))
-#define ISXDIGIT(c) (isascii (c) && isxdigit(c))
-#define TOASCII toascii
-#define TOLOWER(c) (ISUPPER (c) ? tolower (c) : (c))
-#define TOUPPER(c) (ISLOWER (c) ? toupper (c) : (c))
-
-/* This isn't part of the usual <ctype.h>, but it's useful sometimes. */
-#ifndef isblank
-#define isblank(c) ((c) == ' ' || (c) == '\t')
-#endif
-
-
-/* Here's why this mess is necessary:
-
-From: meyering@cs.utexas.edu (Jim Meyering)
-Date: Wed, 25 Nov 1992 09:52:33 -0600
-Subject: ss-921123: using isascii with <ctype.h> macros
-
- Yesterday some cursory regression testing found that GNU od
- (in an upcoming release of textutils) generated incorrect output
- when run on an SGI indigo because isprint ('\377') returned true.
- Of course, '\377' is not a printing character; the problem lay
- in using isprint without first making sure its integer argument
- corresponded to an ascii code.
-
- MORAL: always guard uses of ctype macros with isascii if it's available.
- An obvious alternative is to avoid <ctype.h> and define and use your
- own versions of the ctype macros.
-
- A pretty clean approach to using <ctype.h> and isascii was
- suggested by David MacKenzie:
-
- #ifndef isascii
- #define isascii(c) 1
- #endif
-
- #define ISDIGIT(c) (isascii (c) && isdigit (c))
- #define ISPRINT(c) (isascii (c) && isprint (c))
- ...
-
- then, use ISDIGIT, etc. instead of isdigit, etc. */
-
-#endif /* not C_CTYPE_H */
+++ /dev/null
-/* c-errno.h: <errno.h> and the errno variable.
-
- Copyright 1992 Karl Berry
- Copyright 2007 TeX Users Group
- Copyright 2014 Clerk Ma
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifndef C_ERRNO_H
-#define C_ERRNO_H
-
-#include <errno.h>
-#ifndef errno
- extern int errno;
-#endif
-
-#endif /* not C_ERRNO_H */
+++ /dev/null
-/* c-limits.h: include the system parameter file.
-
- Copyright 1992 Karl Berry
- Copyright 2007 TeX Users Group
- Copyright 2014 Clerk Ma
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifndef C_LIMITS_H
-#define C_LIMITS_H
-
-#include "c-std.h"
-
-#ifdef LIMITS_H_MISSING
- #include <sys/param.h>
-#else
- #include <limits.h>
-#endif
-
-#if !defined (FLOAT_H_MISSING) && !defined (FLT_MAX)
- #include <float.h>
-#endif
-
-#endif /* not C_LIMITS_H */
+++ /dev/null
-/* c-memstr.h: memcpy, strchr, etc.
-
- Copyright 1992 Karl Berry
- Copyright 2007 TeX Users Group
- Copyright 2014 Clerk Ma
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifndef C_MEMSTR_H
-#define C_MEMSTR_H
-
-#include "c-std.h"
-
-/* Just to be complete, we make both the system V/ANSI and the BSD
- versions of the string functions available. */
-#if STDC_HEADERS || HAVE_STRING_H
- #include <string.h>
- /* An ANSI string.h and pre-ANSI memory.h might conflict. */
- #if !STDC_HEADERS && HAVE_MEMORY_H
- #include <memory.h>
- #endif /* not STDC_HEADERS and HAVE_MEMORY_H */
- #define index strchr
- #define rindex strrchr
-
- #ifndef bcmp
- #define bcmp(s1, s2, len) memcmp ((s1), (s2), (len))
- #endif
- #ifndef bcopy
- #define bcopy(from, to, len) memcpy ((to), (from), (len))
- #endif
- #ifndef bzero
- #define bzero(s, len) memset ((s), 0, (len))
- #endif
-#else /* not STDC_HEADERS and not HAVE_STRING_H */
-
- #include <strings.h>
-
- #define strchr index
- #define strrchr rindex
-
- #define memcmp(s1, s2, n) bcmp ((s1), (s2), (n))
- #define memcpy(to, from, len) bcopy ((from), (to), (len))
-
- extern char *strtok(char *, const char *); /* extern char *strtok(); */
- extern char *strstr(const char *, const char *); /* extern char *strstr(); */
-#endif /* not STDC_HEADERS and not HAVE_STRING_H */
-
-#endif /* not C_MEMSTR_H */
+++ /dev/null
-/* c-minmax.h: define INT_MIN, etc. Assume a 32-bit machine if the
- values aren't defined.
-
- Copyright 1992 Karl Berry
- Copyright 2007 TeX Users Group
- Copyright 2014 Clerk Ma
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifndef C_MINMAX_H
-#define C_MINMAX_H
-
-#include "c-limits.h"
-
-/* Declared in <limits.h> on ANSI C systems. If the system doesn't
- define it, we use the minimum ANSI values -- except for `int'; we
- assume 32-bit integers. */
-
-#ifndef SCHAR_MIN
- #define SCHAR_MIN (-127)
-#endif
-#ifndef SCHAR_MAX
- #define SCHAR_MAX 128
-#endif
-#ifndef UCHAR_MAX
- #define UCHAR_MAX 255
-#endif
-
-#ifndef SHRT_MIN
- #define SHRT_MIN (-32767)
-#endif
-#ifndef SHRT_MAX
- #define SHRT_MAX 32767
-#endif
-#ifndef USHRT_MAX
- #define USHRT_MAX 65535
-#endif
-
-#ifndef INT_MIN
- #define INT_MIN (-2147483647)
-#endif
-#ifndef INT_MAX
- #define INT_MAX 2147483647
-#endif
-#ifndef UINT_MAX
- #define UINT_MAX 4294967295
-#endif
-
-#ifndef LONG_MIN
- #define LONG_MIN INT_MIN
-#endif
-#ifndef LONG_MAX
- #define LONG_MAX INT_MAX
-#endif
-#ifndef ULONG_MAX
- #define ULONG_MAX UINT_MAX
-#endif
-
-/* Declared in <float.h> on ANSI C systems. */
-#ifndef DBL_MIN
- #define DBL_MIN 1e-37
-#endif
-#ifndef DBL_MAX
- #define DBL_MAX 1e+37
-#endif
-
-#ifndef FLT_MIN
- #define FLT_MIN 1e-37
-#endif
-#ifndef FLT_MAX
- #define FLT_MAX 1e+37
-#endif
-
-#endif /* not C_MINMAX_H */
+++ /dev/null
-/* c-name_max.h: define NAME_MAX, the maximum length of a single
- component in a pathname.
-
- Copyright 1992 Karl Berry
- Copyright 2007 TeX Users Group
- Copyright 2014 Clerk Ma
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifndef C_NAME_MAX_H
-#define C_NAME_MAX_H
-
-#include "c-limits.h"
-
-#ifdef _POSIX_VERSION
- #ifndef NAME_MAX
- #define NAME_MAX pathconf ("/", _PC_NAME_MAX)
- #endif
-#endif /* not _POSIX_VERSION */
-
-/* Most likely the system will truncate filenames if it is not POSIX,
- and so we can use the BSD value here. */
-#ifndef _POSIX_NAME_MAX
- #define _POSIX_NAME_MAX 255
-#endif
-
-#ifndef NAME_MAX
- #define NAME_MAX _POSIX_NAME_MAX
-#endif
-
-#endif /* not C_NAME_MAX_H */
+++ /dev/null
-/* c-pathch.h: define the characters which separate components of
- pathnames and environment variable paths.
-
- Copyright 1992 Karl Berry
- Copyright 2007 TeX Users Group
- Copyright 2014 Clerk Ma
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifndef C_PATHCH_H
-#define C_PATHCH_H
-
-/* What separates pathname components? */
-#ifndef PATH_SEP
- #ifdef VMS
- #define PATH_SEP ':'
- #define PATH_SEP_STRING ":"
- #else
- #ifdef MSDOS
- #define PATH_SEP '/'
- #define PATH_SEP_STRING "/"
- #else
- #ifdef VMCMS
- #define PATH_SEP ' '
- #define PATH_SEP_STRING " "
- #else
- #define PATH_SEP '/'
- #define PATH_SEP_STRING "/"
- #endif /* not VM/CMS */
- #endif /* not DOS */
- #endif /* not VMS */
-#endif /* not PATH_SEP */
-
-/* What separates elements in environment variable path lists? */
-#ifndef PATH_DELIMITER
- #ifdef VMS
- #define PATH_DELIMITER ','
- #define PATH_DELIMITER_STRING ","
- #else
- #ifdef MSDOS
- #define PATH_DELIMITER ';'
- #define PATH_DELIMITER_STRING ";"
- #else
- #ifdef VMCMS
- #define PATH_DELIMITER ' '
- #define PATH_DELIMITER_STRING " "
- #else
- #define PATH_DELIMITER ':'
- #define PATH_DELIMITER_STRING ":"
- #endif /* not VM/CMS */
- #endif /* not DOS */
- #endif /* not VMS */
-#endif /* not PATH_DELIMITER */
-
-#endif /* not C_PATHCH_H */
+++ /dev/null
-/* c-unistd.h: ensure we have constants from <unistd.h>. Included from
- c-std.h.
-
- Copyright 1992 Karl Berry
- Copyright 2007 TeX Users Group
- Copyright 2014 Clerk Ma
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifndef C_UNISTD_H
-#define C_UNISTD_H
-
-/* #if HAVE_UNISTD_H */
-#ifdef HAVE_UNISTD_H
- #include <unistd.h>
-#endif
-
-#include "c-std.h"
-
-/* For fseek. */
-#ifndef SEEK_SET
- #define SEEK_SET 0
- #define SEEK_CUR 1
- #define SEEK_END 2
-#endif /* not SEEK_SET */
-
-/* For access. */
-#ifndef F_OK
- #define F_OK 0
- #define X_OK 1
- #define W_OK 2
- #define R_OK 4
-#endif /* not F_OK */
-
-#ifndef STDIN_FILENO
- #define STDIN_FILENO 0
- #define STDOUT_FILENO 1
- #define STDERR_FILENO 2
-#endif /* not STDIN_FILENO */
-
-#endif /* not C_UNISTD_H */
#include "c-auto.h"
/* ``Standard'' headers. */
-#include "c-std.h"
-//#include <kpathsea/c-std.h>
+//#include "c-std.h"
+#include <kpathsea/c-auto.h>
+#include <kpathsea/c-std.h>
/* Everybody uses PATH_MAX. */
#include <kpathsea/c-pathmx.h>
/* #if !defined(DOS) || defined(PHARLAP) */ /* 1999/Jan/9 */
/* Returns true if FN is a directory (or a symlink to a directory). */
-extern bool dir_p P1H(string fn);
+extern bool dir_p (string fn);
/* Returns true if FN is directory with no subdirectories. */
-extern bool leaf_dir_p P1H(string fn);
+extern bool leaf_dir_p (string fn);
/* #endif */ /* not DOS, or DOS with PHARLAP */
+++ /dev/null
-/* Copyright 1992 Karl Berry
- Copyright 2007 TeX Users Group
- Copyright 2014 Clerk Ma
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA.
-
- * The C compiler ignores most unnecessary casts (i.e., casts of something
- * to its own type). However, for structures, it doesn't. Therefore,
- * we have to redefine these two macros so that they don't try to cast
- * the argument (a memory_word) as a memory_word.
- */
-#undef eq_destroy
-#define eq_destroy(x) eq_destroy_(x)
-#undef print_word
-#define print_word(x) print_word_(x)
+++ /dev/null
-/* Declarations for getopt.
- Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
-
- This program 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.
-
- This program 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
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifndef _GETOPT_H
-#define _GETOPT_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns EOF, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
- for unrecognized options. */
-
-extern int opterr;
-
-/* Describe the long-named options requested by the application.
- The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
- of `struct option' terminated by an element containing a name which is
- zero.
-
- The field `has_arg' is:
- no_argument (or 0) if the option does not take an argument,
- required_argument (or 1) if the option requires an argument,
- optional_argument (or 2) if the option takes an optional argument.
-
- If the field `flag' is not NULL, it points to a variable that is set
- to the value given in the field `val' when the option is found, but
- left unchanged if the option is not found.
-
- To have a long-named option do something other than set an `int' to
- a compiled-in constant, such as set a value from `optarg', set the
- option's `flag' field to zero and its `val' field to a nonzero
- value (the equivalent single-letter option character, if there is
- one). For long options that have a zero `flag' field, `getopt'
- returns the contents of the `val' field. */
-
-struct option
-{
-#if __STDC__
- const char *name;
-#else
- char *name;
-#endif
- /* has_arg can't be an enum because some compilers complain about
- type mismatches in all the code that assumes it is an int. */
- int has_arg;
- int *flag;
- int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'. */
-
-#define no_argument 0
-#define required_argument 1
-#define optional_argument 2
-
-#if __STDC__
-#if defined(__GNU_LIBRARY__)
-/* Many other libraries have conflicting prototypes for getopt, with
- differences in the consts, in stdlib.h. To avoid compilation
- errors, only prototype getopt for the GNU C library. */
-extern int getopt (int argc, char *const *argv, const char *shortopts);
-#else /* not __GNU_LIBRARY__ */
-extern int getopt();
-#endif /* not __GNU_LIBRARY__ */
-extern int getopt_long (int argc, char *const *argv, const char *shortopts,
- const struct option *longopts, int *longind);
-extern int getopt_long_only (int argc, char *const *argv,
- const char *shortopts,
- const struct option *longopts, int *longind);
-
-/* Internal only. Users should not call this directly. */
-extern int _getopt_internal (int argc, char *const *argv,
- const char *shortopts,
- const struct option *longopts, int *longind,
- int long_only);
-#else /* not __STDC__ */
-extern int getopt();
-extern int getopt_long();
-extern int getopt_long_only();
-
-extern int _getopt_internal();
-#endif /* not __STDC__ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GETOPT_H */
# Release version
# CFLAGS=/c /Ge /Gy /Gf /Ox /W4 /DMSDOS /DTeX /DPHARLAP /DNDEBUG /Ilib /YX
CFLAGS=/nologo /c /MT /GF /Gy /Ox /W4 /DMSDOS /DTeX /DPHARLAP /DNDEBUG \
- /I"kpathsea"
-# /I"libharu/include" /I"libharu/win32/include"
+ /I"kpathsea"
+#/I"libharu/include" /I"libharu/win32/include"
# Debugging version
# CFLAGS=/c /Ge /Gy /Gf /Od /Zi /W4 /DMSDOS /DTeX /DPHARLAP /Ilib /YX
yandy_pool.obj yandytex.res md5.obj md5file.obj
# ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
-# # LIBHARU
-# lib/libhpdf/libhpdf.lib lib/zlib/zlib.lib
texmf.exe: $(objs)
$(LINK) $(LFLAGS) texmf itex openinou subroute local \
tex0 tex1 tex2 tex3 tex4 tex5 tex6 tex7 tex8 tex9 \
- yandy_pool yandytex.res md5 md5file kpathsea\kpathsea.lib
-# kpathsea\kpathsea.lib libharu\libhpdf.lib libpng\libpng.lib zlib\zlib.lib
+ yandy_pool yandytex.res md5 md5file kpathsea\kpathsea.lib
+# libharu\libhpdf.lib libpng\libpng.lib zlib\zlib.lib
copy texmf.exe yandytex.exe
del ..\yandy\bin\texmf.exe
copy texmf.exe ..\yandy\bin\texmf.exe
#include <setjmp.h>
#include <assert.h>
-#pragma hdrstop
-
#define EXTERN extern
#include "texd.h"
jump_used++;
exit(final_code);
}
-// round a double being careful about very large and very small values
-// used only in tex0.c, a Pascal function
/* texk/web2c/lib/zround.c */
integer zround (double r)
{
return i;
}
-/***********************************************************************/
-// following used only in itex.c on pool file
-/* Return true if we're at the end of FILE, else false. This implements */
-/* Pascal's `eof' builtin. */
-/* It differs from C feof in that the latter is not true at end of file
- unless an attempt has actually been made to read past EOF */
/* texk/web2c/lib/eofeoln.c */
bool test_eof (FILE * file)
{
return false;
}
-/* Return true on end-of-line in FILE or at the end of FILE, else false. */
/* texk/web2c/lib/eofeoln.c */
bool eoln (FILE * file)
{
return c == '\n' || c == '\r' || c == EOF; // ???
/* Type mismatch (return) (int/enum) ? */
}
-/***********************************************************************/
-/****************************************************************************************/
-#ifdef MALLOCLINE
-
-#define BLOCK_SIZE 64
-
-// this returns newly allocated character string
-/* kpathsea/line.c */
-char *read_line (FILE * f)
-{
- int c;
- unsigned int limit = BLOCK_SIZE;
- unsigned int loc = 0;
- char * line = (char *) xmalloc (limit);
-
-/* while ((c = getc (f)) != EOF && c != '\n') */
- while ((c = getc (f)) != EOF && c != '\n' && c != '\r')
- {
- line[loc] = (char) c;
- loc++;
-/* By testing after the assignment, we guarantee that we'll always
- have space for the null we append below. We know we always
- have room for the first char, since we start with BLOCK_SIZE. */
- if (loc == limit)
- {
- limit += BLOCK_SIZE;
- line = (char *) xrealloc (line, limit);
- }
- }
-
-/* If we read anything, return it. This can't represent a last
- ``line'' which doesn't end in a newline, but so what. */
-/* This is Tom Rokicki's mistake -- lets fix it ! 1994/March/18 */
- if (c != EOF)
- {
-/* Terminate the string. We can't represent nulls in the file,
- either. Again, it doesn't matter. */
- line[loc] = 0;
- }
- else if (loc > 0)
- { /* c == EOF, but line not empty 1994/March/18 */
- line[loc] = 0;
- }
- else
- { /* Real EOF --- at end of file. */
- free (line);
- line = NULL;
- }
-
- return line;
-}
-#endif
/* Modified version 97/May/17 to avoid malloc for every line read ... */
char * read_a_line (FILE *f, char *line, int limit)
int c;
int loc = 0;
-/* while ((c = getc (f)) != EOF && c != '\n') */
while ((c = getc (f)) != EOF)
{
if (c == '\n' || c == '\r')
if (loc > 0) break;
else continue; /* ignore \r\n and blank lines */
}
+
line[loc] = (char) c;
loc++;
+
if (loc == limit - 1)
- { /* very unlikely */
+ {
sprintf(log_line, " ERROR: line too long\n");
show_line(log_line, 1);
show_line(line, 0);
line[loc] = '\0'; /* terminate */
return line; /* and return */
}
- else return(NULL); /* true EOF */
+ else
+ return(NULL); /* true EOF */
}
/****************************************************************************************/
{
string found_name = NULL;
- if (buffer == filename) {
+ if (buffer == filename)
+ {
show_line("buffer == filename\n", 1);
}
*buffer = '\0'; /* "" in case we fail */
- if (open_trace_flag) {
+ if (open_trace_flag)
+ {
sprintf(log_line, "Find path for `%s' ", filename);
show_line(log_line, 0);
}
/* ignore current directory for TFM files ? */ /* 1994/Jan/24 */
- if (!current_tfm && strstr(filename, ".tfm") != NULL &&
- strcmp(*dir_list, "./") == 0) {
- if (open_trace_flag) {
+ if (!current_tfm && strstr(filename, ".tfm") != NULL && strcmp(*dir_list, "./") == 0)
+ {
+ if (open_trace_flag)
+ {
sprintf(log_line, "Ignoring `.' for %s ", filename);
show_line(log_line, 0);
}
+
dir_list++; /* step over first entry in dir list */
}
- if (trace_flag && open_trace_flag) { /* debugging trace 1994/Jan/8 */
+ if (trace_flag && open_trace_flag)
+ {
char **pstrs;
pstrs = dir_list;
show_line("\n", 0);
sprintf(log_line, "Find path for `%s' ", filename);
show_line(log_line, 0);
show_line("- IN: ", 0);
- while (*pstrs != NULL) {
+
+ while (*pstrs != NULL)
+ {
sprintf(log_line, "%s ", *pstrs);
show_line(log_line, 0);
pstrs++;
}
+
show_line("\n", 0);
}
/* could also try and catch `nul.tex' first - but who cares about speed ? */
/* needed to add this since `access' gets the wrong answer */
/* that is, `nul' is a file that can be opened, but `access' says not so */
- if (strcmp(filename, "nul") == 0) strcpy(buffer, filename);
+ if (strcmp(filename, "nul") == 0)
+ strcpy(buffer, filename);
/* If FILENAME is absolute or explicitly relative, or if DIR_LIST is
null, only check if FILENAME is readable. */
/* if (absolute_p (filename) || dir_list == NULL) */ /* 94/Jan/6 */
- else if (absolute_p (filename) || dir_list == NULL) {
- if (file_method) found_name = file_p (filename);
- else found_name = readable (filename);
- if (found_name != NULL) strcpy(buffer, found_name);
- else *buffer = '\0';
+ else if (absolute_p (filename) || dir_list == NULL)
+ {
+ if (file_method)
+ found_name = file_p (filename);
+ else
+ found_name = readable (filename);
+
+ if (found_name != NULL)
+ strcpy(buffer, found_name);
+ else
+ *buffer = '\0';
}
- else { /* Test if FILENAME is in any of the directories in DIR_LIST. */
+ else /* Test if FILENAME is in any of the directories in DIR_LIST. */
+ {
char *s;
int sourceflag;
int firsttime=1;
- while (*dir_list != NULL) {
+
+ while (*dir_list != NULL)
+ {
/* if item is current directory, look in source file directory first */
/* provided usesourcedirectory flag is set and workingdirectory in use */
s = *dir_list;
sourceflag = 0;
- if (strcmp(s, "./") == 0) {
+
+ if (strcmp(s, "./") == 0)
+ {
if (firsttime && usesourcedirectory && workingdirectory &&
- source_direct != NULL && *source_direct != '\0') {
+ source_direct != NULL && *source_direct != '\0')
+ {
s = source_direct;
- if (trace_flag) {
+
+ if (trace_flag)
+ {
sprintf(log_line, "Using %s dir %s %s\n", "source", s, "X");
show_line(log_line, 0);
}
+
sourceflag = 1; /* avoid increment of list below */
firsttime = 0; /* special stuff only first time */
}
- else if (trace_flag) {
+ else if (trace_flag)
+ {
sprintf(log_line, "Using %s dir %s %s\n", "current", s, "X");
show_line(log_line, 0);
}
}
- if (trace_flag) {
+
+ if (trace_flag)
+ {
sprintf(log_line, "XCONCAT %s %s in find_path_filename\n",
s, filename);
show_line(log_line, 0);
if (total_pages == 0)
{
/* HPDF init.*/
-// yandy_pdf = HPDF_New(error_handler, NULL);
-// yandy_pdf->pdf_version = HPDF_VER_17;
-// HPDF_SetCompressionMode(yandy_pdf, HPDF_COMP_ALL);
- /* */
+
+/*
+ yandy_pdf = HPDF_New(error_handler, NULL);
+ yandy_pdf->pdf_version = HPDF_VER_17;
+ HPDF_SetCompressionMode(yandy_pdf, HPDF_COMP_ALL);
+*/
dvi_out(pre);
dvi_out(id_byte);
dvi_four(25400000L); /* magic DVI scale factor */
page_loc = dvi_offset + dvi_ptr;
dvi_out(bop);
-// yandy_font = HPDF_GetFont (yandy_pdf, "Helvetica", NULL);
-// pdf_font_def wrapper?
-// pdf_special_out ? fig?
-// yandy_page = HPDF_AddPage (yandy_pdf);
-// HPDF_Page_SetWidth (yandy_page, 210);
-// HPDF_Page_SetHeight (yandy_page, 210);
-// HPDF_Page_SetFontAndSize (yandy_page, yandy_font, 10);
-// HPDF_Page_BeginText (yandy_page);
-// HPDF_Page_MoveTextPos(yandy_page, 10, 190);
-// HPDF_Page_ShowText (yandy_page, "The page");
-// HPDF_Page_EndText (yandy_page);
+
+/*
+ yandy_font = HPDF_GetFont (yandy_pdf, "Helvetica", NULL);
+ yandy_page = HPDF_AddPage (yandy_pdf);
+ HPDF_Page_SetWidth (yandy_page, hsize / 65536);
+ HPDF_Page_SetHeight (yandy_page, vsize / 65536);
+ HPDF_Page_SetFontAndSize (yandy_page, yandy_font, 10);
+ HPDF_Page_BeginText (yandy_page);
+ HPDF_Page_MoveTextPos(yandy_page, 10, 190);
+ HPDF_Page_ShowText (yandy_page, "The page");
+ HPDF_Page_EndText (yandy_page);
+*/
for (k = 0; k <= 9; k++)
dvi_four(count(k));
b_close(dvi_file);
}
-// HPDF_SaveToFile (yandy_pdf, "texput.pdf");
-// HPDF_Free(yandy_pdf);
+/*
+ HPDF_SaveToFile (yandy_pdf, "texput.pdf");
+ HPDF_Free(yandy_pdf);
+*/
if (log_opened)
{
+//#include "hpdf.h"
#define show_line(str,flag) fputs(str,stdout)
#define show_char(chr) putc(chr, stdout)
extern char log_line[];
#define dumpcore abort
#endif
-#ifndef unix
-#ifdef TeX
-#define write_dvi(a, b) \
- if (fwrite ((char *) &dvi_buf[a], sizeof (dvi_buf[a]), \
- (int) ((b) - (a) + 1), dvi_file) != (size_t) ((b) - (a) + 1)) \
+#define write_dvi(a, b) \
+ if ((size_t) fwrite ((char *) &dvi_buf[a], sizeof (dvi_buf[a]), \
+ (size_t) ((size_t)(b) - (size_t)(a) + 1), dvi_file) \
+ != (size_t) ((size_t)(b) - (size_t)(a) + 1)) \
FATAL_PERROR ("\n! dvi file")
-#endif /* not TeX */
-#endif /* unix */
extern int do_dump (char *, int, int, FILE *);
extern int do_undump (char *, int, int, FILE *);