[tex4ht-commits] [SCM] tex4ht updated: r922 - in trunk: . lit src

karl at gnu.org.ua karl at gnu.org.ua
Sun May 2 20:19:15 CEST 2021


Author: karl
Date: 2021-05-02 18:19:15 +0000 (Sun, 02 May 2021)
New Revision: 922

Removed:
   trunk/bin/
Modified:
   trunk/lit/Makefile
   trunk/src/tex4ht.c
Log:
remove this top-level bin/ directory from the sources; contained only derived scripts/binaries generated a decade ago

Modified: trunk/lit/Makefile
===================================================================
--- trunk/lit/Makefile	2021-05-02 17:08:51 UTC (rev 921)
+++ trunk/lit/Makefile	2021-05-02 18:19:15 UTC (rev 922)
@@ -451,9 +451,15 @@
 	latex $(tex_opts) $<
 	latex $(tex_opts) $<
 
+$(tex4ht_html5_derived): tex4ht-html5.tex $(common)
+	htlatex $< "xhtml,3,sections+" "" "" $(tex_1opt)
+
 $(tex4ht_info_html4_derived): tex4ht-info-html4.tex $(common_info)
 	htlatex $< "html,3,sections+" "" "" $(tex_1opt)
 
+$(tex4ht_jats_derived): tex4ht-jats.tex $(common)
+	htlatex $< "html,3,sections+" "" "" $(tex_1opt)
+
 $(tex4ht_info_javahelp_derived): tex4ht-info-javahelp.tex $(common_info)
 	htlatex $< "html,sections+" "" "" $(tex_1opt)
 
@@ -484,6 +490,9 @@
 $(tex4ht_jsml_derived): tex4ht-jsml.tex $(common)
 	htlatex $< "html,3,sections+" "" "" $(tex_1opt)
 
+$(tex4ht_mathjax_derived): tex4ht-mathjax.tex
+	htlatex $<  "xhtml,3,next" "" "" $(tex_1opt)
+
 $(tex4ht_mathltx_derived): tex4ht-mathltx.tex $(common)
 	htlatex $< "html,3,sections+" "" "" $(tex_1opt)
 
@@ -501,9 +510,6 @@
 $(tex4ht_moz_derived): tex4ht-moz.tex $(common)
 	htlatex $< "html,3,sections+" "" "" $(tex_1opt)
 
-$(tex4ht_html5_derived): tex4ht-html5.tex $(common)
-	htlatex $< "xhtml,3,sections+" "" "" $(tex_1opt)
-
 $(tex4ht_oo_xtpipes_derived): tex4ht-oo-xtpipes.tex $(common)
 	htlatex $< "xhtml,next,3" "" "" $(tex_1opt)
 
@@ -528,9 +534,6 @@
 $(tex4ht_tei_derived): tex4ht-tei.tex $(common)
 	htlatex $< "html,3,sections+" "" "" $(tex_1opt)
 
-$(tex4ht_jats_derived): tex4ht-jats.tex $(common)
-	htlatex $< "html,3,sections+" "" "" $(tex_1opt)
-
 $(tex4ht_unicode_derived): tex4ht-unicode.tex $(common)
 	htlatex $< "html,3,sections+" "" "" $(tex_1opt)
 
@@ -545,9 +548,6 @@
 
 $(xtpipes_derived): xtpipes.tex $(common)
 	htlatex $< "xhtml,3,next" "" "" $(tex_1opt)
-
-$(tex4ht_mathjax_derived): tex4ht-mathjax.tex
-	htlatex $<  "xhtml,3,next" "" "" $(tex_1opt)
 # Derived files are generated in . and $(wd).
 # (corresponds to src/java for xtpipes.tex)
 

Modified: trunk/src/tex4ht.c
===================================================================
--- trunk/src/tex4ht.c	2021-05-02 17:08:51 UTC (rev 921)
+++ trunk/src/tex4ht.c	2021-05-02 18:19:15 UTC (rev 922)
@@ -1,35 +1,34 @@
 
-/**********************************************************/
-/* tex4ht.c                              Version 1.1 */
-/* Copyright (C) 1996--2009    Eitan M. Gurari            */
-/* Copyright 2009 TeX Users Group                         */
-/* This work may be distributed and/or modified under the */
-/* conditions of the LaTeX Project Public License, either */
-/* version 1.3 of this license or (at your option) any    */
-/* later version. The latest version of this license is   */
-/* in                                                     */
-/*   http://www.latex-project.org/lppl.txt                */
-/* and version 1.3 or later is part of all distributions  */
-/* of LaTeX version 2003/12/01 or later.                  */
-/*                                                        */
-/* This work has the LPPL maintenance status "maintained".*/
-/*                                                        */
-/* The Current Maintainer of this work                    */
-/* is the TeX4ht Project                                  */
-/*                                                        */
-/* If you modify this program your changing its signature */
-/* with a directive of the following form will be         */
-/* appreciated.                                           */
-/*      #define PLATFORM "signature"                      */
-/*                                                        */
-/*                                        tex4ht at tug.org  */
-/*                             http://www.tug.org/tex4ht  */
-/**********************************************************/
+#line 231 "./tex4ht-c.tex"
 
-/* **********************************************
-    Compiler options                            *
-    (uncommented | command line)                *
-------------------------------------------------*
+/* tex4ht.c (2020-06-13-15:31), generated from tex4ht-c.tex
+   Copyright 2009-2018 TeX Users Group
+   Copyright 1996-2009 Eitan M. Gurari
+
+#line 1 "./tex4ht-c.tex"
+
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+ */
+
+#line 245 "./tex4ht-c.tex"
+
+/* Compiler options (uncommented | command line), as comments:
+
        Classic C (CC)             default
 #define ANSI                      ansi-c, c++
 #define DOS_C
@@ -50,41 +49,57 @@
     (uncommented | command line)                *
 ----------------------------------------------- */
 
+#line 8844 "./tex4ht-c.tex"
+
 #ifndef LGFNT
 #define LGFNT "Font(\"%s\",\"%s\",\"%d\",\"%d\")\n"
 #endif
 
 
+#line 10841 "./tex4ht-c.tex"
+
 #ifndef LGCLS
 #define LGCLS "Font_Class(%d,\"%s\"): %s\n"
 #endif
 
 
+#line 11065 "./tex4ht-c.tex"
+
 #ifndef LGPIC
 #define LGPIC "--- needs --- %%1.idv[%%2] ==> %%3 ---\n%"
 #endif
 
 
+#line 11102 "./tex4ht-c.tex"
+
 #ifndef LGSEP
 #define LGSEP "--- characters ---\n"
 #endif
 
 
+#line 11130 "./tex4ht-c.tex"
+
 #ifndef LGTYP
 #define LGTYP ".png"
 #endif
 
 
+#line 13170 "./tex4ht-c.tex"
+
 #ifndef ENVFILE
 
 #endif
 
 
+#line 13552 "./tex4ht-c.tex"
+
 #ifndef TFMDIR
 
 #endif
 
 
+#line 13924 "./tex4ht-c.tex"
+
 #ifndef HTFDIR
 
 #endif
@@ -93,6 +108,8 @@
 /* ******************************************** */
 
 
+#line 294 "./tex4ht-c.tex"
+
 #ifdef BCC32
 #define DOS_WIN32
 #define ANSI
@@ -102,6 +119,8 @@
 
 
 
+#line 305 "./tex4ht-c.tex"
+
 #ifdef BCC
 #define DOS_C
 #define ANSI
@@ -114,6 +133,8 @@
 
 
 
+#line 615 "./tex4ht-c.tex"
+
 #ifdef __DJGPP__
 #define DOS_WIN
 #define ANSI
@@ -137,12 +158,16 @@
 #endif
 #endif
 
+#line 15685 "./tex4ht-c.tex"
+
 #ifdef DOS_WIN32
 #define STRUCT_DIRENT
 #endif
 
 
 
+#line 441 "./tex4ht-c.tex"
+
 #ifdef KPATHSEA
 #ifdef WIN32
 #define KWIN32
@@ -151,20 +176,30 @@
 
 
 
+#line 361 "./tex4ht-c.tex"
+
+#ifdef KPATHSEA
+#include <kpathsea/config.h>
+#endif
 #include <stdio.h>   
 #include <stdlib.h>  
 
 
+#line 375 "./tex4ht-c.tex"
+
 #ifdef HAVE_STRING_H
 #include <string.h>
 #endif
 
 
+#line 457 "./tex4ht-c.tex"
+
 #ifdef WIN32
-#include <windows.h>
 #ifdef KPATHSEA
 #undef CDECL
 #define CDECL                     __cdecl
+#else
+#include <windows.h>
 #endif
 #else
 #ifdef KPATHSEA
@@ -173,12 +208,18 @@
 #endif
 
 
+#line 1036 "./tex4ht-c.tex"
+
 #include <limits.h> 
 
 
+#line 1120 "./tex4ht-c.tex"
+
 #include <signal.h>
 
 
+#line 13767 "./tex4ht-c.tex"
+
 #ifndef F_OK
 #ifdef DOS_WIN32
 #define  F_OK 0               
@@ -199,9 +240,12 @@
 #endif
 
 
+#line 14872 "./tex4ht-c.tex"
 
+
+#line 1231 "./tex4ht-c.tex"
+
 #ifdef KPATHSEA
-#include <kpathsea/config.h>
 #include <kpathsea/c-errno.h>
 #include <kpathsea/c-ctype.h>
 #include <kpathsea/c-fopen.h>
@@ -221,17 +265,25 @@
 
 
 
+#line 15623 "./tex4ht-c.tex"
+
 #ifdef DOS_WIN32
 #include <io.h>
 #endif
 
 
+#line 15674 "./tex4ht-c.tex"
+
 #include <sys/stat.h>
 
 
 
+#line 15692 "./tex4ht-c.tex"
+
 #ifdef HAVE_DIRENT_H
 
+#line 15707 "./tex4ht-c.tex"
+
 #include <dirent.h>
 
 
@@ -240,6 +292,8 @@
 #define STRUCT_DIRECT
 #endif
 
+#line 15712 "./tex4ht-c.tex"
+
 #ifdef HAVE_SYS_NDIR_H
 #include <sys/ndir.h>
 #endif
@@ -255,6 +309,8 @@
 
 
 
+#line 10877 "./tex4ht-c.tex"
+
 #ifdef DOS
 #define HTM
 #endif
@@ -262,6 +318,8 @@
 
 
 
+#line 17267 "./tex4ht-c.tex"
+
 #ifdef DOS
 #define PROTOTYP
 #endif
@@ -275,17 +333,25 @@
 
 
 
+#line 1308 "./tex4ht-c.tex"
 
+
+#line 369 "./tex4ht-c.tex"
+
 #ifndef EXIT_FAILURE
 #define EXIT_FAILURE 1
 #endif
 
 
+#line 1015 "./tex4ht-c.tex"
+
 #if INT_MAX < 2147483647L  
 #define LONG L
 #endif
 
 
+#line 1040 "./tex4ht-c.tex"
+
 #ifdef LONG
 #define INTEGER long
 #else
@@ -294,17 +360,25 @@
 #define U_CHAR char
 
 
+#line 1396 "./tex4ht-c.tex"
+
 #define m_alloc(typ,n) (typ *) malloc_chk((int) ((n) * sizeof(typ)))
 
 
+#line 1558 "./tex4ht-c.tex"
+
 #ifndef PATH_MAX
 #define PATH_MAX 512
 #endif
 
 
+#line 4276 "./tex4ht-c.tex"
+
 #define IGNORED void
 
 
+#line 4568 "./tex4ht-c.tex"
+
 struct files_rec{
   FILE *file, *prev_file;
   char* name;
@@ -312,18 +386,26 @@
 };
 
 
+#line 4669 "./tex4ht-c.tex"
+
 struct sys_call_rec{
   char* filter;
   struct sys_call_rec *next;
 };
 
 
+#line 4850 "./tex4ht-c.tex"
+
 #define HEIGHT 120
 
 
+#line 4892 "./tex4ht-c.tex"
+
 #define NULL_MAP (struct map_line_type*) 0
 
 
+#line 4952 "./tex4ht-c.tex"
+
 #define XRESOLUTION MARGINSP
 #ifdef LONG
 #define YRESOLUTION 786432L
@@ -332,24 +414,36 @@
 #endif
 
 
+#line 5084 "./tex4ht-c.tex"
+
 #define MAX_MAP_LINE 500
 
 
+#line 6038 "./tex4ht-c.tex"
+
 #define idv_int(val)     int_to_dvi((long int) val,4)
 
 
+#line 6293 "./tex4ht-c.tex"
+
 struct halign_rec{
   char * str;
   int    refs;
 };
 
 
+#line 8636 "./tex4ht-c.tex"
+
 #define design_size_to_pt(n)    ((double)n / (double)(1L<<20))
 
 
+#line 8715 "./tex4ht-c.tex"
+
 #define new_font   font_tbl[font_tbl_size]
 
 
+#line 9734 "./tex4ht-c.tex"
+
 #ifdef LONG
 #define MARGINSP 344061L        
 #else
@@ -357,9 +451,13 @@
 #endif
 
 
+#line 10124 "./tex4ht-c.tex"
+
 #define  HTF_ALIAS 10000000
 
 
+#line 10627 "./tex4ht-c.tex"
+
 #ifndef TRUE
 #define TRUE 1
 #endif
@@ -371,25 +469,35 @@
 #endif
 
 
+#line 10869 "./tex4ht-c.tex"
+
 #define GIF_I      "-%x%s"
 #define GIF_II  "-%x-%x%s"
 #define GIF_VII       "%s"
 
 
+#line 10883 "./tex4ht-c.tex"
+
 #ifdef HTM
 #define DOS_GIF_FILE
 #endif
 
 
+#line 11310 "./tex4ht-c.tex"
+
 #define BASE  36
 
 
+#line 11330 "./tex4ht-c.tex"
+
 #define store_bit_I(ch,i)  ch[(i)/8]|=(1<<((i)%8));
 #define store_bit_Z(ch,i)  ch[(i)/8]&=~(1<<((i)%8))
 #define add_bit(ch,i,b)   ch[(i)/8] |= ((b) << ((i)%8))
 #define get_bit(ch,i)     ((ch[(i)/8] >> ((i)%8)) & 1)
 
 
+#line 11675 "./tex4ht-c.tex"
+
 #define gif_open  span_open
 #define gif_alt   span_name
 #define gif_class span_size
@@ -399,24 +507,32 @@
 #define gif_end   end_span
 
 
+#line 13414 "./tex4ht-c.tex"
+
 struct env_c_rec{
   char *option;
   struct env_c_rec  *next;
 };
 
 
+#line 13496 "./tex4ht-c.tex"
+
 #ifndef MAXFDIRS
 #define MAXFDIRS 100
 #endif
 
 
-#if defined(DOS_WIN32) || defined(__DJGPP__)
+#line 15568 "./tex4ht-c.tex"
+
+#if defined(__DJGPP__)
 #define dir_path_slash(str) (is_forward_slash(str)? '/' : '\\')
 #else
 #define dir_path_slash(str)  '/'
 #endif
 
 
+#line 15633 "./tex4ht-c.tex"
+
 #ifndef  S_ISDIR
 #define S_ISDIR(M)  (((M) & _S_IFMT)==_S_IFDIR)   
 #endif
@@ -430,6 +546,8 @@
 #endif
 
 
+#line 15663 "./tex4ht-c.tex"
+
 #if defined(DOS_WIN32) || !defined(S_ISLNK)
 #define LSTAT stat
 #else
@@ -438,23 +556,35 @@
 #define STSTAT stat
 
 
+#line 15883 "./tex4ht-c.tex"
+
 #define MAX_UNI_CODE 20
 
 
+#line 16076 "./tex4ht-c.tex"
+
 #define BASE_A 55
 #define BASE_a 87
 
 
+#line 16737 "./tex4ht-c.tex"
+
 #define get_unt(n)  fget_unt(dvi_file,n)
 
 
+#line 16761 "./tex4ht-c.tex"
+
 #define get_int(n)  fget_int(dvi_file,n)
 
 
+#line 16827 "./tex4ht-c.tex"
+
 #define eq_str(x,y) (!strcmp(x,y))
 #define gt_str(x,y) (strcmp(x,y)>0)
 
 
+#line 17007 "./tex4ht-c.tex"
+
 #define bad_arg            err_i(0)
 #define bad_in_file(name)   err_i_str(1,name)
 #define bad_out_file(name)  err_i_str(2,name)
@@ -464,11 +594,17 @@
 #define bad_dvi             err_i(7)
 
 
+#line 17231 "./tex4ht-c.tex"
+
 #if defined(DOS_WIN32) || defined(__MSDOS__)
 #define READ_BIN_FLAGS "rb"
 #define READ_TEXT_FLAGS "r"
 #define WRITE_BIN_FLAGS "wb"
+#ifdef WIN32
+#define WRITE_TEXT_FLAGS "wb"
+#else
 #define WRITE_TEXT_FLAGS "w"
+#endif
 #else
 #define READ_BIN_FLAGS "r"
 #define READ_TEXT_FLAGS "r"
@@ -477,6 +613,8 @@
 #endif
 
 
+#line 17279 "./tex4ht-c.tex"
+
 #ifdef PROTOTYP
 #define MYVOID void
 #define ARG_I(x) x
@@ -499,10 +637,14 @@
 
 
 
+#line 4212 "./tex4ht-c.tex"
+
 struct hcode_repl_typ { char                  *str;
                         struct hcode_repl_typ *next;  };
 
 
+#line 4738 "./tex4ht-c.tex"
+
 struct count_rec{
    char* str;
    int i, depth, max;
@@ -511,33 +653,47 @@
 };
 
 
+#line 4830 "./tex4ht-c.tex"
+
 struct ch_map_rec{
   char* line;
   int max, chars;
 };
 
 
+#line 6669 "./tex4ht-c.tex"
+
 struct stack_entry{
   long  int x_val, y_val;
   INTEGER dx_1, dx_2, dy_1, dy_2;
   BOOL text_on;
   BOOL 
+#line 12464 "./tex4ht-c.tex"
+
 accented
 
 ;
   
+#line 6348 "./tex4ht-c.tex"
+
 struct halign_rec *halign[8];
 BOOL halign_on, halign_info, row_no, col_no;
 
 
+#line 6697 "./tex4ht-c.tex"
+
 int stack_id;
 struct group_info * begin;
 struct stack_end_entry * end;
 
 
+#line 7789 "./tex4ht-c.tex"
+
 struct group_path * path_start, * path_end;
 
 
+#line 12872 "./tex4ht-c.tex"
+
 char *class_open, *class_close,
      *temp_class_open, *temp_class_close;
 BOOL temp_class_del, ignore_subclass_del, active_class_del,
@@ -547,6 +703,8 @@
 };
 
 
+#line 6704 "./tex4ht-c.tex"
+
 struct group_info{
   int stack_id;
   U_CHAR *info;
@@ -554,12 +712,16 @@
 };
 
 
+#line 6762 "./tex4ht-c.tex"
+
 struct stack_end_entry{
   struct stack_end_entry *next;
   U_CHAR *send;
 };
 
 
+#line 7444 "./tex4ht-c.tex"
+
 struct del_stack_entry{
   struct del_stack_entry *next;
   U_CHAR ch;
@@ -567,6 +729,8 @@
 };
 
 
+#line 7530 "./tex4ht-c.tex"
+
 struct send_back_entry{
   struct send_back_entry *next;
   U_CHAR *send;
@@ -574,6 +738,8 @@
 };
 
 
+#line 7794 "./tex4ht-c.tex"
+
 struct group_path{
   U_CHAR action;
   U_CHAR *path;
@@ -582,19 +748,27 @@
 };
 
 
+#line 8620 "./tex4ht-c.tex"
+
 struct font_entry {
  INTEGER num;
  INTEGER scale;
  INTEGER design_sz;
  
+#line 8772 "./tex4ht-c.tex"
+
 INTEGER mag;
 
 
  
+#line 8776 "./tex4ht-c.tex"
+
 char *family_name, *font_size;
 
 
  
+#line 9446 "./tex4ht-c.tex"
+
  INTEGER design_pt;     
  int char_f, char_l;    
  U_CHAR *char_wi;
@@ -611,19 +785,27 @@
 
 
  
+#line 9954 "./tex4ht-c.tex"
+
 char *name, *gif_on, *ch_str, ch255;  
 unsigned U_CHAR **str, *ch, *gif1;
 
 
+#line 12073 "./tex4ht-c.tex"
+
 unsigned U_CHAR *accent, *accented;
 unsigned int *accent_array, *accented_array, accent_N, accented_N;
 
 
  
+#line 12764 "./tex4ht-c.tex"
+
 char *math, *math_closing;
 
 
  
+#line 8941 "./tex4ht-c.tex"
+
 INTEGER layout_dir;
 unsigned long rgba_color;
 
@@ -631,11 +813,15 @@
 };
 
 
+#line 10274 "./tex4ht-c.tex"
+
 struct html_font_rec{  char* name;
                        int   i;     };
 
 
+#line 11222 "./tex4ht-c.tex"
 
+
 struct gif_file_rec{
     U_CHAR                code[4];
     U_CHAR                *name;
@@ -643,18 +829,26 @@
 
 
 
+#line 11863 "./tex4ht-c.tex"
+
 struct css_ext_rec{  char* name;
                      struct css_ext_rec *next;     };
 
 
+#line 11973 "./tex4ht-c.tex"
+
 struct visited_file_rec{  char *name;
        struct visited_file_rec *next;     };
 
 
+#line 13655 "./tex4ht-c.tex"
+
 struct env_var_rec{  char* base;
                      struct env_var_rec *next;     };
 
 
+#line 13733 "./tex4ht-c.tex"
+
 struct cache_font_rec{  char* dir;
                         struct cache_file_rec * cache_file;
                         struct cache_font_rec* next;     };
@@ -662,24 +856,34 @@
                         U_CHAR *                 file;     };
 
 
+#line 13854 "./tex4ht-c.tex"
+
 struct htf_com_rec{  char* name;
                      struct htf_com_rec* next;     };
 
 
+#line 16042 "./tex4ht-c.tex"
+
 struct charset_rec{ int  ch;
                     char* str; };
 
 
+#line 16454 "./tex4ht-c.tex"
+
 struct htf_4hf_rec { int   ch, type1, type2;
                      char* str; };
 
 
 
+#line 528 "./tex4ht-c.tex"
+
 #ifdef WIN32
 static U_CHAR dirname[PATH_MAX];
 #endif
 
 
+#line 625 "./tex4ht-c.tex"
+
 static BOOL dos_file_names =
 #ifdef DOS_GIF_FILE
   TRUE
@@ -689,36 +893,56 @@
 ;
 
 
+#line 1381 "./tex4ht-c.tex"
+
 static FILE*  dot_file;
 
 
+#line 1572 "./tex4ht-c.tex"
+
 static FILE* dvi_file;
 
 
+#line 1629 "./tex4ht-c.tex"
+
 static U_CHAR *ext = NULL;
 
 
+#line 1670 "./tex4ht-c.tex"
+
 static char* job_name;
 static int   job_name_n;
 
 
+#line 1779 "./tex4ht-c.tex"
+
 static U_CHAR *no_root_file;
 
 
+#line 1840 "./tex4ht-c.tex"
+
 static FILE *out_file  = (FILE *) 0,
      *root_file = (FILE *) 0,
      *cur_o_file = (FILE *) 0;
 
 
+#line 2166 "./tex4ht-c.tex"
+
 static int version_id;
 
 
+#line 2213 "./tex4ht-c.tex"
+
 static int  stack_len;
 
 
+#line 2581 "./tex4ht-c.tex"
+
 static BOOL start_span = FALSE, in_span_ch = FALSE;
 
 
+#line 2726 "./tex4ht-c.tex"
+
 static BOOL in_trace_char = FALSE, block_start = FALSE;
 static int trace_dvi_P = 0, trace_dvi_C = 0,
      trace_dvi_H = 0, trace_dvi_R = 0, trace_dvi_V = 0;
@@ -735,126 +959,200 @@
 static int push_depth=0, push_id=0, push_st[256];
 
 
+#line 2959 "./tex4ht-c.tex"
+
 static long int x_val = 0, max_x_val = -10000,
      max_y_val = 0, prev_y_val = 0;
 
 
+#line 3071 "./tex4ht-c.tex"
+
 static INTEGER dx_1 = 0, dx_2 = 0;
 
 
+#line 3172 "./tex4ht-c.tex"
+
 static INTEGER  dy_1 = 0, dy_2 = 0;
 static long int y_val = 0;
 
 
+#line 3415 "./tex4ht-c.tex"
+
 static U_CHAR *eoln_str = (char *)0;
 
 
+#line 3436 "./tex4ht-c.tex"
+
 static U_CHAR *space_str = (char *)0;
 
 
+#line 3447 "./tex4ht-c.tex"
+
 static int ignore_chs=0, ignore_spaces=0, recover_spaces=0;
 
 
+#line 3600 "./tex4ht-c.tex"
+
 static BOOL text_on = FALSE;
 
 
+#line 3673 "./tex4ht-c.tex"
+
 static U_CHAR rule_ch = '_';
 static BOOL 
+#line 3739 "./tex4ht-c.tex"
+
 rule_ch_off
 
  = FALSE;
 
 
+#line 3819 "./tex4ht-c.tex"
+
 static int cur_fnt = -1;  
 
 
+#line 3937 "./tex4ht-c.tex"
+
 static U_CHAR special_hd[10];
 
 
+#line 4218 "./tex4ht-c.tex"
+
 static struct hcode_repl_typ *hcode_repl
                        = (struct hcode_repl_typ*) 0;
 
 
+#line 4270 "./tex4ht-c.tex"
+
 static BOOL nomargin = FALSE;
 static int next_char = -1;
 static U_CHAR  *next_str = (char *) 0;
 
 
+#line 4357 "./tex4ht-c.tex"
+
 static BOOL keepChar = FALSE;
 
 
+#line 4563 "./tex4ht-c.tex"
+
 static struct files_rec
    *opened_files = (struct files_rec *) 0, *p;
 
 
+#line 4677 "./tex4ht-c.tex"
+
 static BOOL system_yes;
 static struct sys_call_rec *system_calls = (struct sys_call_rec *) 0;
 
 
+#line 4747 "./tex4ht-c.tex"
+
 static struct count_rec *counter = (struct count_rec *) 0;
 
 
+#line 4838 "./tex4ht-c.tex"
+
 static struct ch_map_rec  ch_map[HEIGHT];
 static   int max_map_line, min_map_line;
 
 
+#line 4884 "./tex4ht-c.tex"
+
 static BOOL ch_map_flag = FALSE;
 
 
+#line 4939 "./tex4ht-c.tex"
+
 static INTEGER xresolution, yresolution;
 
 
+#line 5039 "./tex4ht-c.tex"
+
 static U_CHAR ok_map = TRUE;
 
 
+#line 5078 "./tex4ht-c.tex"
+
 static int prevcol = -1, prevrow;
 static double prev_x;
 
 
+#line 5385 "./tex4ht-c.tex"
+
 static BOOL  dvi_flag = FALSE, dvi_page = FALSE;
 static FILE *idv_file;
 
 
+#line 5426 "./tex4ht-c.tex"
+
 static int errCode = 0;
 
 
+#line 5485 "./tex4ht-c.tex"
+
 static int id_version = -1;
 
 
+#line 5964 "./tex4ht-c.tex"
+
 static FILE*  log_file;
 
 
+#line 5973 "./tex4ht-c.tex"
+
 static INTEGER mid_page_y, mid_page_x;
 
 
+#line 6106 "./tex4ht-c.tex"
+
 static int page_n,  file_n;
 
 
+#line 6289 "./tex4ht-c.tex"
+
 static struct halign_rec *halign[8];
 
 
+#line 6374 "./tex4ht-c.tex"
+
 static BOOL new_halign = FALSE;
 
 
+#line 6600 "./tex4ht-c.tex"
+
 static BOOL group_dvi = FALSE;
 
 
+#line 6664 "./tex4ht-c.tex"
+
 static int stack_n = 0;
 static struct stack_entry* stack;
 
 
+#line 6798 "./tex4ht-c.tex"
+
 static int ignore_end_group;
 
 
+#line 7435 "./tex4ht-c.tex"
+
 static struct del_stack_entry  *del_stack;
 
 
+#line 7460 "./tex4ht-c.tex"
+
 static int ch_id, sv_id, id_latex, back_id_off;
 
 
+#line 7539 "./tex4ht-c.tex"
+
 static struct send_back_entry *back_token, *back_group;
 
 
+#line 8442 "./tex4ht-c.tex"
+
 static BOOL pos_dvi = FALSE;
 static U_CHAR   *pos_body,     * pos_text,     * pos_line,
        *end_pos_body, * end_pos_text;
@@ -864,76 +1162,116 @@
 static short rect_pos;
 
 
+#line 8640 "./tex4ht-c.tex"
+
 static struct font_entry*  font_tbl;
 static int font_tbl_size = 0;
 
 
+#line 8709 "./tex4ht-c.tex"
+
 static char*  new_font_name;
 
 
+#line 8851 "./tex4ht-c.tex"
+
 static U_CHAR *lg_font_fmt = NULL;
 
 
+#line 9742 "./tex4ht-c.tex"
+
 static double word_sp   = 999999.0, margin_sp;
 
 
+#line 9976 "./tex4ht-c.tex"
+
 static int ignore_ch = 0;
 
 
+#line 10020 "./tex4ht-c.tex"
+
 static unsigned  U_CHAR  null_str = '\0';    
 
 
+#line 10486 "./tex4ht-c.tex"
+
 static short dump_htf_files = 0;
 static BOOL dump_env_files = FALSE;
 
 
+#line 10536 "./tex4ht-c.tex"
+
 static BOOL dumped_env = FALSE;
 
 
+#line 10693 "./tex4ht-c.tex"
+
 static BOOL verb_ch = FALSE;
 
 
+#line 10848 "./tex4ht-c.tex"
+
 static U_CHAR *class_fmt = NULL;
 
 
+#line 11072 "./tex4ht-c.tex"
+
 static U_CHAR *font_gif = NULL;
 
 
+#line 11109 "./tex4ht-c.tex"
+
 static U_CHAR *begin_char_gif = NULL;
 
 
+#line 11137 "./tex4ht-c.tex"
+
 static U_CHAR *gif = NULL;
 
 
+#line 11235 "./tex4ht-c.tex"
 
+
 static struct gif_file_rec *   gif_file = (struct gif_file_rec *) 0;
 
 
 
+#line 11314 "./tex4ht-c.tex"
 
+
 static U_CHAR xeh[]="0123456789abcdefghijklmnopqrstuvxyz";
 
 
 
+#line 11386 "./tex4ht-c.tex"
+
 static BOOL gif_ch = TRUE;
 static int design_ch = 0;
 
 
+#line 11436 "./tex4ht-c.tex"
+
 static int    pause_style = 0, default_font = -1, base_font_size=6533;
 static BOOL
   span_name_on = FALSE,
   span_on = FALSE;
 
 
+#line 11638 "./tex4ht-c.tex"
+
 static BOOL not_notify = FALSE;
 
 
+#line 11654 "./tex4ht-c.tex"
+
 static U_CHAR * span_name[256], * span_open[256], * span_size[256],
      * span_mag[256],  * span_ch[256],   * end_span[256],
      * span_ord[256],  * gif_id[256];
 static U_CHAR class_on[32];
 
 
+#line 12334 "./tex4ht-c.tex"
+
 static BOOL needs_accent_sym = FALSE,  needs_end_accent = FALSE;
 static char  * t_accent_template = (char *) 0,
              * t_accent_first, * t_accent_second,
@@ -943,97 +1281,147 @@
              * m_accent_third, * m_accent_fourth, * m_accent_fifth;
 
 
+#line 12435 "./tex4ht-c.tex"
+
 static BOOL  needs_accented_sym = 0;
 static char  * a_accent_template = (char *) 0,
              * a_accent_first, * a_accent_second,
              * a_accent_third, * a_accent_fourth, * a_accent_fifth;
 
 
+#line 12451 "./tex4ht-c.tex"
+
 static char  * i_accent_template = (char *) 0,
              * i_accent_first, * i_accent_second,
              * i_accent_third, * i_accent_fourth, * i_accent_fifth;
 
 
+#line 12553 "./tex4ht-c.tex"
+
 static BOOL math_class_on = FALSE, show_class = FALSE;
 static int open_del = 256, math_class, pause_class, ignore_subclass_del;
 
 
+#line 12561 "./tex4ht-c.tex"
+
 static int sv_group_dvi, sv_trace_dvi_C, sv_in_trace_char, sv_span_on,
     sv_in_span_ch;
 
 
+#line 12707 "./tex4ht-c.tex"
+
 static U_CHAR *open_class[
+#line 12743 "./tex4ht-c.tex"
+
 82   
 
 ],
      *close_class[
+#line 12743 "./tex4ht-c.tex"
+
 82   
 
 ];
 
 
+#line 13058 "./tex4ht-c.tex"
+
 static BOOL dump_env_search = FALSE;
 
 
+#line 13421 "./tex4ht-c.tex"
+
 static struct env_c_rec *envChoice
        = (struct env_c_rec*) 0;
 
 
+#line 13489 "./tex4ht-c.tex"
+
 static U_CHAR  *fontdir[MAXFDIRS];
 static int fontdir_count = 0;
 
 
+#line 13724 "./tex4ht-c.tex"
+
 static struct cache_font_rec *cache_font,  *cur_cache_font;
 
 
+#line 14140 "./tex4ht-c.tex"
+
 #ifndef KPATHSEA
 static BOOL tex4ht_fls = FALSE;
 static char *tex4ht_fls_name = (char *) 0;
 #endif
 
 
+#line 14203 "./tex4ht-c.tex"
+
 static U_CHAR *HOME_DIR;
 
 
+#line 14332 "./tex4ht-c.tex"
+
 #ifndef KPATHSEA
 static FILE* cache_files;
 #endif
 
 
+#line 14656 "./tex4ht-c.tex"
 
+
 #ifdef KPATHSEA
 static char * export_str_chars = (char *) 0;
 #endif
 
 
+#line 15062 "./tex4ht-c.tex"
+
 static BOOL dump_htf_search = FALSE;
 
 
+#line 15876 "./tex4ht-c.tex"
+
 static FILE* put_4ht_file = (FILE *) 0;
 static int put_4ht_off = 1;
 static char uni_code[MAX_UNI_CODE];
 static short uni_code_p = 0;
 
 
+#line 16047 "./tex4ht-c.tex"
+
 static int charset_n = 0, max_charset_n;
 static struct charset_rec *charset;
 
 
+#line 16215 "./tex4ht-c.tex"
+
 static BOOL u10 = FALSE;
 
 
+#line 16358 "./tex4ht-c.tex"
+
 static BOOL utf8 = FALSE;
 
 
+#line 16459 "./tex4ht-c.tex"
+
 static int htf_4hf_n = 0, max_htf_4hf_n;
 static struct htf_4hf_rec *htf_4hf;
 
 
+#line 16633 "./tex4ht-c.tex"
+
 static BOOL special_on = FALSE;
 
 
-static U_CHAR *warn_err_mssg[]={ 
+#line 16901 "./tex4ht-c.tex"
 
+static const U_CHAR *warn_err_mssg[]={ 
+#line 16842 "./tex4ht-c.tex"
+
+
+#line 1530 "./tex4ht-c.tex"
+
 "improper command line\ntex4ht [-f<path-separator-ch>]in-file[.dvi]\n"
 "   [-.<ext>]            replacement to default file extension name .dvi\n"
 "   [-c<tag name>]       choose named segment in env file\n"
@@ -1041,8 +1429,8 @@
 "   [-f<path-separator-ch>]        remove path from the file name\n"
 "   [-F<ch-code>]        replacement for missing font characters; 0--255; default 0\n"
 "   [-g<bitmap-file-ext>]\n"
-"   [-h(e|f|F|g|s|v|V)]  trace: e-errors/warnings, f-htf, F-htf search\n"
-"                            g-groups, s-specials, v-env, V-env search\n"
+"   [-h[efFgsvVA]]       trace: e-errors/warnings, f-htf, F-htf search\n"
+"                           g-groups, s-specials, v-env, V-env search, A-all\n"
 "   [-i<htf-font-dir>]\n"
 "   [-l<bookkeeping-file>]\n"
 "   [-P(*|<filter>)]     permission for system calls: *-always, filter\n"
@@ -1085,6 +1473,8 @@
 "Char code >255 in htf file: %d\n",                   
 "Improper char for code in htf file: %c\n",           
 
+#line 1220 "./tex4ht-c.tex"
+
 "Illegal storage address\n", 
 "Floating-point\n",          
 "Interrupt with Cntr-C\n",   
@@ -1119,23 +1509,35 @@
  "" };
 
 
+#line 17132 "./tex4ht-c.tex"
+
 static BOOL err_context = FALSE;
 
 
+#line 17149 "./tex4ht-c.tex"
+
 static U_CHAR *err_mark = (char *) 0;
 
 
+#line 17169 "./tex4ht-c.tex"
+
 static BOOL trace_special = FALSE;
 
 
 
+#line 482 "./tex4ht-c.tex"
+
 #ifdef WIN32
 static BOOL sigint_handler(ARG_I(DWORD));
 #endif
 
 
+#line 1124 "./tex4ht-c.tex"
+
 static  void
 
+#line 507 "./tex4ht-c.tex"
+
 #ifdef CDECL
 CDECL
 #endif
@@ -1144,258 +1546,420 @@
 sig_err(ARG_I(int));
 
 
+#line 1402 "./tex4ht-c.tex"
+
 static void* malloc_chk(ARG_I(int));
 
 
+#line 1418 "./tex4ht-c.tex"
+
 static void* r_alloc(ARG_II(void *, size_t));
 
 
-static void strct( ARG_II(char *, U_CHAR *) );
+#line 1681 "./tex4ht-c.tex"
 
+static void strct( ARG_II(char *, const U_CHAR *) );
 
+
+#line 1720 "./tex4ht-c.tex"
+
 static void open_o_file( ARG_I(void) );
 
 
+#line 1820 "./tex4ht-c.tex"
+
 static FILE* open_html_file( ARG_I(char*) );
 
 
+#line 2798 "./tex4ht-c.tex"
+
 static void set_del( ARG_II(char **, U_CHAR **) );
 
 
+#line 2989 "./tex4ht-c.tex"
+
 static void try_new_line( ARG_I(void) );
 
 
+#line 3078 "./tex4ht-c.tex"
+
 static INTEGER move_x( ARG_I(register INTEGER) );
 
 
+#line 3177 "./tex4ht-c.tex"
+
 static INTEGER move_y( ARG_I(register INTEGER) );
 
 
+#line 3647 "./tex4ht-c.tex"
+
 static void rule_x( ARG_I(BOOL) );
 
 
+#line 3877 "./tex4ht-c.tex"
+
 static BOOL tex4ht_special( ARG_II( int*, long int*) );
 
 
+#line 4962 "./tex4ht-c.tex"
+
 static void init_ch_map( ARG_I(void) );
 
 
+#line 4999 "./tex4ht-c.tex"
+
 static void insert_ch_map( ARG_II(char,BOOL) );
 
 
+#line 5289 "./tex4ht-c.tex"
+
 static void dump_ch_map( ARG_I(void) );
 
 
+#line 5783 "./tex4ht-c.tex"
+
 static void  set_loc( ARG_II(int, long int) );
 
 
+#line 6002 "./tex4ht-c.tex"
+
 static void idv_char( ARG_I(int) );
 
 
+#line 6015 "./tex4ht-c.tex"
+
 static void cond_idv_char( ARG_I(int) );
 
 
+#line 6030 "./tex4ht-c.tex"
+
 static void idv_copy( ARG_I(void) );
 
 
+#line 6045 "./tex4ht-c.tex"
+
 static void cond_idv_int( ARG_II(long int, int) );
 
 
+#line 6059 "./tex4ht-c.tex"
+
 static void  int_to_dvi( ARG_II(long int, int) );
 
 
+#line 6081 "./tex4ht-c.tex"
+
 static void cond_string( ARG_II(int, int) );
 
 
+#line 6111 "./tex4ht-c.tex"
+
 static INTEGER advance_idv_page( ARG_II( INTEGER,char*) );
 
 
+#line 6154 "./tex4ht-c.tex"
+
 static void store_mv( ARG_II( int, INTEGER) );
 
 
+#line 7237 "./tex4ht-c.tex"
+
 static void push_stack( ARG_I(void) );
 
 
+#line 7284 "./tex4ht-c.tex"
+
 static void pop_stack( ARG_I(void) );
 
 
+#line 7385 "./tex4ht-c.tex"
+
 static struct del_stack_entry* push_del( ARG_II(char, int) );
 
 
+#line 7406 "./tex4ht-c.tex"
+
 static struct del_stack_entry* pop_del( ARG_III(char,int,int) );
 
 
+#line 7618 "./tex4ht-c.tex"
+
 static
 struct send_back_entry * rev_list( ARG_I(struct send_back_entry *) );
 
 
+#line 7672 "./tex4ht-c.tex"
+
 static struct send_back_entry *
    back_insert( ARG_II(struct send_back_entry *, int) );
 
 
+#line 8546 "./tex4ht-c.tex"
+
 static double pos_dbl( ARG_I(long int *) );
 
 
+#line 9266 "./tex4ht-c.tex"
+
 static void doGlyphArray( ARG_I(BOOL) );
 
 
+#line 9314 "./tex4ht-c.tex"
+
 static int search_font_tbl( ARG_I(int) );
 
 
+#line 10415 "./tex4ht-c.tex"
+
 static int get_html_ch( ARG_I(FILE*) );
 
 
-static FILE* f_open( ARG_II(char*,char*) );
+#line 10436 "./tex4ht-c.tex"
 
+static FILE* f_open( ARG_II(const char*,const char*) );
 
+
+#line 10460 "./tex4ht-c.tex"
+
 static void dump_htf( ARG_I(FILE*) );
 
 
+#line 10512 "./tex4ht-c.tex"
+
 static void dump_env( ARG_I(void) );
 
 
+#line 10545 "./tex4ht-c.tex"
+
 static void htf_to_lg( ARG_IV(struct html_font_rec*,char*,int,FILE*));
 
 
+#line 10595 "./tex4ht-c.tex"
+
 static INTEGER get_html_file_id( ARG_IV(FILE*, int, int, int) );
 
 
+#line 10729 "./tex4ht-c.tex"
+
 static void notify_class_info( ARG_I(int) );
 
 
+#line 10953 "./tex4ht-c.tex"
+
 static void script( ARG_IV(char *, U_CHAR *, int, U_CHAR *) );
 
 
+#line 11175 "./tex4ht-c.tex"
 
+
 static void  dos_gif_file( ARG_III(char *, int, int) );
 
 
 
+#line 11344 "./tex4ht-c.tex"
+
 static void put_alt_ch( ARG_II( int, BOOL) );
 
 
+#line 12347 "./tex4ht-c.tex"
+
 static void get_open_accent(
     ARG_VII(char**, char**, char**, char**, char**, char**, long int*));
 
 
+#line 12589 "./tex4ht-c.tex"
+
 static int scan_class( ARG_I(int) );
 
 
+#line 12629 "./tex4ht-c.tex"
+
 static INTEGER set_ch_class( ARG_I(int) );
 
 
+#line 12684 "./tex4ht-c.tex"
+
 static int math_class_of( ARG_II(int,int) );
 
 
-static char* get_script( ARG_III(char *, U_CHAR *, int) );
+#line 13290 "./tex4ht-c.tex"
 
+static char* get_script( ARG_III(char *, const U_CHAR *, int) );
 
+
+#line 13340 "./tex4ht-c.tex"
+
 static BOOL search_dot_file( ARG_I( int) );
 
 
-static struct env_var_rec * get_env_var( ARG_I(char *) );
+#line 13580 "./tex4ht-c.tex"
 
+static struct env_var_rec * get_env_var( ARG_I(const char *) );
 
+
+#line 13883 "./tex4ht-c.tex"
+
 static void com_dir( ARG_I(char*) );
 
 
+#line 14574 "./tex4ht-c.tex"
+
 #ifdef KPATHSEA
 static void export_htf( ARG_II(char**, char[]) );
 #endif
 
 
-static FILE*  search_in_dot_file( ARG_IV( int, U_CHAR *, U_CHAR *,
+#line 15304 "./tex4ht-c.tex"
+
+static FILE*  search_in_dot_file( ARG_IV( int, const U_CHAR *, const U_CHAR *,
                                     struct env_var_rec *) );
 
 
-static FILE*  search_file_base( ARG_IV( U_CHAR *, U_CHAR *, U_CHAR *,
+#line 15349 "./tex4ht-c.tex"
+
+static FILE*  search_file_base( ARG_IV( const U_CHAR *, const U_CHAR *, const U_CHAR *,
                                     struct env_var_rec *) );
 
 
-static char *  abs_addr( ARG_II( U_CHAR *, U_CHAR *) );
+#line 15381 "./tex4ht-c.tex"
 
+static char *  abs_addr( ARG_II( const U_CHAR *, const U_CHAR *) );
 
-static FILE* search_file( ARG_III(char *, U_CHAR *, U_CHAR *) );
 
+#line 15422 "./tex4ht-c.tex"
 
-static void add_to_cache( ARG_III(char*,char*,int) );
+static FILE* search_file( ARG_III(const char *, const U_CHAR *, const U_CHAR *) );
 
 
-static FILE* search_file_ext( ARG_III(char *, U_CHAR *, U_CHAR *) );
+#line 15482 "./tex4ht-c.tex"
 
+static void add_to_cache( ARG_III(const char*,const char*,int) );
 
-#if defined(DOS_WIN32) || defined(__DJGPP__)
-   static BOOL is_forward_slash( ARG_I(char*) );
+
+#line 15503 "./tex4ht-c.tex"
+
+static FILE* search_file_ext( ARG_III(const char *, const U_CHAR *, const U_CHAR *) );
+
+
+#line 15578 "./tex4ht-c.tex"
+
+#if defined(__DJGPP__)
+   static BOOL is_forward_slash( ARG_I(const char*) );
 #endif
 
 
-static FILE* f_open_pathed_filename( ARG_II(char*,char*) );
+#line 15802 "./tex4ht-c.tex"
 
+static FILE* f_open_pathed_filename( ARG_II(const char*,const char*) );
 
+
+#line 15836 "./tex4ht-c.tex"
+
 static INTEGER put_4ht_ch( ARG_II(int,FILE *) );
 
 
+#line 15910 "./tex4ht-c.tex"
+
 static void flush_uni( ARG_I(void) );
 
 
+#line 16573 "./tex4ht-c.tex"
+
 static INTEGER insert_ch( ARG_I(int) );
 
 
+#line 16611 "./tex4ht-c.tex"
+
 static void put_char( ARG_I(int) );
 
 
-static void print_f( ARG_I(char*) );
+#line 16644 "./tex4ht-c.tex"
 
+static void print_f( ARG_I(const char*) );
 
-static void print_f_4ht( ARG_I(char*) );
 
+#line 16664 "./tex4ht-c.tex"
 
+static void print_f_4ht( ARG_I(const char*) );
+
+
+#line 16689 "./tex4ht-c.tex"
+
 static int get_char( ARG_I(void) );
 
 
+#line 16701 "./tex4ht-c.tex"
+
 static int get_noop( ARG_I(void) );
 
 
+#line 16717 "./tex4ht-c.tex"
+
 static char* get_str( ARG_I(int) );
 
 
+#line 16741 "./tex4ht-c.tex"
+
 static long fget_unt( ARG_II(FILE*, int) );
 
 
+#line 16765 "./tex4ht-c.tex"
+
 static long fget_int( ARG_II(FILE *, int) );
 
 
+#line 16801 "./tex4ht-c.tex"
+
 static long cond_int( ARG_I(register  INTEGER) );
 
 
+#line 16908 "./tex4ht-c.tex"
+
 static void warn_i( ARG_I(int) );
 
 
+#line 16932 "./tex4ht-c.tex"
+
 static void warn_i_int( ARG_II(int,int) );
 
 
+#line 16948 "./tex4ht-c.tex"
+
 static void warn_i_int_2( ARG_III(int,int,int) );
 
 
-static void warn_i_str( ARG_II(int,char *) );
+#line 16964 "./tex4ht-c.tex"
 
+static void warn_i_str( ARG_II(int,const char *) );
 
-static void warn_i_str2( ARG_III(int,char *,char *) );
 
+#line 16984 "./tex4ht-c.tex"
 
+static void warn_i_str2( ARG_III(int,const char *,const char *) );
+
+
+#line 17018 "./tex4ht-c.tex"
+
 static void err_i( ARG_I(int) );
 
 
+#line 17035 "./tex4ht-c.tex"
+
 static void err_i_int( ARG_II(int,int) );
 
 
+#line 17051 "./tex4ht-c.tex"
+
 static void err_i_str( ARG_II(int,char *) );
 
 
+#line 17098 "./tex4ht-c.tex"
+
 static void show_err_context( ARG_I(void) );
 
 
 
+#line 488 "./tex4ht-c.tex"
+
 #ifdef WIN32
 
 
@@ -1414,6 +1978,8 @@
 #endif
 {
   
+#line 502 "./tex4ht-c.tex"
+
 if( dwCtrlType ){ (IGNORED) printf(" "); }
 
 
@@ -1423,9 +1989,13 @@
 #endif
 
 
+#line 1133 "./tex4ht-c.tex"
 
+
 static void
 
+#line 507 "./tex4ht-c.tex"
+
 #ifdef CDECL
 CDECL
 #endif
@@ -1455,6 +2025,8 @@
 #endif
   }
   
+#line 750 "./tex4ht-c.tex"
+
 #ifdef __DJGPP__
   if (s != SIGINT && s != SIGQUIT)
     exit(EXIT_FAILURE);
@@ -1464,7 +2036,9 @@
 }
 
 
+#line 1406 "./tex4ht-c.tex"
 
+
 static void* malloc_chk
 #ifdef ANSI
 #define SEP ,
@@ -1483,7 +2057,9 @@
 }
 
 
+#line 1422 "./tex4ht-c.tex"
 
+
 static void* r_alloc
 #ifdef ANSI
 #define SEP ,
@@ -1506,13 +2082,15 @@
 }
 
 
+#line 1685 "./tex4ht-c.tex"
 
+
 static void strct
 #ifdef ANSI
 #define SEP ,
 (
      U_CHAR * str1 SEP 
-     U_CHAR * str2
+     const U_CHAR * str2
 
 )
 #undef SEP
@@ -1520,20 +2098,24 @@
 #define SEP ;
 ( str1, str2 )
      U_CHAR * str1 SEP 
-     U_CHAR * str2
+     const U_CHAR * str2
 
 ;
 #undef SEP
 #endif
 {   U_CHAR * ch;
    ch = str1 + (int) strlen((char *) str1);
-   (IGNORED) strcpy((char *)  ch, (char *) str2 );
+   (IGNORED) strcpy((char *)  ch, str2 );
 }
 
 
+#line 1724 "./tex4ht-c.tex"
+
 static void open_o_file(MYVOID)
 {
    
+#line 1735 "./tex4ht-c.tex"
+
     struct files_rec* p;
 p = m_alloc(struct files_rec, 1);
 if( opened_files != (struct files_rec*) 0 ) opened_files->prev = p;
@@ -1548,7 +2130,9 @@
 }
 
 
+#line 1824 "./tex4ht-c.tex"
 
+
 static FILE* open_html_file
 #ifdef ANSI
 #define SEP ,
@@ -1575,7 +2159,9 @@
 }
 
 
+#line 2802 "./tex4ht-c.tex"
 
+
 static  void set_del
 #ifdef ANSI
 #define SEP ,
@@ -1598,17 +2184,25 @@
 }
 
 
+#line 2993 "./tex4ht-c.tex"
+
 static void try_new_line(MYVOID)
 {        long int  v;
          double    dy;
    dy =  (cur_fnt == -1)? 0.0 : (
+#line 3016 "./tex4ht-c.tex"
+
 (
+#line 9905 "./tex4ht-c.tex"
+
 design_size_to_pt( 1.7 * (double) font_tbl[cur_fnt].ex )
 * (double) font_tbl[cur_fnt].scale
 
  < 0? -1 : 1)
 
  * 
+#line 9905 "./tex4ht-c.tex"
+
 design_size_to_pt( 1.7 * (double) font_tbl[cur_fnt].ex )
 * (double) font_tbl[cur_fnt].scale
 
@@ -1617,14 +2211,22 @@
    if( !text_on && (y_val > max_y_val) ){
      if( v > dy/2.5 ){
         
+#line 1748 "./tex4ht-c.tex"
+
 if( !no_root_file ){
   
+#line 12281 "./tex4ht-c.tex"
+
 if( needs_end_accent && t_accent_template ){
    
+#line 2609 "./tex4ht-c.tex"
+
 if( span_on && in_span_ch ){
    if( *end_span[0] ){
        in_span_ch = FALSE;
        
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -1634,6 +2236,8 @@
 
    (IGNORED) fprintf(cur_o_file, "%s", t_accent_fifth);
    needs_end_accent = FALSE; 
+#line 12424 "./tex4ht-c.tex"
+
 needs_accented_sym--;
 
 
@@ -1641,6 +2245,8 @@
 
 
   if( !
+#line 3739 "./tex4ht-c.tex"
+
 rule_ch_off
 
  ){  put_char('\n'); }
@@ -1651,14 +2257,22 @@
      }
    }else{
       if( v > dy ){ 
+#line 1748 "./tex4ht-c.tex"
+
 if( !no_root_file ){
   
+#line 12281 "./tex4ht-c.tex"
+
 if( needs_end_accent && t_accent_template ){
    
+#line 2609 "./tex4ht-c.tex"
+
 if( span_on && in_span_ch ){
    if( *end_span[0] ){
        in_span_ch = FALSE;
        
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -1668,6 +2282,8 @@
 
    (IGNORED) fprintf(cur_o_file, "%s", t_accent_fifth);
    needs_end_accent = FALSE; 
+#line 12424 "./tex4ht-c.tex"
+
 needs_accented_sym--;
 
 
@@ -1675,6 +2291,8 @@
 
 
   if( !
+#line 3739 "./tex4ht-c.tex"
+
 rule_ch_off
 
  ){  put_char('\n'); }
@@ -1686,7 +2304,9 @@
 }  }
 
 
+#line 3082 "./tex4ht-c.tex"
 
+
 static INTEGER move_x
 #ifdef ANSI
 #define SEP ,
@@ -1706,10 +2326,14 @@
    if( (x_val > max_x_val) && x_val ){
      if( max_x_val == -10000) max_x_val = x_val - d;
      
+#line 3237 "./tex4ht-c.tex"
+
 i =  (INTEGER) (  (double) (dx = x_val - max_x_val)
             /         (text_on? word_sp : margin_sp)
             +         0.5 );
 
+#line 3252 "./tex4ht-c.tex"
+
 if( i==0 ){
    i =  (INTEGER) (  (double) dx
             /         word_sp
@@ -1719,6 +2343,8 @@
 
 if( i<0 ) i=0;
 if( i==0 ){ 
+#line 3457 "./tex4ht-c.tex"
+
          long  curr_pos;
          BOOL  done;
          int ch, cr_fnt;
@@ -1730,16 +2356,26 @@
      
      
      
+#line 3764 "./tex4ht-c.tex"
+
 case 
+#line 17460 "./tex4ht-c.tex"
+
 246 
 :   (void) get_char();
 case 
+#line 17457 "./tex4ht-c.tex"
+
 245 
 :   (void) get_char();
 case 
+#line 17454 "./tex4ht-c.tex"
+
 244 
 :   (void) get_char();
 case 
+#line 17451 "./tex4ht-c.tex"
+
 243 
 : {
   for( i=0; i<14; i++ ){ ch = get_char(); }
@@ -1749,22 +2385,34 @@
 
 
      case 
+#line 17326 "./tex4ht-c.tex"
+
 141 
 :
      case 
+#line 17329 "./tex4ht-c.tex"
+
 142 
 : { break; }
      default: {
         if( (ch < 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ) || (ch > 
+#line 17423 "./tex4ht-c.tex"
+
 234  
 )   ){
            done = TRUE;
         } else {
            
+#line 3482 "./tex4ht-c.tex"
+
          double word_sp;
 cr_fnt = ch - 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ;
 cr_fnt = search_font_tbl( cr_fnt );
@@ -1774,6 +2422,8 @@
             /         (text_on? word_sp : margin_sp)
             +         0.5 );
 
+#line 3252 "./tex4ht-c.tex"
+
 if( i==0 ){
    i =  (INTEGER) (  (double) dx
             /         word_sp
@@ -1786,11 +2436,15 @@
 
 }  } }  }
 (IGNORED) fseek(dvi_file, curr_pos, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 
  }
 if( i ){ 
+#line 2822 "./tex4ht-c.tex"
+
 if( trace_dvi_H && !ch_map_flag ){
    if( *trace_dvi_del_H != '\0' ){
       (IGNORED) fprintf(cur_o_file, "%s%d", trace_dvi_del_H, (int) dx);
@@ -1801,12 +2455,18 @@
  }
 if( !ignore_spaces ){
   
+#line 12281 "./tex4ht-c.tex"
+
 if( needs_end_accent && t_accent_template ){
    
+#line 2609 "./tex4ht-c.tex"
+
 if( span_on && in_span_ch ){
    if( *end_span[0] ){
        in_span_ch = FALSE;
        
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -1816,6 +2476,8 @@
 
    (IGNORED) fprintf(cur_o_file, "%s", t_accent_fifth);
    needs_end_accent = FALSE; 
+#line 12424 "./tex4ht-c.tex"
+
 needs_accented_sym--;
 
 
@@ -1829,6 +2491,8 @@
 
    } else    if( d && text_on  && (x_val != max_x_val) ){
       
+#line 3128 "./tex4ht-c.tex"
+
 if( !ignore_spaces ){
    i =  (INTEGER) ( (double) (dx = d) / word_sp + 0.5 );
    if( i<0 ) i=0;
@@ -1842,7 +2506,9 @@
 }
 
 
+#line 3181 "./tex4ht-c.tex"
 
+
 static INTEGER move_y
 #ifdef ANSI
 #define SEP ,
@@ -1857,6 +2523,8 @@
 #endif
 {  y_val += d;
    
+#line 2831 "./tex4ht-c.tex"
+
 if( trace_dvi_V && !ch_map_flag ){
    if( *trace_dvi_del_V != '\0' ){
      (IGNORED) fprintf(cur_o_file, "%s%d", trace_dvi_del_V, d);
@@ -1869,7 +2537,9 @@
 }
 
 
+#line 3652 "./tex4ht-c.tex"
 
+
 static  void rule_x
 #ifdef ANSI
 #define SEP ,
@@ -1888,6 +2558,8 @@
    up = (INTEGER) get_int(4);
    right = (INTEGER) get_int(4);
    if( ch_map_flag ){ 
+#line 5246 "./tex4ht-c.tex"
+
    long int  sv_x_val, sv_y_val, sv_right, sv;
    int  ch;
 sv_x_val = x_val;
@@ -1898,10 +2570,16 @@
 if( up < 0 ){ y_val += up;  up = -up; }
 ch = ( (right > xresolution) &&  (up > yresolution) ) ?
        
+#line 4861 "./tex4ht-c.tex"
+
 3
  :  ( ( right > up )? 
+#line 4855 "./tex4ht-c.tex"
+
 1
  : 
+#line 4858 "./tex4ht-c.tex"
+
 2
  );
 right += x_val;
@@ -1913,17 +2591,23 @@
 y_val = sv_y_val;
 if( sv_x_val + sv_right > max_x_val ) max_x_val = sv_x_val + sv_right;
 if( 
+#line 4994 "./tex4ht-c.tex"
+
 tag
  ) x_val += sv_right;
 
  }
    else if( pos_dvi ){
       
+#line 8351 "./tex4ht-c.tex"
+
          long int d;
 if( (up > 0) && (right > 0) ){
    if(  *pos_line ){
                       double from_x, from_y;
      
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -1961,6 +2645,8 @@
       if( tag ) x_val += right;
    } else if( (up>0) && (right>0) ) {
       
+#line 3703 "./tex4ht-c.tex"
+
 if( (x_val + right)  &&
         (    ((x_val + right) > max_x_val)
           || ( !text_on && !ignore_chs )
@@ -1972,6 +2658,8 @@
                    /         (text_on? word_sp : margin_sp)
                    +         0.5 );
    
+#line 3728 "./tex4ht-c.tex"
+
 if( i==0 ){
    i =  (INTEGER) (  (double) (x_val + right - max_x_val)
                    /         word_sp
@@ -1981,6 +2669,8 @@
 
    if( i && !text_on )  try_new_line();
    
+#line 2844 "./tex4ht-c.tex"
+
 if( trace_dvi_R && !ch_map_flag ){
    if( *trace_dvi_del_R != '\0' ){
       (IGNORED) fprintf(cur_o_file, "%s%d %d",
@@ -1992,11 +2682,15 @@
 
    while( i-- ) { text_on=TRUE;
       if( rule_ch && !
+#line 3739 "./tex4ht-c.tex"
+
 rule_ch_off
 
  ){ put_char(rule_ch); }
    }
    
+#line 2855 "./tex4ht-c.tex"
+
 if( trace_dvi_R && !ch_map_flag ){
    if( *trace_dvi_del_r != '\0' ){
       (IGNORED) fprintf(cur_o_file, "%s%d %d",
@@ -2013,7 +2707,11 @@
       if( tag ) x_val += right;
    } else {
       
+#line 3746 "./tex4ht-c.tex"
 
+
+#line 2844 "./tex4ht-c.tex"
+
 if( trace_dvi_R && !ch_map_flag ){
    if( *trace_dvi_del_R != '\0' ){
       (IGNORED) fprintf(cur_o_file, "%s%d %d",
@@ -2024,6 +2722,8 @@
 
 
 
+#line 2855 "./tex4ht-c.tex"
+
 if( trace_dvi_R && !ch_map_flag ){
    if( *trace_dvi_del_r != '\0' ){
       (IGNORED) fprintf(cur_o_file, "%s%d %d",
@@ -2039,7 +2739,9 @@
 }  }
 
 
+#line 3881 "./tex4ht-c.tex"
 
+
 static BOOL tex4ht_special
 #ifdef ANSI
 #define SEP ,
@@ -2063,7 +2765,11 @@
     long unsigned N;
   tex4ht = FALSE;
   
+#line 3930 "./tex4ht-c.tex"
+
 *special_n = (long int) (N = get_unt(*chr - 
+#line 17441 "./tex4ht-c.tex"
+
 239 
  + 1));
 for(i=4; i--; ){
@@ -2075,12 +2781,16 @@
     for(i=4; i<9; i++)   special_hd[i]=get_char();
     special_hd[9]='\0';
     
+#line 3918 "./tex4ht-c.tex"
+
 tex4ht =           (special_hd[4] == 't') || (special_hd[4] == 'T');
 tex4ht = tex4ht &&  special_hd[5] == '4';
 tex4ht = tex4ht && ((special_hd[6] == 'h') || (special_hd[6] == 'H'));
 tex4ht = tex4ht && ((special_hd[7] == 't') || (special_hd[7] == 'T'));
 if( tex4ht && trace_special ){
    
+#line 17181 "./tex4ht-c.tex"
+
 {                             long  curr_pos;
                               int n, i;
                               U_CHAR ch;
@@ -2095,6 +2805,8 @@
    }
    (IGNORED) putc( '\n', cur_o_file );
    (IGNORED) fseek(dvi_file, curr_pos, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 }
@@ -2115,6 +2827,8 @@
 }
 
 
+#line 4966 "./tex4ht-c.tex"
+
 static void init_ch_map(MYVOID)
 {   int i;
   for( i=0; i<HEIGHT; i++ ){
@@ -2124,13 +2838,17 @@
 }
 
 
+#line 5003 "./tex4ht-c.tex"
 
+
 static void insert_ch_map
 #ifdef ANSI
 #define SEP ,
 (
        U_CHAR ch SEP 
        BOOL 
+#line 4994 "./tex4ht-c.tex"
+
 tag
 
 
@@ -2139,10 +2857,14 @@
 #else
 #define SEP ;
 ( ch, 
+#line 4994 "./tex4ht-c.tex"
+
 tag
  )
        U_CHAR ch SEP 
        BOOL 
+#line 4994 "./tex4ht-c.tex"
+
 tag
 
 
@@ -2151,6 +2873,8 @@
 #endif
 {     int row, col;
    
+#line 5045 "./tex4ht-c.tex"
+
 {          double x;
    row = (int) ( (y_val>0? y_val : 0.0) / (double) yresolution + 0.5);
    if( row >= HEIGHT ){
@@ -2168,8 +2892,12 @@
       }else  prevrow = -1;
       prev_x = x
              + (
+#line 9821 "./tex4ht-c.tex"
+
 design_size_to_pt( *(font_tbl[cur_fnt].wtbl
                  +  (int) (
+#line 9828 "./tex4ht-c.tex"
+
 *(font_tbl[cur_fnt].char_wi +  (int)
    ( (design_ch? design_ch : ch) - font_tbl[cur_fnt].char_f)% 256)
 
@@ -2192,15 +2920,23 @@
          if( row < min_map_line ) min_map_line = row;
          if( row > max_map_line ) max_map_line = row;
          if( ch_map[row].max ){ 
+#line 5122 "./tex4ht-c.tex"
+
     int   n;
     char* p;
 if( ch_map[row].chars > col ){
       
+#line 5173 "./tex4ht-c.tex"
+
 if( 
+#line 4994 "./tex4ht-c.tex"
+
 tag
  ){
    if(   *(ch_map[row].line + ch_map[row].max - 1)
       ||  (ch_map[row].chars - col == 1)  ){ 
+#line 5218 "./tex4ht-c.tex"
+
 ch_map[row].max += 5;
 ch_map[row].line = (char *)
    r_alloc((void *) ch_map[row].line,
@@ -2214,6 +2950,8 @@
    p = ch_map[row].line + ch_map[row].max;
    while( col ){                     unsigned char temp_ch;
      if( ((unsigned char) (*p)) < 
+#line 4864 "./tex4ht-c.tex"
+
 4
  ) col--;
        temp_ch = *(--p);  *(p+1) = temp_ch;  }
@@ -2222,6 +2960,8 @@
    p = ch_map[row].line + ch_map[row].max;
    while( col ){
      if( ((unsigned char) (*p)) < 
+#line 4864 "./tex4ht-c.tex"
+
 4
  ) col--;  p--;  }
 }
@@ -2229,8 +2969,12 @@
 
  }
 else{ 
+#line 5136 "./tex4ht-c.tex"
+
 n = (col - ch_map[row].chars + 8) / 5 * 5;
 ch_map[row].chars += n - 
+#line 4994 "./tex4ht-c.tex"
+
 tag
 ;
 ch_map[row].max += n;
@@ -2240,6 +2984,8 @@
 while( n-- )  *(ch_map[row].line + ch_map[row].max - n) = 0;
 *(ch_map[row].line + ch_map[row].max
          - (ch_map[row].chars - col) + !
+#line 4994 "./tex4ht-c.tex"
+
 tag
  ) = ch;
 
@@ -2247,9 +2993,13 @@
 
  }
          else { 
+#line 5091 "./tex4ht-c.tex"
+
    int   n;
    char* p;
 ch_map[row].chars = (n = (col + 2 + 5) / 5 * 5) - 
+#line 4994 "./tex4ht-c.tex"
+
 tag
 ;
 ch_map[row].max =  n - 1;
@@ -2261,11 +3011,15 @@
 }  }   }
 
 
+#line 5297 "./tex4ht-c.tex"
+
 static void dump_ch_map(MYVOID)
 {     int   n, i, min, k, extra_sp;
       U_CHAR  *p;
       
   
+#line 5327 "./tex4ht-c.tex"
+
 {    int   max;
    min = 100; max = 0;
    for( i=min_map_line; i<=max_map_line; i++ ){
@@ -2281,10 +3035,14 @@
     if( ( n = ch_map[i].max) > 0 ){
       p = ch_map[i].line;  k = min;    extra_sp = 0;
       
+#line 5340 "./tex4ht-c.tex"
+
 {     U_CHAR  *s;
    s = p + n;
    while( n && !(*s) && !(*(s-1)) ){  n--; s--; }
    if( n && !(*s) && (((unsigned char) *(s-1)) < 
+#line 4864 "./tex4ht-c.tex"
+
 4
 ) ) n--;
 }
@@ -2293,25 +3051,39 @@
       while( 1 + n-- ){
         if( --k < 0 ){
           if( extra_sp && (((unsigned char) *p)     < 
+#line 4864 "./tex4ht-c.tex"
+
 4
 )
                        && (((unsigned char) *(p+1)) < 
+#line 4864 "./tex4ht-c.tex"
+
 4
 ) )
           {  extra_sp--;
           } else { switch( *p ){ 
+#line 5348 "./tex4ht-c.tex"
+
            case 0: { put_char(' '); break; }
     case 
+#line 4855 "./tex4ht-c.tex"
+
 1
 : { put_char('-'); break; }
     case 
+#line 4858 "./tex4ht-c.tex"
+
 2
 : { put_char('|'); break; }
 case 
+#line 4861 "./tex4ht-c.tex"
+
 3
 : { put_char('#'); break; }
          case ' ': { extra_sp++; }
           default: { 
+#line 5357 "./tex4ht-c.tex"
+
     BOOL    tag;
     INTEGER count;
 tag = TRUE;   count = 0;
@@ -2320,6 +3092,8 @@
             else           count += tag;
       put_char( *p ); n--;
 }while( ((unsigned char) *(++p)) >= 
+#line 4864 "./tex4ht-c.tex"
+
 4
  );
 if( !count ){ n++; p--; }
@@ -2338,7 +3112,9 @@
 }
 
 
+#line 5787 "./tex4ht-c.tex"
 
+
 static void  set_loc
 #ifdef ANSI
 #define SEP ,
@@ -2362,7 +3138,9 @@
 }
 
 
+#line 6006 "./tex4ht-c.tex"
 
+
 static void idv_char
 #ifdef ANSI
 #define SEP ,
@@ -2378,7 +3156,9 @@
 { (IGNORED) putc( n, idv_file ); }
 
 
+#line 6019 "./tex4ht-c.tex"
 
+
 static void cond_idv_char
 #ifdef ANSI
 #define SEP ,
@@ -2396,11 +3176,15 @@
 }
 
 
+#line 6034 "./tex4ht-c.tex"
+
 static void idv_copy(  MYVOID )
 {  idv_char( get_char() );  file_n++;  }
 
 
+#line 6049 "./tex4ht-c.tex"
 
+
 static void cond_idv_int
 #ifdef ANSI
 #define SEP ,
@@ -2420,7 +3204,9 @@
 }
 
 
+#line 6063 "./tex4ht-c.tex"
 
+
 static void  int_to_dvi
 #ifdef ANSI
 #define SEP ,
@@ -2450,7 +3236,9 @@
 }
 
 
+#line 6085 "./tex4ht-c.tex"
 
+
 static void cond_string
 #ifdef ANSI
 #define SEP ,
@@ -2470,7 +3258,9 @@
 }
 
 
+#line 6115 "./tex4ht-c.tex"
 
+
 static INTEGER advance_idv_page
 #ifdef ANSI
 #define SEP ,
@@ -2492,33 +3282,51 @@
 {                                           int    i;
    if( page_n++ ){
      idv_char(
+#line 17329 "./tex4ht-c.tex"
+
 142 
 );  file_n++;
      idv_char(
+#line 17323 "./tex4ht-c.tex"
+
 140 
 );      file_n++;
      idv_char( 
+#line 17320 "./tex4ht-c.tex"
+
 139 
  );
      idv_int( page_n );  for( i=36; i--; ) idv_char( 0);
      idv_int( bop_addr );  bop_addr = file_n;  file_n += 45;
      idv_char(
+#line 17326 "./tex4ht-c.tex"
+
 141 
 );  file_n++;
      for( i=1; i<=cur_font[0]; i++ ){
         idv_char( cur_font[i] );   file_n++;
    } }
    
+#line 6147 "./tex4ht-c.tex"
+
 store_mv(
+#line 17356 "./tex4ht-c.tex"
+
 151 
 , dx_1);
 store_mv(
+#line 17371 "./tex4ht-c.tex"
+
 156 
 , dx_2);
 store_mv(
+#line 17398 "./tex4ht-c.tex"
+
 165 
 , dy_1);
 store_mv(
+#line 17413 "./tex4ht-c.tex"
+
 170 
 , dy_2);
 
@@ -2527,7 +3335,9 @@
 }
 
 
+#line 6172 "./tex4ht-c.tex"
 
+
 static void store_mv
 #ifdef ANSI
 #define SEP ,
@@ -2549,6 +3359,8 @@
 }
 
 
+#line 7241 "./tex4ht-c.tex"
+
 static void push_stack(MYVOID)
 {
    stack[stack_n].x_val = x_val;
@@ -2558,29 +3370,41 @@
    stack[stack_n].dy_1  = dy_1;
    stack[stack_n].dy_2  = dy_2;
    
+#line 7259 "./tex4ht-c.tex"
+
 stack[stack_n+1].sv_no_left_del = stack[stack_n+1].no_left_del;
 stack[stack_n+1].no_left_del = stack[stack_n].no_left_del;
 
 
    stack_n++;
 if( stack_n > 
+#line 6684 "./tex4ht-c.tex"
+
 ((int) stack_len + 2)
 
  ){
   warn_i(40);
 }
    
+#line 12475 "./tex4ht-c.tex"
+
 stack[stack_n].accented  = FALSE;
 
 
 }
 
 
+#line 7288 "./tex4ht-c.tex"
+
 static void pop_stack(MYVOID)
 {
    
+#line 12468 "./tex4ht-c.tex"
+
 if( stack[stack_n].accented ){
    
+#line 12419 "./tex4ht-c.tex"
+
 needs_accented_sym--;
 
 
@@ -2589,6 +3413,8 @@
 
 
    
+#line 7264 "./tex4ht-c.tex"
+
 stack[stack_n].no_left_del = stack[stack_n].sv_no_left_del;
 
 
@@ -2602,7 +3428,9 @@
 }
 
 
+#line 7389 "./tex4ht-c.tex"
 
+
 static  struct del_stack_entry* push_del
 #ifdef ANSI
 #define SEP ,
@@ -2627,7 +3455,9 @@
 }
 
 
+#line 7410 "./tex4ht-c.tex"
 
+
 static  struct del_stack_entry* pop_del
 #ifdef ANSI
 #define SEP ,
@@ -2659,7 +3489,9 @@
 }
 
 
+#line 7623 "./tex4ht-c.tex"
 
+
 static struct send_back_entry *  rev_list
 #ifdef ANSI
 #define SEP ,
@@ -2685,7 +3517,9 @@
 }
 
 
+#line 7677 "./tex4ht-c.tex"
 
+
 static struct send_back_entry *  back_insert
 #ifdef ANSI
 #define SEP ,
@@ -2714,7 +3548,9 @@
 }
 
 
+#line 8550 "./tex4ht-c.tex"
 
+
 static double pos_dbl
 #ifdef ANSI
 #define SEP ,
@@ -2742,7 +3578,9 @@
 }
 
 
+#line 9270 "./tex4ht-c.tex"
 
+
 static void doGlyphArray
 #ifdef ANSI
 #define SEP ,
@@ -2770,7 +3608,9 @@
 }
 
 
+#line 9318 "./tex4ht-c.tex"
 
+
 static int search_font_tbl
 #ifdef ANSI
 #define SEP ,
@@ -2794,7 +3634,9 @@
 }
 
 
+#line 10419 "./tex4ht-c.tex"
 
+
 static int get_html_ch
 #ifdef ANSI
 #define SEP ,
@@ -2818,20 +3660,22 @@
 }
 
 
+#line 10440 "./tex4ht-c.tex"
 
+
 static FILE* f_open
 #ifdef ANSI
 #define SEP ,
 (
-                          char*  name  SEP 
-                          char*  flags
+                          const char*  name  SEP 
+                          const char*  flags
 )
 #undef SEP
 #else
 #define SEP ;
 ( name, flags )
-                          char*  name  SEP 
-                          char*  flags
+                          const char*  name  SEP 
+                          const char*  flags
 ;
 #undef SEP
 #endif
@@ -2843,7 +3687,9 @@
 }
 
 
+#line 10464 "./tex4ht-c.tex"
 
+
 static void dump_htf
 #ifdef ANSI
 #define SEP ,
@@ -2874,12 +3720,16 @@
 } } }
 
 
+#line 10516 "./tex4ht-c.tex"
+
 static void dump_env( MYVOID )
 {
                              int ch;
   if( !dumped_env ){
     dumped_env = TRUE;
     (IGNORED) fseek(dot_file, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
     (IGNORED) fprintf(stderr,
@@ -2895,7 +3745,9 @@
 }  }
 
 
+#line 10549 "./tex4ht-c.tex"
 
+
 static void htf_to_lg
 #ifdef ANSI
 #define SEP ,
@@ -2939,7 +3791,9 @@
 } }
 
 
+#line 10599 "./tex4ht-c.tex"
 
+
 static  INTEGER get_html_file_id
 #ifdef ANSI
 #define SEP ,
@@ -2964,6 +3818,8 @@
    name = new_font_name;
    while( *name == (ch = get_html_ch(file)) )  name++;
    
+#line 10116 "./tex4ht-c.tex"
+
 if( ( name == new_font_name ) && (n == 19) && (ch=='.') ){
    return HTF_ALIAS;
 }
@@ -2978,6 +3834,8 @@
          i = i * 10 + ch - '0';  ch = get_html_ch(file);  }
       if( i != bound ){
          
+#line 16921 "./tex4ht-c.tex"
+
 (IGNORED) fprintf(stderr,"--- warning --- ");
 (IGNORED) fprintf(stderr, warn_err_mssg[22]
 
@@ -2989,7 +3847,9 @@
 }
 
 
+#line 10733 "./tex4ht-c.tex"
 
+
 static void notify_class_info
 #ifdef ANSI
 #define SEP ,
@@ -3037,7 +3897,9 @@
 }
 
 
+#line 10957 "./tex4ht-c.tex"
 
+
 static void script
 #ifdef ANSI
 #define SEP ,
@@ -3067,11 +3929,15 @@
    while( TRUE ){
      if( *ch == '%' ){
        
+#line 10991 "./tex4ht-c.tex"
+
 *ch = '\0';  (IGNORED) fprintf(log_file, "%s", p);
 *(ch++) = '%';
 
 
        
+#line 11002 "./tex4ht-c.tex"
+
 p=fmt;  *(p++) = '%';
 if( *ch == '\0' ){ job[ (int) strlen((char *) job) ] ='.';  return; }
 while( *ch != '%' ){  *(p++) = *(ch ++);  }
@@ -3094,8 +3960,10 @@
 } }
 
 
+#line 11185 "./tex4ht-c.tex"
 
 
+
 static void  dos_gif_file
 #ifdef ANSI
 #define SEP ,
@@ -3122,6 +3990,8 @@
   m = n = (int) strlen((char *) str);
   if( n > 4 ){
     
+#line 11245 "./tex4ht-c.tex"
+
 if( (p = gif_file) != NULL ){
   while( TRUE ){
     if( eq_str( str, p->name ) ) break;
@@ -3130,8 +4000,12 @@
 
 
     if( p == NULL ){ 
+#line 11258 "./tex4ht-c.tex"
+
 p =  m_alloc(struct gif_file_rec, 1);
 
+#line 11278 "./tex4ht-c.tex"
+
 for(i=str[n]; n; ){ i+=str[--n];  if( i > (INT_MAX / 8) ) i/=2; }
 if( (n=i % BASE) <10 ) n+= 10 + i%(BASE-20);
 *(ch = p->code)= n; n += i;
@@ -3141,6 +4015,8 @@
 
 
 
+#line 11292 "./tex4ht-c.tex"
+
 if( gif_file ){
    q = gif_file->next;
    while( TRUE ){
@@ -3178,7 +4054,9 @@
 
 
 
+#line 11348 "./tex4ht-c.tex"
 
+
 static void  put_alt_ch
 #ifdef ANSI
 #define SEP ,
@@ -3198,6 +4076,8 @@
 {
    if( !ch_str_flag ) put_char( chr );
    else if( chr > 0 ){ 
+#line 11365 "./tex4ht-c.tex"
+
     unsigned U_CHAR * p;
 p = font_tbl[cur_fnt].str[chr-1];
 if( gif_ch )  print_f( (char *) p );  
@@ -3214,7 +4094,9 @@
 }
 
 
+#line 12352 "./tex4ht-c.tex"
 
+
 static void get_open_accent
 #ifdef ANSI
 #define SEP ,
@@ -3264,7 +4146,9 @@
 } }
 
 
+#line 12593 "./tex4ht-c.tex"
 
+
 static int scan_class
 #ifdef ANSI
 #define SEP ,
@@ -3283,6 +4167,8 @@
    math_class = get_char();
    if(   (math_class >= '0' )
       && (math_class < '0' + 
+#line 12719 "./tex4ht-c.tex"
+
 79
 
 ) ){
@@ -3291,11 +4177,15 @@
         if( flag== 1 ) {
            switch( math_class ){
              case '-': { math_class = 
+#line 12719 "./tex4ht-c.tex"
+
 79
 
 ;
                          pause_class++;  break; }
              case '+': { math_class = 
+#line 12719 "./tex4ht-c.tex"
+
 79
 
 ;
@@ -3304,22 +4194,34 @@
         } } else if( flag== 2 ) {
            switch( math_class ){
              case 
+#line 12726 "./tex4ht-c.tex"
+
 ')'
 
 : {
                 math_class = 
+#line 12734 "./tex4ht-c.tex"
+
 (
+#line 12719 "./tex4ht-c.tex"
+
 79
 
  + 1)
 
 ;  break; }
              case 
+#line 12730 "./tex4ht-c.tex"
+
 '('
 
 :
                 { math_class = 
+#line 12738 "./tex4ht-c.tex"
+
 (
+#line 12719 "./tex4ht-c.tex"
+
 79
 
  + 2)
@@ -3333,7 +4235,9 @@
 }
 
 
+#line 12633 "./tex4ht-c.tex"
 
+
 static  INTEGER set_ch_class
 #ifdef ANSI
 #define SEP ,
@@ -3349,6 +4253,8 @@
 {                              int r_ch;
    r_ch = ch - font_tbl[cur_fnt].char_f;
    if( math_class == 
+#line 7369 "./tex4ht-c.tex"
+
 5
 
  ){
@@ -3360,14 +4266,22 @@
       *(font_tbl[cur_fnt].math + r_ch) = math_class;
    }
    open_del = ( math_class == 
+#line 7373 "./tex4ht-c.tex"
+
 4
 
  )? ch : 256;
    
+#line 9800 "./tex4ht-c.tex"
+
 return (INTEGER)(
     
+#line 9837 "./tex4ht-c.tex"
+
 design_size_to_pt( *(font_tbl[cur_fnt].wtbl
                      +  (int) (
+#line 9845 "./tex4ht-c.tex"
+
 *(font_tbl[cur_fnt].char_wi +  (int)
    ( ch - font_tbl[cur_fnt].char_f)% 256)
 
@@ -3382,7 +4296,9 @@
 }
 
 
+#line 12688 "./tex4ht-c.tex"
 
+
 static  int math_class_of
 #ifdef ANSI
 #define SEP ,
@@ -3399,6 +4315,8 @@
    math_class = ch - font_tbl[cur_fnt].char_f;
    return ((get_bit( font_tbl[cur_fnt].math_closing, math_class))?
                 
+#line 7369 "./tex4ht-c.tex"
+
 5
 
  : *( math_class + font_tbl[cur_fnt].math));
@@ -3406,10 +4324,14 @@
 }
 
 
-#if defined(DOS_WIN32) || defined(__MSDOS__)
+#line 13225 "./tex4ht-c.tex"
 
+#if defined(__MSDOS__)
 
-char *get_env_dir
+#line 13234 "./tex4ht-c.tex"
+
+
+static char *get_env_dir
 #ifdef ANSI
 #define SEP ,
 (
@@ -3435,7 +4357,7 @@
   p = (char *) malloc(i+12);
   if(p == NULL)  return NULL;      
   strncpy(p, progname, i+1);                        
-  (IGNORED) strcpy((char *) &p[i+1], (char *) "tex4ht.env");       
+  (IGNORED) strcpy((char *) &p[i+1], "tex4ht.env"); 
   return p;
 }
 
@@ -3443,13 +4365,15 @@
 #endif
 
 
+#line 13294 "./tex4ht-c.tex"
 
+
 static char* get_script
 #ifdef ANSI
 #define SEP ,
 (
-     U_CHAR * name SEP 
-     U_CHAR * inln SEP 
+     char * name SEP 
+     const U_CHAR * inln SEP 
      int x
 
 )
@@ -3457,8 +4381,8 @@
 #else
 #define SEP ;
 (name, inln,x)
-     U_CHAR * name SEP 
-     U_CHAR * inln SEP 
+     char * name SEP 
+     const U_CHAR * inln SEP 
      int x
 
 ;
@@ -3468,10 +4392,14 @@
    if( !name )
    {                U_CHAR  str[256], *ch;
       (IGNORED) fseek(dot_file, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
       if( search_dot_file( x ) ){
            
+#line 13318 "./tex4ht-c.tex"
+
 ch = str;  str[254] = '\0';
 do{                                       int int_ch;
   while((*(ch++) = (char)
@@ -3484,7 +4412,7 @@
 *ch = '\0';
 
 
-      } else  {(IGNORED)  strcpy((char *) str, (char *) inln); }
+      } else  {(IGNORED)  strcpy((char *) str, inln); }
       ch = m_alloc(char, (int) strlen((char *) str)+2);
       (IGNORED) strcpy((char *) ch, (char *) str);
       return ch;
@@ -3492,7 +4420,9 @@
 }
 
 
+#line 13344 "./tex4ht-c.tex"
 
+
 static BOOL search_dot_file
 #ifdef ANSI
 #define SEP ,
@@ -3514,6 +4444,8 @@
     if( chr == ch ){ return TRUE; }
     if( chr == '<' ) {
       
+#line 13367 "./tex4ht-c.tex"
+
                          U_CHAR match[256];
                          int i;
 for( i = 0; (chr != '\n') && (chr != EOF ) ; i++){
@@ -3528,6 +4460,8 @@
        i++){}
   if( match[i] == '>' ){  match[i] = '\0'; }
   
+#line 13435 "./tex4ht-c.tex"
+
 if( envChoice == (struct env_c_rec*) 0  ){
   env_skip = !eq_str(match, "default" );
 } else {
@@ -3540,6 +4474,8 @@
 
   if( env_skip ){
      
+#line 13387 "./tex4ht-c.tex"
+
                          U_CHAR cur_block[90];
                          BOOL status;
 (IGNORED) strcpy((char *)  cur_block, (char *) match);
@@ -3574,18 +4510,20 @@
 } }
 
 
+#line 13584 "./tex4ht-c.tex"
 
+
 static struct env_var_rec * get_env_var
 #ifdef ANSI
 #define SEP ,
 (
-    char *env_var
+    const char *env_var
 )
 #undef SEP
 #else
 #define SEP ;
 ( env_var )
-    char *env_var
+    const char *env_var
 ;
 #undef SEP
 #endif
@@ -3605,6 +4543,8 @@
               *from = '\0';
               base = from + 1;
              
+#line 13626 "./tex4ht-c.tex"
+
 {                         U_CHAR *str;
   if( *(from+1) == '~' ){
      if( HOME_DIR ){
@@ -3625,6 +4565,8 @@
 
              if( base ){
                
+#line 13618 "./tex4ht-c.tex"
+
 p = m_alloc(struct env_var_rec, 1);
 p->next = tfm_dirs;
 p->base = base;
@@ -3639,7 +4581,9 @@
 }
 
 
+#line 13887 "./tex4ht-c.tex"
 
+
 static void com_dir
 #ifdef ANSI
 #define SEP ,
@@ -3661,6 +4605,8 @@
 }
 
 
+#line 14580 "./tex4ht-c.tex"
+
 #ifdef KPATHSEA
 
 static void export_htf
@@ -3706,7 +4652,7 @@
      *export_str = (char *) r_alloc((void *) *export_str,
      (int) strlen((char *) *export_str) + (int) strlen((char *) str) +  2 );
      if( (int) strlen((char *) *export_str) > 0 ){
-        (IGNORED) strcat((char *) *export_str, (char *) ",");
+        (IGNORED) strcat((char *) *export_str, ",");
      }
      (IGNORED) strcat((char *) *export_str, (char *) str);
   }
@@ -3714,14 +4660,16 @@
 #endif
 
 
+#line 15309 "./tex4ht-c.tex"
 
+
 static FILE*  search_in_dot_file
 #ifdef ANSI
 #define SEP ,
 (
                                                  int   typ SEP 
-                                                 U_CHAR  *name SEP 
-                                                 U_CHAR  *flags SEP 
+                                                 const U_CHAR  *name SEP 
+                                                 const U_CHAR  *flags SEP 
                                       struct env_var_rec *env_dirs
 
 )
@@ -3730,8 +4678,8 @@
 #define SEP ;
 ( typ, name, flags, env_dirs)
                                                  int   typ SEP 
-                                                 U_CHAR  *name SEP 
-                                                 U_CHAR  *flags SEP 
+                                                 const U_CHAR  *name SEP 
+                                                 const U_CHAR  *flags SEP 
                                       struct env_var_rec *env_dirs
 
 ;
@@ -3742,21 +4690,29 @@
 #ifndef KPATHSEA
    if( cache_files != (FILE *) 0 ){
       
+#line 14019 "./tex4ht-c.tex"
+
                  U_CHAR cache_dir[256], dot_dir[256], *p, *q;
                  BOOL flag;
                  int  n,  ch;
 (IGNORED) fseek(cache_files, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 ch = (int) getc(cache_files);
 while ( ch != EOF ){
   if ( ch == ' ' ) { 
+#line 14036 "./tex4ht-c.tex"
+
 q = cache_dir;
 do
   *(q++) = ch = (int) getc(cache_files);
 while( (ch !='\n') && (ch != EOF) );
 *(q-1 - (*(q-2) == 
-#if defined(DOS_WIN32) || defined(__DJGPP__)
+#line 15558 "./tex4ht-c.tex"
+
+#if defined(__DJGPP__)
  '\\'
 #else
  '/'
@@ -3770,6 +4726,8 @@
 
  }
   else { 
+#line 14048 "./tex4ht-c.tex"
+
 p = name;  flag = FALSE;
 while( *(p++) == ch ){
   ch = (int) getc(cache_files);
@@ -3782,8 +4740,12 @@
 
     if( flag ){
        
+#line 14059 "./tex4ht-c.tex"
+
 flag = FALSE;
 (IGNORED) fseek(dot_file, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 while( search_dot_file( typ ) && !flag ){        U_CHAR *q, save_ch;
@@ -3795,7 +4757,9 @@
   flag = *(q - 2) = '!';
   q -= (flag? 2 : 1);
   *(q - (*(q-1) == 
-#if defined(DOS_WIN32) || defined(__DJGPP__)
+#line 15558 "./tex4ht-c.tex"
+
+#if defined(__DJGPP__)
  '\\'
 #else
  '/'
@@ -3817,6 +4781,8 @@
 
 
        if( flag ){ 
+#line 14085 "./tex4ht-c.tex"
+
 n = (int) strlen((char *) cache_dir);
 cache_dir[n] = dir_path_slash(cache_dir);
 cache_dir[n+1] = '\0';
@@ -3831,6 +4797,8 @@
    }
 #endif
    (IGNORED) fseek(dot_file, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
    while( search_dot_file( typ ) ){
@@ -3851,14 +4819,16 @@
 }
 
 
+#line 15354 "./tex4ht-c.tex"
 
+
 static FILE*  search_file_base
 #ifdef ANSI
 #define SEP ,
 (
-                                                 U_CHAR  *name SEP 
-                                                 U_CHAR  *dir SEP 
-                                                 U_CHAR  *flags SEP 
+                                                 const U_CHAR  *name SEP 
+                                                 const U_CHAR  *dir SEP 
+                                                 const U_CHAR  *flags SEP 
                                       struct env_var_rec *env_dirs
 
 )
@@ -3866,9 +4836,9 @@
 #else
 #define SEP ;
 ( name, dir, flags, env_dirs)
-                                                 U_CHAR  *name SEP 
-                                                 U_CHAR  *dir SEP 
-                                                 U_CHAR  *flags SEP 
+                                                 const U_CHAR  *name SEP 
+                                                 const U_CHAR  *dir SEP 
+                                                 const U_CHAR  *flags SEP 
                                       struct env_var_rec *env_dirs
 
 ;
@@ -3891,28 +4861,30 @@
 }
 
 
+#line 15385 "./tex4ht-c.tex"
 
+
 static char *  abs_addr
 #ifdef ANSI
 #define SEP ,
 (
-                                                 U_CHAR  *dir SEP 
-                                                 U_CHAR  *base
+                                                 const U_CHAR  *dir SEP 
+                                                 const U_CHAR  *base
 
 )
 #undef SEP
 #else
 #define SEP ;
 ( dir, base)
-                                                 U_CHAR  *dir SEP 
-                                                 U_CHAR  *base
+                                                 const U_CHAR  *dir SEP 
+                                                 const U_CHAR  *base
 
 ;
 #undef SEP
 #endif
 {                                         U_CHAR  *p;
-   p = m_alloc(char, (int) strlen((char *)  dir )            +
-                     (base? (int) strlen((char *)  base ):0) +
+   p = m_alloc(char, (int) strlen( dir )            +
+                     (base? (int) strlen( base ):0) +
                      (int) strlen((char *)  HOME_DIR  )      + 1 );
    *p = '\0';
    if( (*(dir+1) == '~') && base ){
@@ -3931,23 +4903,25 @@
 }
 
 
+#line 15426 "./tex4ht-c.tex"
 
+
 static FILE* search_file
 #ifdef ANSI
 #define SEP ,
 (
-     U_CHAR   *name SEP 
-     U_CHAR   *dir SEP 
-     U_CHAR   *flags
+     const char     *name SEP 
+     const U_CHAR   *dir SEP 
+     const U_CHAR   *flags
 
 )
 #undef SEP
 #else
 #define SEP ;
 ( name, dir, flags )
-     U_CHAR   *name SEP 
-     U_CHAR   *dir SEP 
-     U_CHAR   *flags
+     const char     *name SEP 
+     const U_CHAR   *dir SEP 
+     const U_CHAR   *flags
 
 ;
 #undef SEP
@@ -3957,17 +4931,21 @@
      int i;
      BOOL subs;
   
+#line 15467 "./tex4ht-c.tex"
+
 if( (file = f_open(name, flags)) != NULL ){
    return file; }
 
 
-      (IGNORED) strcpy((char *) str, (char *) dir);
+      (IGNORED) strcpy((char *) str, dir);
       i = (int) strlen((char *) str) - 1;
       subs = str[i] == '!';
       if( subs )  str[i] = '\0';  else i++;
       
+#line 15451 "./tex4ht-c.tex"
+
 (IGNORED) strct(str,
-#if defined(DOS_WIN32) || defined(__DJGPP__)
+#if defined(__DJGPP__)
  (( dir[i-1] == '/') ||  ( dir[i-1] == '\\'))
  ?  ""
  :  (is_forward_slash(dir)?  "/" : "\\" )
@@ -3979,6 +4957,8 @@
 
 
   
+#line 15472 "./tex4ht-c.tex"
+
 (IGNORED) strct(str,name);
 if( (file = f_open(str, flags)) != NULL ){
    str[i] = '\0'; add_to_cache(str,name,i);
@@ -3987,23 +4967,25 @@
 
   str[i] = '\0';
   return  subs?  search_file_ext( name, str, flags):
-                FALSE;
+                NULL;
 }
 
 
+#line 15486 "./tex4ht-c.tex"
 
+
 static void add_to_cache
 #ifdef ANSI
 #define SEP ,
 (
-                         char*  dir SEP  char* name SEP  int n
+                         const char*  dir SEP  const char* name SEP  int n
 
 )
 #undef SEP
 #else
 #define SEP ;
 (dir,name,n)
-                         char*  dir SEP  char* name SEP  int n
+                         const char*  dir SEP  const char* name SEP  int n
 
 ;
 #undef SEP
@@ -4012,6 +4994,8 @@
                          struct cache_font_rec *cur_cache_font;
 
    
+#line 13681 "./tex4ht-c.tex"
+
 {     int found;
    found = FALSE;
    for( cur_cache_font = cache_font;
@@ -4022,11 +5006,13 @@
    if( !found ){
       cur_cache_font = m_alloc(struct cache_font_rec, 1);
       
+#line 13944 "./tex4ht-c.tex"
+
 cur_cache_font->cache_file = (struct cache_file_rec *) 0;
 
 
       cur_cache_font->dir = m_alloc(char, n+1);
-      (IGNORED) strcpy((char *) cur_cache_font->dir, (char *) dir);
+      (IGNORED) strcpy((char *) cur_cache_font->dir, dir);
       if( !cache_font ){
          cur_cache_font->next = cache_font;
          cache_font = cur_cache_font;
@@ -4046,6 +5032,8 @@
 
 
    
+#line 13948 "./tex4ht-c.tex"
+
 {
              struct cache_file_rec *file_rec, *prev_file_rec;
   prev_file_rec = (struct cache_file_rec *) 0;
@@ -4064,9 +5052,11 @@
     }
     if( flag ) {
       
+#line 13973 "./tex4ht-c.tex"
+
 file_entry = m_alloc(struct cache_file_rec, 1);
-file_entry->file = m_alloc(char, strlen((char *) name)+1);
-(IGNORED) strcpy((char *) file_entry->file, (char *) name);
+file_entry->file = m_alloc(char, strlen(name)+1);
+(IGNORED) strcpy((char *) file_entry->file, name);
 if( ! cur_cache_font->cache_file ){
   cur_cache_font->cache_file = file_entry;
  file_entry->next = (struct cache_file_rec *) 0;
@@ -4087,23 +5077,25 @@
 }
 
 
+#line 15507 "./tex4ht-c.tex"
 
+
 static FILE* search_file_ext
 #ifdef ANSI
 #define SEP ,
 (
-    U_CHAR   *name SEP 
-    U_CHAR   *dir SEP 
-    U_CHAR   *flags
+    const char     *name SEP 
+    const U_CHAR   *dir SEP 
+    const U_CHAR   *flags
 
 )
 #undef SEP
 #else
 #define SEP ;
 ( name, dir, flags )
-    U_CHAR   *name SEP 
-    U_CHAR   *dir SEP 
-    U_CHAR   *flags
+    const char     *name SEP 
+    const U_CHAR   *dir SEP 
+    const U_CHAR   *flags
 
 ;
 #undef SEP
@@ -4111,9 +5103,9 @@
 {  U_CHAR   str[256];
     FILE*  file;
     int    n;
-  n = (int) strlen((char *) dir);
+  n = (int) strlen(dir);
   (IGNORED) sprintf(str,
-#if defined(DOS_WIN32) || defined(__DJGPP__)
+#if defined(__DJGPP__)
  (( dir[n-1] == '/') ||  ( dir[n-1] == '\\'))
  ?  "%s%s"
  :  (is_forward_slash(dir)?  "%s/%s" : "%s\\%s" )
@@ -4126,7 +5118,9 @@
      return file;
   }
   if( (str[n] == 
-#if defined(DOS_WIN32) || defined(__DJGPP__)
+#line 15558 "./tex4ht-c.tex"
+
+#if defined(__DJGPP__)
  '\\'
 #else
  '/'
@@ -4141,16 +5135,19 @@
 #ifndef NOSUBDIR
 #ifdef WIN32
   
+#line 537 "./tex4ht-c.tex"
+
 {
     WIN32_FIND_DATA find_file_data;
     HANDLE hnd;
     int proceed;
     (IGNORED) strcpy((char *) dirname, (char *) str);
-    strct(dirname, (is_forward_slash(dirname)?  "/" : "\\") );
-    strct(dirname, "*.*");       
+    strct(dirname, "/*.*");       
     hnd = FindFirstFile(dirname, &find_file_data);
     if (hnd != INVALID_HANDLE_VALUE) {
       
+#line 551 "./tex4ht-c.tex"
+
 proceed = 1;
 while (proceed) {
   if( !eq_str(find_file_data.cFileName, ".")  &&
@@ -4175,9 +5172,13 @@
 
 #else
   
+#line 15598 "./tex4ht-c.tex"
+
 {      DIR             *dp;
        
+#line 15727 "./tex4ht-c.tex"
 
+
 #ifdef STRUCT_DIRECT
    struct direct
 #else
@@ -4191,6 +5192,8 @@
       if( !eq_str(dirp->d_name, ".")  &&
           !eq_str(dirp->d_name, "..") )
       { 
+#line 15613 "./tex4ht-c.tex"
+
 (IGNORED) strcpy((char *)  str+n, (char *) dirp->d_name );
 str[n-1] = dir_path_slash(str);
 if( LSTAT(str, &buf) >= 0 )
@@ -4211,19 +5214,21 @@
 }
 
 
-#if defined(DOS_WIN32) || defined(__DJGPP__)
+#line 15584 "./tex4ht-c.tex"
 
+#if defined(__DJGPP__)
+
 static BOOL is_forward_slash
 #ifdef ANSI
 #define SEP ,
 (
-                                    char* str
+                                    const char* str
 )
 #undef SEP
 #else
 #define SEP ;
 (str)
-                                    char* str
+                                    const char* str
 ;
 #undef SEP
 #endif
@@ -4234,20 +5239,22 @@
 #endif
 
 
+#line 15806 "./tex4ht-c.tex"
 
+
 static FILE* f_open_pathed_filename
 #ifdef ANSI
 #define SEP ,
 (
-                          char*  name  SEP 
-                          char*  flags
+                          const char*  name  SEP 
+                          const char*  flags
 )
 #undef SEP
 #else
 #define SEP ;
 ( name, flags )
-                          char*  name  SEP 
-                          char*  flags
+                          const char*  name  SEP 
+                          const char*  flags
 ;
 #undef SEP
 #endif
@@ -4256,7 +5263,7 @@
   file = NULL;
   if( *name == '~' ){
      if( HOME_DIR ){
-         str = m_alloc(char, strlen((char *) HOME_DIR)+strlen((char *) name));
+         str = m_alloc(char, strlen((char *) HOME_DIR)+strlen(name));
          (IGNORED) sprintf(str,"%s%s", HOME_DIR, name+1);
          file = f_open(str,flags);
          free((void *)  str);
@@ -4266,7 +5273,9 @@
 }
 
 
+#line 15840 "./tex4ht-c.tex"
 
+
 static  INTEGER put_4ht_ch
 #ifdef ANSI
 #define SEP ,
@@ -4284,6 +5293,8 @@
   c = ch;
   if( ch=='&' ){
      
+#line 15906 "./tex4ht-c.tex"
+
 flush_uni();
 
 
@@ -4297,8 +5308,12 @@
   } else
   if( uni_code_p ){
     if( ch == ';' ){ 
+#line 16129 "./tex4ht-c.tex"
+
 if( uni_code[1] != '#' ){
    
+#line 15906 "./tex4ht-c.tex"
+
 flush_uni();
 
 
@@ -4320,12 +5335,16 @@
     value = value*base + digit;
   }
   if( value<0 ){ 
+#line 15906 "./tex4ht-c.tex"
+
 flush_uni();
 
 
                  (IGNORED)  putc( ch, htFile );
   } else {
      
+#line 16156 "./tex4ht-c.tex"
+
     int bottom, mid, top;
     BOOL found=FALSE;
 bottom = 0; top = charset_n;
@@ -4333,6 +5352,8 @@
    mid = (bottom + top) / 2;
    if( value == charset[mid].ch ){
       
+#line 16182 "./tex4ht-c.tex"
+
 {          U_CHAR *p;
    p = charset[mid].str;
    while( *p != '\0' ){
@@ -4349,6 +5370,8 @@
      else {
        (IGNORED) putc( *p, htFile );
        if ( (*p=='&') && u10 ){ 
+#line 16256 "./tex4ht-c.tex"
+
 if ( *(p+1) == '#' ){
   p++;
   (IGNORED) putc( '#', htFile );
@@ -4370,6 +5393,8 @@
        else {
          if( digit == ';' ){
            
+#line 16287 "./tex4ht-c.tex"
+
               char   uni_10[MAX_UNI_CODE];
               int n;
 n = 0;
@@ -4409,6 +5434,8 @@
 }
 if( ! found ){
    if( u10 || utf8 ){ 
+#line 16225 "./tex4ht-c.tex"
+
       short  n;
       long   dec;
       int    ch;
@@ -4423,6 +5450,8 @@
                        : (ch-'0'));
    }
    if( u10 ){ 
+#line 16245 "./tex4ht-c.tex"
+
    if( dec == 0 ){
       uni_code_p = 3;  uni_code[2] = '0';
    } else {
@@ -4434,7 +5463,11 @@
 
  }
    else     { 
+#line 16366 "./tex4ht-c.tex"
 
+
+#line 16316 "./tex4ht-c.tex"
+
 if( dec < 0x80 ){
    uni_code_p = 1;  uni_code[0] = dec;
 }
@@ -4487,6 +5520,8 @@
 
  }
    
+#line 15906 "./tex4ht-c.tex"
+
 flush_uni();
 
 
@@ -4508,6 +5543,8 @@
                   )
             )
     { 
+#line 15906 "./tex4ht-c.tex"
+
 flush_uni();
 
 
@@ -4518,6 +5555,8 @@
 }
 
 
+#line 15914 "./tex4ht-c.tex"
+
 static void flush_uni( MYVOID )
 {
                                    int i;
@@ -4529,7 +5568,9 @@
 }
 
 
+#line 16577 "./tex4ht-c.tex"
 
+
 static  INTEGER insert_ch
 #ifdef ANSI
 #define SEP ,
@@ -4546,8 +5587,12 @@
    if( !ignore_chs ){
         BOOL flag;
      
+#line 16599 "./tex4ht-c.tex"
+
 flag = FALSE;
 if( 
+#line 4338 "./tex4ht-c.tex"
+
 next_str
 
  ) {
@@ -4561,15 +5606,25 @@
      if( !flag ){
         try_new_line();
         
+#line 10649 "./tex4ht-c.tex"
 
+
+#line 12298 "./tex4ht-c.tex"
+
 if( x_val > needs_end_accent ){
   
+#line 12281 "./tex4ht-c.tex"
+
 if( needs_end_accent && t_accent_template ){
    
+#line 2609 "./tex4ht-c.tex"
+
 if( span_on && in_span_ch ){
    if( *end_span[0] ){
        in_span_ch = FALSE;
        
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -4579,6 +5634,8 @@
 
    (IGNORED) fprintf(cur_o_file, "%s", t_accent_fifth);
    needs_end_accent = FALSE; 
+#line 12424 "./tex4ht-c.tex"
+
 needs_accented_sym--;
 
 
@@ -4589,10 +5646,14 @@
 
 
 
+#line 2543 "./tex4ht-c.tex"
+
 if( span_on && (default_font != font_tbl[cur_fnt].num) ){
   if( !ch_map_flag && start_span ){
     if( span_name_on ){
        
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -4616,9 +5677,13 @@
 }
 
  
+#line 2897 "./tex4ht-c.tex"
+
 if( trace_dvi_C ){
    if( !ch_map_flag ){
      
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -4634,9 +5699,13 @@
 
 
 
+#line 12913 "./tex4ht-c.tex"
+
 if( show_class  && !pause_class && !ignore_subclass_del){
    if( !stack[stack_n].no_left_del && stack[stack_n+1].active_class_del ){
       
+#line 12988 "./tex4ht-c.tex"
+
 (IGNORED) print_f( (stack[stack_n+1].temp_class_del)?
                       stack[stack_n+1].temp_class_open
                    :  stack[stack_n+1].class_open);
@@ -4644,6 +5713,8 @@
 
       if( !stack[stack_n+1].ignore_subclass_del ){
          
+#line 12926 "./tex4ht-c.tex"
+
 math_class = math_class_of( ch, cur_fnt );
 (IGNORED) print_f( open_class[math_class]);
 
@@ -4651,6 +5722,8 @@
       }
    } else {
       
+#line 12926 "./tex4ht-c.tex"
+
 math_class = math_class_of( ch, cur_fnt );
 (IGNORED) print_f( open_class[math_class]);
 
@@ -4658,9 +5731,13 @@
 }  }
 
  
+#line 8194 "./tex4ht-c.tex"
+
 if( pos_dvi ){       long int d;
   if( *pos_text ){
     
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -4670,9 +5747,15 @@
   }
   if( x_val < min_pos_x )                       min_pos_x = x_val;
   if( (d = x_val + 
+#line 9851 "./tex4ht-c.tex"
+
 (int)(
+#line 9837 "./tex4ht-c.tex"
+
 design_size_to_pt( *(font_tbl[cur_fnt].wtbl
                      +  (int) (
+#line 9845 "./tex4ht-c.tex"
+
 *(font_tbl[cur_fnt].char_wi +  (int)
    ( ch - font_tbl[cur_fnt].char_f)% 256)
 
@@ -4684,9 +5767,15 @@
 
 )  > max_pos_x ) max_pos_x = d;
   if( (d = y_val - 
+#line 9875 "./tex4ht-c.tex"
+
 (int)(
+#line 9860 "./tex4ht-c.tex"
+
 design_size_to_pt( *(font_tbl[cur_fnt].htbl
                  +  (int) (
+#line 9867 "./tex4ht-c.tex"
+
 ( *(font_tbl[cur_fnt].char_hidp +  (int)
    ( ch - font_tbl[cur_fnt].char_f)% 256)
   >>  4
@@ -4699,9 +5788,15 @@
 
 ) < min_pos_y ) min_pos_y = d;
   if( (d = y_val + 
+#line 9898 "./tex4ht-c.tex"
+
 (int)(
+#line 9884 "./tex4ht-c.tex"
+
 design_size_to_pt( *(font_tbl[cur_fnt].dtbl
                  +  (int) (
+#line 9891 "./tex4ht-c.tex"
+
 ( *(font_tbl[cur_fnt].char_hidp +  (int)
    ( ch - font_tbl[cur_fnt].char_f)% 256)
 ) & 0x0F
@@ -4716,6 +5811,8 @@
 
 
 
+#line 12392 "./tex4ht-c.tex"
+
 if( a_accent_template && needs_accented_sym ){
   (IGNORED) fprintf(cur_o_file, "%s%s%s%d%s%d%s",
      a_accent_first,   font_tbl[cur_fnt].family_name,
@@ -4728,29 +5825,43 @@
 
 
 if( 
+#line 4332 "./tex4ht-c.tex"
+
 next_char
 
  != -1 ) {
    
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
    (IGNORED) put_4ht_ch( 
+#line 4332 "./tex4ht-c.tex"
+
 next_char
 
 , cur_o_file );
    
+#line 4332 "./tex4ht-c.tex"
+
 next_char
 
  = -1;
 } else if( 
+#line 4338 "./tex4ht-c.tex"
+
 next_str
 
  ) {
    
+#line 4347 "./tex4ht-c.tex"
+
 if( keepChar ){
   keepChar=FALSE;
   { 
+#line 10678 "./tex4ht-c.tex"
+
    int gif_flag, chr, r_ch;
     BOOL  ch_str_flag;
 r_ch = ch - font_tbl[cur_fnt].char_f;
@@ -4760,17 +5871,23 @@
                          *(font_tbl[cur_fnt].ch + r_ch);
 if( (gif_flag % 2) || ch_str_flag ){      design_ch = ch;
              { 
+#line 10701 "./tex4ht-c.tex"
+
       U_CHAR  str[256], *p;
       BOOL sv;
       int mag;
 sv = special_on;   special_on = TRUE;
 if( gif_ch && (gif_flag % 2) ){
    
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
    if( !gif_open[gif_flag] ){
      
+#line 10778 "./tex4ht-c.tex"
+
 (IGNORED) sprintf(str,
    "configuration for htf class %d (char %d of %s.htf)",
    gif_flag, ch,font_tbl[cur_fnt].name
@@ -4778,13 +5895,19 @@
 warn_i_str(50,str);
 
 
+#line 10786 "./tex4ht-c.tex"
+
 gif_open[gif_flag] = m_alloc(char,
    
+#line 10811 "./tex4ht-c.tex"
+
 29
 
 );
 (IGNORED) strcpy((char *) gif_open[gif_flag],
-(char *)   
+           
+#line 10807 "./tex4ht-c.tex"
+
 "<img src=\"+\" alt=\"+++++\" />+"
 
 );
@@ -4809,6 +5932,8 @@
       store_bit_I( class_on, gif_flag );
    }
    
+#line 11467 "./tex4ht-c.tex"
+
 p= gif_open[gif_flag];
 if( p )
 if( *p ){
@@ -4816,6 +5941,8 @@
    mag = (int) ((double) font_tbl[cur_fnt].scale /
                 font_tbl[cur_fnt].design_sz  * 10 );
    
+#line 10893 "./tex4ht-c.tex"
+
 if( !dos_file_names ){
    print_f(font_tbl[cur_fnt].name);
    if( mag == 10 )  (IGNORED) sprintf(str, GIF_I,   design_ch, gif);
@@ -4823,7 +5950,9 @@
 }
 
 
+#line 10914 "./tex4ht-c.tex"
 
+
 if( dos_file_names ){
    dos_gif_file(str, mag, design_ch);
    print_f(str);
@@ -4838,6 +5967,8 @@
 
 
    
+#line 11500 "./tex4ht-c.tex"
+
 p = gif_alt[gif_flag];
 if( p )
   if( *p ){
@@ -4846,6 +5977,8 @@
 
 
    
+#line 11514 "./tex4ht-c.tex"
+
 p = gif_class[gif_flag];
 if( p )
   if( *p ){
@@ -4854,6 +5987,8 @@
 
 
    
+#line 11538 "./tex4ht-c.tex"
+
 p = gif_size[gif_flag];
 if( p )
   if( *p ){
@@ -4862,6 +5997,8 @@
 
 
    
+#line 11555 "./tex4ht-c.tex"
+
 p = gif_mag[gif_flag];
 if( p )
   if( *p && (font_tbl[cur_fnt].mag != 100) ){
@@ -4870,6 +6007,8 @@
 
 
    
+#line 11570 "./tex4ht-c.tex"
+
 p = gif_ord[gif_flag];
 if( p )
   if( *p ){
@@ -4878,16 +6017,24 @@
 
 
    
+#line 11587 "./tex4ht-c.tex"
+
 p = gif_end[gif_flag];
 if( p )
   if( *p ){ print_f( p ); }
 
 
 } else  { 
+#line 10830 "./tex4ht-c.tex"
+
 if( !gif_flag || (gif_flag % 2)  || ch_map_flag ) {
    put_alt_ch(chr,ch_str_flag);  }
 else{ 
+#line 11723 "./tex4ht-c.tex"
 
+
+#line 11739 "./tex4ht-c.tex"
+
 if( gif_flag && !get_bit( class_on, gif_flag ) ) {
   notify_class_info(gif_flag);
   store_bit_I( class_on, gif_flag );
@@ -4896,6 +6043,8 @@
 
 if( span_on ){
    
+#line 11749 "./tex4ht-c.tex"
+
 if( span_open[gif_flag] )
   if( *span_open[gif_flag] ){
      print_f( span_open[gif_flag] );
@@ -4903,6 +6052,8 @@
 
 
    
+#line 11773 "./tex4ht-c.tex"
+
 if( span_name[gif_flag] )
   if( *span_name[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_name[gif_flag],
@@ -4911,6 +6062,8 @@
 
 
    
+#line 11783 "./tex4ht-c.tex"
+
 if( span_size[gif_flag] )
   if( *span_size[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_size[gif_flag],
@@ -4919,6 +6072,8 @@
 
 
    
+#line 11792 "./tex4ht-c.tex"
+
 if( span_mag[gif_flag] )
   if( *span_mag[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_mag[gif_flag],
@@ -4927,6 +6082,8 @@
 
 
    
+#line 11801 "./tex4ht-c.tex"
+
 if( span_ord[gif_flag] )
   if( *span_ord[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_ord[gif_flag], chr);
@@ -4934,6 +6091,8 @@
 
 
    
+#line 11765 "./tex4ht-c.tex"
+
 if( span_ch[gif_flag] )
   if( *span_ch[gif_flag] ){
     print_f( span_ch[gif_flag] );
@@ -4944,6 +6103,8 @@
 put_alt_ch(chr,ch_str_flag);
 if( span_on ){
    
+#line 11756 "./tex4ht-c.tex"
+
 if( end_span[gif_flag] )
   if( *end_span[gif_flag] ){
      print_f( end_span[gif_flag] );
@@ -4959,13 +6120,21 @@
 
  } design_ch = 0;    }
 else { 
+#line 10821 "./tex4ht-c.tex"
+
 if( !gif_flag || (gif_flag % 2) || ch_map_flag ) {  put_char(chr);
 } else{ 
+#line 11704 "./tex4ht-c.tex"
 
+
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
 
+#line 11739 "./tex4ht-c.tex"
+
 if( gif_flag && !get_bit( class_on, gif_flag ) ) {
   notify_class_info(gif_flag);
   store_bit_I( class_on, gif_flag );
@@ -4974,6 +6143,8 @@
 
 if( span_on ){
    
+#line 11749 "./tex4ht-c.tex"
+
 if( span_open[gif_flag] )
   if( *span_open[gif_flag] ){
      print_f( span_open[gif_flag] );
@@ -4981,6 +6152,8 @@
 
 
    
+#line 11773 "./tex4ht-c.tex"
+
 if( span_name[gif_flag] )
   if( *span_name[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_name[gif_flag],
@@ -4989,6 +6162,8 @@
 
 
    
+#line 11783 "./tex4ht-c.tex"
+
 if( span_size[gif_flag] )
   if( *span_size[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_size[gif_flag],
@@ -4997,6 +6172,8 @@
 
 
    
+#line 11792 "./tex4ht-c.tex"
+
 if( span_mag[gif_flag] )
   if( *span_mag[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_mag[gif_flag],
@@ -5005,6 +6182,8 @@
 
 
    
+#line 11801 "./tex4ht-c.tex"
+
 if( span_ord[gif_flag] )
   if( *span_ord[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_ord[gif_flag], chr);
@@ -5012,6 +6191,8 @@
 
 
    
+#line 11765 "./tex4ht-c.tex"
+
 if( span_ch[gif_flag] )
   if( *span_ch[gif_flag] ){
     print_f( span_ch[gif_flag] );
@@ -5022,6 +6203,8 @@
 put_char(chr);
 if( span_on ){
    
+#line 11756 "./tex4ht-c.tex"
+
 if( end_span[gif_flag] )
   if( *end_span[gif_flag] ){
      print_f( end_span[gif_flag] );
@@ -5043,11 +6226,15 @@
 } else {
    if( verb_ch ){
       
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
       (IGNORED) put_4ht_ch( ch, cur_o_file );
    } else {  
+#line 10678 "./tex4ht-c.tex"
+
    int gif_flag, chr, r_ch;
     BOOL  ch_str_flag;
 r_ch = ch - font_tbl[cur_fnt].char_f;
@@ -5057,17 +6244,23 @@
                          *(font_tbl[cur_fnt].ch + r_ch);
 if( (gif_flag % 2) || ch_str_flag ){      design_ch = ch;
              { 
+#line 10701 "./tex4ht-c.tex"
+
       U_CHAR  str[256], *p;
       BOOL sv;
       int mag;
 sv = special_on;   special_on = TRUE;
 if( gif_ch && (gif_flag % 2) ){
    
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
    if( !gif_open[gif_flag] ){
      
+#line 10778 "./tex4ht-c.tex"
+
 (IGNORED) sprintf(str,
    "configuration for htf class %d (char %d of %s.htf)",
    gif_flag, ch,font_tbl[cur_fnt].name
@@ -5075,13 +6268,19 @@
 warn_i_str(50,str);
 
 
+#line 10786 "./tex4ht-c.tex"
+
 gif_open[gif_flag] = m_alloc(char,
    
+#line 10811 "./tex4ht-c.tex"
+
 29
 
 );
 (IGNORED) strcpy((char *) gif_open[gif_flag],
-(char *)   
+           
+#line 10807 "./tex4ht-c.tex"
+
 "<img src=\"+\" alt=\"+++++\" />+"
 
 );
@@ -5106,6 +6305,8 @@
       store_bit_I( class_on, gif_flag );
    }
    
+#line 11467 "./tex4ht-c.tex"
+
 p= gif_open[gif_flag];
 if( p )
 if( *p ){
@@ -5113,6 +6314,8 @@
    mag = (int) ((double) font_tbl[cur_fnt].scale /
                 font_tbl[cur_fnt].design_sz  * 10 );
    
+#line 10893 "./tex4ht-c.tex"
+
 if( !dos_file_names ){
    print_f(font_tbl[cur_fnt].name);
    if( mag == 10 )  (IGNORED) sprintf(str, GIF_I,   design_ch, gif);
@@ -5120,7 +6323,9 @@
 }
 
 
+#line 10914 "./tex4ht-c.tex"
 
+
 if( dos_file_names ){
    dos_gif_file(str, mag, design_ch);
    print_f(str);
@@ -5135,6 +6340,8 @@
 
 
    
+#line 11500 "./tex4ht-c.tex"
+
 p = gif_alt[gif_flag];
 if( p )
   if( *p ){
@@ -5143,6 +6350,8 @@
 
 
    
+#line 11514 "./tex4ht-c.tex"
+
 p = gif_class[gif_flag];
 if( p )
   if( *p ){
@@ -5151,6 +6360,8 @@
 
 
    
+#line 11538 "./tex4ht-c.tex"
+
 p = gif_size[gif_flag];
 if( p )
   if( *p ){
@@ -5159,6 +6370,8 @@
 
 
    
+#line 11555 "./tex4ht-c.tex"
+
 p = gif_mag[gif_flag];
 if( p )
   if( *p && (font_tbl[cur_fnt].mag != 100) ){
@@ -5167,6 +6380,8 @@
 
 
    
+#line 11570 "./tex4ht-c.tex"
+
 p = gif_ord[gif_flag];
 if( p )
   if( *p ){
@@ -5175,16 +6390,24 @@
 
 
    
+#line 11587 "./tex4ht-c.tex"
+
 p = gif_end[gif_flag];
 if( p )
   if( *p ){ print_f( p ); }
 
 
 } else  { 
+#line 10830 "./tex4ht-c.tex"
+
 if( !gif_flag || (gif_flag % 2)  || ch_map_flag ) {
    put_alt_ch(chr,ch_str_flag);  }
 else{ 
+#line 11723 "./tex4ht-c.tex"
 
+
+#line 11739 "./tex4ht-c.tex"
+
 if( gif_flag && !get_bit( class_on, gif_flag ) ) {
   notify_class_info(gif_flag);
   store_bit_I( class_on, gif_flag );
@@ -5193,6 +6416,8 @@
 
 if( span_on ){
    
+#line 11749 "./tex4ht-c.tex"
+
 if( span_open[gif_flag] )
   if( *span_open[gif_flag] ){
      print_f( span_open[gif_flag] );
@@ -5200,6 +6425,8 @@
 
 
    
+#line 11773 "./tex4ht-c.tex"
+
 if( span_name[gif_flag] )
   if( *span_name[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_name[gif_flag],
@@ -5208,6 +6435,8 @@
 
 
    
+#line 11783 "./tex4ht-c.tex"
+
 if( span_size[gif_flag] )
   if( *span_size[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_size[gif_flag],
@@ -5216,6 +6445,8 @@
 
 
    
+#line 11792 "./tex4ht-c.tex"
+
 if( span_mag[gif_flag] )
   if( *span_mag[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_mag[gif_flag],
@@ -5224,6 +6455,8 @@
 
 
    
+#line 11801 "./tex4ht-c.tex"
+
 if( span_ord[gif_flag] )
   if( *span_ord[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_ord[gif_flag], chr);
@@ -5231,6 +6464,8 @@
 
 
    
+#line 11765 "./tex4ht-c.tex"
+
 if( span_ch[gif_flag] )
   if( *span_ch[gif_flag] ){
     print_f( span_ch[gif_flag] );
@@ -5241,6 +6476,8 @@
 put_alt_ch(chr,ch_str_flag);
 if( span_on ){
    
+#line 11756 "./tex4ht-c.tex"
+
 if( end_span[gif_flag] )
   if( *end_span[gif_flag] ){
      print_f( end_span[gif_flag] );
@@ -5256,13 +6493,21 @@
 
  } design_ch = 0;    }
 else { 
+#line 10821 "./tex4ht-c.tex"
+
 if( !gif_flag || (gif_flag % 2) || ch_map_flag ) {  put_char(chr);
 } else{ 
+#line 11704 "./tex4ht-c.tex"
 
+
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
 
+#line 11739 "./tex4ht-c.tex"
+
 if( gif_flag && !get_bit( class_on, gif_flag ) ) {
   notify_class_info(gif_flag);
   store_bit_I( class_on, gif_flag );
@@ -5271,6 +6516,8 @@
 
 if( span_on ){
    
+#line 11749 "./tex4ht-c.tex"
+
 if( span_open[gif_flag] )
   if( *span_open[gif_flag] ){
      print_f( span_open[gif_flag] );
@@ -5278,6 +6525,8 @@
 
 
    
+#line 11773 "./tex4ht-c.tex"
+
 if( span_name[gif_flag] )
   if( *span_name[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_name[gif_flag],
@@ -5286,6 +6535,8 @@
 
 
    
+#line 11783 "./tex4ht-c.tex"
+
 if( span_size[gif_flag] )
   if( *span_size[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_size[gif_flag],
@@ -5294,6 +6545,8 @@
 
 
    
+#line 11792 "./tex4ht-c.tex"
+
 if( span_mag[gif_flag] )
   if( *span_mag[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_mag[gif_flag],
@@ -5302,6 +6555,8 @@
 
 
    
+#line 11801 "./tex4ht-c.tex"
+
 if( span_ord[gif_flag] )
   if( *span_ord[gif_flag] ){
     (IGNORED) fprintf(cur_o_file, span_ord[gif_flag], chr);
@@ -5309,6 +6564,8 @@
 
 
    
+#line 11765 "./tex4ht-c.tex"
+
 if( span_ch[gif_flag] )
   if( *span_ch[gif_flag] ){
     print_f( span_ch[gif_flag] );
@@ -5319,6 +6576,8 @@
 put_char(chr);
 if( span_on ){
    
+#line 11756 "./tex4ht-c.tex"
+
 if( end_span[gif_flag] )
   if( *end_span[gif_flag] ){
      print_f( end_span[gif_flag] );
@@ -5334,26 +6593,36 @@
  }
 }
 
+#line 12405 "./tex4ht-c.tex"
+
 if( a_accent_template && needs_accented_sym ){
    (IGNORED) fprintf(cur_o_file, "%s", a_accent_fifth);
 }
 
 
 
+#line 8213 "./tex4ht-c.tex"
+
 if( pos_dvi ){
    print_f(end_pos_text);
 }
 
  
+#line 12947 "./tex4ht-c.tex"
+
 if( show_class && !pause_class && !ignore_subclass_del ){
    if( !stack[stack_n].no_left_del && stack[stack_n+1].active_class_del ){
       if( !stack[stack_n+1].ignore_subclass_del ){
          
+#line 12962 "./tex4ht-c.tex"
+
 (IGNORED) print_f( close_class[math_class]);
 
 
       }
       
+#line 12975 "./tex4ht-c.tex"
+
 (IGNORED) print_f( (stack[stack_n+1].temp_class_del)?
                       stack[stack_n+1].temp_class_close
                    :  stack[stack_n+1].class_close);
@@ -5362,6 +6631,8 @@
       stack[stack_n+1].active_class_del = FALSE;
    } else {
       
+#line 12962 "./tex4ht-c.tex"
+
 (IGNORED) print_f( close_class[math_class]);
 
 
@@ -5371,8 +6642,12 @@
 
 
 
+#line 2913 "./tex4ht-c.tex"
+
 if( trace_dvi_C && !ch_map_flag ){
    
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -5381,17 +6656,27 @@
 }
 
  
+#line 2619 "./tex4ht-c.tex"
 
 
 
 
 
+#line 12307 "./tex4ht-c.tex"
+
+
+#line 12281 "./tex4ht-c.tex"
+
 if( needs_end_accent && t_accent_template ){
    
+#line 2609 "./tex4ht-c.tex"
+
 if( span_on && in_span_ch ){
    if( *end_span[0] ){
        in_span_ch = FALSE;
        
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -5401,6 +6686,8 @@
 
    (IGNORED) fprintf(cur_o_file, "%s", t_accent_fifth);
    needs_end_accent = FALSE; 
+#line 12424 "./tex4ht-c.tex"
+
 needs_accented_sym--;
 
 
@@ -5414,10 +6701,16 @@
         text_on = TRUE;
    } }
    
+#line 9800 "./tex4ht-c.tex"
+
 return (INTEGER)(
     
+#line 9837 "./tex4ht-c.tex"
+
 design_size_to_pt( *(font_tbl[cur_fnt].wtbl
                      +  (int) (
+#line 9845 "./tex4ht-c.tex"
+
 *(font_tbl[cur_fnt].char_wi +  (int)
    ( ch - font_tbl[cur_fnt].char_f)% 256)
 
@@ -5432,7 +6725,9 @@
 }
 
 
+#line 16615 "./tex4ht-c.tex"
 
+
 static void put_char
 #ifdef ANSI
 #define SEP ,
@@ -5450,23 +6745,31 @@
       && !( ((ch==' ') || (ch=='\n')) && no_root_file )
  ){
      
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
      if( ch_map_flag ){
         if( special_on || ((ch != '\n') && (ch != ' ')) ){
             
+#line 4990 "./tex4ht-c.tex"
+
 insert_ch_map((char) ch, TRUE);
 
  }
      }else {
         if ( ch == '\n' ){ 
+#line 3409 "./tex4ht-c.tex"
+
 if( eoln_str ){ print_f(eoln_str); }
 else { (IGNORED) put_4ht_ch( ch, cur_o_file ); }
 recover_spaces = 0;
 
  }
         else if ( ch == ' ' ){ 
+#line 3431 "./tex4ht-c.tex"
+
 if( space_str ){ print_f(space_str); }
 else { (IGNORED) put_4ht_ch( ch, cur_o_file ); }
 
@@ -5475,21 +6778,25 @@
 } }  }
 
 
+#line 16648 "./tex4ht-c.tex"
 
+
 static void print_f
 #ifdef ANSI
 #define SEP ,
-(    char* str
+(    const char* str
 )
 #undef SEP
 #else
 #define SEP ;
-(str)    char* str
+(str)    const char* str
 ;
 #undef SEP
 #endif
 {
   
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -5500,21 +6807,25 @@
 } }
 
 
+#line 16668 "./tex4ht-c.tex"
 
+
 static void print_f_4ht
 #ifdef ANSI
 #define SEP ,
-(    char* str
+(    const char* str
 )
 #undef SEP
 #else
 #define SEP ;
-(str)    char* str
+(str)    const char* str
 ;
 #undef SEP
 #endif
 {
   
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -5527,22 +6838,30 @@
 } } }
 
 
+#line 16693 "./tex4ht-c.tex"
+
 static int get_char(MYVOID)
 {
    return  (int) getc(dvi_file);
 }
 
 
+#line 16705 "./tex4ht-c.tex"
+
 static int get_noop(MYVOID)
 {      int ch;
   while(  (ch = get_char())  ==  
+#line 17317 "./tex4ht-c.tex"
+
 138 
  ){;}
   return ch;
 }
 
 
+#line 16721 "./tex4ht-c.tex"
 
+
 static char* get_str
 #ifdef ANSI
 #define SEP ,
@@ -5563,7 +6882,9 @@
 }
 
 
+#line 16745 "./tex4ht-c.tex"
 
+
 static long fget_unt
 #ifdef ANSI
 #define SEP ,
@@ -5588,7 +6909,9 @@
 }
 
 
+#line 16769 "./tex4ht-c.tex"
 
+
 static long fget_int
 #ifdef ANSI
 #define SEP ,
@@ -5615,7 +6938,9 @@
 }
 
 
+#line 16805 "./tex4ht-c.tex"
 
+
 static long cond_int
 #ifdef ANSI
 #define SEP ,
@@ -5643,7 +6968,9 @@
 }
 
 
+#line 16912 "./tex4ht-c.tex"
 
+
 static  void warn_i
 #ifdef ANSI
 #define SEP ,
@@ -5662,7 +6989,9 @@
 }
 
 
+#line 16936 "./tex4ht-c.tex"
 
+
 static void warn_i_int
 #ifdef ANSI
 #define SEP ,
@@ -5683,7 +7012,9 @@
 }
 
 
+#line 16952 "./tex4ht-c.tex"
 
+
 static void warn_i_int_2
 #ifdef ANSI
 #define SEP ,
@@ -5704,13 +7035,15 @@
 }
 
 
+#line 16968 "./tex4ht-c.tex"
 
+
 static void warn_i_str
 #ifdef ANSI
 #define SEP ,
 (
     int  n SEP 
-    U_CHAR *str
+    const char *str
 
 )
 #undef SEP
@@ -5718,7 +7051,7 @@
 #define SEP ;
 (n,str)
     int  n SEP 
-    U_CHAR *str
+    const char *str
 
 ;
 #undef SEP
@@ -5730,14 +7063,16 @@
 }
 
 
+#line 16988 "./tex4ht-c.tex"
 
+
 static void warn_i_str2
 #ifdef ANSI
 #define SEP ,
 (
     int  n SEP 
-    U_CHAR *str1 SEP 
-    U_CHAR *str2
+    const char *str1 SEP 
+    const char *str2
 
 )
 #undef SEP
@@ -5745,8 +7080,8 @@
 #define SEP ;
 (n,str1,str2)
     int  n SEP 
-    U_CHAR *str1 SEP 
-    U_CHAR *str2
+    const char *str1 SEP 
+    const char *str2
 
 ;
 #undef SEP
@@ -5757,7 +7092,9 @@
 }
 
 
+#line 17022 "./tex4ht-c.tex"
 
+
 static void err_i
 #ifdef ANSI
 #define SEP ,
@@ -5779,7 +7116,9 @@
 }
 
 
+#line 17039 "./tex4ht-c.tex"
 
+
 static void err_i_int
 #ifdef ANSI
 #define SEP ,
@@ -5801,7 +7140,9 @@
 }
 
 
+#line 17055 "./tex4ht-c.tex"
 
+
 static void err_i_str
 #ifdef ANSI
 #define SEP ,
@@ -5827,6 +7168,8 @@
 }
 
 
+#line 17102 "./tex4ht-c.tex"
+
 static void show_err_context(MYVOID)
 {                             long  curr_pos;
                               int n, i;
@@ -5841,6 +7184,8 @@
         }
      }
      (IGNORED) fseek(dvi_file, curr_pos, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
      (IGNORED) putc( '\n', stderr ); (IGNORED) putc( '\n', stderr );
@@ -5850,6 +7195,8 @@
 
 
 int 
+#line 507 "./tex4ht-c.tex"
+
 #ifdef CDECL
 CDECL
 #endif
@@ -5871,52 +7218,129 @@
 #undef SEP
 #endif
 {  
+#line 1385 "./tex4ht-c.tex"
+
 register INTEGER  i;
 int  ch;
 
 
+#line 2208 "./tex4ht-c.tex"
+
 int unread_pages;
 
 
+#line 5400 "./tex4ht-c.tex"
+
 long int eof_op_n, begin_postamble;
 int dis_pages;
 
 
+#line 6604 "./tex4ht-c.tex"
+
 int stack_id=0;
 
 
+#line 11858 "./tex4ht-c.tex"
+
 static struct css_ext_rec * css_ext = (struct css_ext_rec *) 0;
 static char css_default[] = "4cs";
 
 
+#line 12259 "./tex4ht-c.tex"
+
 BOOL in_accenting;
 
 
+#line 13034 "./tex4ht-c.tex"
+
 char* tex4ht_env_file = (char *) 0;
 char* dos_env_file =
-#if defined(DOS_WIN32) || defined(__MSDOS__)
+#if defined(__MSDOS__)
   
+#line 13221 "./tex4ht-c.tex"
+
 get_env_dir(argv[0])
 
 ;
 #endif
-#if !defined(DOS_WIN32) && !defined(__MSDOS__)
+#if !defined(__MSDOS__)
   (char *) 0;
 #endif
 
 
 
+#line 13859 "./tex4ht-c.tex"
+
 struct htf_com_rec* htf_font_dir = (struct htf_com_rec *) 0;
 
 
    
+#line 1064 "./tex4ht-c.tex"
 
+#ifdef WIN32
+  /* The idea here is to split options apart at spaces: a single argument
+     "-foo -bar" becomes the two options "-foo" and "-bar".  We need to
+     do this for Windows because mk4ht passes this sort of combined
+     option in one string to scripts like htlatex.{unix,bat}.  In the
+     Unix case, the shell resplits words when calling t4ht and tex4ht,
+     so the program see two options.  But this does not happen with the
+     .bat; %4, for instance, remains "-foo -bar".  So we fix it here.  */
+  if (argc > 2) {
+    int  i, nargc;
+    char **nargv, **pnargv, **pargv;
+
+    nargv = (char **) xmalloc (2 * argc * sizeof (char *));
+    pnargv = nargv;
+    pargv = argv;
+    *pnargv++ = xstrdup (*pargv++);
+    *pnargv++ = xstrdup (*pargv++);
+    nargc = 2;
+
+    for (i=2; i < argc; i++) {
+      char *p, *q, *r;
+      p = q = *pargv++;
+      while (*p == ' ' || *p == '\t') {
+        p++;
+        q++;
+      }
+      while (*p != ' ' && *p != '\t' && *p) {
+        p++;
+        if (*p == '\0') {
+          *pnargv++ = xstrdup(q);
+          nargc++;
+        } else if (*p == ' ' || *p == '\t') {
+          r = p;
+          while (*p == ' ' || *p == '\t')
+            p++;
+          if (*p == '-' || *p == '\0') {
+            *r = '\0';
+            *pnargv++ = xstrdup(q);
+            nargc++;
+            q = p;
+          }
+        }
+      }
+    }
+
+    nargv[nargc] = NULL;
+    argv = nargv;
+    argc = nargc;
+  }
+#endif
+
+
+   
+#line 1159 "./tex4ht-c.tex"
+
+
 #ifdef SIGSEGV
   (void) signal(SIGSEGV,sig_err);
 #endif
   (void) signal(SIGFPE,sig_err);
 #ifdef WIN32
   
+#line 577 "./tex4ht-c.tex"
+
 SetConsoleCtrlHandler((PHANDLER_ROUTINE)sigint_handler, TRUE);
 
 
@@ -5928,18 +7352,20 @@
 
 
    
+#line 1336 "./tex4ht-c.tex"
+
 (IGNORED) printf("----------------------------\n");
 #ifndef KPATHSEA
 #ifdef PLATFORM
-   (IGNORED) printf("tex4ht.c (Version 1.1 %s)\n",PLATFORM);
+   (IGNORED) printf("tex4ht.c (2020-06-13-15:31 %s)\n",PLATFORM);
 #else
-   (IGNORED) printf("tex4ht.c (Version 1.1)\n");
+   (IGNORED) printf("tex4ht.c (2020-06-13-15:31)\n");
 #endif
 #else
 #ifdef PLATFORM
-   (IGNORED) printf("tex4ht.c (Version 1.1 %s kpathsea)\n",PLATFORM);
+   (IGNORED) printf("tex4ht.c (2020-06-13-15:31 %s kpathsea)\n",PLATFORM);
 #else
-   (IGNORED) printf("tex4ht.c (Version 1.1 kpathsea)\n");
+   (IGNORED) printf("tex4ht.c (2020-06-13-15:31 kpathsea)\n");
 #endif
 #endif
 for(i=0; i<argc; i++){
@@ -5948,6 +7374,8 @@
 
 
    
+#line 2781 "./tex4ht-c.tex"
+
 set_del( &trace_dvi_del_P, &end_trace_dvi_del_P);
 set_del( &trace_dvi_del_p, &end_trace_dvi_del_p);
 set_del( &trace_dvi_del_C, &end_trace_dvi_del_C);
@@ -5961,14 +7389,20 @@
 
 
    
+#line 1576 "./tex4ht-c.tex"
+
 dvi_file = stdin;
 
 
+#line 4682 "./tex4ht-c.tex"
+
 {                   U_CHAR   *yes = NULL;
   system_yes =  (system( yes ) != 0);
 }
 
 
+#line 6300 "./tex4ht-c.tex"
+
 {                                         int i;
   for( i=8; i--; ){
     halign[i]         = m_alloc(struct halign_rec, 1);
@@ -5979,24 +7413,36 @@
 }
 
 
+#line 7439 "./tex4ht-c.tex"
+
 del_stack = (struct del_stack_entry  *) 0;
 
 
+#line 7464 "./tex4ht-c.tex"
+
 back_id_off = 1;  id_latex = 0;
 
 
+#line 7543 "./tex4ht-c.tex"
+
 back_token = back_group = m_alloc(struct send_back_entry,1);
 back_token->id = -1;
 
 
+#line 8460 "./tex4ht-c.tex"
+
 pos_text = pos_line = end_pos_body = end_pos_text = pos_body =
                       m_alloc(char, (int) 1);
-(IGNORED) strcpy((char *) pos_text, (char *) "" );
+(IGNORED) strcpy((char *) pos_text, "" );
 
 
+#line 9748 "./tex4ht-c.tex"
+
 margin_sp = (double) MARGINSP;     
 
 
+#line 11662 "./tex4ht-c.tex"
+
 {   int i;  i=256; while( i-- ) {
      span_name[i] = span_open[i] = span_size[i] =
      span_mag[i]  = span_ch[i]   = end_span[i]  =
@@ -6007,10 +7453,16 @@
 }
 
 
+#line 12263 "./tex4ht-c.tex"
+
 in_accenting = FALSE;
 
 
+#line 12753 "./tex4ht-c.tex"
+
 for( math_class=0; math_class<
+#line 12719 "./tex4ht-c.tex"
+
 79
 
 ; math_class++ ){
@@ -6020,22 +7472,33 @@
 }
 
 
+#line 14207 "./tex4ht-c.tex"
+
 HOME_DIR = getenv("HOME");
 
 
    
+#line 1360 "./tex4ht-c.tex"
+
 {      long   file_len;
   
+#line 1443 "./tex4ht-c.tex"
+
 {      int i;
-       U_CHAR *p, *in_name = "", *out_name = "";
+       U_CHAR *p;
+       const U_CHAR *in_name = "", *out_name = "";
   
+#line 14878 "./tex4ht-c.tex"
 
+
 #ifdef KPATHSEA
-   kpse_set_program_name (argv[0], NULL);
+   kpse_set_program_name (argv[0], "tex4ht");
 #endif
 
 
   
+#line 642 "./tex4ht-c.tex"
+
 #if !defined(DOS_GIF_FILE) && !defined(WIN32) && defined(__DJGPP__)
    dos_file_names = !_use_lfn(NULL);
 #endif
@@ -6044,15 +7507,21 @@
   if( argc == 1 ){ bad_arg; }
   for(i=1; i<argc; i++) {
     if( *( p=argv[i] ) == '-' ){ 
+#line 1468 "./tex4ht-c.tex"
+
 if( (int) strlen((char *)  argv[i] ) == 2 ){
    if( ++i == argc ) bad_arg;
 }
 switch( *(p+1) ){
   case 'b':{ 
+#line 11115 "./tex4ht-c.tex"
+
 begin_char_gif = p+2;
 
      break; }
   case 'c':{ 
+#line 13427 "./tex4ht-c.tex"
+
 struct env_c_rec *temp = (struct env_c_rec*)
                    m_alloc(struct env_c_rec, (int) 1);
 temp->option = p+2;
@@ -6061,10 +7530,14 @@
 
   break;}
   case 'e':{ 
+#line 13025 "./tex4ht-c.tex"
+
 tex4ht_env_file = p+2;
 
 break; }
   case 'f':{ 
+#line 1503 "./tex4ht-c.tex"
+
 p = p + 2;
 in_name = p + (int) strlen((char *)  p );
 while( *in_name != *p ){ in_name--; }
@@ -6072,6 +7545,8 @@
 
 break; }
   case 'F':{ 
+#line 9963 "./tex4ht-c.tex"
+
 char *digit = p+2;
 ignore_ch = 0;
 while( *digit != '\0' ){
@@ -6085,28 +7560,43 @@
 
              break; }
   case 'g':{ 
+#line 11143 "./tex4ht-c.tex"
+
 gif = p+2;
 
       break; }
   case 'h':{ 
-switch( *(p+2) ){
-  case 'e':{ 
+#line 1513 "./tex4ht-c.tex"
+
+{
+  char trace = *(p+2);
+  if (trace == 'A' || trace == 'e') { 
+#line 17136 "./tex4ht-c.tex"
+
 err_context = TRUE;
 
-  break; }
-  case 'f':{ 
+ }
+  if (trace == 'A' || trace == 'f') { 
+#line 10491 "./tex4ht-c.tex"
+
 dump_htf_files = 1;
 
-  break; }
-  case 'F':{ 
+ }
+  if (trace == 'A' || trace == 'F') { 
+#line 15066 "./tex4ht-c.tex"
+
 dump_htf_search = TRUE;
 
-  break; }
-  case 's':{ 
+ }
+  if (trace == 'A' || trace == 's') { 
+#line 17165 "./tex4ht-c.tex"
+
 trace_special = TRUE;
 
-  break;}
-  case 'g':{ 
+ }
+  if (trace == 'A' || trace == 'g') { 
+#line 2753 "./tex4ht-c.tex"
+
 trace_dvi_P++;
 if( !(   *trace_dvi_del_P || *end_trace_dvi_del_P
       || *trace_dvi_del_p || *end_trace_dvi_del_p
@@ -6115,35 +7605,41 @@
    trace_dvi_del_P =
             (char *)  r_alloc((void *) trace_dvi_del_P,
                               (size_t) 4);
-   (IGNORED) strcpy((char *) trace_dvi_del_P, (char *) "[G " );
+   (IGNORED) strcpy((char *) trace_dvi_del_P, "[G " );
    end_trace_dvi_del_P =
             (char *)  r_alloc((void *) end_trace_dvi_del_P,
                               (size_t) 2);
-   (IGNORED) strcpy((char *) end_trace_dvi_del_P, (char *) "]" );
+   (IGNORED) strcpy((char *) end_trace_dvi_del_P, "]" );
    trace_dvi_del_p =
             (char *)  r_alloc((void *) trace_dvi_del_p,
                               (size_t) 5);
-   (IGNORED) strcpy((char *) trace_dvi_del_p, (char *) "[/G " );
+   (IGNORED) strcpy((char *) trace_dvi_del_p, "[/G " );
    end_trace_dvi_del_p =
             (char *)  r_alloc((void *) end_trace_dvi_del_p,
                               (size_t) 2);
-   (IGNORED) strcpy((char *) end_trace_dvi_del_p, (char *) "]" );
+   (IGNORED) strcpy((char *) end_trace_dvi_del_p, "]" );
 }
 
-  break;}
-  case 'v':{ 
+ }
+  if (trace == 'A' || trace == 'v') { 
+#line 10495 "./tex4ht-c.tex"
+
 dump_env_files = TRUE;
 
-  break; }
-  case 'V':{ 
+ }
+  if (trace == 'A' || trace == 'V') { 
+#line 13062 "./tex4ht-c.tex"
+
 dump_env_search = TRUE;
 
-  break; }
-   default:{ bad_arg; }
+ }
+  else { bad_arg; }
 }
 
   break; }
   case 'i':{ 
+#line 13863 "./tex4ht-c.tex"
+
    com_dir(p);
    {
                          struct htf_com_rec *q, *t;
@@ -6161,12 +7657,16 @@
 
   break; }
   case 'l':{ 
+#line 14214 "./tex4ht-c.tex"
+
 #ifndef KPATHSEA
 tex4ht_fls_name = p+2;
 #endif
 
   break; }
   case 'P':{ 
+#line 4644 "./tex4ht-c.tex"
+
 {     struct sys_call_rec *q;
   q = m_alloc(struct sys_call_rec, 1);
   q->next = system_calls;
@@ -6176,10 +7676,14 @@
 
   break; }
   case 'S':{ 
+#line 11077 "./tex4ht-c.tex"
+
 font_gif = p+2;
 
     break; }
   case 's':{ 
+#line 11842 "./tex4ht-c.tex"
+
 struct css_ext_rec * css =  m_alloc(struct css_ext_rec, 1);;
 css->name = p + 2;
 css->next = css_ext;
@@ -6187,12 +7691,18 @@
 
     break; }
   case 't':{ 
+#line 13481 "./tex4ht-c.tex"
+
 com_dir(p);  fontdir[fontdir_count++] = p+2;
 
   break; }
   case 'u':{ 
+#line 16219 "./tex4ht-c.tex"
+
 if( eq_str(p+2, "10") ){ u10 = TRUE; }
 
+#line 16362 "./tex4ht-c.tex"
+
 else if( eq_str(p+2, "tf8") ){ utf8 = TRUE; }
 
 
@@ -6200,6 +7710,8 @@
 
   break; }
   case 'v':{ 
+#line 5469 "./tex4ht-c.tex"
+
 {          U_CHAR *q;
    q = p + 2;
    id_version = 0;
@@ -6216,6 +7728,8 @@
 
   break; }
   case 'x':{ 
+#line 649 "./tex4ht-c.tex"
+
 switch( *(p+2) ){
   case 's':{   dos_file_names = TRUE;  break; }
    default:{ bad_arg; }
@@ -6223,6 +7737,8 @@
 
   break; }
   case '.':{ 
+#line 1634 "./tex4ht-c.tex"
+
 ext = p+1;
 
   break; }
@@ -6233,6 +7749,8 @@
     else in_name = argv[i];
   }
   
+#line 11849 "./tex4ht-c.tex"
+
 if( css_ext == (struct css_ext_rec *) 0 ){
   struct css_ext_rec * css =  m_alloc(struct css_ext_rec, 1);;
   css->name = css_default;
@@ -6242,19 +7760,27 @@
 
 
   
+#line 1588 "./tex4ht-c.tex"
+
 if( *in_name != '\0' ){ 
+#line 1596 "./tex4ht-c.tex"
+
       BOOL tag;
-job_name_n = (int) strlen((char *)  in_name );
+job_name_n = (int) strlen( in_name );
 job_name = m_alloc(char, job_name_n+6);
-(IGNORED) strcpy((char *) job_name, (char *) in_name);
+(IGNORED) strcpy((char *) job_name, in_name);
 tag = job_name_n < 3;
 if( !tag ){
    tag = !eq_str( job_name+job_name_n-
+#line 1614 "./tex4ht-c.tex"
+
 (
   (ext==NULL)? 4 : (int) strlen((char *) ext)
 )
 
 ,
+#line 1620 "./tex4ht-c.tex"
+
 (
   (ext==NULL)? ".dvi" : ext
 )
@@ -6263,11 +7789,15 @@
 }
 if( tag ){
    job_name_n+=
+#line 1614 "./tex4ht-c.tex"
+
 (
   (ext==NULL)? 4 : (int) strlen((char *) ext)
 )
 
 ; (IGNORED) strct(job_name, 
+#line 1620 "./tex4ht-c.tex"
+
 (
   (ext==NULL)? ".dvi" : ext
 )
@@ -6276,17 +7806,23 @@
 }
 if( (dvi_file = fopen(job_name, READ_BIN_FLAGS)) == NULL )
    { 
+#line 1655 "./tex4ht-c.tex"
+
 {                             int i;
    for(i=job_name_n-5; i; i--){
      if( job_name[i] == '.' ){
        job_name[i] = '\0';
        job_name_n = i + 
+#line 1614 "./tex4ht-c.tex"
+
 (
   (ext==NULL)? 4 : (int) strlen((char *) ext)
 )
 
 ;
        (IGNORED) strct(job_name, 
+#line 1620 "./tex4ht-c.tex"
+
 (
   (ext==NULL)? ".dvi" : ext
 )
@@ -6300,6 +7836,8 @@
 
  }
 
+#line 5390 "./tex4ht-c.tex"
+
 job_name[job_name_n-1] = 'v';
 job_name[job_name_n-2] = 'd';
 job_name[job_name_n-3] = 'i';
@@ -6310,21 +7848,25 @@
 
 
  }
-#ifdef KPATHSEA
 #ifdef KWIN32
    else if (!isatty(fileno(stdin))) SET_BINARY(fileno(stdin));
 #endif
-#endif
 
 
   { 
+#line 1700 "./tex4ht-c.tex"
+
    U_CHAR *name=0;
 if( *out_name == '\0' )
   { if( *in_name == '\0' ){ 
+#line 1785 "./tex4ht-c.tex"
+
 bad_arg;
 
  }
     else                  { 
+#line 1790 "./tex4ht-c.tex"
+
 int n = (int) strlen((char *)  job_name );
 name = m_alloc(char, 6 + n);
 (IGNORED) strcpy((char *) name, (char *) job_name);
@@ -6337,10 +7879,12 @@
  }
   }
 else{ 
+#line 1808 "./tex4ht-c.tex"
+
    int tag = 1;
-   int n = (int) strlen((char *)  out_name );
+   int n = (int) strlen( out_name );
 name = m_alloc(char, 6 + n);
-(IGNORED) strcpy((char *) name, (char *) out_name);
+(IGNORED) strcpy((char *) name, out_name);
 while( n-- )   tag = tag && (*(name+n) != '.') ;
 if( tag ) (IGNORED) strct(name,".html");
 #ifdef HTM
@@ -6355,8 +7899,12 @@
 
 
   
+#line 13066 "./tex4ht-c.tex"
+
 {                              U_CHAR  str[PATH_MAX],  *TEX4HTENV;
    
+#line 13084 "./tex4ht-c.tex"
+
 if( dump_env_search && tex4ht_env_file ){
    (IGNORED) printf("-e: %s?\n", tex4ht_env_file);
 }
@@ -6365,6 +7913,8 @@
 
 
    
+#line 13129 "./tex4ht-c.tex"
+
 if( !dot_file ){
    if( dump_env_search ){ (IGNORED) printf("%s?\n", "tex4ht.env"); }
    dot_file = f_open("tex4ht.env", READ_TEXT_FLAGS);
@@ -6381,6 +7931,8 @@
 
    if( !dot_file ){
      
+#line 13158 "./tex4ht-c.tex"
+
 TEX4HTENV = getenv("TEX4HTENV");
 if( TEX4HTENV ){
    if( dump_env_search ){
@@ -6394,10 +7946,14 @@
 
    }
    
+#line 13096 "./tex4ht-c.tex"
+
 if( !dot_file ){
    if( HOME_DIR ){
       (IGNORED) sprintf(str,
-#if defined(DOS_WIN32) || defined(__DJGPP__)
+#line 13177 "./tex4ht-c.tex"
+
+#if defined(__DJGPP__)
   is_forward_slash(HOME_DIR)?  "%s/tex4ht.env" :  "%s\\tex4ht.env"
 #else
   "%s/tex4ht.env"
@@ -6415,7 +7971,7 @@
         dot_file = f_open(str,READ_TEXT_FLAGS);
    } }
 #endif
-#if defined(DOS_WIN32) || defined(__MSDOS__)
+#if defined(__MSDOS__)
    if( !dot_file ){
       if( dump_env_search ){ (IGNORED) printf("%s?\n", "C:/tex4ht.env"); }
       dot_file = f_open("C:/tex4ht.env",READ_TEXT_FLAGS);
@@ -6424,6 +7980,8 @@
 
 
    
+#line 13145 "./tex4ht-c.tex"
+
 #ifdef ENVFILE
    if( !dot_file ){
       if( dump_env_search ){ (IGNORED) printf("ENVFILE: %s?\n", ENVFILE); }
@@ -6437,6 +7995,8 @@
 
 
    
+#line 13122 "./tex4ht-c.tex"
+
 if( !dot_file && dos_env_file){
    if( dump_env_search ){ (IGNORED) printf("%s?\n", dos_env_file); }
    dot_file = f_open( dos_env_file, READ_TEXT_FLAGS );
@@ -6444,11 +8004,15 @@
 
 
    
+#line 14887 "./tex4ht-c.tex"
 
+
 #ifdef KPATHSEA
 if( !dot_file ) {                    U_CHAR * envfile;
                              char *arch, *p, str[256];
   
+#line 14939 "./tex4ht-c.tex"
+
 p = arch = (char *) kpse_var_value( "SELFAUTOLOC" );
 while( *p != '\0' ){
    if( (*p ==   '/') || (*p == '\\') ){
@@ -6460,6 +8024,8 @@
 
   envfile = (char *) 0;
   
+#line 14950 "./tex4ht-c.tex"
+
 if( arch ){
   (IGNORED) sprintf(str,"%s%ctex4ht.env", arch+1, *arch);
   if( dump_env_search ){
@@ -6470,6 +8036,8 @@
 
 
   if ( !envfile ){ 
+#line 14961 "./tex4ht-c.tex"
+
 if( dump_env_search ){
   (IGNORED) printf("kpse_open_file (\"tex4ht.env\", ...)?\n");
 }
@@ -6477,11 +8045,16 @@
 
  }
   if ( !envfile ){ 
+#line 15012 "./tex4ht-c.tex"
+
+#define KPSEWHICH_CMD "kpsewhich --progname=tex4ht --format=othertext tex4ht.env"
 if( dump_env_search ){
-  (IGNORED) printf("system(\"kpsewhich --progname=tex4ht tex4ht.env\")?\n");
+  (IGNORED) printf("system(" KPSEWHICH_CMD ")?\n"); /* cpp concatenation */
 }
-if( system("kpsewhich --progname=tex4ht tex4ht.env > tex4ht.tmp") == 0 ){
+if( system(KPSEWHICH_CMD ">tex4ht.tmp") == 0 ){
    
+#line 15042 "./tex4ht-c.tex"
+
 char fileaddr [256];
 int loc = 0;
 FILE* file =  f_open("tex4ht.tmp", READ_TEXT_FLAGS);
@@ -6497,7 +8070,7 @@
    envfile= kpse_find_file (fileaddr, kpse_program_text_format, 0);
    if( envfile ){
       warn_i_str( 50,
-          "search support for kpse_find_file--unsing system kpsewhich calls instead");
+          "search support for kpse_find_file--using kpsewhich calls instead");
 }  }
 
  }
@@ -6515,20 +8088,25 @@
 #endif
 
 
-   if( !dot_file ) warn_i_str( 1, 
+   if( !dot_file ) { bad_in_file(
+#line 13187 "./tex4ht-c.tex"
+
 #ifdef  DOS_WIN32
    "tex4ht.env"
-#endif
-#ifndef  DOS_WIN32
+#else
    "tex4ht.env | .tex4ht"
 #endif
 
-);
+); } /* give up if no tex4ht.env */
 }
 
 
   
+#line 4626 "./tex4ht-c.tex"
+
 (IGNORED) fseek(dot_file, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 while ( search_dot_file( 'P' ) ){     struct sys_call_rec *q;
@@ -6547,14 +8125,22 @@
 }
 
 
+#line 8857 "./tex4ht-c.tex"
+
 lg_font_fmt = (char *) get_script(lg_font_fmt,LGFNT,'f');
 
 
+#line 10854 "./tex4ht-c.tex"
+
 class_fmt = (char *) get_script(class_fmt,LGCLS,'c');
 
 
+#line 11083 "./tex4ht-c.tex"
+
 font_gif = (char *) get_script(font_gif,LGPIC,'s');
 
+#line 11089 "./tex4ht-c.tex"
+
 {    int n;
   n = (int) strlen((char *) font_gif);
   if( font_gif[n-1] != '%' ){ font_gif[n] = '%'; font_gif[n+1] = '\0'; }
@@ -6563,9 +8149,13 @@
 
 
 
+#line 11121 "./tex4ht-c.tex"
+
 begin_char_gif = (char *) get_script(begin_char_gif,LGSEP,'b');
 
 
+#line 11149 "./tex4ht-c.tex"
+
 gif = (char *) get_script(gif,LGTYP,'g');
 {              int n;
    n = (int) strlen((char *) gif) - 1;
@@ -6575,11 +8165,15 @@
 
 
   
+#line 1880 "./tex4ht-c.tex"
+
 {      long  curr_pos;
   curr_pos = ftell(dvi_file);
   (IGNORED) fseek(dvi_file, 0, SEEK_END);
   file_len = ftell(dvi_file);
   (IGNORED) fseek(dvi_file, curr_pos, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
   if( (file_len % 4) != 0 )  bad_dvi;
@@ -6587,6 +8181,8 @@
 
 
   
+#line 5953 "./tex4ht-c.tex"
+
 {      U_CHAR str[256];
    (IGNORED) strcpy((char *) str, (char *) job_name);
    str[job_name_n-1] = '\0';
@@ -6598,11 +8194,15 @@
 
 
   
+#line 14437 "./tex4ht-c.tex"
+
 #ifdef KPATHSEA
 {           char str [256], *export_str, *postfix;
    export_str = m_alloc(char, 1);
    *export_str = '\0';
    
+#line 14525 "./tex4ht-c.tex"
+
 {
       struct htf_com_rec *q;
   q = htf_font_dir;
@@ -6612,6 +8212,8 @@
     q = q->next;
 } }
 (IGNORED) fseek(dot_file, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 while ( search_dot_file( 'i' ) ){
@@ -6630,6 +8232,8 @@
     export_htf( &export_str, str );
 #endif
 
+#line 14555 "./tex4ht-c.tex"
+
 {                    U_CHAR * q;
   q = (U_CHAR *) kpse_var_value( "TEX4HTFONTSET" );
   if( q ){
@@ -6637,7 +8241,7 @@
         export_str = (char *) r_alloc((void *) export_str,
             (int) strlen((char *) export_str) + (int) strlen((char *) q) +  2);
         if( (int) strlen((char *) export_str) > 0 ){
-             (IGNORED) strcat((char *) export_str, (char *)  ",");
+             (IGNORED) strcat((char *) export_str, ",");
         }
         (IGNORED) strcat((char *) export_str, (char *)  q);
 } } }
@@ -6646,7 +8250,7 @@
 
 
    if( (int) strlen((char *) export_str) > 0 ){
-      (IGNORED) strcpy((char *) str, (char *) "%%12");
+      (IGNORED) strcpy((char *) str, "%%12");
       export_str = (char *) r_alloc((void *) export_str,
           (int) strlen((char *) export_str) + (int) strlen((char *) str) +  1 );
       postfix = str - 1;
@@ -6657,6 +8261,8 @@
       } }
       if( (int) strlen((char *) export_str) != 0 ){
         
+#line 14468 "./tex4ht-c.tex"
+
 {                       char *from_ch;
                         int i, n, m;
   n = (int) strlen((char *) str);
@@ -6674,9 +8280,13 @@
 
 
         
+#line 14493 "./tex4ht-c.tex"
+
 {                     U_CHAR * q;
   if( dump_htf_search ) {                       U_CHAR *p, *q;
      
+#line 14842 "./tex4ht-c.tex"
+
 p = (U_CHAR *) kpse_var_value( "TEX4HTFONTSET" );
 if( p ){
    (IGNORED) printf("given TEX4HTFONTSET = %s\n", p);
@@ -6706,6 +8316,8 @@
       }
    }
    
+#line 14673 "./tex4ht-c.tex"
+
 {                                  int n;
    n = (int) strlen((char *) export_str);
    if( n > 0 ){
@@ -6716,9 +8328,13 @@
 
    free((void *) export_str);
    
+#line 14790 "./tex4ht-c.tex"
+
 if( dump_htf_search || dump_env_search ) {
                                 U_CHAR *p, *q;
    
+#line 14820 "./tex4ht-c.tex"
+
 p = kpse_find_file ( "texmf.cnf", kpse_cnf_format, 0);
 if( p ){
    (IGNORED) printf( "texmf.cnf = %s\n", p);
@@ -6744,61 +8360,95 @@
 
 
   
+#line 2150 "./tex4ht-c.tex"
+
 i=0;
 do{
   i++; file_len -= 1;
   (IGNORED) fseek(dvi_file, file_len, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 }   while( (ch=get_char()) == 
+#line 17420 "./tex4ht-c.tex"
+
 223 
  );
 eof_op_n = file_len;
 if( (i<4)
     ||
     ((ch != 
+#line 2283 "./tex4ht-c.tex"
+
 2 
-) && (ch != 
-5
+) && (ch > 
+#line 2292 "./tex4ht-c.tex"
 
+10
+
 ))
   )  bad_dvi;
 version_id = ch;
 
 
+#line 2185 "./tex4ht-c.tex"
+
 file_len -= 5;
 (IGNORED) fseek(dvi_file, file_len, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 if( get_char() != 
+#line 17469 "./tex4ht-c.tex"
+
 249 
  )  bad_dvi;
 eof_op_n -= begin_postamble = get_unt(4);
 (IGNORED) fseek(dvi_file, begin_postamble, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 
 
+#line 2197 "./tex4ht-c.tex"
+
 if( get_char() != 
+#line 17466 "./tex4ht-c.tex"
+
 248 
  )  bad_dvi;
 (IGNORED) fseek(dvi_file, 16L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
+#line 5968 "./tex4ht-c.tex"
+
 mid_page_y = (INTEGER) get_unt(4) / 2;
 mid_page_x = (INTEGER) get_unt(4) / 2;
 
 
 if( (stack_len = (int) get_unt(2)) < 1)     bad_dvi;
 
+#line 6679 "./tex4ht-c.tex"
+
 stack = m_alloc(struct stack_entry,
+#line 6684 "./tex4ht-c.tex"
+
 ((int) stack_len + 2)
 
 );
 
+#line 6718 "./tex4ht-c.tex"
+
 {                   int i;
   for( i=
+#line 6684 "./tex4ht-c.tex"
+
 ((int) stack_len + 2)
 
 -1; i>=0; i--){
@@ -6806,14 +8456,20 @@
     stack[i].end   = (struct stack_end_entry *) 0;
     stack[i].stack_id = -1;
     
+#line 6354 "./tex4ht-c.tex"
+
 stack[i].halign_info = FALSE;
 stack[i].halign_on = FALSE;
 
 
+#line 7804 "./tex4ht-c.tex"
+
 stack[i].path_start = (struct group_path *) 0;
 stack[i].path_end   = (struct group_path *) 0;
 
 
+#line 12887 "./tex4ht-c.tex"
+
 stack[i].class_open = stack[i].class_close
                     = (char *) 0;
 stack[i].temp_class_open  = m_alloc(char, 1 );
@@ -6831,21 +8487,36 @@
 unread_pages = (int) get_unt(2);
 
 
+#line 2222 "./tex4ht-c.tex"
+
 {      
+#line 10256 "./tex4ht-c.tex"
+
 int fonts_n;
 struct html_font_rec *html_font=0;
 
 
+#line 11938 "./tex4ht-c.tex"
+
 struct visited_file_rec * visited_file =
                        (struct visited_file_rec *) 0;
 
 
-struct env_var_rec *tfm_dirs, *htf_dirs;
+#line 13648 "./tex4ht-c.tex"
 
+#ifndef KPATHSEA
+struct env_var_rec *tfm_dirs;
+#endif
+struct env_var_rec *htf_dirs;
 
 
+#line 14663 "./tex4ht-c.tex"
+
+
 #ifdef KPATHSEA
 
+#line 14683 "./tex4ht-c.tex"
+
 int cardinality=0;
 char ** fontset=0;
 
@@ -6856,14 +8527,20 @@
        BOOL missing_fonts;
 #ifndef KPATHSEA
        
+#line 14195 "./tex4ht-c.tex"
+
 U_CHAR files_cache[PATH_MAX];
 
 
    
+#line 14155 "./tex4ht-c.tex"
+
 {                    U_CHAR *p;
    if( !tex4ht_fls_name ){
       tex4ht_fls_name = p = files_cache;
       (IGNORED) fseek(dot_file, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
       if ( search_dot_file( 'l' ) ){
@@ -6876,6 +8553,8 @@
       }
    }
    
+#line 14174 "./tex4ht-c.tex"
+
 if( *tex4ht_fls_name == '~' ){
    tex4ht_fls_name = abs_addr(tex4ht_fls_name,getenv("TEX4HTWR"));
 }
@@ -6885,29 +8564,43 @@
 
 
    
+#line 14338 "./tex4ht-c.tex"
+
 cache_files = f_open(tex4ht_fls_name, READ_BIN_FLAGS);
 
 
 #endif
    
+#line 10261 "./tex4ht-c.tex"
+
 fonts_n = 0;
 
 
+#line 13728 "./tex4ht-c.tex"
+
 cache_font = (struct cache_font_rec *) 0;
 cur_cache_font = (struct cache_font_rec *) 0;
 
 
    missing_fonts = FALSE;
    
+#line 13568 "./tex4ht-c.tex"
+
+#ifndef KPATHSEA
 tfm_dirs = get_env_var("TEX4HTTFM");
+#endif
 htf_dirs = get_env_var("TEX4HTHTF");
 
 
    
+#line 14688 "./tex4ht-c.tex"
 
+
 #ifdef KPATHSEA
 if( export_str_chars ){
   
+#line 14709 "./tex4ht-c.tex"
+
 {                   U_CHAR   *p;
                     int n;
    cardinality = 1;
@@ -6931,12 +8624,18 @@
 
 
    
+#line 15935 "./tex4ht-c.tex"
+
 {                              U_CHAR name[256];
                                FILE* file;
    (IGNORED) sprintf(name, "%s.4hf", "unicode");
    
+#line 13837 "./tex4ht-c.tex"
+
    file = NULL;
    
+#line 13905 "./tex4ht-c.tex"
+
 {
                                struct htf_com_rec *p;
    p = htf_font_dir;
@@ -6961,15 +8660,21 @@
                                                READ_TEXT_FLAGS, htf_dirs);
 #endif
       
+#line 15073 "./tex4ht-c.tex"
 
+
 #ifdef KPATHSEA
   if( !file ){ U_CHAR * htfname;
      htfname= kpse_find_file (name, kpse_program_text_format, 0);
      if ( htfname ){
          
+#line 14729 "./tex4ht-c.tex"
+
 {                    U_CHAR  * head, * tail, *p;
                      int n;
    
+#line 14739 "./tex4ht-c.tex"
+
 n = (int) strlen((char *) htfname);
 tail = head = m_alloc(char, n+1);
 (IGNORED) strcpy((char *) head, (char *) htfname);
@@ -6990,6 +8695,8 @@
 
    htfname =  (U_CHAR *) 0;
    
+#line 14761 "./tex4ht-c.tex"
+
 for( n = 0 ; (n < cardinality) && !htfname ; n++){
   p = tail;
   while( *p != '\0' ){
@@ -7026,6 +8733,8 @@
 
    if( file ){
             
+#line 15950 "./tex4ht-c.tex"
+
 int chr, delimiter, delimiter_n, line_no, digit, i, j;
 U_CHAR in[512], *in_p,  * start[4], *p;
 BOOL char_on, err;
@@ -7033,15 +8742,21 @@
 
 
       
+#line 16053 "./tex4ht-c.tex"
+
 max_charset_n = 256;
 charset =   m_alloc(struct charset_rec, 256);
 
 
+#line 16465 "./tex4ht-c.tex"
+
 max_htf_4hf_n = 256;
 htf_4hf = m_alloc(struct htf_4hf_rec, 256);
 
 
       
+#line 15958 "./tex4ht-c.tex"
+
 err = FALSE;
 line_no = 0;
 while( TRUE ){
@@ -7050,6 +8765,8 @@
   if( chr == EOF ){ break; }
   if( (chr>32) && (chr<127) ){
      
+#line 15994 "./tex4ht-c.tex"
+
 delimiter   = chr;
 delimiter_n = 1;
 char_on     = TRUE;
@@ -7072,6 +8789,8 @@
      if( delimiter_n == 8 ){
         if( *in != '?' ) {
            if( 
+#line 15987 "./tex4ht-c.tex"
+
    (*in             != '&')
 || (*(in+1)         != '#')
 || ( (*(in+2)       != 'x') && (*(in+2) != 'X'))
@@ -7080,6 +8799,8 @@
  ){ err = TRUE; }
            else {
               
+#line 16063 "./tex4ht-c.tex"
+
 value = 0;
 for( p=in+3; *p!=';'; p++){
   digit = (int) *p;
@@ -7093,7 +8814,11 @@
 
               if( start[3] == (in_p-1) ){
                  if( !err ){ 
+#line 16082 "./tex4ht-c.tex"
 
+
+#line 16112 "./tex4ht-c.tex"
+
 if( (charset_n+1) == max_charset_n){
   max_charset_n += 10;
   charset = (struct charset_rec *) r_alloc((void *) charset,
@@ -7127,7 +8852,11 @@
 
  }
               } else { 
+#line 16381 "./tex4ht-c.tex"
 
+
+#line 16421 "./tex4ht-c.tex"
+
 if( (htf_4hf_n+1) == max_htf_4hf_n){
   max_htf_4hf_n += 10;
   htf_4hf = (struct htf_4hf_rec *) r_alloc((void *) htf_4hf,
@@ -7160,6 +8889,8 @@
 htf_4hf[i].str = p;
 htf_4hf[i].ch  = value;
 
+#line 16431 "./tex4ht-c.tex"
+
 value = 0;
 p = start[1];
 while( *p != '\0' ){
@@ -7170,6 +8901,8 @@
 htf_4hf[i].type1  =  value;
 
 
+#line 16442 "./tex4ht-c.tex"
+
 value = 0;
 p = start[3];
 while( *p != '\0' ){
@@ -7186,6 +8919,8 @@
      }  } }
      else { err = TRUE; }
      
+#line 16020 "./tex4ht-c.tex"
+
 if( err ){
    warn_i_int(48,line_no);
    (IGNORED) printf( "%c", delimiter );
@@ -7211,9 +8946,13 @@
 
       put_4ht_off = 0;
    } else{ put_4ht_off = 1; 
+#line 16058 "./tex4ht-c.tex"
+
 max_charset_n = 0;
 
 
+#line 16470 "./tex4ht-c.tex"
+
 max_htf_4hf_n = 0;
 
  }
@@ -7221,9 +8960,13 @@
 
 
    while( (ch =  get_char()) != 
+#line 17469 "./tex4ht-c.tex"
+
 249 
  ){
      
+#line 8663 "./tex4ht-c.tex"
+
 #ifdef MAXFONTS
 if( (font_tbl_size + 1) < MAXFONTS )
 #endif
@@ -7236,21 +8979,29 @@
                            * sizeof(struct font_entry)))
             : m_alloc(struct font_entry, 1);
    if(       (version_id == 
-5
+#line 2292 "./tex4ht-c.tex"
 
+10
+
 )
          &&  (ch == 
+#line 17490 "./tex4ht-c.tex"
+
 252
 
 )
    ){
       
+#line 8886 "./tex4ht-c.tex"
+
    unsigned short flags;
 new_font.num       = (INTEGER) get_unt(4);
 new_font.scale     = (INTEGER) get_unt(4);
 new_font.design_sz = new_font.scale;
 flags = (INTEGER) get_unt(2);
 
+#line 8913 "./tex4ht-c.tex"
+
 {    int  n, family_name_n, style_name_n;
      U_CHAR *ch;
 
@@ -7273,10 +9024,14 @@
 
 
 new_font.layout_dir = (flags & 
+#line 8951 "./tex4ht-c.tex"
+
 0x0100
 
 ) ? 1 : 0;
 new_font.rgba_color = (flags & 
+#line 8955 "./tex4ht-c.tex"
+
 0x0200
 
 )?
@@ -7284,6 +9039,8 @@
                                    :
                                    0xffffffff;
 if( flags & 
+#line 8959 "./tex4ht-c.tex"
+
 0x0800
 
  ){
@@ -7297,13 +9054,19 @@
 }  }
 (IGNORED) printf("(--- xdv font = %s (not implemented) ---)\n", new_font_name);
 
+#line 9077 "./tex4ht-c.tex"
 
+
+#line 9298 "./tex4ht-c.tex"
+
 {        int i;
    for( i=font_tbl_size-1; i>0;  i-- )
      if( new_font.num == font_tbl[i].num )  warn_i(10);   }
 
 
 
+#line 9098 "./tex4ht-c.tex"
+
 {    
    
 /*
@@ -7315,8 +9078,12 @@
    } else {
 */
       
+#line 9119 "./tex4ht-c.tex"
+
 {       
    
+#line 9166 "./tex4ht-c.tex"
+
 new_font.char_f = 0;
 new_font.char_l = 255;
 new_font.wtbl_n = 0;
@@ -7326,6 +9093,8 @@
 
    
    
+#line 9191 "./tex4ht-c.tex"
+
 {      U_CHAR *ch, *hidp;
        int i;
    ch = new_font.char_wi = m_alloc(char, new_font.char_l
@@ -7339,6 +9108,8 @@
 
 
    
+#line 9205 "./tex4ht-c.tex"
+
 {       INTEGER *p;         
             int  i;
    p = new_font.wtbl = m_alloc( INTEGER, new_font.wtbl_n);
@@ -7348,6 +9119,8 @@
 
 
    
+#line 9216 "./tex4ht-c.tex"
+
 {       INTEGER *p;         
             int  i;
    p = new_font.htbl = m_alloc( INTEGER, new_font.htbl_n);
@@ -7362,13 +9135,21 @@
    
    
    
+#line 9140 "./tex4ht-c.tex"
 
+
+#line 9151 "./tex4ht-c.tex"
+
 new_font.it = 0;
 
              
 
+#line 9156 "./tex4ht-c.tex"
+
 new_font.word_sp = 350000;
 
+#line 9752 "./tex4ht-c.tex"
+
 if( new_font.word_sp == 0 ) {
         int i;
   for( i = new_font.char_f; i <= new_font.char_l; i++ ){
@@ -7404,6 +9185,8 @@
 new_font.name = m_alloc(char, font_name_n + 1);
 (IGNORED) strcpy((char *)  new_font.name, (char *) new_font_name );
 
+#line 8781 "./tex4ht-c.tex"
+
 {    int n, i;
    for( n=0; n<font_name_n; n++ ){
      if(  ( '0' <= new_font_name[n] ) && ( new_font_name[n] <= '9' )){
@@ -7411,6 +9194,8 @@
      }
    }
    
+#line 8803 "./tex4ht-c.tex"
+
 {                       int m;
    for( m=n; m<font_name_n; m++ ){
      if(  ( new_font_name[m] < '0' ) || ( new_font_name[m] > '9' )){
@@ -7433,6 +9218,8 @@
 
 
 
+#line 9088 "./tex4ht-c.tex"
+
 new_font.mag = new_font.scale / (new_font.design_sz / 100);
 
 
@@ -7442,22 +9229,36 @@
 
    } else {
       
+#line 8697 "./tex4ht-c.tex"
 
+
+#line 8723 "./tex4ht-c.tex"
+
 switch( ch ){
   case 
+#line 17451 "./tex4ht-c.tex"
+
 243 
 :
   case 
+#line 17454 "./tex4ht-c.tex"
+
 244 
 :
   case 
+#line 17457 "./tex4ht-c.tex"
+
 245 
 : {
      new_font.num = (INTEGER)
                       get_unt(ch - 
+#line 17451 "./tex4ht-c.tex"
+
 243 
  + 1); break; }
   case 
+#line 17460 "./tex4ht-c.tex"
+
 246 
 : {
      new_font.num = (INTEGER) get_int(4);  break; }
@@ -7469,6 +9270,8 @@
 new_font.scale     = (INTEGER) get_unt(4);
 new_font.design_sz = (INTEGER) get_unt(4);
 
+#line 8737 "./tex4ht-c.tex"
+
 {    int  n, area_ln;
      U_CHAR *ch;
   area_ln = (int) get_unt(1);
@@ -7481,31 +9284,45 @@
 
 
 
+#line 8753 "./tex4ht-c.tex"
 
+
+#line 9298 "./tex4ht-c.tex"
+
 {        int i;
    for( i=font_tbl_size-1; i>0;  i-- )
      if( new_font.num == font_tbl[i].num )  warn_i(10);   }
 
 
 
+#line 9344 "./tex4ht-c.tex"
+
 {       FILE *font_file;
         U_CHAR  file_name[256];
    
+#line 13512 "./tex4ht-c.tex"
+
 {                        
    font_file = NULL;
    (IGNORED) sprintf(file_name, "%s.tfm", new_font_name);
    
+#line 14971 "./tex4ht-c.tex"
+
 #ifdef KPATHSEA
 {
      U_CHAR * tfmfile;
   tfmfile = kpse_find_file (file_name, kpse_tfm_format, 0);
   if( !tfmfile ){ 
+#line 15026 "./tex4ht-c.tex"
+
 char s [256];
-(IGNORED) strcpy((char *) s, (char *) "kpsewhich ");
-(IGNORED) strcat((char *) s, (char *) file_name);
-(IGNORED) strcat((char *) s, (char *)  " > tex4ht.tmp ");
+(IGNORED) strcpy(s, "kpsewhich ");
+(IGNORED) strcat(s, file_name);
+(IGNORED) strcat(s, " > tex4ht.tmp ");
 if( system(s) == 0 ){
    
+#line 15042 "./tex4ht-c.tex"
+
 char fileaddr [256];
 int loc = 0;
 FILE* file =  f_open("tex4ht.tmp", READ_TEXT_FLAGS);
@@ -7531,6 +9348,8 @@
 
 
       
+#line 13668 "./tex4ht-c.tex"
+
 for( cur_cache_font = cache_font;
      cur_cache_font;
      cur_cache_font = cur_cache_font->next )
@@ -7551,6 +9370,8 @@
           font_file = search_in_dot_file( 't', file_name,
                         READ_BIN_FLAGS, tfm_dirs);
       
+#line 13544 "./tex4ht-c.tex"
+
 #ifdef TFMDIR
    if( !font_file )
       font_file = search_file_base(file_name, TFMDIR,
@@ -7559,6 +9380,8 @@
 
 
    
+#line 14988 "./tex4ht-c.tex"
+
 #endif
 
 
@@ -7572,7 +9395,11 @@
       new_font.char_l = 1;
    } else {
       
+#line 9385 "./tex4ht-c.tex"
+
 {       
+#line 9435 "./tex4ht-c.tex"
+
  INTEGER  file_length;     
  int    header_length,
      it_correction_table_length,
@@ -7583,6 +9410,8 @@
 
 
    
+#line 9407 "./tex4ht-c.tex"
+
 file_length                    = (INTEGER) fget_int(font_file,2);
 header_length                  = (int) fget_int(font_file,2);
 new_font.char_f = (int) fget_int(font_file,2);
@@ -7605,7 +9434,11 @@
 
 
    
+#line 9480 "./tex4ht-c.tex"
 
+
+#line 9489 "./tex4ht-c.tex"
+
 {      INTEGER checksum;
    checksum = ( INTEGER) fget_int(font_file,4);
    if( checksum && new_font_checksum
@@ -7617,15 +9450,21 @@
 
 
 
+#line 9509 "./tex4ht-c.tex"
+
 new_font.design_pt = ( INTEGER) fget_int(font_file,4); 
 
 
 (IGNORED) fseek(font_file, (long) ((header_length - 2) * 4), 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
 
    
+#line 9521 "./tex4ht-c.tex"
+
 {      U_CHAR *ch, *hidp;
        int i;
    ch = new_font.char_wi = m_alloc(char, new_font.char_l
@@ -7636,12 +9475,16 @@
       *(ch++) = (int) fget_unt(font_file,1);
       *(hidp++) = (int) fget_unt(font_file,1);
       (IGNORED) fseek(font_file, 2L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 }  }
 
 
    
+#line 9576 "./tex4ht-c.tex"
+
 {       INTEGER *p;         
             int  i;
    p = new_font.wtbl = m_alloc( INTEGER, new_font.wtbl_n);
@@ -7651,6 +9494,8 @@
 
 
    
+#line 9612 "./tex4ht-c.tex"
+
 {       INTEGER *p;         
             int  i;
    p = new_font.htbl = m_alloc( INTEGER, new_font.htbl_n);
@@ -7659,6 +9504,8 @@
 }  }
 
 
+#line 9636 "./tex4ht-c.tex"
+
 {       INTEGER *p;         
             int  i;
    p = new_font.dtbl = m_alloc( INTEGER, new_font.dtbl_n);
@@ -7669,43 +9516,67 @@
 
    
    
+#line 9659 "./tex4ht-c.tex"
+
                                                    
 (IGNORED) fseek(font_file, (long) (it_correction_table_length * 4),
             
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
 
    
+#line 9669 "./tex4ht-c.tex"
+
 (IGNORED) fseek(font_file, (long) (lig_kern_table_length * 4),
              
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
 
    
+#line 9678 "./tex4ht-c.tex"
+
                           
 (IGNORED) fseek(font_file, (long) (kern_table_length * 4),
              
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
 
    
+#line 9688 "./tex4ht-c.tex"
+
 (IGNORED) fseek(font_file, (long) (extensible_char_table_length * 4),
              
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
 
    
+#line 9703 "./tex4ht-c.tex"
 
+
+#line 9718 "./tex4ht-c.tex"
+
 new_font.it = ( INTEGER) fget_int(font_file,4);
 
              
 
+#line 9724 "./tex4ht-c.tex"
+
 new_font.word_sp = ( INTEGER) fget_int(font_file,4);
 
+#line 9752 "./tex4ht-c.tex"
+
 if( new_font.word_sp == 0 ) {
         int i;
   for( i = new_font.char_f; i <= new_font.char_l; i++ ){
@@ -7721,34 +9592,50 @@
 
 
 
+#line 9768 "./tex4ht-c.tex"
+
 (IGNORED) fseek(font_file, 4L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
 
 
+#line 9772 "./tex4ht-c.tex"
+
 (IGNORED) fseek(font_file, 4L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
 
 
+#line 9161 "./tex4ht-c.tex"
+
 new_font.ex = 450000;
 
 
+#line 9778 "./tex4ht-c.tex"
+
 new_font.ex = (INTEGER) fget_int(font_file,4);
 
 
 
+#line 9784 "./tex4ht-c.tex"
 
 
 
 
 
+#line 9790 "./tex4ht-c.tex"
 
 
 
 
+
+
 }
 
 
@@ -7760,6 +9647,8 @@
 new_font.name = m_alloc(char, font_name_n + 1);
 (IGNORED) strcpy((char *)  new_font.name, (char *) new_font_name );
 
+#line 8781 "./tex4ht-c.tex"
+
 {    int n, i;
    for( n=0; n<font_name_n; n++ ){
      if(  ( '0' <= new_font_name[n] ) && ( new_font_name[n] <= '9' )){
@@ -7767,6 +9656,8 @@
      }
    }
    
+#line 8803 "./tex4ht-c.tex"
+
 {                       int m;
    for( m=n; m<font_name_n; m++ ){
      if(  ( new_font_name[m] < '0' ) || ( new_font_name[m] > '9' )){
@@ -7789,6 +9680,8 @@
 
 
 
+#line 8768 "./tex4ht-c.tex"
+
 new_font.mag = new_font.scale / (new_font.design_sz / 100);
 
 
@@ -7798,9 +9691,13 @@
 
    }
    
+#line 9994 "./tex4ht-c.tex"
+
 {      U_CHAR str[256];
        int i, design_n, n_gif;
        
+#line 10089 "./tex4ht-c.tex"
+
 int loopBound = 0;
 U_CHAR loopName[256];
 loopName[0] = '\0';
@@ -7809,17 +9706,23 @@
    n_gif = new_font.char_l - new_font.char_f + 1;
    new_font.ch255 = 0;
    
+#line 10024 "./tex4ht-c.tex"
+
 {     int n_gif_bytes;
    n_gif_bytes = (n_gif + 7) / 8;
    new_font.gif_on = m_alloc(char, n_gif_bytes );
    new_font.ch_str = m_alloc(char, n_gif_bytes );
    
+#line 12768 "./tex4ht-c.tex"
+
 new_font.math_closing = m_alloc(char, n_gif_bytes );
 new_font.math = m_alloc(char, n_gif );
 
 
    for( i=n_gif_bytes; i--; ) {
      
+#line 12774 "./tex4ht-c.tex"
+
 new_font.math_closing[i] =
 
  new_font.ch_str[i] = new_font.gif_on[i] = 0;
@@ -7827,6 +9730,8 @@
    new_font.gif1 = m_alloc(unsigned char, n_gif );
    for( i=n_gif; i--; ) {
        
+#line 12778 "./tex4ht-c.tex"
+
 new_font.math[i] =
 
  new_font.gif1[i] = 0;
@@ -7834,6 +9739,8 @@
 
 
    
+#line 12078 "./tex4ht-c.tex"
+
 new_font.accent = m_alloc(unsigned char, n_gif );
 new_font.accented = m_alloc(unsigned char, n_gif );
 new_font.accent_array = (unsigned int *) 0;
@@ -7846,6 +9753,8 @@
 
    new_font.ch = m_alloc(unsigned char, n_gif );
    
+#line 10039 "./tex4ht-c.tex"
+
 for( i = new_font.char_f; i <= new_font.char_l ; i++ ){
   new_font.ch[i - new_font.char_f] =
                  (char)  (((31<i) && (i<128))? i : ignore_ch);
@@ -7856,10 +9765,14 @@
    new_font.str[0] = &null_str;
    design_n = 0;
       
+#line 10053 "./tex4ht-c.tex"
+
 {  char search_font_name [256];
   (IGNORED) strcpy((char *) search_font_name, (char *) new_font.name);
   while( 1 ){                         BOOL flag;
      
+#line 10095 "./tex4ht-c.tex"
+
 if( eq_str( new_font_name, loopName) ){
      U_CHAR name[256];
    (IGNORED) sprintf(name, "%s.htf", new_font_name);
@@ -7880,11 +9793,17 @@
                                            int   char_f, char_l;
        new_font_name[font_name_n] = '\0';
        
+#line 13828 "./tex4ht-c.tex"
+
 {                              U_CHAR name[256];
    (IGNORED) sprintf(name, "%s.htf", new_font_name);
    
+#line 13837 "./tex4ht-c.tex"
+
    file = NULL;
    
+#line 13905 "./tex4ht-c.tex"
+
 {
                                struct htf_com_rec *p;
    p = htf_font_dir;
@@ -7909,15 +9828,21 @@
                                                READ_TEXT_FLAGS, htf_dirs);
 #endif
       
+#line 15073 "./tex4ht-c.tex"
 
+
 #ifdef KPATHSEA
   if( !file ){ U_CHAR * htfname;
      htfname= kpse_find_file (name, kpse_program_text_format, 0);
      if ( htfname ){
          
+#line 14729 "./tex4ht-c.tex"
+
 {                    U_CHAR  * head, * tail, *p;
                      int n;
    
+#line 14739 "./tex4ht-c.tex"
+
 n = (int) strlen((char *) htfname);
 tail = head = m_alloc(char, n+1);
 (IGNORED) strcpy((char *) head, (char *) htfname);
@@ -7938,6 +9863,8 @@
 
    htfname =  (U_CHAR *) 0;
    
+#line 14761 "./tex4ht-c.tex"
+
 for( n = 0 ; (n < cardinality) && !htfname ; n++){
   p = tail;
   while( *p != '\0' ){
@@ -7973,6 +9900,8 @@
 
 
    if( file ){ 
+#line 8827 "./tex4ht-c.tex"
+
 if( (strlen((char *) new_font.family_name) +
      strlen((char *) new_font.font_size) + 4) == strlen((char *) name) ){
   new_font.family_name = (char *) r_alloc((void *) new_font.family_name,
@@ -7988,6 +9917,8 @@
        if( file != NULL){
                                            INTEGER x_char_l;
          
+#line 10580 "./tex4ht-c.tex"
+
 x_char_l =
       get_html_file_id(file, new_font.char_f, new_font.char_l, 19);
 if( x_char_l != HTF_ALIAS) {
@@ -7999,6 +9930,8 @@
 
          if( x_char_l == HTF_ALIAS) {
            
+#line 10166 "./tex4ht-c.tex"
+
 {                                 int chr;
   font_name_n=0;
   while( (chr = get_html_ch(file)) != '\n' ){
@@ -8019,9 +9952,13 @@
            (IGNORED) fclose(file);  flag = FALSE; break;
          }
          
+#line 10283 "./tex4ht-c.tex"
+
 if( char_f <= new_font.char_l ){      U_CHAR  del;
                                       int  j, n;
    
+#line 10297 "./tex4ht-c.tex"
+
 while( char_f < new_font.char_f ){
   while( get_html_ch(file) != '\n' );
   char_f++;   }
@@ -8031,11 +9968,15 @@
         - char_f + 1;
    for( i = char_f - new_font.char_f; i < n; i++ ){
       
+#line 10312 "./tex4ht-c.tex"
+
 {      int indirect_ch, base=0, value=0, digit, ch1;
   indirect_ch = 0;
   del = get_html_ch(file);   j=0;
   while( (str[j++] = get_html_ch(file)) != del )
     { 
+#line 10346 "./tex4ht-c.tex"
+
 if( (digit=str[j-1]) == '\\' )
   if( (indirect_ch = !indirect_ch) != 0) {
     switch( value=get_html_ch(file) ){
@@ -8072,6 +10013,8 @@
      if( (ch < '0') || (ch > '9') ) break;
      ch1 = ch1 * 10 + ch - '0'; }
   
+#line 16480 "./tex4ht-c.tex"
+
 if(
        (*str             == '&')
     && (*(str+1)         == '#')
@@ -8091,6 +10034,8 @@
     }
     if( !err ){
       
+#line 16518 "./tex4ht-c.tex"
+
     int bottom, mid, top;
     BOOL found=FALSE;
 bottom = 0; top = htf_4hf_n;
@@ -8098,6 +10043,8 @@
    mid = (bottom + top) / 2;
    if( value == htf_4hf[mid].ch ){
       
+#line 16504 "./tex4ht-c.tex"
+
 if( htf_4hf[mid].type1 == ch1  ){
    ch1 = htf_4hf[mid].type2;
    (IGNORED) strcpy((char *) str, (char *) htf_4hf[mid].str );
@@ -8125,6 +10072,8 @@
   do{
     if( (ch = get_html_ch(file)) == del ){
       
+#line 12090 "./tex4ht-c.tex"
+
 ch1 = 0;
 while( ((ch = (int) get_html_ch(file)) != del) ){
      if( (ch < '0') || (ch > '9') ){ warn_i_int(48,i);  break; }
@@ -8143,6 +10092,8 @@
     do{
       if( (ch = get_html_ch(file)) == del ){
         
+#line 12104 "./tex4ht-c.tex"
+
 ch1 = 0;
 while( ((ch = (int) get_html_ch(file)) != del) ){
      if( (ch < '0') || (ch > '9') ){ warn_i_int(48,i);  break; }
@@ -8164,6 +10115,8 @@
 
 
       
+#line 10389 "./tex4ht-c.tex"
+
 add_bit( new_font.ch_str, i, j!=2 );
 switch( j ){
   case 1: { new_font.ch[i] = 0;    break; }
@@ -8181,6 +10134,8 @@
 
                      }
    
+#line 10303 "./tex4ht-c.tex"
+
 while( char_l > new_font.char_l ){
   while( get_html_ch(file) != '\n' );
   char_l--;   }
@@ -8190,11 +10145,15 @@
 
 
          
+#line 10591 "./tex4ht-c.tex"
+
 (void) get_html_file_id(file, new_font.char_f, new_font.char_l, 18);
 
 
          htf_to_lg(html_font,  new_font_name, fonts_n, file);
          
+#line 10499 "./tex4ht-c.tex"
+
 if( dump_htf_files ){
    dump_htf_files++;  dump_htf( file );  dump_htf_files--;
 }
@@ -8211,6 +10170,8 @@
                "%d--%d)\n", new_font.char_f, new_font.char_l);
      dump_env();
   } else { 
+#line 10505 "./tex4ht-c.tex"
+
 if( dump_env_files ){ dump_env(); }
 
  }
@@ -8220,6 +10181,8 @@
    new_font.str = (unsigned U_CHAR **) r_alloc((void *)   new_font.str,
                      (size_t) ( (design_n?design_n:1) * sizeof(char *)) );
    
+#line 10231 "./tex4ht-c.tex"
+
 for( i = fonts_n; i--; )
   if( eq_str(html_font[i].name, new_font_name) ){       int k;
      k = html_font[i].i;
@@ -8229,6 +10192,8 @@
      free((void *)  new_font.ch_str );
                                new_font.ch_str = font_tbl[ k ].ch_str;
      
+#line 12782 "./tex4ht-c.tex"
+
 free((void *)  new_font.math_closing );
            new_font.math_closing = font_tbl[ k ].math_closing;
 free((void *)  new_font.math );
@@ -8237,6 +10202,8 @@
 
      break;     }
 if( i < 0 ){ 
+#line 10246 "./tex4ht-c.tex"
+
 html_font = fonts_n? (struct html_font_rec *) r_alloc((void *) html_font,
                  (size_t) ((fonts_n+1) * sizeof(struct html_font_rec) ))
                    :  m_alloc(struct html_font_rec, 1);
@@ -8252,6 +10219,8 @@
 
 
    
+#line 11875 "./tex4ht-c.tex"
+
 {    static struct css_ext_rec * search_css_ext;
   for( search_css_ext = css_ext;
        search_css_ext != (struct css_ext_rec *) 0;
@@ -8263,12 +10232,18 @@
                                                FILE* file;
        css_file_name[css_name_n] = '\0';
        
+#line 11892 "./tex4ht-c.tex"
+
 {                              U_CHAR name[256];
    (IGNORED) sprintf(name, "%s.%s", css_file_name,
                                     search_css_ext->name);
    
+#line 13837 "./tex4ht-c.tex"
+
    file = NULL;
    
+#line 13905 "./tex4ht-c.tex"
+
 {
                                struct htf_com_rec *p;
    p = htf_font_dir;
@@ -8293,15 +10268,21 @@
                                                READ_TEXT_FLAGS, htf_dirs);
 #endif
       
+#line 15073 "./tex4ht-c.tex"
 
+
 #ifdef KPATHSEA
   if( !file ){ U_CHAR * htfname;
      htfname= kpse_find_file (name, kpse_program_text_format, 0);
      if ( htfname ){
          
+#line 14729 "./tex4ht-c.tex"
+
 {                    U_CHAR  * head, * tail, *p;
                      int n;
    
+#line 14739 "./tex4ht-c.tex"
+
 n = (int) strlen((char *) htfname);
 tail = head = m_alloc(char, n+1);
 (IGNORED) strcpy((char *) head, (char *) htfname);
@@ -8322,6 +10303,8 @@
 
    htfname =  (U_CHAR *) 0;
    
+#line 14761 "./tex4ht-c.tex"
+
 for( n = 0 ; (n < cardinality) && !htfname ; n++){
   p = tail;
   while( *p != '\0' ){
@@ -8358,7 +10341,11 @@
 
     if( file != NULL ){
       
+#line 11913 "./tex4ht-c.tex"
 
+
+#line 11961 "./tex4ht-c.tex"
+
 BOOL is_visited = FALSE;
 struct visited_file_rec * v = visited_file;
 while( v != (struct visited_file_rec *) 0 ){
@@ -8371,6 +10358,8 @@
 
 if( !is_visited ){
   
+#line 11953 "./tex4ht-c.tex"
+
 struct visited_file_rec * v =  m_alloc(struct visited_file_rec, 1);
 v->name = m_alloc(char,  (int) strlen((char *)  name ) + 1 );
 (IGNORED) strcpy((char *) v->name, (char *) name);
@@ -8412,6 +10401,8 @@
 
    }
    
+#line 11943 "./tex4ht-c.tex"
+
 while( visited_file != (struct visited_file_rec *) 0 ){
   struct visited_file_rec * v = visited_file;
   visited_file = visited_file->next;
@@ -8420,7 +10411,9 @@
 }
 
 
+#line 14698 "./tex4ht-c.tex"
 
+
 #ifdef KPATHSEA
 if( export_str_chars ){
    free((void *) export_str_chars);
@@ -8429,6 +10422,8 @@
 #endif
 
 
+#line 16411 "./tex4ht-c.tex"
+
 for( i = 0; i<htf_4hf_n; i++){
    free((void *) htf_4hf[i].str);
 }
@@ -8438,14 +10433,20 @@
    if( missing_fonts ) err_i(14);
 #ifndef KPATHSEA
    
+#line 14342 "./tex4ht-c.tex"
+
 if( cache_files != (FILE *) 0 ){  (IGNORED) fclose(cache_files); }
 
 
    
+#line 14105 "./tex4ht-c.tex"
+
 if( tex4ht_fls ){
                FILE *in_file, *out_file;
                U_CHAR temp_file[256];
    
+#line 14126 "./tex4ht-c.tex"
+
 (IGNORED) strcpy((char *) temp_file, (char *) job_name);
 temp_file[job_name_n] = '\0';
 temp_file[job_name_n-1] = 'p';
@@ -8454,6 +10455,8 @@
 
 
    
+#line 14222 "./tex4ht-c.tex"
+
 if( (out_file = fopen(temp_file, WRITE_TEXT_FLAGS)) == NULL )
 {   bad_in_file(temp_file);
 } else {
@@ -8473,6 +10476,8 @@
    } else {
       if( (in_file = fopen(temp_file, READ_TEXT_FLAGS)) != NULL ){
         
+#line 14238 "./tex4ht-c.tex"
+
               U_CHAR dir[255], prev_dir[255], file[255], *p;
               int ch;
               BOOL is_dir;
@@ -8491,9 +10496,13 @@
    *p = '\0';
    if( is_dir && (dir[0] != '\0') ){
       
+#line 14268 "./tex4ht-c.tex"
+
 while( cur_cache_font != (struct cache_font_rec *)0 ){
  if( gt_str(dir,cur_cache_font->dir) ){
     
+#line 14278 "./tex4ht-c.tex"
+
 file_rec = cur_cache_font->cache_file;
 if( file_rec ){
    if( !eq_str( prev_dir, cur_cache_font->dir) ){
@@ -8519,6 +10528,8 @@
       (IGNORED) strcpy((char *) prev_dir, (char *) dir);
    } else if( !is_dir && (file[0] != '\0') ){
       
+#line 14298 "./tex4ht-c.tex"
+
 if( cur_cache_font != (struct cache_font_rec *)0 ){
  if( eq_str(dir,cur_cache_font->dir) ){
     file_rec = cur_cache_font->cache_file;
@@ -8540,8 +10551,12 @@
    }
 }
 
+#line 14318 "./tex4ht-c.tex"
+
 while( cur_cache_font != (struct cache_font_rec *)0 ){
    
+#line 14278 "./tex4ht-c.tex"
+
 file_rec = cur_cache_font->cache_file;
 if( file_rec ){
    if( !eq_str( prev_dir, cur_cache_font->dir) ){
@@ -8572,12 +10587,16 @@
 
 #endif
    
+#line 10265 "./tex4ht-c.tex"
+
 if( html_font ){
   while( fonts_n-- )  free((void *)  html_font[fonts_n].name);
   free((void *)  html_font );
 }
 
 
+#line 13716 "./tex4ht-c.tex"
+
 while( (cur_cache_font = cache_font) != (struct cache_font_rec *)0 ){
    cache_font = cache_font->next;
    free((void *) cur_cache_font->dir );
@@ -8590,11 +10609,17 @@
   (IGNORED) fclose(dot_file);
 }
 
+#line 2268 "./tex4ht-c.tex"
+
 (IGNORED) fseek(dvi_file, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 ch = get_noop();
 if( ch != 
+#line 17475 "./tex4ht-c.tex"
+
 247 
  )   bad_dvi;
 if( ((int) get_char()) != version_id ) bad_dvi;
@@ -8605,95 +10630,151 @@
 
 
 
+#line 2318 "./tex4ht-c.tex"
+
 {
   dis_pages = unread_pages;
   while( unread_pages-- ){
     (IGNORED) printf("[%d", dis_pages - unread_pages);
     
+#line 2343 "./tex4ht-c.tex"
+
 x_val = dx_1 = dx_2 = 0;  max_x_val = -10000; 
 y_val = max_y_val = prev_y_val = dy_1 = dy_2 = 0;
 
 
     if( get_noop() != 
+#line 17320 "./tex4ht-c.tex"
+
 139 
  )  bad_dvi;
     for( i = 1; i<45; i++ )
       if( get_char() == EOF )   bad_dvi;
     while( (ch = get_char()) != 
+#line 17323 "./tex4ht-c.tex"
+
 140 
  ){
       
+#line 2930 "./tex4ht-c.tex"
+
 {       register int ch_1;
    ch_1 = ch;
    
+#line 6462 "./tex4ht-c.tex"
+
 if( stack[stack_n].halign_on )
 {
    switch( ch ){
        case                
+#line 17374 "./tex4ht-c.tex"
+
 157 
 : { ; }
        case                
+#line 17377 "./tex4ht-c.tex"
+
 158 
 : { ; }
        case                
+#line 17380 "./tex4ht-c.tex"
+
 159 
 : { ; }
        case                
+#line 17383 "./tex4ht-c.tex"
+
 160 
 : { ; }
        case             
+#line 17386 "./tex4ht-c.tex"
+
 161 
 : { ; }
        case 
+#line 17389 "./tex4ht-c.tex"
+
 162 
 : { ; }
        case 
+#line 17392 "./tex4ht-c.tex"
+
 163  
 : { ; }
        case 
+#line 17395 "./tex4ht-c.tex"
+
 164 
 : { ; }
        case 
+#line 17398 "./tex4ht-c.tex"
+
 165 
 : { ; }
        case             
+#line 17401 "./tex4ht-c.tex"
+
 166  
 : { ; }
        case 
+#line 17404 "./tex4ht-c.tex"
+
 167 
 : { ; }
        case 
+#line 17407 "./tex4ht-c.tex"
+
 168 
 : { ; }
        case 
+#line 17410 "./tex4ht-c.tex"
+
 169 
 : { ; }
        case 
+#line 17413 "./tex4ht-c.tex"
+
 170 
 : { ; }
        case        
+#line 17309 "./tex4ht-c.tex"
+
 132 
 : { ; }
        case      
+#line 17314 "./tex4ht-c.tex"
+
 137 
 : { ; }
        case                  
+#line 17429 "./tex4ht-c.tex"
+
 235  
 : { ; }
        case                 
+#line 17432 "./tex4ht-c.tex"
+
 236  
 : { ; }
        case                 
+#line 17435 "./tex4ht-c.tex"
+
 237  
 : { ; }
        case                     
+#line 17438 "./tex4ht-c.tex"
+
 238  
 : { ; }
        case                    
+#line 17326 "./tex4ht-c.tex"
+
 141 
 :
                                               { break; }
      default: { 
+#line 6498 "./tex4ht-c.tex"
+
 print_f( stack[stack_n].halign[1]->str );
 stack[stack_n].halign_on = FALSE;
 
@@ -8702,7 +10783,11 @@
 
 
    
+#line 3197 "./tex4ht-c.tex"
+
 if( (ch > 127) && (ch < 137) && (ch != 
+#line 17309 "./tex4ht-c.tex"
+
 132 
 ) ){
    ch_1 = (int) get_unt( (ch - (ch>132)) % 4 +1);
@@ -8710,9 +10795,13 @@
 
 
    
+#line 7655 "./tex4ht-c.tex"
+
 if( group_dvi ){
   if( ( ch < 132 ) ||
       ( (ch > 127) && (ch < 137) && (ch != 
+#line 17309 "./tex4ht-c.tex"
+
 132 
  ) )
     ){
@@ -8722,14 +10811,20 @@
 
 
    
+#line 2626 "./tex4ht-c.tex"
+
 if( trace_dvi_C && !in_trace_char ){
    if( (ch < 137) && (ch != 
+#line 17309 "./tex4ht-c.tex"
+
 132 
 ) ){
      in_trace_char = TRUE; block_start = TRUE;
 } }
 else if ( in_trace_char ){
   if( !trace_dvi_C || (ch > 136) || (ch == 
+#line 17309 "./tex4ht-c.tex"
+
 132 
 ) ){
    in_trace_char = FALSE;
@@ -8737,9 +10832,13 @@
 
 
    
+#line 2587 "./tex4ht-c.tex"
+
 if( span_on && !in_span_ch  && !ignore_chs && !in_accenting
             && (default_font != font_tbl[cur_fnt].num) ){
   if(  (ch < 137) && (ch != 
+#line 17309 "./tex4ht-c.tex"
+
 132 
 ) ){
     in_span_ch = TRUE; start_span = TRUE;
@@ -8747,18 +10846,26 @@
 else if ( in_span_ch ){
   if( !span_on ||
      (ch == 
+#line 17309 "./tex4ht-c.tex"
+
 132 
 ) ||
      ((136 < ch) && (ch < 
+#line 17332 "./tex4ht-c.tex"
+
 143 
 )) ||
      (ch > 
+#line 17371 "./tex4ht-c.tex"
+
 156 
 )
   ){
     in_span_ch = FALSE;
     if( *end_span[0] ){
        
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -8768,26 +10875,38 @@
 
 
    
+#line 12212 "./tex4ht-c.tex"
+
 if( in_accenting ){
   
+#line 12244 "./tex4ht-c.tex"
+
                                                long int width;
 if( i_accent_template ){
   (IGNORED) fprintf(cur_o_file, "%s", i_accent_second); }
 needs_end_accent = (needs_accent_sym == 2 * TRUE);
 if( needs_end_accent && t_accent_template )
 {  
+#line 12201 "./tex4ht-c.tex"
+
 needs_accented_sym++;
 
  }
 else if( m_accent_template )
 {  
+#line 12201 "./tex4ht-c.tex"
+
 needs_accented_sym++;
 
   stack[stack_n-1].accented = TRUE; }
 needs_accent_sym = FALSE;
 width = (INTEGER)( 
+#line 9837 "./tex4ht-c.tex"
+
 design_size_to_pt( *(font_tbl[cur_fnt].wtbl
                      +  (int) (
+#line 9845 "./tex4ht-c.tex"
+
 *(font_tbl[cur_fnt].char_wi +  (int)
    ( ch - font_tbl[cur_fnt].char_f)% 256)
 
@@ -8801,6 +10920,8 @@
 
 
 } else if( 
+#line 12269 "./tex4ht-c.tex"
+
 needs_accent_sym && (ch < 128)
 
  ){
@@ -8833,6 +10954,8 @@
 
    if( ch < 132 )  {
       x_val += math_class_on? 
+#line 12651 "./tex4ht-c.tex"
+
 set_ch_class(ch_1)
 
 
@@ -8842,6 +10965,8 @@
       case 133: case 134: case 135: case 136: {
            INTEGER w;
          w = math_class_on?  
+#line 12651 "./tex4ht-c.tex"
+
 set_ch_class(ch_1)
 
  : insert_ch(ch_1);
@@ -8849,154 +10974,252 @@
          break;
       }
       
+#line 3036 "./tex4ht-c.tex"
+
 case 
+#line 17332 "./tex4ht-c.tex"
+
 143 
 : {;}
 case 
+#line 17335 "./tex4ht-c.tex"
+
 144 
 : {;}
 case 
+#line 17338 "./tex4ht-c.tex"
+
 145 
 : {;}
 case 
+#line 17341 "./tex4ht-c.tex"
+
 146 
 : {
    try_new_line();
    (void) move_x((INTEGER) get_int(ch - 
+#line 17332 "./tex4ht-c.tex"
+
 143 
  + 1 ));
    break; }
 
 
+#line 3046 "./tex4ht-c.tex"
+
 case 
+#line 17344 "./tex4ht-c.tex"
+
 147 
 : {
    (void) move_x( dx_1 ); break; }
 case 
+#line 17347 "./tex4ht-c.tex"
+
 148 
 : {;}
 case 
+#line 17350 "./tex4ht-c.tex"
+
 149 
 : {;}
 case 
+#line 17353 "./tex4ht-c.tex"
+
 150 
 : {;}
 case 
+#line 17356 "./tex4ht-c.tex"
+
 151 
 : {
    try_new_line();
    dx_1 = move_x((INTEGER) get_int(ch - 
+#line 17344 "./tex4ht-c.tex"
+
 147 
  ));
    break; }
 
 
+#line 3058 "./tex4ht-c.tex"
+
 case 
+#line 17359 "./tex4ht-c.tex"
+
 152 
 : {
    (void) move_x( dx_2 ); break; }
 case 
+#line 17362 "./tex4ht-c.tex"
+
 153  
 : {;}
 case 
+#line 17365 "./tex4ht-c.tex"
+
 154  
 : {;}
 case 
+#line 17368 "./tex4ht-c.tex"
+
 155 
 : {;}
 case 
+#line 17371 "./tex4ht-c.tex"
+
 156 
 : {
    try_new_line();
    dx_2 = move_x((INTEGER) get_int(ch - 
+#line 17359 "./tex4ht-c.tex"
+
 152 
  ));
    break; }
 
 
+#line 3143 "./tex4ht-c.tex"
+
 case 
+#line 17374 "./tex4ht-c.tex"
+
 157 
 : {;}
 case 
+#line 17377 "./tex4ht-c.tex"
+
 158 
 : {;}
 case 
+#line 17380 "./tex4ht-c.tex"
+
 159 
 : {;}
 case 
+#line 17383 "./tex4ht-c.tex"
+
 160 
 : {
   (void) move_y( (INTEGER) get_int(ch - 
+#line 17374 "./tex4ht-c.tex"
+
 157 
  + 1 ));
   break; }
 
 
+#line 3152 "./tex4ht-c.tex"
+
 case 
+#line 17386 "./tex4ht-c.tex"
+
 161 
 : { (void) move_y( dy_1 );   break; }
 case 
+#line 17389 "./tex4ht-c.tex"
+
 162 
 : {;}
 case 
+#line 17392 "./tex4ht-c.tex"
+
 163  
 : {;}
 case 
+#line 17395 "./tex4ht-c.tex"
+
 164 
 : {;}
 case 
+#line 17398 "./tex4ht-c.tex"
+
 165 
 : {
   dy_1 = move_y( (INTEGER) get_int(ch - 
+#line 17386 "./tex4ht-c.tex"
+
 161 
  ));
   break; }
 
 
+#line 3162 "./tex4ht-c.tex"
+
 case 
+#line 17401 "./tex4ht-c.tex"
+
 166  
 : { (void) move_y( dy_2 );   break; }
 case 
+#line 17404 "./tex4ht-c.tex"
+
 167 
 : {;}
 case 
+#line 17407 "./tex4ht-c.tex"
+
 168 
 : {;}
 case 
+#line 17410 "./tex4ht-c.tex"
+
 169 
 : {;}
 case 
+#line 17413 "./tex4ht-c.tex"
+
 170 
 : {
   dy_2 = move_y( (INTEGER) get_int(ch - 
+#line 17401 "./tex4ht-c.tex"
+
 166  
  ));
   break; }
 
 
+#line 3586 "./tex4ht-c.tex"
+
 case 
+#line 17309 "./tex4ht-c.tex"
+
 132 
 : {
    (void) rule_x( TRUE );   break;
 }
 case 
+#line 17314 "./tex4ht-c.tex"
+
 137 
 : {
    (void) rule_x( FALSE );  break;
 }
 
 
+#line 3759 "./tex4ht-c.tex"
 
+
+#line 3764 "./tex4ht-c.tex"
+
 case 
+#line 17460 "./tex4ht-c.tex"
+
 246 
 :   (void) get_char();
 case 
+#line 17457 "./tex4ht-c.tex"
+
 245 
 :   (void) get_char();
 case 
+#line 17454 "./tex4ht-c.tex"
+
 244 
 :   (void) get_char();
 case 
+#line 17451 "./tex4ht-c.tex"
+
 243 
 : {
   for( i=0; i<14; i++ ){ ch = get_char(); }
@@ -9007,15 +11230,23 @@
 
 
 
+#line 3776 "./tex4ht-c.tex"
+
 case 
+#line 17490 "./tex4ht-c.tex"
+
 252
 
 :
    if(  version_id == 
-5
+#line 2292 "./tex4ht-c.tex"
 
+10
+
  ){
      
+#line 9230 "./tex4ht-c.tex"
+
         unsigned short flags;
 for( i=0; i<8; i++ ){ ch = get_char(); }
 flags = (INTEGER) get_unt(2);
@@ -9025,10 +11256,14 @@
     ; i>0
     ; i-- ){ ch = get_char(); }
 if( flags & 
+#line 8955 "./tex4ht-c.tex"
+
 0x0200
 
- ){ (INTEGER) get_unt(4); }
+ ){ (void) get_unt(4); }
 if( flags & 
+#line 8959 "./tex4ht-c.tex"
+
 0x0800
 
  ){
@@ -9045,28 +11280,40 @@
       break;
    }
 case 
+#line 17496 "./tex4ht-c.tex"
+
 253
 
 :
    if(  version_id == 
-5
+#line 2292 "./tex4ht-c.tex"
 
+10
+
  ){
      
+#line 9253 "./tex4ht-c.tex"
+
 doGlyphArray(TRUE);
 
 
       break;
    }
 case 
+#line 17501 "./tex4ht-c.tex"
+
 254
 
 :
    if(  version_id == 
-5
+#line 2292 "./tex4ht-c.tex"
 
+10
+
  ){
      
+#line 9258 "./tex4ht-c.tex"
+
 doGlyphArray(FALSE);
 
 
@@ -9074,19 +11321,31 @@
    }
 
 
+#line 3795 "./tex4ht-c.tex"
+
 default: {
   if( (ch < 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ) || (ch > 
+#line 17423 "./tex4ht-c.tex"
+
 234  
 ) ) {
      bad_char(ch);
   } else { cur_fnt = ch - 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ;
          
+#line 9309 "./tex4ht-c.tex"
+
 cur_fnt = search_font_tbl( cur_fnt );
 word_sp = 
+#line 9911 "./tex4ht-c.tex"
+
 design_size_to_pt( font_tbl[cur_fnt].word_sp )
                    * (double) font_tbl[cur_fnt].scale
 
@@ -9097,26 +11356,42 @@
 }
 
 
+#line 3805 "./tex4ht-c.tex"
+
 case 
+#line 17429 "./tex4ht-c.tex"
+
 235  
  :
 case 
+#line 17432 "./tex4ht-c.tex"
+
 236  
 :
 case 
+#line 17435 "./tex4ht-c.tex"
+
 237  
 :
 case 
+#line 17438 "./tex4ht-c.tex"
+
 238  
     : {
         INTEGER n;
    n = ch - 
+#line 17429 "./tex4ht-c.tex"
+
 235  
  + 1;
    cur_fnt = (int)  ((n==4)? get_int(4) : get_unt((int) n));
    
+#line 9309 "./tex4ht-c.tex"
+
 cur_fnt = search_font_tbl( cur_fnt );
 word_sp = 
+#line 9911 "./tex4ht-c.tex"
+
 design_size_to_pt( font_tbl[cur_fnt].word_sp )
                    * (double) font_tbl[cur_fnt].scale
 
@@ -9126,26 +11401,44 @@
    break; }
 
 
+#line 3841 "./tex4ht-c.tex"
+
 case 
+#line 17441 "./tex4ht-c.tex"
+
 239 
 : {;}
 case 
+#line 17443 "./tex4ht-c.tex"
+
 240 
 : {;}
 case 
+#line 17445 "./tex4ht-c.tex"
+
 241 
 : {;}
 case 
+#line 17447 "./tex4ht-c.tex"
+
 242 
 : {  
+#line 3857 "./tex4ht-c.tex"
+
 long int special_n;
   
+#line 12281 "./tex4ht-c.tex"
+
 if( needs_end_accent && t_accent_template ){
    
+#line 2609 "./tex4ht-c.tex"
+
 if( span_on && in_span_ch ){
    if( *end_span[0] ){
        in_span_ch = FALSE;
        
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -9155,6 +11448,8 @@
 
    (IGNORED) fprintf(cur_o_file, "%s", t_accent_fifth);
    needs_end_accent = FALSE; 
+#line 12424 "./tex4ht-c.tex"
+
 needs_accented_sym--;
 
 
@@ -9163,13 +11458,19 @@
 
   if( tex4ht_special( &ch, &special_n) )  {    int  sv; sv = ch;
      special_on = TRUE;  
+#line 3944 "./tex4ht-c.tex"
+
 try_new_line();
 switch( ch ){
   case '*': { 
+#line 4585 "./tex4ht-c.tex"
+
 if( special_n ){
   special_n--;
   switch ( get_char() ){
     case '<': { 
+#line 4689 "./tex4ht-c.tex"
+
     U_CHAR name[256];
     int i=0;
     FILE* file;
@@ -9178,6 +11479,8 @@
 file  = f_open(name, READ_TEXT_FLAGS);
 if( file ) {
   
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -9189,12 +11492,18 @@
 
     break; }
     case '>': { 
+#line 4394 "./tex4ht-c.tex"
+
 if( special_n > 0 ){
   
+#line 4504 "./tex4ht-c.tex"
+
         static struct files_rec *p, *q;
         U_CHAR name[256];
         int i;
 
+#line 4514 "./tex4ht-c.tex"
+
 i = 0;
 name[(int) special_n] = '\0';
 while(  special_n-- > 0 ){  name[i++] = get_char(); }
@@ -9205,6 +11514,8 @@
 
 if( p != (struct files_rec*) 0 ){
   
+#line 4525 "./tex4ht-c.tex"
+
 for( q = p; q->next != (struct files_rec*) 0;  q = q->next ){ }
 if( q != p ){
   q->next = p;
@@ -9221,11 +11532,17 @@
 
 } else {
   
+#line 4470 "./tex4ht-c.tex"
 
+
+#line 4474 "./tex4ht-c.tex"
+
         static struct files_rec *p, *q;
 for( p = opened_files; p != (struct files_rec*) 0;  p = p->next ){
   if( (p->file == cur_o_file) && p->prev_file ){
     
+#line 4486 "./tex4ht-c.tex"
+
 for( q = opened_files; q != (struct files_rec*) 0;  q = q->next ){
   if( q->file == p->prev_file ){
      break;
@@ -9250,6 +11567,8 @@
 
     break; }
     case '!': { 
+#line 4608 "./tex4ht-c.tex"
+
               U_CHAR name[256], ch;
               int i=0, n;
               struct sys_call_rec *p;
@@ -9258,6 +11577,8 @@
 while(  special_n-- > 0 ){  name[i++] = get_char(); }
 (IGNORED) printf("System call: %s\n", name);
 
+#line 4654 "./tex4ht-c.tex"
+
 flag = FALSE;
 p = system_calls;
 while( p ){
@@ -9279,10 +11600,14 @@
 
     break; }
     case '^': { 
+#line 12155 "./tex4ht-c.tex"
+
 special_n--;
 switch ( get_char() ){
   case 't': { if( special_n ){
                 
+#line 12317 "./tex4ht-c.tex"
+
 (IGNORED) get_open_accent(&t_accent_template,
             &t_accent_first, &t_accent_second,
             &t_accent_third, &t_accent_fourth,
@@ -9290,6 +11615,8 @@
 
 
               } else { 
+#line 12193 "./tex4ht-c.tex"
+
 needs_accent_sym = TRUE * 2;
 
  }
@@ -9297,6 +11624,8 @@
             }
   case 'm': { if( special_n ){
                 
+#line 12324 "./tex4ht-c.tex"
+
 (IGNORED) get_open_accent(&m_accent_template,
             &m_accent_first, &m_accent_second,
             &m_accent_third, &m_accent_fourth,
@@ -9304,12 +11633,16 @@
 
 
               } else { 
+#line 12197 "./tex4ht-c.tex"
+
 needs_accent_sym = TRUE;
 
  }
               break;
             }
   case 'a': { 
+#line 12428 "./tex4ht-c.tex"
+
 (IGNORED) get_open_accent(&a_accent_template,
             &a_accent_first, &a_accent_second,
             &a_accent_third, &a_accent_fourth,
@@ -9319,6 +11652,8 @@
               break;
             }
   case 'i': { 
+#line 12444 "./tex4ht-c.tex"
+
 (IGNORED) get_open_accent(&i_accent_template,
             &i_accent_first, &i_accent_second,
             &i_accent_third, &i_accent_fourth,
@@ -9328,6 +11663,8 @@
               break;
             }
    default: { 
+#line 17088 "./tex4ht-c.tex"
+
 while( special_n-- )  (void) get_char();
 
  }
@@ -9335,6 +11672,8 @@
 
     break; }
     case '@': { 
+#line 6239 "./tex4ht-c.tex"
+
                                 int i;
 i = 0;
 special_n--;
@@ -9347,6 +11686,8 @@
   case '3': { i++; }
   case '2': { i++; }
   case '1': { 
+#line 6313 "./tex4ht-c.tex"
+
 if( halign[i]->refs == 1 ){
    free((void *) halign[i]->str );
 } else {
@@ -9360,12 +11701,18 @@
  break; }
   case '/': { if( special_n ){
                 
+#line 17088 "./tex4ht-c.tex"
+
 while( special_n-- )  (void) get_char();
 
 
               } else { 
+#line 6492 "./tex4ht-c.tex"
+
 if( stack[stack_n].halign_on )
 {  
+#line 6498 "./tex4ht-c.tex"
+
 print_f( stack[stack_n].halign[1]->str );
 stack[stack_n].halign_on = FALSE;
 
@@ -9378,11 +11725,15 @@
   case '@': { i++;
               if( special_n ){
                 
+#line 17088 "./tex4ht-c.tex"
+
 while( special_n-- )  (void) get_char();
 
 
               } else {
                 
+#line 6370 "./tex4ht-c.tex"
+
 new_halign = i * TRUE;
 
 
@@ -9390,6 +11741,8 @@
               break;
             }
    default: { 
+#line 17088 "./tex4ht-c.tex"
+
 while( special_n-- )  (void) get_char();
 
  }
@@ -9397,6 +11750,8 @@
 
     break; }
     case '=': { 
+#line 4149 "./tex4ht-c.tex"
+
        char *str, *repl;
        struct hcode_repl_typ *p, *q;
        BOOL flag;
@@ -9407,6 +11762,8 @@
    }
    *str = 0;
    
+#line 4176 "./tex4ht-c.tex"
+
 if( hcode_repl != (struct hcode_repl_typ*) 0 ){
    if( *(hcode_repl->str) == *repl ){
       p = hcode_repl;
@@ -9429,6 +11786,8 @@
 
 
    
+#line 4199 "./tex4ht-c.tex"
+
 flag = *repl != *(repl+1);
 if( !flag ){ flag = *(repl+2) != 0; }
 if( flag ){
@@ -9441,6 +11800,8 @@
 
 } else {
   
+#line 4166 "./tex4ht-c.tex"
+
 while( hcode_repl != (struct hcode_repl_typ*) 0 ){
   p = hcode_repl;
   hcode_repl = hcode_repl->next;
@@ -9453,25 +11814,35 @@
 
     break; }
      default: { 
+#line 17088 "./tex4ht-c.tex"
+
 while( special_n-- )  (void) get_char();
 
  }
   }
 } else { 
+#line 17093 "./tex4ht-c.tex"
+
 ;
 
  }
 
   break; }
   case '@': { 
+#line 4240 "./tex4ht-c.tex"
+
      int code, digit;
 special_n--;
 switch ( code = get_char() ){
   case '%': { 
+#line 2511 "./tex4ht-c.tex"
+
 if( special_n>1 ) {
    special_n--;
    if (  get_char() == '%' ) {
       if( special_n>2 ) { 
+#line 2648 "./tex4ht-c.tex"
+
      U_CHAR  type, ch, *p, *q, *pp=0, *qq=0, pre[256], post[256];
 special_n -= 2;   type = get_char();  ch = get_char();
 p = pre;
@@ -9483,12 +11854,16 @@
 while( special_n-- > 0 ) { *(p++)=get_char(); }    *p='\0';
 
 
+#line 2661 "./tex4ht-c.tex"
+
 p = m_alloc(char, 1 + (int) strlen((char *) pre));
 (IGNORED) strcpy((char *) p, (char *) pre );
 q = m_alloc(char, 1 + (int) strlen((char *) post));
 (IGNORED) strcpy((char *) q, (char *) post );
 
 
+#line 2670 "./tex4ht-c.tex"
+
 switch ( type ){
    case 'P': {
      pp = trace_dvi_del_P;      trace_dvi_del_P = p;
@@ -9537,10 +11912,14 @@
 
  }
       else { 
+#line 17088 "./tex4ht-c.tex"
+
 while( special_n-- )  (void) get_char();
 
  }
    } else { 
+#line 17088 "./tex4ht-c.tex"
+
 while( special_n-- )  (void) get_char();
 
  }
@@ -9563,10 +11942,14 @@
     break; }
   case '@': { verb_ch = !verb_ch;  break; }
   case '/': { 
+#line 17176 "./tex4ht-c.tex"
+
 trace_special = !trace_special;
 
   break; }
   case 'e': { 
+#line 17153 "./tex4ht-c.tex"
+
 if( err_mark ){ free((void *)  err_mark); }
 if( special_n ){
    err_mark = get_str( (int) special_n );  special_n=0;
@@ -9574,21 +11957,31 @@
 
   break; }
   case '!': { 
+#line 3262 "./tex4ht-c.tex"
+
 while( recover_spaces-- ){ text_on=TRUE;  put_char(' '); }
 recover_spaces = 0;
 
   break; }
   case '(': { 
+#line 3268 "./tex4ht-c.tex"
+
 ignore_spaces++;
 
   break; }
   case ')': { 
+#line 3272 "./tex4ht-c.tex"
+
 ignore_spaces--;
 
   break; }
   case '[': { 
+#line 3290 "./tex4ht-c.tex"
+
 if( special_n ){
                   
+#line 3278 "./tex4ht-c.tex"
+
 U_CHAR *unhskip_mark;
 long retract_addr;
 BOOL unhskip;
@@ -9600,162 +11993,264 @@
    unhskip_mark = get_str( (int) special_n );  special_n=0;
    retract_addr = ftell(dvi_file);
    
+#line 3304 "./tex4ht-c.tex"
+
 unhskip = TRUE;
 while( unhskip ){
   if( (ch = get_char()) >= 128 ) {
   switch( ch ){
     
+#line 7080 "./tex4ht-c.tex"
+
 case 
+#line 17460 "./tex4ht-c.tex"
+
 246 
 : (void) get_char();
 case 
+#line 17457 "./tex4ht-c.tex"
+
 245 
 : (void) get_char();
 case 
+#line 17454 "./tex4ht-c.tex"
+
 244 
 : (void) get_char();
 case 
+#line 17451 "./tex4ht-c.tex"
+
 243 
 : {    int i;
   for( i=14; i; i-- ){  ch = get_char(); }
   i = ch +  get_char();
   (IGNORED) fseek(dvi_file, (long) i, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
   break;  }
 
 
     
+#line 7151 "./tex4ht-c.tex"
+
 case 
+#line 17309 "./tex4ht-c.tex"
+
 132 
 :
 case 
+#line 17314 "./tex4ht-c.tex"
+
 137 
 :{
   (IGNORED) fseek(dvi_file, 8L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
   break;
 }
 
 
+#line 7159 "./tex4ht-c.tex"
+
 case   
+#line 17320 "./tex4ht-c.tex"
+
 139 
 : {
   (IGNORED) fseek(dvi_file, 44L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );  break; }
 
 
+#line 7164 "./tex4ht-c.tex"
+
 case 
+#line 17332 "./tex4ht-c.tex"
+
 143 
 : case 
+#line 17335 "./tex4ht-c.tex"
+
 144 
 :
 case 
+#line 17338 "./tex4ht-c.tex"
+
 145 
 : case 
+#line 17341 "./tex4ht-c.tex"
+
 146 
 : {
     (IGNORED) (get_int( ch - 
+#line 17332 "./tex4ht-c.tex"
+
 143 
  + 1 ));  break; }
 case 
+#line 17347 "./tex4ht-c.tex"
+
 148 
 :
 case 
+#line 17350 "./tex4ht-c.tex"
+
 149 
 :
 case 
+#line 17353 "./tex4ht-c.tex"
+
 150 
 :
 case 
+#line 17356 "./tex4ht-c.tex"
+
 151 
 : {
     (IGNORED) (get_int( ch - 
+#line 17347 "./tex4ht-c.tex"
+
 148 
  + 1));
     break;  }
 case 
+#line 17362 "./tex4ht-c.tex"
+
 153  
 :
 case 
+#line 17365 "./tex4ht-c.tex"
+
 154  
 :
 case 
+#line 17368 "./tex4ht-c.tex"
+
 155 
 :
 case 
+#line 17371 "./tex4ht-c.tex"
+
 156 
 : {
     (IGNORED) (get_int( ch - 
+#line 17362 "./tex4ht-c.tex"
+
 153  
  + 1));
     break;  }
 case 
+#line 17374 "./tex4ht-c.tex"
+
 157 
 : case 
+#line 17377 "./tex4ht-c.tex"
+
 158 
 :
 case 
+#line 17380 "./tex4ht-c.tex"
+
 159 
 : case 
+#line 17383 "./tex4ht-c.tex"
+
 160 
 : {
     (IGNORED) (get_int( ch - 
+#line 17374 "./tex4ht-c.tex"
+
 157 
  + 1));
     break; }
 case 
+#line 17389 "./tex4ht-c.tex"
+
 162 
 :
 case 
+#line 17392 "./tex4ht-c.tex"
+
 163  
 :
 case 
+#line 17395 "./tex4ht-c.tex"
+
 164 
 :
 case 
+#line 17398 "./tex4ht-c.tex"
+
 165 
 : {
     (IGNORED) (get_int( ch - 
+#line 17389 "./tex4ht-c.tex"
+
 162 
  + 1));
     break; }
 case 
+#line 17404 "./tex4ht-c.tex"
+
 167 
 :
 case 
+#line 17407 "./tex4ht-c.tex"
+
 168 
 :
 case 
+#line 17410 "./tex4ht-c.tex"
+
 169 
 :
 case 
+#line 17413 "./tex4ht-c.tex"
+
 170 
 : {
     (IGNORED) (get_int( ch - 
+#line 17404 "./tex4ht-c.tex"
+
 167 
  + 1));
     break; }
 
 
+#line 7200 "./tex4ht-c.tex"
+
 case 
+#line 17344 "./tex4ht-c.tex"
+
 147 
 :
 case 
+#line 17359 "./tex4ht-c.tex"
+
 152 
 :
 case 
+#line 17386 "./tex4ht-c.tex"
+
 161 
 :
 case 
+#line 17401 "./tex4ht-c.tex"
+
 166  
 :
    { break; }
 
 
     
+#line 3342 "./tex4ht-c.tex"
+
 case 128: case 129: case 130: case 131: case 133:
 case 134: case 135: case 136: {
   (void) get_unt( (ch-(ch>132)) % 4 +1);
@@ -9764,23 +12259,39 @@
 
 
     
+#line 3355 "./tex4ht-c.tex"
+
 case 
+#line 17326 "./tex4ht-c.tex"
+
 141 
 :
 case 
+#line 17329 "./tex4ht-c.tex"
+
 142 
 : {  break; }
 
 
     
+#line 3364 "./tex4ht-c.tex"
+
 case 
+#line 17441 "./tex4ht-c.tex"
+
 239 
 :  case 
+#line 17443 "./tex4ht-c.tex"
+
 240 
 :
 case 
+#line 17445 "./tex4ht-c.tex"
+
 241 
 :  case 
+#line 17447 "./tex4ht-c.tex"
+
 242 
 : {  long int i;
   if( tex4ht_special( &ch, &i ) ){    char *mark;
@@ -9796,10 +12307,14 @@
             default: { ; }
     }  }  }
   }else{ 
+#line 7016 "./tex4ht-c.tex"
+
    U_CHAR *ch;
 ch = special_hd + 4;
 while( *ch ){   ch++; }
 (IGNORED) fseek(dvi_file, (long) i, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
@@ -9809,20 +12324,32 @@
 
 
     
+#line 7093 "./tex4ht-c.tex"
+
 case  
+#line 17429 "./tex4ht-c.tex"
+
 235  
 :
 case 
+#line 17432 "./tex4ht-c.tex"
+
 236  
 :
 case 
+#line 17435 "./tex4ht-c.tex"
+
 237  
 :
 case     
+#line 17438 "./tex4ht-c.tex"
+
 238  
 : {
                               INTEGER n;
   n = ch - 
+#line 17429 "./tex4ht-c.tex"
+
 235  
  + 1;
   cr_fnt = (int)  ((n==4)? get_int(4) : get_unt((int) n));
@@ -9830,15 +12357,23 @@
   break; }
 default: {
   if( (ch < 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ) || (ch > 
+#line 17423 "./tex4ht-c.tex"
+
 234  
 ) ) {
      if( ch == 
+#line 17323 "./tex4ht-c.tex"
+
 140 
  ) { warn_i(46); }
      else { warn_i_int(45,ch); }
   } else { cr_fnt = ch - 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ;
          cr_fnt = search_font_tbl( cr_fnt );
@@ -9850,19 +12385,29 @@
   }
 } }
 
+#line 3320 "./tex4ht-c.tex"
+
 do{
                                long int i;
                                char *mark;
   ch = get_char();
   if(
       ( ch==
+#line 17441 "./tex4ht-c.tex"
+
 239 
 ) ||  ( ch==
+#line 17443 "./tex4ht-c.tex"
+
 240 
 ) ||
       ( ch==
+#line 17445 "./tex4ht-c.tex"
+
 241 
 ) ||  ( ch==
+#line 17447 "./tex4ht-c.tex"
+
 242 
 )
     )
@@ -9874,6 +12419,8 @@
      }  }
   }
   (IGNORED) fseek(dvi_file, (long) retract_addr, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 } while(FALSE);
@@ -9887,17 +12434,23 @@
 
   break; }
   case ']': { 
+#line 3390 "./tex4ht-c.tex"
+
 if( special_n ){
    while( special_n-- > 0 ){  (void) get_char(); }
 } else { ignore_chs--; }
 
   break; }
   case '?': { 
+#line 3397 "./tex4ht-c.tex"
+
 while( special_n-- > 0 ){  (void) get_char(); }
 
   break; }
   case '-': {
      if( special_n ) { code = 0; 
+#line 4280 "./tex4ht-c.tex"
+
 while( special_n-- > 0 ){
   digit = get_char() - '0';
   if ( (digit < 0) || (digit > 9) ) {  warn_i_int(41,digit+'0') ; }
@@ -9910,34 +12463,50 @@
      }  else  {  nomargin = TRUE; }
      break; }
   case '*': { 
+#line 4342 "./tex4ht-c.tex"
+
 keepChar=1;
 
   }
   case '+': { 
+#line 4299 "./tex4ht-c.tex"
+
 if( 
+#line 4332 "./tex4ht-c.tex"
+
 next_char
 
  != -1 ) {
    
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
    (IGNORED) put_4ht_ch( 
+#line 4332 "./tex4ht-c.tex"
+
 next_char
 
  , cur_o_file );
    
+#line 4332 "./tex4ht-c.tex"
+
 next_char
 
  = -1;
 }
 if( 
+#line 4338 "./tex4ht-c.tex"
+
 next_str
 
  ){    print_f(next_str);
   free((void *) next_str);  next_str = (char *) 0; }
 next_str = get_str( (int) special_n );  special_n = 0;
 
+#line 4314 "./tex4ht-c.tex"
+
 {     char *front, *back;
       int i;
   back = front = next_str;
@@ -9956,6 +12525,8 @@
 
     break; }
   case '.': { 
+#line 3402 "./tex4ht-c.tex"
+
 if( eoln_str ){ free((void *)  eoln_str); }
 if( special_n ){
    eoln_str = get_str( (int) special_n );  special_n=0;
@@ -9963,6 +12534,8 @@
 
   break; }
   case ',': { 
+#line 3424 "./tex4ht-c.tex"
+
 if( space_str ){ free((void *) space_str); }
 if( special_n ){
    space_str = get_str( (int) special_n );  special_n=0;
@@ -9970,12 +12543,16 @@
 
   break; }
   case '_': { 
+#line 3678 "./tex4ht-c.tex"
+
 if( !special_n ){ rule_ch = '\0'; }
 else            { while( special_n-- > 0 ){ rule_ch = get_char(); }
                 }
 
   break; }
   case 'D': { 
+#line 3686 "./tex4ht-c.tex"
+
           struct files_rec *p;
 while( special_n-- > 0 ) (void)  putc( get_char(), log_file );
 for( p = opened_files; p != (struct files_rec*) 0;  p = p->next ){
@@ -9987,9 +12564,13 @@
 
  break; }
   case 'u': { 
+#line 15888 "./tex4ht-c.tex"
+
 special_n--;
 switch ( code = get_char() ){
   case '+': { put_4ht_off++; 
+#line 15906 "./tex4ht-c.tex"
+
 flush_uni();
 
  break; }
@@ -10000,7 +12581,11 @@
 
   break; }
    default: { 
+#line 4289 "./tex4ht-c.tex"
+
 code -= '0';  
+#line 4280 "./tex4ht-c.tex"
+
 while( special_n-- > 0 ){
   digit = get_char() - '0';
   if ( (digit < 0) || (digit > 9) ) {  warn_i_int(41,digit+'0') ; }
@@ -10010,6 +12595,8 @@
 
  next_char = code;
 if( 
+#line 4338 "./tex4ht-c.tex"
+
 next_str
 
  ){    print_f(next_str);
@@ -10020,10 +12607,14 @@
 
   break; }
   case '+': { 
+#line 5440 "./tex4ht-c.tex"
+
 while( special_n-- > 0 )  (void) get_char();
 
   break; }
   case '=': { 
+#line 4119 "./tex4ht-c.tex"
+
 while( special_n-- > 0 ){
         int ch;
         BOOL flag;
@@ -10045,7 +12636,11 @@
  break; }
   case '<':
   case '>': { 
+#line 4383 "./tex4ht-c.tex"
 
+
+#line 4541 "./tex4ht-c.tex"
+
    int  i=0;
    U_CHAR *name;
 name =  m_alloc(char, (int) special_n+1);
@@ -10054,15 +12649,21 @@
 
 
 
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
 
+#line 4555 "./tex4ht-c.tex"
+
 for( p = opened_files; p != (struct files_rec*) 0;  p = p->next )
   { if( eq_str(p->name, name) )  break; }
 
 
 if( ch == '>' ){ 
+#line 4407 "./tex4ht-c.tex"
+
 if( p !=  (struct files_rec*) 0 ){
   out_file = p->file;
   p->prev_file = cur_o_file;
@@ -10070,6 +12671,8 @@
 } else {
   if( !(*name) ) out_file = (FILE *) 0;
   else { 
+#line 4419 "./tex4ht-c.tex"
+
 p = m_alloc(struct files_rec, 1);
 if( opened_files != (struct files_rec*) 0 ) opened_files->prev = p;
 p->prev = (struct files_rec *) 0;
@@ -10083,8 +12686,13 @@
 
  }
 else           { 
+#line 4431 "./tex4ht-c.tex"
+
 if( p == (struct files_rec *)  0 ) bad_special( name );
+else { /* if p is null, do nothing more */
 
+#line 4444 "./tex4ht-c.tex"
+
 if( p->prev != (struct files_rec*) 0 ) (p->prev)->next = p->next;
 else                                   opened_files = p->next;
 if( p->next != (struct files_rec*) 0 ) (p->next)->prev = p->prev;
@@ -10095,6 +12703,7 @@
 else out_file = (FILE *) 0;
 (IGNORED) fclose( p->file );   free((void *)  p->name );
 free((void *) p );
+}
 
  }
 cur_o_file = ( out_file == (FILE *) 0 )? root_file
@@ -10102,8 +12711,12 @@
 
   break; }
   case '!': { 
+#line 4816 "./tex4ht-c.tex"
+
 ch_map_flag = !ch_map_flag;
 if( ch_map_flag ){ 
+#line 4906 "./tex4ht-c.tex"
+
 init_ch_map();
 xresolution = yresolution = 0;
 while( special_n-- > 0 ){
@@ -10113,8 +12726,12 @@
   else if( (ch == ',') && !xresolution && yresolution )
      { xresolution = yresolution;  yresolution = 0; }
   else { 
+#line 4930 "./tex4ht-c.tex"
+
 xresolution = yresolution = 0;
 
+#line 17080 "./tex4ht-c.tex"
+
 warn_i_int( 26, '!');
 (IGNORED) putc( ch, stderr);
 while( special_n-- )  (IGNORED) putc( get_char(), stderr);
@@ -10131,6 +12748,8 @@
 
  }
 else             { 
+#line 5275 "./tex4ht-c.tex"
+
 dump_ch_map();
 
   }
@@ -10138,6 +12757,8 @@
   break; }
   case '|': { gif_ch = !gif_ch;  break; }
   case ':': { 
+#line 4722 "./tex4ht-c.tex"
+
 if( special_n-- ){
         int code, n;
         U_CHAR str [255], *p;
@@ -10148,6 +12769,8 @@
   while( special_n-- ) { *(p++) = get_char(); }
   *p = '\0';
   
+#line 4751 "./tex4ht-c.tex"
+
 q = counter;
 while( q ){
   if( eq_str(str,q->str) ) break;  q = q->next;
@@ -10163,10 +12786,14 @@
 
 
   
+#line 4783 "./tex4ht-c.tex"
+
 switch ( code ){
   case '+': {  (q->i)++; break; }
   case '-': {  (q->i)--; break; }
   case '>': {  
+#line 4766 "./tex4ht-c.tex"
+
 if( q->depth == q->max ){
    q->max += 10;
    if( (q->stack = (int *) r_alloc( (void *) q->stack,
@@ -10176,6 +12803,8 @@
 
   break; }
   case '<': {  if( q->depth  ){ 
+#line 4775 "./tex4ht-c.tex"
+
 q->depth--;
 if( q->max > q->depth + 20 ){ q->max -= 15;
    if( (q->stack = (int *) r_alloc( (void *) q->stack,
@@ -10185,12 +12814,16 @@
  }
                break; }
   case '!': {  
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
                (IGNORED) fprintf(cur_o_file, "%d", q->i); break; }
   case '|': {  if( q->depth  ){
       
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -10205,6 +12838,8 @@
 
   break; }
   case ';': { 
+#line 11400 "./tex4ht-c.tex"
+
         int n, code;
         U_CHAR *p, *q;
 code = get_char();
@@ -10221,9 +12856,13 @@
                break; }
   case '+': {  default_font = -1;                    break; }
   case '%': { 
+#line 11814 "./tex4ht-c.tex"
+
    int f;
 f = 0; while( *p ){ f = 10*f + *(p++) - '0'; }
 
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -10233,7 +12872,11 @@
 
   break; }
   case '=': { 
+#line 11823 "./tex4ht-c.tex"
 
+
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -10244,14 +12887,22 @@
 
   break; }
   case '|': { 
+#line 11599 "./tex4ht-c.tex"
+
 {                 int bad_str, m;
                   U_CHAR ch, *t[
+#line 11643 "./tex4ht-c.tex"
+
 8
 ], err_str[256];
 bad_str=
+#line 11645 "./tex4ht-c.tex"
+
 7
 ;   (IGNORED) strcpy((char *) err_str, (char *) p);
 if( n>
+#line 11647 "./tex4ht-c.tex"
+
 10
  ){
    m = 100*( *p-'0' ) + 10*( *(p+1)-'0' )+ *(p+2)-'0';
@@ -10260,6 +12911,8 @@
       while( (*p = *(p+4)) != '\0' ){
         if( ch == *p ){ *p = '\0';
           if( bad_str-- > 0 ) t[
+#line 11645 "./tex4ht-c.tex"
+
 7
  - bad_str] = p+1;
         }
@@ -10267,6 +12920,8 @@
    }  }
    if( !bad_str ){
       if( m==0 ){ span_name_on = n>
+#line 11649 "./tex4ht-c.tex"
+
 11
 ; }
       q = span_open[m];     span_open[m] = t[0];
@@ -10285,6 +12940,8 @@
 
   break; }
   case ',': { 
+#line 11634 "./tex4ht-c.tex"
+
 not_notify = TRUE;
 
   break; }
@@ -10295,14 +12952,20 @@
 
   break; }
   case '"': { 
+#line 8396 "./tex4ht-c.tex"
+
 if( special_n ){
    
+#line 8467 "./tex4ht-c.tex"
+
 {                       U_CHAR * p, ch, i;
   ch = get_char();
   p = pos_text = pos_line = end_pos_text
     = end_pos_body = pos_body
     = (char *)  r_alloc((void *) pos_body,(size_t) special_n + 1);
   i = 0;  
+#line 8486 "./tex4ht-c.tex"
+
 {                               BOOL after_star=0;
    while(  special_n-- > 0 ){
       if( (*p = get_char()) == ch ){
@@ -10321,6 +12984,8 @@
 
 
   
+#line 8506 "./tex4ht-c.tex"
+
 {                     long int v=0;
                       double w[5];
                       int j;
@@ -10328,6 +12993,8 @@
                       BOOL done;
   for(j=0;j<5;j++){
     
+#line 8528 "./tex4ht-c.tex"
+
 done = FALSE;  sign = 1;
 if( --special_n > 0 ){
   if( (ch = get_char()) == '-' ){ sign = -1; v=0; }
@@ -10371,6 +13038,8 @@
                              double dim=0.0;
                              BOOL   dim_on;
   
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -10379,6 +13048,8 @@
     dim_on = TRUE;
     switch( *p ){
        
+#line 8426 "./tex4ht-c.tex"
+
 case 'X': {  dim = pos_x_A * (max_pos_x - base_pos_x) + pos_x_B;
              break; }
 case 'x': {  dim = pos_x_A * (base_pos_x - min_pos_x) + pos_x_B;
@@ -10404,17 +13075,25 @@
 
  break; }
   case '~': { 
+#line 6581 "./tex4ht-c.tex"
+
 if( special_n ){
   
+#line 6612 "./tex4ht-c.tex"
+
               U_CHAR in_ch;
 if( (in_ch = get_char()) == '>' ) {
   
+#line 6734 "./tex4ht-c.tex"
+
 if( special_n == 1 ){
    special_n--;
    switch( get_char() ){
      case '[': { ignore_end_group++;  break; }
      case ']': { ignore_end_group--;  break; }
       default: { 
+#line 17093 "./tex4ht-c.tex"
+
 ;
 
  }
@@ -10437,11 +13116,15 @@
 
 } else if( in_ch == '!' ) {
   
+#line 7809 "./tex4ht-c.tex"
+
                  struct group_path *p, *t;
                  U_CHAR            *q, str[256];
                  int               n;
 p = m_alloc(struct group_path,1);
 
+#line 7832 "./tex4ht-c.tex"
+
 n = 0;
 while( --special_n ) {
    str[n] = get_char();
@@ -10461,6 +13144,8 @@
 
 
 
+#line 7851 "./tex4ht-c.tex"
+
 q = p->info = m_alloc(char,special_n+1);
 while( --special_n ) *q++ = get_char();
 *q = '\0';
@@ -10485,6 +13170,8 @@
   if( !group_dvi ){ warn_i(42); }
   (IGNORED) fseek(dvi_file, (long) --special_n,
                              
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
   special_n = 0;
@@ -10495,18 +13182,28 @@
                long  curr_pos;
                int   ch, sv_stack_n;
                
+#line 7114 "./tex4ht-c.tex"
+
 int cr_fnt;
 
 
+#line 7474 "./tex4ht-c.tex"
+
 BOOL  ch_token;
 int  id_hide;
 
 
   
+#line 7118 "./tex4ht-c.tex"
+
 cr_fnt = cur_fnt;
 
 
+#line 7479 "./tex4ht-c.tex"
+
 sv_id = 0;    
+#line 7470 "./tex4ht-c.tex"
+
 ch_id = 0;
 
 
@@ -10520,25 +13217,37 @@
   stack_id = 0;
   curr_pos = ftell(dvi_file);  sv_stack_n = stack_n;
   
+#line 6989 "./tex4ht-c.tex"
+
 while( group_dvi ){
   
+#line 7126 "./tex4ht-c.tex"
+
 if( (ch = get_char()) >= 128 ) {
   switch( ch ){
     
+#line 7142 "./tex4ht-c.tex"
+
 case 128: case 129: case 130: case 131: case 133:
 case 134: case 135: case 136: {
   ch = (int) get_unt( (ch-(ch>132)) % 4 +1);
   
+#line 7354 "./tex4ht-c.tex"
+
 ch_id++;
 if(!back_id_off ){
    if( !id_hide ){  ch_token = TRUE;  sv_id = ch_id; }
    switch( math_class_of( ch, cr_fnt ) ){
      case 
+#line 7373 "./tex4ht-c.tex"
+
 4
 
 : { del_stack = push_del( (char) ch, cr_fnt);
                            break; }
      case 
+#line 7369 "./tex4ht-c.tex"
+
 5
 
 : {
@@ -10552,165 +13261,271 @@
 
 
     
+#line 7080 "./tex4ht-c.tex"
+
 case 
+#line 17460 "./tex4ht-c.tex"
+
 246 
 : (void) get_char();
 case 
+#line 17457 "./tex4ht-c.tex"
+
 245 
 : (void) get_char();
 case 
+#line 17454 "./tex4ht-c.tex"
+
 244 
 : (void) get_char();
 case 
+#line 17451 "./tex4ht-c.tex"
+
 243 
 : {    int i;
   for( i=14; i; i-- ){  ch = get_char(); }
   i = ch +  get_char();
   (IGNORED) fseek(dvi_file, (long) i, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
   break;  }
 
 
     
+#line 7151 "./tex4ht-c.tex"
+
 case 
+#line 17309 "./tex4ht-c.tex"
+
 132 
 :
 case 
+#line 17314 "./tex4ht-c.tex"
+
 137 
 :{
   (IGNORED) fseek(dvi_file, 8L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
   break;
 }
 
 
+#line 7159 "./tex4ht-c.tex"
+
 case   
+#line 17320 "./tex4ht-c.tex"
+
 139 
 : {
   (IGNORED) fseek(dvi_file, 44L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );  break; }
 
 
+#line 7164 "./tex4ht-c.tex"
+
 case 
+#line 17332 "./tex4ht-c.tex"
+
 143 
 : case 
+#line 17335 "./tex4ht-c.tex"
+
 144 
 :
 case 
+#line 17338 "./tex4ht-c.tex"
+
 145 
 : case 
+#line 17341 "./tex4ht-c.tex"
+
 146 
 : {
     (IGNORED) (get_int( ch - 
+#line 17332 "./tex4ht-c.tex"
+
 143 
  + 1 ));  break; }
 case 
+#line 17347 "./tex4ht-c.tex"
+
 148 
 :
 case 
+#line 17350 "./tex4ht-c.tex"
+
 149 
 :
 case 
+#line 17353 "./tex4ht-c.tex"
+
 150 
 :
 case 
+#line 17356 "./tex4ht-c.tex"
+
 151 
 : {
     (IGNORED) (get_int( ch - 
+#line 17347 "./tex4ht-c.tex"
+
 148 
  + 1));
     break;  }
 case 
+#line 17362 "./tex4ht-c.tex"
+
 153  
 :
 case 
+#line 17365 "./tex4ht-c.tex"
+
 154  
 :
 case 
+#line 17368 "./tex4ht-c.tex"
+
 155 
 :
 case 
+#line 17371 "./tex4ht-c.tex"
+
 156 
 : {
     (IGNORED) (get_int( ch - 
+#line 17362 "./tex4ht-c.tex"
+
 153  
  + 1));
     break;  }
 case 
+#line 17374 "./tex4ht-c.tex"
+
 157 
 : case 
+#line 17377 "./tex4ht-c.tex"
+
 158 
 :
 case 
+#line 17380 "./tex4ht-c.tex"
+
 159 
 : case 
+#line 17383 "./tex4ht-c.tex"
+
 160 
 : {
     (IGNORED) (get_int( ch - 
+#line 17374 "./tex4ht-c.tex"
+
 157 
  + 1));
     break; }
 case 
+#line 17389 "./tex4ht-c.tex"
+
 162 
 :
 case 
+#line 17392 "./tex4ht-c.tex"
+
 163  
 :
 case 
+#line 17395 "./tex4ht-c.tex"
+
 164 
 :
 case 
+#line 17398 "./tex4ht-c.tex"
+
 165 
 : {
     (IGNORED) (get_int( ch - 
+#line 17389 "./tex4ht-c.tex"
+
 162 
  + 1));
     break; }
 case 
+#line 17404 "./tex4ht-c.tex"
+
 167 
 :
 case 
+#line 17407 "./tex4ht-c.tex"
+
 168 
 :
 case 
+#line 17410 "./tex4ht-c.tex"
+
 169 
 :
 case 
+#line 17413 "./tex4ht-c.tex"
+
 170 
 : {
     (IGNORED) (get_int( ch - 
+#line 17404 "./tex4ht-c.tex"
+
 167 
  + 1));
     break; }
 
 
+#line 7200 "./tex4ht-c.tex"
+
 case 
+#line 17344 "./tex4ht-c.tex"
+
 147 
 :
 case 
+#line 17359 "./tex4ht-c.tex"
+
 152 
 :
 case 
+#line 17386 "./tex4ht-c.tex"
+
 161 
 :
 case 
+#line 17401 "./tex4ht-c.tex"
+
 166  
 :
    { break; }
 
 
     
+#line 6871 "./tex4ht-c.tex"
+
 case 
+#line 17326 "./tex4ht-c.tex"
+
 141 
 : {
    
+#line 6891 "./tex4ht-c.tex"
+
 {     struct group_info *p, *last;
   if( (last = p = stack[ stack_n ].begin) != (struct group_info *)0 )
     if( p->stack_id == -1 ){
       
+#line 6901 "./tex4ht-c.tex"
+
 while( p ){
   if( p->stack_id != -1 ){ break; }
   p->stack_id = stack_id;
@@ -10720,6 +13535,8 @@
 
 
       
+#line 6911 "./tex4ht-c.tex"
+
 while ( stack[ stack_n ].begin != last ){
   p = (stack[ stack_n ].begin) -> next;
   (stack[ stack_n ].begin) -> next = last->next;
@@ -10734,6 +13551,8 @@
 
    stack[stack_n].stack_id = stack_id++;
    
+#line 7339 "./tex4ht-c.tex"
+
 if( !back_id_off )
 {                    struct del_stack_entry *p;
    p = m_alloc(struct del_stack_entry,1);
@@ -10744,15 +13563,21 @@
 
     stack_n++;
    if( stack_n > 
+#line 6684 "./tex4ht-c.tex"
+
 ((int) stack_len + 2)
 
  ){ warn_i(40); }
    break;
 }
 case 
+#line 17329 "./tex4ht-c.tex"
+
 142 
 : {
    stack_n--;  
+#line 7325 "./tex4ht-c.tex"
+
 if( !back_id_off ){
    if( !id_hide ){  ch_token = FALSE;
                     sv_id = stack[stack_n].stack_id; }
@@ -10772,19 +13597,31 @@
 
 
     
+#line 7002 "./tex4ht-c.tex"
+
 case 
+#line 17441 "./tex4ht-c.tex"
+
 239 
 :  case 
+#line 17443 "./tex4ht-c.tex"
+
 240 
 :
 case 
+#line 17445 "./tex4ht-c.tex"
+
 241 
 :  case 
+#line 17447 "./tex4ht-c.tex"
+
 242 
 : {  long int i;
   if( tex4ht_special( &ch, &i ) ){
      if( ch == '~' ){
         
+#line 7029 "./tex4ht-c.tex"
+
 if( i==0 ){
   group_dvi = FALSE ;
 }else{
@@ -10793,6 +13630,8 @@
         if( i-- ){         U_CHAR ch;
            if( (ch = get_char()) == '*' )
              { 
+#line 7554 "./tex4ht-c.tex"
+
               struct send_back_entry *p, *q, *t=0;
 if( back_id_off ){
    while( i-- ){ (IGNORED) get_char();  }
@@ -10801,6 +13640,8 @@
    p->send = get_str( (int)( i - 1 ));
    if( ch_token ){
      
+#line 7595 "./tex4ht-c.tex"
+
 p->id = sv_id;
 if( sv_id >  back_token->id ){
    p->next = back_token;   back_token = p;
@@ -10826,41 +13667,55 @@
  }
            else if( (ch == '[') && (i==1) ){
              i--;  
+#line 7493 "./tex4ht-c.tex"
+
 id_hide++;
 
 
            }
            else if( (ch == ']') && (i==1) ){
              i--;  
+#line 7498 "./tex4ht-c.tex"
+
 id_hide--;
 
 
            }
            else if( (ch == '-') && (i==1) ){
              i--;  
+#line 7502 "./tex4ht-c.tex"
+
 id_latex++;
 
 
            }
            else if( (ch == '+') && (i==1) ){
              i--;  
+#line 7507 "./tex4ht-c.tex"
+
 id_latex--;
 
 
            }
            else if( (ch == '(') && (i==1) ){
              i--;  
+#line 7513 "./tex4ht-c.tex"
+
 back_id_off++;
 
 
            }
            else if( (ch == ')') && (i==1) ){
              i--;  
+#line 7518 "./tex4ht-c.tex"
+
 back_id_off--;
 
 
            }
            else { 
+#line 6846 "./tex4ht-c.tex"
+
           struct group_info *p;
           U_CHAR *q;
           int j;
@@ -10878,6 +13733,8 @@
         break; }
      default: { (IGNORED) fseek(dvi_file, (long) --i,
                                
+#line 2177 "./tex4ht-c.tex"
+
 1
 );  break; }
 } }
@@ -10885,14 +13742,20 @@
 
      } else {
        (IGNORED) fseek(dvi_file, (long) i, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
      }
   }else{ 
+#line 7016 "./tex4ht-c.tex"
+
    U_CHAR *ch;
 ch = special_hd + 4;
 while( *ch ){   ch++; }
 (IGNORED) fseek(dvi_file, (long) i, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
@@ -10902,20 +13765,32 @@
 
 
     
+#line 7093 "./tex4ht-c.tex"
+
 case  
+#line 17429 "./tex4ht-c.tex"
+
 235  
 :
 case 
+#line 17432 "./tex4ht-c.tex"
+
 236  
 :
 case 
+#line 17435 "./tex4ht-c.tex"
+
 237  
 :
 case     
+#line 17438 "./tex4ht-c.tex"
+
 238  
 : {
                               INTEGER n;
   n = ch - 
+#line 17429 "./tex4ht-c.tex"
+
 235  
  + 1;
   cr_fnt = (int)  ((n==4)? get_int(4) : get_unt((int) n));
@@ -10923,15 +13798,23 @@
   break; }
 default: {
   if( (ch < 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ) || (ch > 
+#line 17423 "./tex4ht-c.tex"
+
 234  
 ) ) {
      if( ch == 
+#line 17323 "./tex4ht-c.tex"
+
 140 
  ) { warn_i(46); }
      else { warn_i_int(45,ch); }
   } else { cr_fnt = ch - 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ;
          cr_fnt = search_font_tbl( cr_fnt );
@@ -10942,16 +13825,22 @@
 
   }
 } else { 
+#line 7354 "./tex4ht-c.tex"
+
 ch_id++;
 if(!back_id_off ){
    if( !id_hide ){  ch_token = TRUE;  sv_id = ch_id; }
    switch( math_class_of( ch, cr_fnt ) ){
      case 
+#line 7373 "./tex4ht-c.tex"
+
 4
 
 : { del_stack = push_del( (char) ch, cr_fnt);
                            break; }
      case 
+#line 7369 "./tex4ht-c.tex"
+
 5
 
 : {
@@ -10966,6 +13855,8 @@
 
 
   
+#line 6954 "./tex4ht-c.tex"
+
 {                  struct group_info  *first, *second, *temp;
                    int i;
 for(i = stack_len; i >= 0; i--){
@@ -10983,29 +13874,43 @@
 } } }
 
 
+#line 7610 "./tex4ht-c.tex"
+
 back_group = rev_list( back_group );
 back_token = rev_list( back_token );
 back_token = back_insert ( back_token, 0);
 
+#line 7470 "./tex4ht-c.tex"
+
 ch_id = 0;
 
 
 
 
   (IGNORED) fseek(dvi_file, curr_pos, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
   group_dvi = TRUE;  stack_n = sv_stack_n;    stack_id = 0;
 } else { 
+#line 6813 "./tex4ht-c.tex"
+
 {              int stack_n;
   for( stack_n=
+#line 6684 "./tex4ht-c.tex"
+
 ((int) stack_len + 2)
 
 ;
        stack_n>0; stack_n--){
     group_dvi = TRUE;    
+#line 6792 "./tex4ht-c.tex"
+
 while( stack[stack_n-1].end ){
   
+#line 6770 "./tex4ht-c.tex"
+
           struct stack_end_entry *q, *p, *t;
 q = stack[ stack_n-1 ].end;
 p = stack[ stack_n-1 ].end = (struct stack_end_entry *) 0;
@@ -11024,6 +13929,8 @@
 
     group_dvi =FALSE;
     
+#line 6824 "./tex4ht-c.tex"
+
 while( stack[stack_n-1].begin ){
                                struct group_info *p;
    warn_i_str(44, stack[stack_n-1].begin->info);
@@ -11040,6 +13947,8 @@
 
  break; }
   case '.': { 
+#line 1759 "./tex4ht-c.tex"
+
 if( no_root_file ){
    U_CHAR *name;
    name = m_alloc(char, 256);
@@ -11060,10 +13969,14 @@
 
  break; }
   case '^': { 
+#line 12528 "./tex4ht-c.tex"
+
 switch( special_n ){
   case 0:{ if( math_class_on ){
               open_del = 256;   pause_class = ignore_subclass_del = 0;
               math_class_on = FALSE;  
+#line 12575 "./tex4ht-c.tex"
+
 group_dvi     = sv_group_dvi;
 trace_dvi_C   = sv_trace_dvi_C;
 in_trace_char = sv_in_trace_char;
@@ -11075,6 +13988,8 @@
            break;
          }
   case 1:{ 
+#line 12566 "./tex4ht-c.tex"
+
 sv_group_dvi     = group_dvi;
 sv_trace_dvi_C   = trace_dvi_C;
 sv_in_trace_char = in_trace_char;
@@ -11084,6 +13999,8 @@
 
            special_n--;
            if( (math_class = scan_class(1)) == 
+#line 12719 "./tex4ht-c.tex"
+
 79
 
  )
@@ -11092,9 +14009,13 @@
            break;
          }
   case 2:{  
+#line 12801 "./tex4ht-c.tex"
+
 special_n -= 2;   math_class = scan_class(0);
 stack[stack_n+1].ignore_subclass_del =
    (
+#line 12726 "./tex4ht-c.tex"
+
 ')'
 
  == get_char());
@@ -11107,6 +14028,8 @@
 
             break; }
  default:{ 
+#line 12657 "./tex4ht-c.tex"
+
 {                                    U_CHAR str[256], *p, ch, **q;
    math_class = scan_class(2);  ch = get_char();
    special_n -= 2;   p = str;
@@ -11115,9 +14038,13 @@
    }
    *p = '\0';
    q = (math_class > 
+#line 12715 "./tex4ht-c.tex"
+
 78
 
 )? &(
+#line 12833 "./tex4ht-c.tex"
+
 stack[stack_n+1].temp_class_open
 
 )
@@ -11126,9 +14053,13 @@
                                  1 + (size_t) strlen((char *) str));
    (IGNORED) strcpy((char *) *q, (char *) str);
    q = (math_class > 
+#line 12715 "./tex4ht-c.tex"
+
 78
 
 ) ? &(
+#line 12829 "./tex4ht-c.tex"
+
 stack[stack_n+1].temp_class_close
 
 )
@@ -11137,12 +14068,20 @@
    while( special_n-- > 0 ){ *(p++) = get_char();  }
    *p = '\0';
    if( math_class > 
+#line 12715 "./tex4ht-c.tex"
+
 78
 
 ){ 
+#line 12820 "./tex4ht-c.tex"
+
 stack[stack_n+1].ignore_subclass_del =
   (math_class == 
+#line 12734 "./tex4ht-c.tex"
+
 (
+#line 12719 "./tex4ht-c.tex"
+
 79
 
  + 1)
@@ -11162,6 +14101,8 @@
 
   special_on = FALSE;
      
+#line 17073 "./tex4ht-c.tex"
+
 if( special_n > 0 ){
    warn_i_int( 26, sv);
    while( special_n-- )  (IGNORED) putc( get_char(), stderr);
@@ -11169,6 +14110,8 @@
 
 
   } else { 
+#line 3871 "./tex4ht-c.tex"
+
 while( special_n-- )  (void) get_char();
 
   }
@@ -11176,12 +14119,22 @@
   break;  }
 
 
+#line 7219 "./tex4ht-c.tex"
+
 case     
+#line 17326 "./tex4ht-c.tex"
+
 141 
 : { 
+#line 7227 "./tex4ht-c.tex"
 
+
+#line 6414 "./tex4ht-c.tex"
+
 if( new_halign ){
   
+#line 6381 "./tex4ht-c.tex"
+
 stack[stack_n].halign_on = new_halign;
 if( stack[stack_n].halign_info )
 {                             int j;
@@ -11229,6 +14182,8 @@
 
 
 
+#line 6922 "./tex4ht-c.tex"
+
 {                        struct group_info *p;
   if( group_dvi &&
       ( (p = stack[stack_n].begin )  != (struct group_info *)0)
@@ -11247,14 +14202,20 @@
 
 stack[stack_n].text_on = text_on;
 push_stack();  
+#line 7647 "./tex4ht-c.tex"
+
 if( group_dvi ) {
    back_group = back_insert ( back_group, push_id);
 }
 
 
 
+#line 7861 "./tex4ht-c.tex"
+
 {
            
+#line 7881 "./tex4ht-c.tex"
+
 struct group_path *start_head, *start_tail,
                   *parent_start_head, *parent_start_tail,
                   *end_head, *end_tail,
@@ -11267,14 +14228,20 @@
 
 
   if( 
+#line 3739 "./tex4ht-c.tex"
+
 rule_ch_off
 
  ){
     
+#line 3272 "./tex4ht-c.tex"
+
 ignore_spaces--;
 
 
     
+#line 3739 "./tex4ht-c.tex"
+
 rule_ch_off
 
  = FALSE;
@@ -11283,35 +14250,51 @@
     p = stack[stack_n - 2].path_start;
     if(  p !=  (struct group_path *) 0 ){
       
+#line 7902 "./tex4ht-c.tex"
+
 while( p !=  (struct group_path *) 0 ){
    
+#line 8007 "./tex4ht-c.tex"
+
 if( *(p->path ) == 'e' ) {
   (IGNORED) strcpy((char *) p->path, (char *) p->path+1);
   if( *(p->path) == '\0' ) {
      switch( p->action ){
        case '<':  print_f( p->info );
                   place = 
+#line 7978 "./tex4ht-c.tex"
+
 4 
 ;
                   break;
        case '/':  ignore_chs++;
                   place = 
+#line 7972 "./tex4ht-c.tex"
+
 2 
 ; break;
        case '-':  
+#line 3739 "./tex4ht-c.tex"
+
 rule_ch_off
 
  = TRUE;
                   
+#line 3268 "./tex4ht-c.tex"
+
 ignore_spaces++;
 
 
                   place = 
+#line 7978 "./tex4ht-c.tex"
+
 4 
 ; break;
      }
   } else {
      place = 
+#line 7972 "./tex4ht-c.tex"
+
 2 
 ;
   }
@@ -11320,6 +14303,8 @@
      (IGNORED) strcpy((char *) p->path, (char *) p->path+1);
   }
   place = 
+#line 7966 "./tex4ht-c.tex"
+
 0 
 ;
 }
@@ -11329,8 +14314,12 @@
    p = p->next;
    q->next = (struct group_path *) 0;
    
+#line 7922 "./tex4ht-c.tex"
+
 switch( place ){
  case 
+#line 7966 "./tex4ht-c.tex"
+
 0 
 :
    if( parent_start_head == (struct group_path *) 0 ){
@@ -11340,6 +14329,8 @@
    }
    break;
  case 
+#line 7972 "./tex4ht-c.tex"
+
 2 
 :
    if( start_head == (struct group_path *) 0 ){
@@ -11349,9 +14340,13 @@
    }
    break;
  case 
+#line 7978 "./tex4ht-c.tex"
+
 4 
 :
    
+#line 7981 "./tex4ht-c.tex"
+
 free((void *)  q->path );
 free((void *)  q->info );
 free((void *)  q );
@@ -11368,11 +14363,17 @@
     p = stack[stack_n - 2].path_end;
     if(  p !=  (struct group_path *) 0 ){
       
+#line 7912 "./tex4ht-c.tex"
+
 while( p !=  (struct group_path *) 0 ){
    
+#line 8043 "./tex4ht-c.tex"
+
 if( *(p->path ) == 'e' ) {
   (IGNORED) strcpy((char *) p->path, (char *) p->path+1);
   place = 
+#line 7975 "./tex4ht-c.tex"
+
 3 
 ;
 } else {
@@ -11380,6 +14381,8 @@
      (IGNORED) strcpy((char *) p->path, (char *) p->path+1);
   }
   place = 
+#line 7969 "./tex4ht-c.tex"
+
 1 
 ;
 }
@@ -11389,8 +14392,12 @@
    p = p->next;
    q->next = (struct group_path *) 0;
    
+#line 7944 "./tex4ht-c.tex"
+
 switch( place ){
  case 
+#line 7969 "./tex4ht-c.tex"
+
 1 
 :
    if( parent_end_head == (struct group_path *) 0 ){
@@ -11400,6 +14407,8 @@
    }
    break;
  case 
+#line 7975 "./tex4ht-c.tex"
+
 3 
 :
    if( end_head == (struct group_path *) 0 ){
@@ -11409,9 +14418,13 @@
    }
    break;
  case 
+#line 7978 "./tex4ht-c.tex"
+
 4 
 :
    
+#line 7981 "./tex4ht-c.tex"
+
 free((void *)  q->path );
 free((void *)  q->info );
 free((void *)  q );
@@ -11426,6 +14439,8 @@
 
     }
     
+#line 7893 "./tex4ht-c.tex"
+
   stack[stack_n - 1].path_start = start_head;
   stack[stack_n - 1].path_end   = end_head;
   stack[stack_n - 2].path_start = parent_start_head;
@@ -11436,9 +14451,13 @@
 
 
 
+#line 2867 "./tex4ht-c.tex"
+
 if( push_depth<256 ) { push_st[push_depth] = push_id++; }
 if( trace_dvi_P && !ch_map_flag ){
    
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -11453,9 +14472,13 @@
 
 
 
+#line 12842 "./tex4ht-c.tex"
+
 if( stack[stack_n].active_class_del ){
    if( show_class && !pause_class && !ignore_subclass_del ){
       
+#line 12982 "./tex4ht-c.tex"
+
 (IGNORED) print_f( (stack[stack_n].temp_class_del)?
                       stack[stack_n].temp_class_open
                    :  stack[stack_n].class_open);
@@ -11471,14 +14494,22 @@
 
    break; }
 case 
+#line 17329 "./tex4ht-c.tex"
+
 142 
 : { 
+#line 7272 "./tex4ht-c.tex"
 
+
+#line 12854 "./tex4ht-c.tex"
+
 if( stack[stack_n].active_class_del ){
    ignore_subclass_del =  ignore_subclass_del
                         - stack[stack_n].ignore_subclass_del;
    if( show_class && !pause_class && !ignore_subclass_del ){
       
+#line 12969 "./tex4ht-c.tex"
+
 (IGNORED) print_f( (stack[stack_n].temp_class_del)?
                       stack[stack_n].temp_class_close
                    :  stack[stack_n].class_close);
@@ -11490,18 +14521,26 @@
 
 
 
+#line 8063 "./tex4ht-c.tex"
+
 {
      struct group_path *p, *q;
   if( stack_n > 1 ){
     p = stack[stack_n - 1].path_start;
     if(  p !=  (struct group_path *) 0 ){
       
+#line 8078 "./tex4ht-c.tex"
+
 while( p !=  (struct group_path *) 0 ){
    
+#line 8104 "./tex4ht-c.tex"
+
 if( *(p->path) != '\0' ) {
    
+#line 8134 "./tex4ht-c.tex"
+
             char str[256];
-(IGNORED) strcpy((char *) str, (char *) "...."); *(str+3) = p->action;
+(IGNORED) strcpy(str, "...."); *(str+3) = p->action;
 (IGNORED) strct(str,p->info); warn_i_str(38,str);
 
 
@@ -11510,8 +14549,10 @@
      case '/':  ignore_chs--;  break;
       default:  {
           
+#line 8134 "./tex4ht-c.tex"
+
             char str[256];
-(IGNORED) strcpy((char *) str, (char *) "...."); *(str+3) = p->action;
+(IGNORED) strcpy(str, "...."); *(str+3) = p->action;
 (IGNORED) strct(str,p->info); warn_i_str(38,str);
 
 
@@ -11522,6 +14563,8 @@
    q = p;
    p = p->next;
    
+#line 7981 "./tex4ht-c.tex"
+
 free((void *)  q->path );
 free((void *)  q->info );
 free((void *)  q );
@@ -11534,12 +14577,18 @@
     p = stack[stack_n - 1].path_end;
     if(  p !=  (struct group_path *) 0 ){
       
+#line 8087 "./tex4ht-c.tex"
+
 while( p !=  (struct group_path *) 0 ){
    
+#line 8120 "./tex4ht-c.tex"
+
 if( *(p->path) != '\0' ) {
    
+#line 8134 "./tex4ht-c.tex"
+
             char str[256];
-(IGNORED) strcpy((char *) str, (char *) "...."); *(str+3) = p->action;
+(IGNORED) strcpy(str, "...."); *(str+3) = p->action;
 (IGNORED) strct(str,p->info); warn_i_str(38,str);
 
 
@@ -11548,8 +14597,10 @@
      case '>':  print_f( p->info );  break;
       default:  {
           
+#line 8134 "./tex4ht-c.tex"
+
             char str[256];
-(IGNORED) strcpy((char *) str, (char *) "...."); *(str+3) = p->action;
+(IGNORED) strcpy(str, "...."); *(str+3) = p->action;
 (IGNORED) strct(str,p->info); warn_i_str(38,str);
 
 
@@ -11560,6 +14611,8 @@
    q = p;
    p = p->next;
    
+#line 7981 "./tex4ht-c.tex"
+
 free((void *)  q->path );
 free((void *)  q->info );
 free((void *)  q );
@@ -11572,8 +14625,12 @@
 
 
 
+#line 6792 "./tex4ht-c.tex"
+
 while( stack[stack_n-1].end ){
   
+#line 6770 "./tex4ht-c.tex"
+
           struct stack_end_entry *q, *p, *t;
 q = stack[ stack_n-1 ].end;
 p = stack[ stack_n-1 ].end = (struct stack_end_entry *) 0;
@@ -11591,9 +14648,13 @@
 
 
 
+#line 2883 "./tex4ht-c.tex"
+
 push_depth--;
 if( trace_dvi_P && !ch_map_flag ){
    
+#line 1715 "./tex4ht-c.tex"
+
 if( no_root_file ){  open_o_file(); }
 
 
@@ -11607,9 +14668,15 @@
 
 
 
+#line 6443 "./tex4ht-c.tex"
 
+
+#line 6492 "./tex4ht-c.tex"
+
 if( stack[stack_n].halign_on )
 {  
+#line 6498 "./tex4ht-c.tex"
+
 print_f( stack[stack_n].halign[1]->str );
 stack[stack_n].halign_on = FALSE;
 
@@ -11617,6 +14684,8 @@
 
 
 
+#line 6505 "./tex4ht-c.tex"
+
 if( stack_n ){
   if( stack[stack_n-1].halign_on )
   {
@@ -11625,6 +14694,8 @@
 
 
 
+#line 6514 "./tex4ht-c.tex"
+
 if( stack_n-1 ){
   if( stack[stack_n-2].halign_on )
   {
@@ -11656,6 +14727,8 @@
 
     }
     
+#line 5282 "./tex4ht-c.tex"
+
 if( ch_map_flag ){
    warn_i(27);    init_ch_map(); }
 
@@ -11667,6 +14740,8 @@
 
 put_char('\n');put_char('\n');
 
+#line 4456 "./tex4ht-c.tex"
+
 while( opened_files != (struct files_rec*) 0 )
 {
    (IGNORED) fclose( opened_files->file );
@@ -11675,30 +14750,46 @@
 
 
 {    
+#line 5778 "./tex4ht-c.tex"
+
 INTEGER bop_addr;
 
 
+#line 5843 "./tex4ht-c.tex"
+
 int stack_depth=0;
 
 
+#line 5900 "./tex4ht-c.tex"
+
 char cur_font[6];
 BOOL visible_cnt=FALSE;
 
 
   
+#line 5406 "./tex4ht-c.tex"
+
 job_name[job_name_n-3] = '\0';
 
+#line 5448 "./tex4ht-c.tex"
+
 file_n = 14;
 (IGNORED) fseek(dvi_file, 0L, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 do{  ch = get_char();
      idv_char( ch );
      file_n++;
 }while( ch == 
+#line 17317 "./tex4ht-c.tex"
+
 138 
  );
 
+#line 5462 "./tex4ht-c.tex"
+
 ch = get_char();
 if( id_version != -1 ){ ch = id_version; }
 idv_char( ch );
@@ -11711,20 +14802,30 @@
 
 page_n = 0;
 
+#line 6098 "./tex4ht-c.tex"
+
 x_val = 0;   y_val = 0;   stack_n = 0;
 idv_char( 
+#line 17320 "./tex4ht-c.tex"
+
 139 
  );
 idv_int( page_n + 1 );  for( i=36; i--; ) idv_char( 0);
 idv_int( -1 );  bop_addr = file_n;  file_n += 45;
 idv_char(
+#line 17326 "./tex4ht-c.tex"
+
 141 
 );  file_n++;
 
 
 while( dis_pages ){ 
+#line 5526 "./tex4ht-c.tex"
+
 if( (ch = get_char()) < 128 ) { visible_cnt = TRUE;  cond_idv_char( ch );}
 else switch( ch ){ 
+#line 5533 "./tex4ht-c.tex"
+
 case 128: case 129: case 130: case 131: case 133:
 case 134: case 135: case 136: {
   visible_cnt = TRUE;  cond_string( ch, (ch - (ch>132)) % 4 +1 );
@@ -11732,147 +14833,237 @@
 }
 
 
+#line 5544 "./tex4ht-c.tex"
+
 case   
+#line 17320 "./tex4ht-c.tex"
+
 139 
 : {
   x_val = 0;   y_val = 0;  stack_n = 0;
   (IGNORED) fseek(dvi_file, 44L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );  break; }
 case     
+#line 17323 "./tex4ht-c.tex"
+
 140 
 : { dis_pages--; }
 case           
+#line 17317 "./tex4ht-c.tex"
+
 138 
 : { break; }
 
 
+#line 5553 "./tex4ht-c.tex"
+
 case 
+#line 17344 "./tex4ht-c.tex"
+
 147 
 : {
   cond_idv_char( ch );  x_val += dx_1;  break; }
 case 
+#line 17359 "./tex4ht-c.tex"
+
 152 
 : {
   cond_idv_char( ch );  x_val += dx_2;  break; }
 case 
+#line 17386 "./tex4ht-c.tex"
+
 161 
 : {
   cond_idv_char( ch );  y_val += dy_1;  break; }
 case 
+#line 17401 "./tex4ht-c.tex"
+
 166  
 : {
   cond_idv_char( ch );  y_val += dy_2;  break; }
 
 
+#line 5565 "./tex4ht-c.tex"
+
 case 
+#line 17332 "./tex4ht-c.tex"
+
 143 
 : case 
+#line 17335 "./tex4ht-c.tex"
+
 144 
 :
 case 
+#line 17338 "./tex4ht-c.tex"
+
 145 
 : case 
+#line 17341 "./tex4ht-c.tex"
+
 146 
 : {
     cond_idv_char( ch );
     x_val += cond_int( ch - 
+#line 17332 "./tex4ht-c.tex"
+
 143 
  + 1 );  break; }
 case 
+#line 17347 "./tex4ht-c.tex"
+
 148 
 :
 case 
+#line 17350 "./tex4ht-c.tex"
+
 149 
 :
 case 
+#line 17353 "./tex4ht-c.tex"
+
 150 
 :
 case 
+#line 17356 "./tex4ht-c.tex"
+
 151 
 : {
     cond_idv_char( ch );
     dx_1 = (INTEGER) cond_int( ch - 
+#line 17347 "./tex4ht-c.tex"
+
 148 
  + 1);
     x_val += dx_1;   break;  }
 case 
+#line 17362 "./tex4ht-c.tex"
+
 153  
 :
 case 
+#line 17365 "./tex4ht-c.tex"
+
 154  
 :
 case 
+#line 17368 "./tex4ht-c.tex"
+
 155 
 :
 case 
+#line 17371 "./tex4ht-c.tex"
+
 156 
 : {
     cond_idv_char( ch );
     dx_2 = (INTEGER) cond_int( ch - 
+#line 17362 "./tex4ht-c.tex"
+
 153  
  + 1);
     x_val += dx_2;   break;  }
 
 
+#line 5586 "./tex4ht-c.tex"
+
 case 
+#line 17374 "./tex4ht-c.tex"
+
 157 
 : case 
+#line 17377 "./tex4ht-c.tex"
+
 158 
 :
 case 
+#line 17380 "./tex4ht-c.tex"
+
 159 
 : case 
+#line 17383 "./tex4ht-c.tex"
+
 160 
 : {
     cond_idv_char( ch );
     y_val += cond_int( ch - 
+#line 17374 "./tex4ht-c.tex"
+
 157 
  + 1);
     break; }
 case 
+#line 17389 "./tex4ht-c.tex"
+
 162 
 :
 case 
+#line 17392 "./tex4ht-c.tex"
+
 163  
 :
 case 
+#line 17395 "./tex4ht-c.tex"
+
 164 
 :
 case 
+#line 17398 "./tex4ht-c.tex"
+
 165 
 : {
     cond_idv_char( ch );
     dy_1 = (INTEGER) cond_int( ch - 
+#line 17389 "./tex4ht-c.tex"
+
 162 
  + 1);
     y_val += dy_1;   break; }
 case 
+#line 17404 "./tex4ht-c.tex"
+
 167 
 :
 case 
+#line 17407 "./tex4ht-c.tex"
+
 168 
 :
 case 
+#line 17410 "./tex4ht-c.tex"
+
 169 
 :
 case 
+#line 17413 "./tex4ht-c.tex"
+
 170 
 : {
     cond_idv_char( ch );
     dy_2 = (INTEGER) cond_int( ch - 
+#line 17404 "./tex4ht-c.tex"
+
 167 
  + 1);
     y_val += dy_2;   break; }
 
 
+#line 5613 "./tex4ht-c.tex"
+
 case   
+#line 17309 "./tex4ht-c.tex"
+
 132 
 :{
   visible_cnt = TRUE; cond_string( ch,4 ); x_val += cond_int(4);
   break;
 }
 case 
+#line 17314 "./tex4ht-c.tex"
+
 137 
 :{
   visible_cnt = TRUE; cond_string( ch, 8 );
@@ -11880,14 +15071,24 @@
 }
 
 
+#line 5646 "./tex4ht-c.tex"
+
 case 
+#line 17441 "./tex4ht-c.tex"
+
 239 
 :  case 
+#line 17443 "./tex4ht-c.tex"
+
 240 
 :
 case 
+#line 17445 "./tex4ht-c.tex"
+
 241 
 :  case 
+#line 17447 "./tex4ht-c.tex"
+
 242 
 : {  long int i;
                                             int special_nr;
@@ -11895,21 +15096,31 @@
   if( tex4ht_special( &ch, &i ) ){
      if( ch == '+' ){
         
+#line 5701 "./tex4ht-c.tex"
+
 if( i==0 ){ if( dvi_flag ){ dvi_flag = 0;  
+#line 5833 "./tex4ht-c.tex"
+
 if( !visible_cnt ) {                            U_CHAR  str[256];
    (IGNORED) sprintf(str, "--- empty picture --- %sidv[%d] ---\n",
                           job_name,page_n);
    (IGNORED) printf("%s", str);  (IGNORED) fprintf(log_file, "%s",str); }
 while( stack_depth-- > 0 ){
   idv_char(
+#line 17329 "./tex4ht-c.tex"
+
 142 
 );  file_n++; }
 
  } }
 else{
   if( dvi_flag ){ 
+#line 5760 "./tex4ht-c.tex"
+
 cond_idv_char( special_nr );
 cond_idv_int( i, special_nr - 
+#line 17441 "./tex4ht-c.tex"
+
 239 
  + 1 );
 while( i-- )  cond_idv_char( get_char() );
@@ -11918,6 +15129,8 @@
  }
   else switch( get_char() ){
      case '+': { 
+#line 5740 "./tex4ht-c.tex"
+
 {    U_CHAR str[256], *ch;
    ch = str;   while( --i )  *(ch++) =  get_char();  *ch = '\0';
    script(font_gif, job_name ,page_n+1, str);
@@ -11926,18 +15139,26 @@
 
                  dvi_flag = TRUE;  dvi_page = TRUE;
                  
+#line 5768 "./tex4ht-c.tex"
+
 visible_cnt = FALSE;
 bop_addr = advance_idv_page( bop_addr, cur_font );
 stack_depth = 0;
 set_loc( 
+#line 17332 "./tex4ht-c.tex"
+
 143 
 , x_val );
 set_loc( 
+#line 17374 "./tex4ht-c.tex"
+
 157 
 , y_val );
 
   break; }
      case '@': { 
+#line 5716 "./tex4ht-c.tex"
+
 while( --i ) (void)  putc( get_char(), log_file );
 (IGNORED) putc( '\n', log_file );
 
@@ -11948,12 +15169,18 @@
  }
      else   while( i-- ) (void)  get_char();
   }else if( dvi_flag ){ 
+#line 5679 "./tex4ht-c.tex"
+
 visible_cnt = TRUE;   
+#line 5684 "./tex4ht-c.tex"
+
 {
       U_CHAR *ch;
       int j;
    ch = special_hd;
    (IGNORED) putc( (unsigned) 
+#line 17447 "./tex4ht-c.tex"
+
 242 
 , idv_file );  file_n++;
    for(j=4; j--; ){  (IGNORED) putc( *ch, idv_file );  file_n++;  ch++; }
@@ -11966,25 +15193,37 @@
 
 
   }else { 
+#line 5664 "./tex4ht-c.tex"
+
 if( dvi_page || !page_n ){ dvi_page = FALSE;  
+#line 5768 "./tex4ht-c.tex"
+
 visible_cnt = FALSE;
 bop_addr = advance_idv_page( bop_addr, cur_font );
 stack_depth = 0;
 set_loc( 
+#line 17332 "./tex4ht-c.tex"
+
 143 
 , x_val );
 set_loc( 
+#line 17374 "./tex4ht-c.tex"
+
 157 
 , y_val );
 
   }
 dvi_flag = TRUE;
 
+#line 5684 "./tex4ht-c.tex"
+
 {
       U_CHAR *ch;
       int j;
    ch = special_hd;
    (IGNORED) putc( (unsigned) 
+#line 17447 "./tex4ht-c.tex"
+
 242 
 , idv_file );  file_n++;
    for(j=4; j--; ){  (IGNORED) putc( *ch, idv_file );  file_n++;  ch++; }
@@ -12001,7 +15240,11 @@
 }
 
 
+#line 5800 "./tex4ht-c.tex"
+
 case 
+#line 17326 "./tex4ht-c.tex"
+
 141 
 : {
    push_stack();
@@ -12009,6 +15252,8 @@
    cond_idv_char( ch );
    break; }
 case 
+#line 17329 "./tex4ht-c.tex"
+
 142 
 : {      INTEGER cur_x, cur_y;
    stack_depth--;
@@ -12016,31 +15261,47 @@
    if( dvi_flag ){
       if( stack_depth<0 ){ warn_i_int( 24,  page_n );
                            
+#line 5817 "./tex4ht-c.tex"
+
 cond_idv_char( 
+#line 17341 "./tex4ht-c.tex"
+
 146 
  );
 idv_int( x_val - cur_x - dx_1 - dx_2 );
 cond_idv_char( 
+#line 17356 "./tex4ht-c.tex"
+
 151 
  );
 idv_int( dx_1 );
 cond_idv_char( 
+#line 17371 "./tex4ht-c.tex"
+
 156 
  );
 idv_int( dx_2 );
 cond_idv_char( 
+#line 17383 "./tex4ht-c.tex"
+
 160 
  );
 idv_int( y_val - cur_y - dy_1 - dy_2 );
 cond_idv_char( 
+#line 17398 "./tex4ht-c.tex"
+
 165 
  );
 idv_int( dy_1 );
 cond_idv_char( 
+#line 17413 "./tex4ht-c.tex"
+
 170 
  );
 idv_int( dy_2 );
 cond_idv_char( 
+#line 17326 "./tex4ht-c.tex"
+
 141 
  );  file_n += 24;
 
@@ -12050,16 +15311,26 @@
    break; }
 
 
+#line 5854 "./tex4ht-c.tex"
+
 case 
+#line 17460 "./tex4ht-c.tex"
+
 246 
 :
 case 
+#line 17457 "./tex4ht-c.tex"
+
 245 
 :
 case 
+#line 17454 "./tex4ht-c.tex"
+
 244 
 :
 case 
+#line 17451 "./tex4ht-c.tex"
+
 243 
 : {  idv_char( ch );             file_n++;
   for( i=14; i; i-- ){  ch = get_char(); idv_char( ch ); file_n++; }
@@ -12068,20 +15339,32 @@
   break;  }
 
 
+#line 5873 "./tex4ht-c.tex"
+
 case  
+#line 17429 "./tex4ht-c.tex"
+
 235  
 :
 case 
+#line 17432 "./tex4ht-c.tex"
+
 236  
 :
 case 
+#line 17435 "./tex4ht-c.tex"
+
 237  
 :
 case     
+#line 17438 "./tex4ht-c.tex"
+
 238  
 : {    int i;
    idv_char( ch );  file_n++;
    cur_font[0] = ch - 
+#line 17429 "./tex4ht-c.tex"
+
 235  
  + 2;
    cur_font[1] = ch;
@@ -12091,35 +15374,53 @@
    break;  }
 
 
+#line 5887 "./tex4ht-c.tex"
+
 default: {
   if( (ch < 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ) || (ch > 
+#line 17423 "./tex4ht-c.tex"
+
 234  
 )   ){
      if( 
+#line 8971 "./tex4ht-c.tex"
+
 (version_id == 
-5
+#line 2292 "./tex4ht-c.tex"
 
+10
+
 )
 &&
 (
   (ch == 
+#line 17484 "./tex4ht-c.tex"
+
 251
 
 )
   ||
   (ch == 
+#line 17490 "./tex4ht-c.tex"
+
 252
 
 )
   ||
   (ch == 
+#line 17496 "./tex4ht-c.tex"
+
 253
 
 )
   ||
   (ch == 
+#line 17501 "./tex4ht-c.tex"
+
 254
 
 )
@@ -12127,12 +15428,18 @@
 
  ){
         
+#line 8993 "./tex4ht-c.tex"
+
 switch( ch ){
   case 
+#line 17490 "./tex4ht-c.tex"
+
 252
 
 :
      
+#line 9021 "./tex4ht-c.tex"
+
 {      int i, flags;
 
 (void) get_unt(4);  
@@ -12143,9 +15450,13 @@
 
 
 if ((flags & 
+#line 8985 "./tex4ht-c.tex"
+
 0x0002
 
 ) || (flags & 
+#line 8989 "./tex4ht-c.tex"
+
 0x0001
 
 )) {
@@ -12165,6 +15476,8 @@
 
 
         if( flags & 
+#line 8955 "./tex4ht-c.tex"
+
 0x0200
 
  ){
@@ -12172,6 +15485,8 @@
         }
 
 if( flags & 
+#line 8959 "./tex4ht-c.tex"
+
 0x0800
 
  ){
@@ -12190,10 +15505,14 @@
 
      break;
   case 
+#line 17501 "./tex4ht-c.tex"
+
 254
 
 :
      
+#line 9006 "./tex4ht-c.tex"
+
 {
            int i, glyphCount;
    (void) get_unt(4);
@@ -12224,18 +15543,24 @@
 
  }
 
+#line 5420 "./tex4ht-c.tex"
+
 if( errCode > 0 ){
    (IGNORED) fprintf(log_file, "tex4ht.c error: %d\n", errCode);
 }
 
 
 
+#line 5913 "./tex4ht-c.tex"
+
 {                                               int   ch, i, mag;
                                                 U_CHAR  str[256];
    (IGNORED) fprintf(log_file, "%s", begin_char_gif);
    dvi_flag = TRUE;
    for( cur_fnt = font_tbl_size; cur_fnt--; ){
       
+#line 8815 "./tex4ht-c.tex"
+
 (IGNORED) fprintf(log_file, lg_font_fmt,
   font_tbl[cur_fnt].family_name,
   font_tbl[cur_fnt].font_size,
@@ -12248,31 +15573,49 @@
          if( get_bit( font_tbl[cur_fnt].gif_on, i) ){
             bop_addr = advance_idv_page( bop_addr, cur_font );
             set_loc( 
+#line 17332 "./tex4ht-c.tex"
+
 143 
 , (long int) mid_page_x );
             set_loc( 
+#line 17374 "./tex4ht-c.tex"
+
 157 
 , (long int) mid_page_y );
             
+#line 5983 "./tex4ht-c.tex"
+
 {           INTEGER num;
    num = font_tbl[cur_fnt].num;
    if( num <= 
+#line 17426 "./tex4ht-c.tex"
+
 63 
  )
                                 cond_idv_char( (int) (num + 
+#line 17417 "./tex4ht-c.tex"
+
 171  
 ) );
    else if( dvi_flag ){
      if( (num < 0) || (num > 16777215L) ) idv_int(
+#line 17438 "./tex4ht-c.tex"
+
 238  
 );
      else if( num < 256 ) { idv_char(
+#line 17429 "./tex4ht-c.tex"
+
 235  
 ); file_n++; }
      else if( num < 65536L ) int_to_dvi((long int) 
+#line 17432 "./tex4ht-c.tex"
+
 236  
 ,2);
      else                   int_to_dvi((long int) 
+#line 17435 "./tex4ht-c.tex"
+
 237  
 ,3);
      cond_idv_char( (int) num );
@@ -12280,12 +15623,16 @@
 
 
             
+#line 5941 "./tex4ht-c.tex"
+
 if( (ch = i + font_tbl[cur_fnt].char_f) > 127 )  {
   if( ch < 256 ) cond_idv_char(133);  else  warn_i(23);   }
 cond_idv_char( ch );
 mag = (int) ((double) font_tbl[cur_fnt].scale /
              font_tbl[cur_fnt].design_sz  * 10 );
 
+#line 10901 "./tex4ht-c.tex"
+
 if( !dos_file_names ){
    if( mag == 10 ) (IGNORED) sprintf(str, "%s-%x%s",
                         font_tbl[cur_fnt].name, ch, gif);
@@ -12294,7 +15641,9 @@
 }
 
 
+#line 10929 "./tex4ht-c.tex"
 
+
 if( dos_file_names ){
    (IGNORED) strcpy((char *) str, (char *) font_tbl[cur_fnt].name);
    dos_gif_file(str, mag, ch);
@@ -12314,47 +15663,71 @@
 
 
 
+#line 5494 "./tex4ht-c.tex"
+
 idv_char(
+#line 17329 "./tex4ht-c.tex"
+
 142 
 );  file_n += 2;
 idv_char( 
+#line 17323 "./tex4ht-c.tex"
+
 140 
  );
 (IGNORED) fseek(dvi_file, begin_postamble, 
+#line 2174 "./tex4ht-c.tex"
+
 0
 );
 begin_postamble  = file_n;
 idv_char( 
+#line 17466 "./tex4ht-c.tex"
+
 248 
  );   file_n += 5;
 idv_int( bop_addr );  (IGNORED) fseek(dvi_file, 5L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 for( i = 20; i;  i-- ) idv_copy();
 
 
+#line 5504 "./tex4ht-c.tex"
+
 i = (INTEGER) get_int(2) + 1;    idv_char( (int) i >> 8 );  
 idv_char( (int) i & 0xFF );  file_n += 2;
 if( !page_n ) page_n++;   idv_char( page_n >> 8 );    
 idv_char( (int) page_n & 0xFF );  file_n += 2;
 (IGNORED) fseek(dvi_file, 2L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );
 
 
+#line 5512 "./tex4ht-c.tex"
+
 eof_op_n -= 32;                                       
 while( --eof_op_n ) idv_copy();
 idv_int(begin_postamble);                   
 (IGNORED) fseek(dvi_file, 4L, 
+#line 2177 "./tex4ht-c.tex"
+
 1
 );  file_n += 4;
 
+#line 5462 "./tex4ht-c.tex"
+
 ch = get_char();
 if( id_version != -1 ){ ch = id_version; }
 idv_char( ch );
 
 
 for( i = 8 - file_n % 4;  i;  i-- ) idv_char( 
+#line 17420 "./tex4ht-c.tex"
+
 223 
  );
 



More information about the tex4ht-commits mailing list.