texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: Output and read latex2html files in utf-8


From: Patrice Dumas
Subject: branch master updated: Output and read latex2html files in utf-8
Date: Sun, 27 Feb 2022 17:10:07 -0500

This is an automated email from the git hooks/post-receive script.

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 4ce5511203 Output and read latex2html files in utf-8
4ce5511203 is described below

commit 4ce551120319947d9822149c10d68379c1a979a2
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Feb 27 23:09:52 2022 +0100

    Output and read latex2html files in utf-8
    
    * tp/init/latex2html.pm: read and write files as utf-8, which
    is in line with what is output or expected by latex2html.
---
 ChangeLog                                          |   7 +
 tp/init/latex2html.pm                              |  32 ++--
 tp/init/tex4ht.pm                                  |  10 +-
 .../input_dir_non_ascii_res/input_dir_non_ascii.2  |   0
 .../simple_including_file.html                     |  32 ++++
 .../stdout_input_dir_non_ascii.out                 |   0
 .../many_input_files/tex_l2h_res/tex-l2h_cache.pm  |   5 +-
 .../tex_l2h_res/tex_complex-l2h_cache.pm           |   5 +-
 .../test_scripts/formatting_non_ascii_test_epub.sh |  19 ++
 .../test_scripts/tex_html_tex_encoded_httex.sh     |  25 +++
 tp/tests/test_scripts/tex_html_tex_encoded_l2h.sh  |  25 +++
 tp/tests/tex_html/Makefile.am                      |   2 +-
 tp/tests/tex_html/list-of-tests                    |   2 +
 .../block_EOL_tex/block_EOL-l2h_cache.pm           |   5 +-
 .../formatting_singular/sing-l2h_cache.pm          |   5 +-
 .../math_not_closed/math_not_closed-l2h_cache.pm   |   5 +-
 tp/tests/tex_html/res_parser/tex/tex-l2h_cache.pm  |   5 +-
 .../tex_accents_l2h/tex_accents-l2h_cache.pm       |   5 +-
 .../res_parser/tex_accents_l2h/tex_accents.html    |   2 +-
 .../tex_complex_l2h/tex_complex-l2h_cache.pm       |   5 +-
 .../tex_encoded_httex/tex_encod\303\251.html"      | 197 ++++++++++++++++++++
 .../tex_encod\303\251_tex4ht_tex.4ct"              |   2 +
 .../tex_encod\303\251_tex4ht_tex.4tc"              |   1 +
 .../tex_encod\303\251_tex4ht_tex.css"              |  43 +++++
 .../tex_encod\303\251_tex4ht_tex.html"             |  55 ++++++
 .../tex_encod\303\251_tex4ht_tex.lg"               |  56 ++++++
 .../tex_encod\303\251_tex4ht_tex.tex"              |  16 ++
 .../tex_encod\303\251_tex4ht_tex.tmp"              |   2 +
 .../tex_encod\303\251_tex4ht_tex.xref"             |   1 +
 .../tex_encod\303\251-l2h_cache.pm"                |  45 +++++
 .../tex_encoded_l2h/tex_encod\303\251.2"           |   1 +
 .../tex_encoded_l2h/tex_encod\303\251.html"        | 207 +++++++++++++++++++++
 .../tex_encoded_l2h/tex_encod\303\251_l2h.html"    |  68 +++++++
 .../tex_encoded_l2h/tex_encod\303\251_l2h.tex"     |  36 ++++
 .../tex_encod\303\251_l2h_images.tex"              | 141 ++++++++++++++
 .../tex_encod\303\251_l2h_labels.pl"               |  13 ++
 .../tex_eqalign_l2h/tex_eqalign-l2h_cache.pm       |   5 +-
 .../res_parser/tex_gdef_l2h/tex_gdef-l2h_cache.pm  |   5 +-
 .../tex_in_copying/tex_in_copying-l2h_cache.pm     |   5 +-
 .../tex_not_closed/tex_not_closed-l2h_cache.pm     |   5 +-
 "tp/tests/tex_html/tex_encod\303\251.texi"         |  20 ++
 41 files changed, 1090 insertions(+), 30 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6c85382a60..12789c833a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2022-02-27  Patrice Dumas  <pertusus@free.fr>
+
+       Output and read latex2html files in utf-8
+
+       * tp/init/latex2html.pm: read and write files as utf-8, which
+       is in line with what is output or expected by latex2html.
+
 2022-02-27  Patrice Dumas  <pertusus@free.fr>
 
        Encode file names when needed
diff --git a/tp/init/latex2html.pm b/tp/init/latex2html.pm
index 8bd03efa64..ab1ac26103 100644
--- a/tp/init/latex2html.pm
+++ b/tp/init/latex2html.pm
@@ -197,14 +197,19 @@ sub l2h_process($$)
   $verbose = $self->get_conf('VERBOSE');
 
   unless ($self->get_conf('L2H_SKIP')) {
-    unless (open(L2H_LATEX, ">$l2h_latex_path_name")) {
+    my ($encoded_l2h_latex_path_name, $l2h_latex_path_encoding)
+      = $self->encoded_file_name($l2h_latex_path_name);
+    unless (open(L2H_LATEX, ">$encoded_l2h_latex_path_name")) {
       $self->document_error($self, sprintf(__(
               "l2h: could not open latex file %s for writing: %s"),
                                     $l2h_latex_path_name, $!));
       $status = 0;
       return;
     }
-    warn "# l2h: use ${l2h_latex_path_name} as latex file\n" if ($verbose);
+    # according to the .log file latex2html is expecting utf-8 if no 
information
+    # is provided
+    binmode(L2H_LATEX, ':utf8');
+    warn "# l2h: use $encoded_l2h_latex_path_name as latex file\n" if 
($verbose);
     print L2H_LATEX $l2h_latex_preamble;
   }
   # open the database that holds cached text
@@ -426,11 +431,10 @@ sub l2h_change_image_file_names($$)
   my $self = shift;
   my $content = shift;
   my @images = ($content =~ /SRC="(.*?)"/g);
-  my ($src, $dest);
 
-  for $src (@images) {
-    $dest = $l2h_img{$src};
-    unless ($dest) {
+  foreach my $src (@images) {
+    my $dest = $l2h_img{$src};
+    unless (defined($dest)) {
       my $ext = '';
       if ($src =~ /.*\.(.*)$/ and (!defined($self->get_conf('EXTENSION'))
                                     or $1 ne $self->get_conf('EXTENSION'))) {
@@ -498,13 +502,14 @@ sub l2h_init_from_html($)
                                  $l2h_html_path_name, $!));
     return 0;
   }
-  warn "# l2h: use $l2h_html_path_name as html file\n" if ($verbose);
+  # the file is UTF-8
+  binmode(L2H_HTML, ':utf8');
+  warn "# l2h: use $encoded_l2h_html_path_name as html file\n" if ($verbose);
 
   my $html_converted_count = 0;   # number of html resulting texts
                                   # retrieved in the file
 
   my ($count, $h_line);
-  # FIXME encoding?
   while ($h_line = <L2H_HTML>) {
     if ($h_line =~ /!-- l2h_begin $l2h_name ([0-9]+) --/) {
       $count = $1;
@@ -681,9 +686,10 @@ sub l2h_store_cache($)
                                   $l2h_cache_path_name, $!));
     return;
   }
-  # FIXME encoding?  encode to utf8 and output use utf8;?
-  # Not necessarily as l2h_cache may be populated with non decoded
-  # strings.
+  binmode(FH, ':utf8');
+
+  print FH "# Automatically generated\nuse utf8;\n";
+
   foreach my $key(sort(keys(%l2h_cache))) {
     my $value = $l2h_cache{$key};
     # escape stuff
@@ -698,8 +704,8 @@ sub l2h_store_cache($)
     print FH "\n\$l2h_cache_key = q/$key/;\n";
     print FH "\$l2h_cache{\$l2h_cache_key} = q|$value|;\n";
   }
-  print FH "1;";
-  close (FH);
+  print FH "\n1;\n";
+  close(FH);
 }
 
 # return cached html, if it exists for text, and if all pictures
diff --git a/tp/init/tex4ht.pm b/tp/init/tex4ht.pm
index cf42fb44ac..9e62814a63 100644
--- a/tp/init/tex4ht.pm
+++ b/tp/init/tex4ht.pm
@@ -151,10 +151,14 @@ sub tex4ht_prepare($$)
     $formats{$format}->{'counter'} = 0;
     $formats{$format}->{'output_counter'} = 0;
 
+    # FIXME no clear way to use utf8 and support encoded characters.
+    # An attempt to encode to utf8 lead to worse results than letting
+    # perl encode to latin1.  But with other non ascii characters than
+    # latin1 characters, there will be utf8 output anyway.
     if (scalar(@{$format_collected_commands{$format}}) > 0) {
       
       local *TEX4HT_TEXFILE;
-      unless (open (*TEX4HT_TEXFILE, ">$encoded_tex4ht_file_path_name")) {
+      unless (open(*TEX4HT_TEXFILE, ">$encoded_tex4ht_file_path_name")) {
         $self->document_warn($self,
                 sprintf(__("tex4ht.pm: could not open %s: %s"),
                                       $tex4ht_file_path_name, $!));
@@ -313,7 +317,7 @@ sub tex4ht_process_format($$) {
                          "tex4ht.pm: command failed: %s"), $cmd));
     return 1;
   }
-  if (!close (TEX4HT)) {
+  if (!close(TEX4HT)) {
     $self->document_warn($self, sprintf(__(
                          "tex4ht.pm: closing communication failed: %s: %s"),
                          $cmd, $!));
@@ -323,7 +327,7 @@ sub tex4ht_process_format($$) {
   # extract the html from the file created by tex4ht
   my $html_basefile = $formats{$format}->{'html_basefile_name'};
   my $encoded_html_basefile = $formats{$format}->{'html_basefile_path'};
-  unless (open (TEX4HT_HTMLFILE, $encoded_html_basefile)) {
+  unless (open(TEX4HT_HTMLFILE, $encoded_html_basefile)) {
     $self->document_warn($self,
               sprintf(__("tex4ht.pm: could not open %s: %s"),
                                   $html_basefile, $!));
diff --git 
a/tp/tests/many_input_files/input_dir_non_ascii_res/input_dir_non_ascii.2 
b/tp/tests/many_input_files/input_dir_non_ascii_res/input_dir_non_ascii.2
new file mode 100644
index 0000000000..e69de29bb2
diff --git 
a/tp/tests/many_input_files/input_dir_non_ascii_res/simple_including_file.html 
b/tp/tests/many_input_files/input_dir_non_ascii_res/simple_including_file.html
new file mode 100644
index 0000000000..1b9bbd0d23
--- /dev/null
+++ 
b/tp/tests/many_input_files/input_dir_non_ascii_res/simple_including_file.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>top section</title>
+
+<meta name="description" content="top section">
+<meta name="keywords" content="top section">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2any">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="Top">
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="top-section">top section</h1>
+
+<p>In included file
+</p>
+<img class="image" src="file_image.png" alt="file_image">
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/tests/many_input_files/input_dir_non_ascii_res/stdout_input_dir_non_ascii.out
 
b/tp/tests/many_input_files/input_dir_non_ascii_res/stdout_input_dir_non_ascii.out
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tp/tests/many_input_files/tex_l2h_res/tex-l2h_cache.pm 
b/tp/tests/many_input_files/tex_l2h_res/tex-l2h_cache.pm
index 22776895bb..55a0ea3069 100644
--- a/tp/tests/many_input_files/tex_l2h_res/tex-l2h_cache.pm
+++ b/tp/tests/many_input_files/tex_l2h_res/tex-l2h_cache.pm
@@ -1,3 +1,5 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/
 $$ \chi^2 = \sum_{i=1}^N
@@ -80,4 +82,5 @@ $l2h_cache{$l2h_cache_key} = q|<!-- MATH
 <SPAN CLASS="MATH"><IMG
  STYLE="height: 3.96ex; vertical-align: -1.23ex; " SRC="tex_2.svg"
  ALT="${x^i}\over{\tan y}$"></SPAN>|;
-1;
\ No newline at end of file
+
+1;
diff --git a/tp/tests/many_input_files/tex_l2h_res/tex_complex-l2h_cache.pm 
b/tp/tests/many_input_files/tex_l2h_res/tex_complex-l2h_cache.pm
index cbf368f0f9..14e12dac1d 100644
--- a/tp/tests/many_input_files/tex_l2h_res/tex_complex-l2h_cache.pm
+++ b/tp/tests/many_input_files/tex_l2h_res/tex_complex-l2h_cache.pm
@@ -1,3 +1,5 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/$$
  U w V^\dagger
@@ -69,4 +71,5 @@ $l2h_cache{$l2h_cache_key} = q|<!-- MATH
 <SPAN CLASS="MATH"><IMG
  STYLE="height: 3.07ex; vertical-align: -0.57ex; " SRC="tex_complex_6.svg"
  ALT="$h \dot \psi^\phi$"></SPAN>|;
-1;
\ No newline at end of file
+
+1;
diff --git a/tp/tests/test_scripts/formatting_non_ascii_test_epub.sh 
b/tp/tests/test_scripts/formatting_non_ascii_test_epub.sh
new file mode 100755
index 0000000000..d035ed9369
--- /dev/null
+++ b/tp/tests/test_scripts/formatting_non_ascii_test_epub.sh
@@ -0,0 +1,19 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+dir=formatting
+name='non_ascii_test_epub'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+
diff --git a/tp/tests/test_scripts/tex_html_tex_encoded_httex.sh 
b/tp/tests/test_scripts/tex_html_tex_encoded_httex.sh
new file mode 100755
index 0000000000..e19df40ea6
--- /dev/null
+++ b/tp/tests/test_scripts/tex_html_tex_encoded_httex.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+
+if test "z$TEX_HTML_TESTS" != z"yes"; then
+  echo "Skipping HTML TeX tests that are not easily reproducible"
+  exit 77
+fi
+
+dir=tex_html
+name='tex_encoded_httex'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+
diff --git a/tp/tests/test_scripts/tex_html_tex_encoded_l2h.sh 
b/tp/tests/test_scripts/tex_html_tex_encoded_l2h.sh
new file mode 100755
index 0000000000..fb3a94b96d
--- /dev/null
+++ b/tp/tests/test_scripts/tex_html_tex_encoded_l2h.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+
+if test "z$TEX_HTML_TESTS" != z"yes"; then
+  echo "Skipping HTML TeX tests that are not easily reproducible"
+  exit 77
+fi
+
+dir=tex_html
+name='tex_encoded_l2h'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+
diff --git a/tp/tests/tex_html/Makefile.am b/tp/tests/tex_html/Makefile.am
index 792c2c3e10..15fdbd1280 100644
--- a/tp/tests/tex_html/Makefile.am
+++ b/tp/tests/tex_html/Makefile.am
@@ -3,7 +3,7 @@ EXTRA_DIST = \
  tex_complex.texi \
  tex_in_copying.texi \
  math_not_closed.texi       tex_not_closed.texi \
- tex.texi tex_gdef.texi \
+ tex.texi tex_gdef.texi tex_encodé.texi \
  list-of-tests res_parser
 
 DISTCLEANFILES = tests.log tests.out
diff --git a/tp/tests/tex_html/list-of-tests b/tp/tests/tex_html/list-of-tests
index 65be956007..ac5ffaa90b 100644
--- a/tp/tests/tex_html/list-of-tests
+++ b/tp/tests/tex_html/list-of-tests
@@ -20,6 +20,8 @@ tex_eqalign_l2h tex_eqalign.texi -c 'HTML_MATH l2h' --iftex
 math_not_closed math_not_closed.texi -c 'HTML_MATH l2h' --iftex
 tex_not_closed tex_not_closed.texi -c 'HTML_MATH l2h' --iftex
 tex_in_copying tex_in_copying.texi -c 'HTML_MATH l2h' --iftex
+tex_encoded_l2h tex_encodé.texi -c 'HTML_MATH l2h' --iftex
+tex_encoded_httex tex_encodé.texi --init tex4ht.pm --iftex
 formatting_singular ../layout/formatting.texi --init-file t2h_singular.init -c 
'HTML_MATH l2h' -c 'EXTENSION htm' -c 'PREFIX sing' -c 'TOP_FILE index.htm' 
--no-verbose
 # The following could be added, mainly to test the full 
 # ../layout/formatting.texi processing with tex4ht, but
diff --git a/tp/tests/tex_html/res_parser/block_EOL_tex/block_EOL-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/block_EOL_tex/block_EOL-l2h_cache.pm
index 6c1d637a21..7fe15d8a88 100644
--- a/tp/tests/tex_html/res_parser/block_EOL_tex/block_EOL-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/block_EOL_tex/block_EOL-l2h_cache.pm
@@ -1,7 +1,10 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/Surrounded by empty lines./;
 $l2h_cache{$l2h_cache_key} = q|Surrounded by empty lines.|;
 
 $l2h_cache_key = q/in block/;
 $l2h_cache{$l2h_cache_key} = q|in block|;
-1;
\ No newline at end of file
+
+1;
diff --git a/tp/tests/tex_html/res_parser/formatting_singular/sing-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/formatting_singular/sing-l2h_cache.pm
index 52a08dc5a9..1997cf83aa 100644
--- a/tp/tests/tex_html/res_parser/formatting_singular/sing-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/formatting_singular/sing-l2h_cache.pm
@@ -1,3 +1,5 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/$$@"u @"{U} @~n @^a @'e @=o @`i @'{e} @dotless{i} 
@dotless{j} @`{@=E}
 @l{} @,{@'C} @,{@'C} @,c @H{a} @dotaccent{a} @ringaccent{a} @tieaccent{a}
@@ -169,4 +171,5 @@ $l2h_cache{$l2h_cache_key} = q|<!-- MATH
 <SPAN CLASS="MATH"><IMG
  STYLE="height: 3.22ex; vertical-align: -0.92ex; " SRC="sing_9.svg"
  ALT="$--a@minus{} {\frac{1}{2}}$"></SPAN>|;
-1;
\ No newline at end of file
+
+1;
diff --git 
a/tp/tests/tex_html/res_parser/math_not_closed/math_not_closed-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/math_not_closed/math_not_closed-l2h_cache.pm
index dbc999668d..6404cfbf87 100644
--- a/tp/tests/tex_html/res_parser/math_not_closed/math_not_closed-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/math_not_closed/math_not_closed-l2h_cache.pm
@@ -1,3 +1,5 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/$3\delta + 2
 $/;
@@ -12,4 +14,5 @@ $l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH"><IMG
  STYLE="height: 2.26ex; vertical-align: -0.31ex; " SRC="math_not_closed_1.svg"
  ALT="$\delta + 2
 $"></SPAN>|;
-1;
\ No newline at end of file
+
+1;
diff --git a/tp/tests/tex_html/res_parser/tex/tex-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/tex/tex-l2h_cache.pm
index 22776895bb..55a0ea3069 100644
--- a/tp/tests/tex_html/res_parser/tex/tex-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/tex/tex-l2h_cache.pm
@@ -1,3 +1,5 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/
 $$ \chi^2 = \sum_{i=1}^N
@@ -80,4 +82,5 @@ $l2h_cache{$l2h_cache_key} = q|<!-- MATH
 <SPAN CLASS="MATH"><IMG
  STYLE="height: 3.96ex; vertical-align: -1.23ex; " SRC="tex_2.svg"
  ALT="${x^i}\over{\tan y}$"></SPAN>|;
-1;
\ No newline at end of file
+
+1;
diff --git 
a/tp/tests/tex_html/res_parser/tex_accents_l2h/tex_accents-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/tex_accents_l2h/tex_accents-l2h_cache.pm
index 09bfbaf1dd..4426ac5be8 100644
--- a/tp/tests/tex_html/res_parser/tex_accents_l2h/tex_accents-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/tex_accents_l2h/tex_accents-l2h_cache.pm
@@ -1,4 +1,7 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/T\'et/;
 $l2h_cache{$l2h_cache_key} = q|Tét|;
-1;
\ No newline at end of file
+
+1;
diff --git a/tp/tests/tex_html/res_parser/tex_accents_l2h/tex_accents.html 
b/tp/tests/tex_html/res_parser/tex_accents_l2h/tex_accents.html
index fef1c27b09..78d75baf09 100644
--- a/tp/tests/tex_html/res_parser/tex_accents_l2h/tex_accents.html
+++ b/tp/tests/tex_html/res_parser/tex_accents_l2h/tex_accents.html
@@ -22,7 +22,7 @@ span.program-in-footer {font-size: smaller}
 </head>
 
 <body lang="en">
-Tét
+Tét
 <hr>
 <p>
   <span class="program-in-footer">This document was generated on <em 
class="emph">a sunny day</em> using <a class="uref" 
href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.</span>
diff --git 
a/tp/tests/tex_html/res_parser/tex_complex_l2h/tex_complex-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/tex_complex_l2h/tex_complex-l2h_cache.pm
index cbf368f0f9..14e12dac1d 100644
--- a/tp/tests/tex_html/res_parser/tex_complex_l2h/tex_complex-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/tex_complex_l2h/tex_complex-l2h_cache.pm
@@ -1,3 +1,5 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/$$
  U w V^\dagger
@@ -69,4 +71,5 @@ $l2h_cache{$l2h_cache_key} = q|<!-- MATH
 <SPAN CLASS="MATH"><IMG
  STYLE="height: 3.07ex; vertical-align: -0.57ex; " SRC="tex_complex_6.svg"
  ALT="$h \dot \psi^\phi$"></SPAN>|;
-1;
\ No newline at end of file
+
+1;
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251.html" 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251.html"
new file mode 100644
index 0000000000..8467f02ce5
--- /dev/null
+++ "b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251.html"
@@ -0,0 +1,197 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>top</title>
+
+<meta name="description" content="top">
+<meta name="keywords" content="top">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2any">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+@import "tex_encodé_tex4ht_tex.css";
+
+span.program-in-footer {font-size: smaller}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<table class="nav-panel" cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[ &lt; ]</td>
+<td valign="middle" align="left">[<a href="#Chapter" title="Next section in 
reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[Index]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? 
</a>]</td>
+</tr></table>
+<h1 class="top" id="top">top</h1>
+
+<hr style="height: 6px;">
+<div class="chapter-level-extent" id="Chapter">
+<table class="nav-panel" cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#Top" title="Beginning of this 
chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Previous section in 
reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up 
</a>]</td>
+<td valign="middle" align="left">[ &gt; ]</td>
+<td valign="middle" align="left">[ &gt;&gt; ]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of 
document">Top</a>]</td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[Index]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? 
</a>]</td>
+</tr></table>
+<h1 class="chapter" id="chap">1 chap</h1>
+
+
+    <div class="math-display" >
+<img 
+src="tex_encodé_tex4ht_tex0x.png" 
alt="&#x2202;&#x03B7;g(&#x03B7;(t),&#x03C6;(t));
+" class="math-display" ></div>
+<!--l. 7--><p class="indent" >     
+
+<p>Some  (<span 
+class="cmmi-10">I </span><span 
+class="cmsy-10">- </span><span 
+class="cmmi-10">D</span>)<span 
+class="cmmi-10">&#x03C6;</span>(<span 
+class="cmmi-10">t</span>)  math.
+</p>
+
+    <div class="math-display" >
+<img 
+src="tex_encodé_tex4ht_tex1x.png" alt="&#x222B;
+  v(t)dt = u(t)+ C
+" class="math-display" ></div>
+<!--l. 14--><p class="indent" >     
+
+<hr style="height: 6px;">
+</div>
+</div>
+<div class="element-about" id="SEC_About">
+<table class="nav-panel" cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#Top" title="Cover (top) of 
document">Top</a>]</td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[Index]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? 
</a>]</td>
+</tr></table>
+<h1 class="about-heading">About This Document</h1>
+
+<p>
+  This document was generated on <em class="emph">a sunny day</em> using <a 
class="uref" href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.
+</p>
+<p>
+  The buttons in the navigation panels have the following meaning:
+</p>
+<table border="1">
+  <tr>
+    <th> Button </th>
+    <th> Name </th>
+    <th> Go to </th>
+    <th> From 1.2.3 go to</th>
+  </tr>
+  <tr>
+    <td align="center"> [ &lt;&lt; ] </td>
+    <td align="center">FastBack</td>
+    <td>Beginning of this chapter or previous chapter</td>
+    <td>1</td>
+  </tr>
+  <tr>
+    <td align="center"> [ &lt; ] </td>
+    <td align="center">Back</td>
+    <td>Previous section in reading order</td>
+    <td>1.2.2</td>
+  </tr>
+  <tr>
+    <td align="center"> [ Up ] </td>
+    <td align="center">Up</td>
+    <td>Up section</td>
+    <td>1.2</td>
+  </tr>
+  <tr>
+    <td align="center"> [ &gt; ] </td>
+    <td align="center">Forward</td>
+    <td>Next section in reading order</td>
+    <td>1.2.4</td>
+  </tr>
+  <tr>
+    <td align="center"> [ &gt;&gt; ] </td>
+    <td align="center">FastForward</td>
+    <td>Next chapter</td>
+    <td>2</td>
+  </tr>
+  <tr>
+    <td align="center"> [Top] </td>
+    <td align="center">Top</td>
+    <td>Cover (top) of document</td>
+    <td> &nbsp; </td>
+  </tr>
+  <tr>
+    <td align="center"> [Contents] </td>
+    <td align="center">Contents</td>
+    <td>Table of contents</td>
+    <td> &nbsp; </td>
+  </tr>
+  <tr>
+    <td align="center"> [Index] </td>
+    <td align="center">Index</td>
+    <td>Index</td>
+    <td> &nbsp; </td>
+  </tr>
+  <tr>
+    <td align="center"> [ ? ] </td>
+    <td align="center">About</td>
+    <td>About (help)</td>
+    <td> &nbsp; </td>
+  </tr>
+</table>
+
+<p>
+  where the <strong class="strong"> Example </strong> assumes that the current 
position is at <strong class="strong"> Subsubsection One-Two-Three </strong> of 
a document of the following structure:
+</p>
+
+<ul>
+  <li> 1. Section One
+    <ul>
+      <li>1.1 Subsection One-One
+        <ul>
+          <li>...</li>
+        </ul>
+      </li>
+      <li>1.2 Subsection One-Two
+        <ul>
+          <li>1.2.1 Subsubsection One-Two-One</li>
+          <li>1.2.2 Subsubsection One-Two-Two</li>
+          <li>1.2.3 Subsubsection One-Two-Three &nbsp; &nbsp;
+            <strong>&lt;== Current Position </strong></li>
+          <li>1.2.4 Subsubsection One-Two-Four</li>
+        </ul>
+      </li>
+      <li>1.3 Subsection One-Three
+        <ul>
+          <li>...</li>
+        </ul>
+      </li>
+      <li>1.4 Subsection One-Four</li>
+    </ul>
+  </li>
+</ul>
+</div><hr>
+<p>
+  <span class="program-in-footer">This document was generated on <em 
class="emph">a sunny day</em> using <a class="uref" 
href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.</span>
+</p>
+
+
+</body>
+</html>
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.4ct"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.4ct"
new file mode 100644
index 0000000000..9998f6203d
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.4ct"
@@ -0,0 +1,2 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi 
+\par 
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.4tc"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.4tc"
new file mode 100644
index 0000000000..4021816773
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.4tc"
@@ -0,0 +1 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.css"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.css"
new file mode 100644
index 0000000000..ebf19e3c62
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.css"
@@ -0,0 +1,43 @@
+ 
+/* start css.sty */
+.cmmi-10{font-style: italic;}
+.cmmi-7{font-size:70%;font-style: italic;}
+p{margin-top:0;margin-bottom:0}
+p.indent{text-indent:0;}
+p + p{margin-top:1em;}
+p + div, p + pre {margin-top:1em;}
+div + p, pre + p {margin-top:1em;}
+a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; 
hyphens: auto; }
+@media print {div.crosslinks {visibility:hidden;}}
+table.tabular{border-collapse: collapse; border-spacing: 0;}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+div.par-math-display, div.math-display{text-align:center;}
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+div.proclaim { margin-top: 1em; margin-bottom: 1em; }
+p.item {text-indent:-2em; margin-left:2em;}
+p.itemitem {text-indent:-2em; margin-left:4em;}
+span.item, span.itemitem {width:2em; margin-right:0.4em;}
+td.eqalign3 { text-align:right; margin-left:10em;}
+.eqalign td { white-space: nowrap; }
+div.eqalign {text-align:center;}
+td.eqalignno3, td.leqalignno3 { text-align:right; margin-left:10em;}
+.leqalignno td, .eqalignno td { white-space: nowrap; }
+.leqalignno td.noalign, .eqalignno td.noalign { width:5%; white-space: normal; 
}
+table.leqalignno, table.eqalignno {width:100%;}
+img.cdots{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+/* end css.sty */
+
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.html"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.html"
new file mode 100644
index 0000000000..9a02781aca
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.html"
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
+  "http://www.w3.org/TR/html4/loose.dtd";>  
+<html > 
+<head>
+
+    <title>tex_encodé_tex4ht_tex.html</title> 
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)"> 
+<!-- html --> 
+<meta name="src" content="tex_encodé_tex4ht_tex.tex"> 
+<link rel="stylesheet" type="text/css" href="tex_encodé_tex4ht_tex.css"> 
+</head><body 
+>
+<!--l. 3--><p class="indent" >     
+ 
+<!-- tex4ht_begin tex_encod�_tex4ht_tex tex 1 --> 
+
+    <div class="math-display" >
+<img 
+src="tex_encodé_tex4ht_tex0x.png" 
alt="&#x2202;&#x03B7;g(&#x03B7;(t),&#x03C6;(t));
+" class="math-display" ></div>
+<!--l. 7--><p class="indent" >     
+<!-- tex4ht_end tex_encod�_tex4ht_tex tex 1 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_encod�_tex4ht_tex math 2 --> 
+ (<span 
+class="cmmi-10">I </span><span 
+class="cmsy-10">- </span><span 
+class="cmmi-10">D</span>)<span 
+class="cmmi-10">&#x03C6;</span>(<span 
+class="cmmi-10">t</span>) 
+<!-- tex4ht_end tex_encod�_tex4ht_tex math 2 --> 
+ 
+  
+ 
+<!-- tex4ht_begin tex_encod�_tex4ht_tex displaymath 3 --> 
+
+    <div class="math-display" >
+<img 
+src="tex_encodé_tex4ht_tex1x.png" alt="&#x222B;
+  v(t)dt = u(t)+ C
+" class="math-display" ></div>
+<!--l. 14--><p class="indent" >     
+<!-- tex4ht_end tex_encod�_tex4ht_tex displaymath 3 --> 
+ 
+
+
+     
+</body></html> 
+
+
+
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.lg"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.lg"
new file mode 100644
index 0000000000..38a71ba96b
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.lg"
@@ -0,0 +1,56 @@
+htfcss: cmmi font-style: italic;
+htfcss: cmmib font-style: italic; font-weight: bold;
+File: tex_encodé_tex4ht_tex.html
+File: tex_encodé_tex4ht_tex.css
+File: tex_encodé_tex4ht_tex.tmp
+Css: p{margin-top:0;margin-bottom:0}
+Css: p.indent{text-indent:0;}
+Css: p + p{margin-top:1em;}
+Css: p + div, p + pre {margin-top:1em;}
+Css: div + p, pre + p {margin-top:1em;}
+Css: a { overflow-wrap: break-word; word-wrap: break-word; word-break: 
break-word; hyphens: auto; }
+Css: @media print {div.crosslinks {visibility:hidden;}}
+Css: table.tabular{border-collapse: collapse; border-spacing: 0;}
+Css: a img { border-top: 0; border-left: 0; border-right: 0; }
+Font_Css("4"): .small-caps{font-variant: small-caps; }
+Font_Css("10"): .htf-cmbx {font-weight: bold; font-style:normal;}
+Font_Css("12"): .htf-calligraphy {font-family:cursive}
+Font_Css("14"): .htf-italic {font-style: italic;}
+Font_Css("16"): .htf-bold {font-weight: bold;}
+Font_Css("12"): .htf-calligraphy-bold {font-family:cursive ; font-weight: 
bold; }
+Css: center { margin-top:1em; margin-bottom:1em; }
+Css: td center { margin-top:0em; margin-bottom:0em; }
+Css: .Canvas { position:relative; }
+Css: img.math{vertical-align:middle;}
+Css: div.par-math-display, div.math-display{text-align:center;}
+Css: .obeylines-h,.obeylines-v {white-space: nowrap; }
+Css: div.obeylines-v p { margin-top:0; margin-bottom:0; }
+Css: .overline{ text-decoration:overline; }
+Css: .overline img{ border-top: 1px solid black; }
+Css: td.displaylines {text-align:center; white-space:nowrap;}
+Css: .centerline {text-align:center;}
+Css: .rightline {text-align:right;}
+Css: .underline{ text-decoration:underline; }
+Css: .underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+Css: div.proclaim { margin-top: 1em; margin-bottom: 1em; }
+Css: p.item {text-indent:-2em; margin-left:2em;}
+Css: p.itemitem {text-indent:-2em; margin-left:4em;}
+Css: span.item, span.itemitem {width:2em; margin-right:0.4em;}
+Css: td.eqalign3 { text-align:right; margin-left:10em;}
+Css: .eqalign td { white-space: nowrap; }
+Css: div.eqalign {text-align:center;}
+Css: td.eqalignno3, td.leqalignno3 { text-align:right; margin-left:10em;}
+Css: .leqalignno td, .eqalignno td { white-space: nowrap; }
+Css: .leqalignno td.noalign, .eqalignno td.noalign { width:5%; white-space: 
normal; }
+Css: table.leqalignno, table.eqalignno {width:100%;}
+Css: img.cdots{vertical-align:middle;}
+Css: div.pmatrix {text-align:center;}
+Css: table.pmatrix {width:100%;}
+--- needs --- tex_encodé_tex4ht_tex.idv[1] ==> tex_encodé_tex4ht_tex0x.png ---
+--- needs --- tex_encodé_tex4ht_tex.idv[2] ==> tex_encodé_tex4ht_tex1x.png ---
+--- characters ---
+Font("cmr","10","10","100")
+Font("cmmi","10","10","100")
+Font("cmmi","7","7","100")
+Font("cmsy","10","10","100")
+Font("cmex","10","10","100")
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.tex"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.tex"
new file mode 100644
index 0000000000..18eff28080
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.tex"
@@ -0,0 +1,16 @@
+% Automatically generated
+\csname tex4ht\endcsname
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_encod�_tex4ht_tex tex 1 
-->\Hnewline}
+$$
+� \partial_{\eta} g(\eta(t),\varphi(t));
+$$
+\HCode{\Hnewline <!-- tex4ht_end tex_encod�_tex4ht_tex tex 1 -->\Hnewline 
\Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_encod�_tex4ht_tex math 2 
-->\Hnewline}
+\IgnorePar $(I-D) � \varphi(t)$\HCode{\Hnewline <!-- tex4ht_end 
tex_encod�_tex4ht_tex math 2 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_encod�_tex4ht_tex displaymath 
3 -->\Hnewline}
+
+$$ � � �  \int v(t)\, dt = u(t) + C
+$$
+\HCode{\Hnewline <!-- tex4ht_end tex_encod�_tex4ht_tex displaymath 3 
-->\Hnewline \Hnewline}
+
+\bye
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.tmp"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.tmp"
new file mode 100644
index 0000000000..41b58e2cf4
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.tmp"
@@ -0,0 +1,2 @@
+ 
+/* css.sty */
\ No newline at end of file
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.xref"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.xref"
new file mode 100644
index 0000000000..745c048b10
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_httex/tex_encod\303\251_tex4ht_tex.xref"
@@ -0,0 +1 @@
+\:CrossWord{)F1F-}{tex_encodé_tex4ht_tex.html}{1}%
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251-l2h_cache.pm" 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251-l2h_cache.pm"
new file mode 100644
index 0000000000..47a14fc616
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251-l2h_cache.pm"
@@ -0,0 +1,45 @@
+# Automatically generated
+use utf8;
+
+$l2h_cache_key = q/$$
+é \partial_{\eta} g(\eta(t),\varphi(t));
+$$/;
+$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+é \partial_{\eta} g(\eta(t),\varphi(t));
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 2.86ex; vertical-align: -0.78ex; " SRC="tex_encodé_1.svg"
+ ALT="$\displaystyle é \partial_{\eta} g(\eta(t),\varphi(t));
+$">
+</DIV>
+|;
+
+$l2h_cache_key = q/$$ é ï î  \int v(t)\, dt = u(t) + C
+$$/;
+$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+é ï î  \int v(t)\, dt = u(t) + C
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 5.61ex; vertical-align: -2.12ex; " SRC="tex_encodé_3.svg"
+ ALT="$\displaystyle é ï î \int v(t)\, dt = u(t) + C
+$">
+</DIV>
+|;
+
+$l2h_cache_key = q/$(I-D) é \varphi(t)$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $(I-D) é \varphi(t)$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.78ex; vertical-align: -0.70ex; " SRC="tex_encodé_2.svg"
+ ALT="$(I-D) é \varphi(t)$"></SPAN>|;
+
+1;
diff --git "a/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251.2" 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251.2"
new file mode 100644
index 0000000000..2d13c0f6d6
--- /dev/null
+++ "b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251.2"
@@ -0,0 +1 @@
+texexpand 
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251.html" 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251.html"
new file mode 100644
index 0000000000..e82ff19219
--- /dev/null
+++ "b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251.html"
@@ -0,0 +1,207 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>top</title>
+
+<meta name="description" content="top">
+<meta name="keywords" content="top">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2any">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<style type="text/css">
+<!--
+span.program-in-footer {font-size: smaller}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="top-level-extent" id="Top">
+<table class="nav-panel" cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[ &lt; ]</td>
+<td valign="middle" align="left">[<a href="#Chapter" title="Next section in 
reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[Index]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? 
</a>]</td>
+</tr></table>
+<h1 class="top" id="top">top</h1>
+
+<hr style="height: 6px;">
+<div class="chapter-level-extent" id="Chapter">
+<table class="nav-panel" cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#Top" title="Beginning of this 
chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Previous section in 
reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up 
</a>]</td>
+<td valign="middle" align="left">[ &gt; ]</td>
+<td valign="middle" align="left">[ &gt;&gt; ]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of 
document">Top</a>]</td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[Index]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? 
</a>]</td>
+</tr></table>
+<h1 class="chapter" id="chap">1 chap</h1>
+
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+é \partial_{\eta} g(\eta(t),\varphi(t));
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 2.86ex; vertical-align: -0.78ex; " SRC="tex_encodé_1.svg"
+ ALT="$\displaystyle é \partial_{\eta} g(\eta(t),\varphi(t));
+$">
+</DIV>
+
+
+<p>Some <!-- MATH
+ $(I-D) é \varphi(t)$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.78ex; vertical-align: -0.70ex; " SRC="tex_encodé_2.svg"
+ ALT="$(I-D) é \varphi(t)$"></SPAN> math.
+</p>
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+é ï î  \int v(t)\, dt = u(t) + C
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 5.61ex; vertical-align: -2.12ex; " SRC="tex_encodé_3.svg"
+ ALT="$\displaystyle é ï î \int v(t)\, dt = u(t) + C
+$">
+</DIV>
+
+<hr style="height: 6px;">
+</div>
+</div>
+<div class="element-about" id="SEC_About">
+<table class="nav-panel" cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#Top" title="Cover (top) of 
document">Top</a>]</td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[Index]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? 
</a>]</td>
+</tr></table>
+<h1 class="about-heading">About This Document</h1>
+
+<p>
+  This document was generated on <em class="emph">a sunny day</em> using <a 
class="uref" href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.
+</p>
+<p>
+  The buttons in the navigation panels have the following meaning:
+</p>
+<table border="1">
+  <tr>
+    <th> Button </th>
+    <th> Name </th>
+    <th> Go to </th>
+    <th> From 1.2.3 go to</th>
+  </tr>
+  <tr>
+    <td align="center"> [ &lt;&lt; ] </td>
+    <td align="center">FastBack</td>
+    <td>Beginning of this chapter or previous chapter</td>
+    <td>1</td>
+  </tr>
+  <tr>
+    <td align="center"> [ &lt; ] </td>
+    <td align="center">Back</td>
+    <td>Previous section in reading order</td>
+    <td>1.2.2</td>
+  </tr>
+  <tr>
+    <td align="center"> [ Up ] </td>
+    <td align="center">Up</td>
+    <td>Up section</td>
+    <td>1.2</td>
+  </tr>
+  <tr>
+    <td align="center"> [ &gt; ] </td>
+    <td align="center">Forward</td>
+    <td>Next section in reading order</td>
+    <td>1.2.4</td>
+  </tr>
+  <tr>
+    <td align="center"> [ &gt;&gt; ] </td>
+    <td align="center">FastForward</td>
+    <td>Next chapter</td>
+    <td>2</td>
+  </tr>
+  <tr>
+    <td align="center"> [Top] </td>
+    <td align="center">Top</td>
+    <td>Cover (top) of document</td>
+    <td> &nbsp; </td>
+  </tr>
+  <tr>
+    <td align="center"> [Contents] </td>
+    <td align="center">Contents</td>
+    <td>Table of contents</td>
+    <td> &nbsp; </td>
+  </tr>
+  <tr>
+    <td align="center"> [Index] </td>
+    <td align="center">Index</td>
+    <td>Index</td>
+    <td> &nbsp; </td>
+  </tr>
+  <tr>
+    <td align="center"> [ ? ] </td>
+    <td align="center">About</td>
+    <td>About (help)</td>
+    <td> &nbsp; </td>
+  </tr>
+</table>
+
+<p>
+  where the <strong class="strong"> Example </strong> assumes that the current 
position is at <strong class="strong"> Subsubsection One-Two-Three </strong> of 
a document of the following structure:
+</p>
+
+<ul>
+  <li> 1. Section One
+    <ul>
+      <li>1.1 Subsection One-One
+        <ul>
+          <li>...</li>
+        </ul>
+      </li>
+      <li>1.2 Subsection One-Two
+        <ul>
+          <li>1.2.1 Subsubsection One-Two-One</li>
+          <li>1.2.2 Subsubsection One-Two-Two</li>
+          <li>1.2.3 Subsubsection One-Two-Three &nbsp; &nbsp;
+            <strong>&lt;== Current Position </strong></li>
+          <li>1.2.4 Subsubsection One-Two-Four</li>
+        </ul>
+      </li>
+      <li>1.3 Subsection One-Three
+        <ul>
+          <li>...</li>
+        </ul>
+      </li>
+      <li>1.4 Subsection One-Four</li>
+    </ul>
+  </li>
+</ul>
+</div><hr>
+<p>
+  <span class="program-in-footer">This document was generated on <em 
class="emph">a sunny day</em> using <a class="uref" 
href="http://www.gnu.org/software/texinfo/";><em 
class="emph">texi2any</em></a>.</span>
+</p>
+
+
+</body>
+</html>
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h.html" 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h.html"
new file mode 100644
index 0000000000..8ffcbdd98f
--- /dev/null
+++ "b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h.html"
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML>
+
+<!--Converted with LaTeX2HTML
+<HTML lang="en">
+<HEAD>
+<TITLE>tex_encodé_l2h</TITLE>
+<META NAME="description" CONTENT="tex_encodé_l2h">
+<META NAME="keywords" CONTENT="tex_encodé_l2h">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<META NAME="viewport" CONTENT="width=device-width, initial-scale=1.0">
+<META NAME="Generator" CONTENT="LaTeX2HTML">
+
+<LINK REL="STYLESHEET" HREF="tex_encodé_l2h.css">
+
+</HEAD>
+
+<BODY >
+
+<!-- l2h_begin tex_encodé_l2h 1 -->
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+é \partial_{\eta} g(\eta(t),\varphi(t));
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 2.86ex; vertical-align: -0.78ex; " 
SRC="tex_encodé_l2h_img1.svg"
+ ALT="$\displaystyle é \partial_{\eta} g(\eta(t),\varphi(t));
+$">
+</DIV>
+
+
+<!-- l2h_end tex_encodé_l2h 1 -->
+
+<!-- l2h_begin tex_encodé_l2h 2 -->
+<!-- MATH
+ $(I-D) é \varphi(t)$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.78ex; vertical-align: -0.70ex; " 
SRC="tex_encodé_l2h_img2.svg"
+ ALT="$(I-D) é \varphi(t)$"></SPAN>
+
+<!-- l2h_end tex_encodé_l2h 2 -->
+
+<!-- l2h_begin tex_encodé_l2h 3 -->
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+é ï î  \int v(t)\, dt = u(t) + C
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 5.61ex; vertical-align: -2.12ex; " 
SRC="tex_encodé_l2h_img3.svg"
+ ALT="$\displaystyle é ï î \int v(t)\, dt = u(t) + C
+$">
+</DIV>
+
+
+<!-- l2h_end tex_encodé_l2h 3 -->
+<BR>
+<HR>
+</BODY>
+</HTML>
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h.tex" 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h.tex"
new file mode 100644
index 0000000000..f2079f8fa0
--- /dev/null
+++ "b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h.tex"
@@ -0,0 +1,36 @@
+% This document was automatically generated by the l2h extenstion of texi2html
+% DO NOT EDIT !!!
+\documentclass{article}
+\usepackage{html}
+\begin{document}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_encodé_l2h 1 -->
+\end{rawhtml}
+$$
+é \partial_{\eta} g(\eta(t),\varphi(t));
+$$
+\begin{rawhtml}
+<!-- l2h_end tex_encodé_l2h 1 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_encodé_l2h 2 -->
+\end{rawhtml}
+$(I-D) é \varphi(t)$
+\begin{rawhtml}
+<!-- l2h_end tex_encodé_l2h 2 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_encodé_l2h 3 -->
+\end{rawhtml}
+$$ é ï î  \int v(t)\, dt = u(t) + C
+$$
+\begin{rawhtml}
+<!-- l2h_end tex_encodé_l2h 3 -->
+
+\end{rawhtml}
+\end{document}
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h_images.tex"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h_images.tex"
new file mode 100644
index 0000000000..6e5c06860a
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h_images.tex"
@@ -0,0 +1,141 @@
+\batchmode
+
+\documentclass{article}
+\RequirePackage{ifthen}
+
+
+\usepackage{html}
+
+
+\usepackage{xcolor}
+
+
+
+\makeatletter
+
+\makeatletter
+\count@=\the\catcode`\_ \catcode`\_=8 
+\newenvironment{tex2html_wrap}{}{}%
+\catcode`\<=12\catcode`\_=\count@
+\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname 
#1\endcsname}%
+\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname 
#1\endcsname{}%
+  \expandafter\renewcommand\csname #1\endcsname}%
+\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}%
+\let\newedcommand\renewedcommand
+\let\renewedenvironment\newedenvironment
+\makeatother
+\let\mathon=$
+\let\mathoff=$
+\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi
+\newbox\sizebox
+\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt}
+\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt}
+\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt}
+\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt}
+\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt}
+\setlength{\textheight}{554pt}
+\newwrite\lthtmlwrite
+\makeatletter
+\let\realnormalsize=\normalsize
+\global\topskip=2sp
+\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float
+\def\@float{\let\@savefreelist\@freelist\real@float}
+\def\liih@math{\ifmmode$\else\bad@math\fi}
+\def\end@float{\realend@float\global\let\@freelist\@savefreelist}
+\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float
+\let\@largefloatcheck=\relax
+\let\if@boxedmulticols=\iftrue
+\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt}
+\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize
+ \parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}%
+ \def\phantompar{\csname par\endcsname}\normalsize}%
+\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}%
+\usepackage[tightpage,active]{preview}
+\PreviewBorder=1bp
+\newbox\lthtmlPageBox
+\newdimen\lthtmlCropMarkHeight
+\newdimen\lthtmlCropMarkDepth
+\long\def\lthtmlTightVBoxA#1{\def\lthtmllabel{#1}
+    \setbox\lthtmlPageBox\vbox\bgroup\catcode`\_=8 }%
+\long\def\lthtmlTightVBoxZ{\egroup
+    \lthtmlCropMarkHeight=\ht\lthtmlPageBox \advance \lthtmlCropMarkHeight 6pt
+    \lthtmlCropMarkDepth=\dp\lthtmlPageBox
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkHeight:=\the\lthtmlCropMarkHeight}%
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkDepth:=\the\lthtmlCropMarkDepth:1ex:=\the
 \dimexpr 1ex}%
+    \begin{preview}\copy\lthtmlPageBox\end{preview}}%
+\long\def\lthtmlTightFBoxA#1{\def\lthtmllabel{#1}%
+    \adjustnormalsize\setbox\lthtmlPageBox=\vbox\bgroup\hbox\bgroup %
+    \let\ifinner=\iffalse \let\)\liih@math %
+    \bgroup\catcode`\_=8 }%
+\long\def\lthtmlTightFBoxZ{\egroup\egroup
+    \@next\next\@currlist{}{\def\next{\voidb@x}}%
+    \expandafter\box\next\egroup %
+    \lthtmlCropMarkHeight=\ht\lthtmlPageBox \advance \lthtmlCropMarkHeight 6pt
+    \lthtmlCropMarkDepth=\dp\lthtmlPageBox
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkHeight:=\the\lthtmlCropMarkHeight}%
+    
\lthtmltypeout{^^J:\lthtmllabel:lthtmlCropMarkDepth:=\the\lthtmlCropMarkDepth:1ex:=\the
 \dimexpr 1ex}%
+    \begin{preview}\copy\lthtmlPageBox\end{preview}}%
+    
\long\def\lthtmlinlinemathA#1#2\lthtmlindisplaymathZ{\lthtmlTightVBoxA{#1}{\hbox\bgroup#2\egroup}\lthtmlTightVBoxZ}
+    
\def\lthtmlinlineA#1#2\lthtmlinlineZ{\lthtmlTightVBoxA{#1}{\hbox\bgroup#2\egroup}\lthtmlTightVBoxZ}
+    
\long\def\lthtmldisplayA#1#2\lthtmldisplayZ{\lthtmlTightVBoxA{#1}{#2}\lthtmlTightVBoxZ}
+    
\long\def\lthtmldisplayB#1#2\lthtmldisplayZ{\\edef\preveqno{(\theequation)}%
+        \lthtmlTightVBoxA{#1}{\let\@eqnnum\relax#2}\lthtmlTightVBoxZ}
+    \long\def\lthtmlfigureA#1{\let\@savefreelist\@freelist
+        \lthtmlTightFBoxA{#1}}
+    \long\def\lthtmlfigureZ{
+        \lthtmlTightFBoxZ\global\let\@freelist\@savefreelist}
+    \long\def\lthtmlpictureA#1{\let\@savefreelist\@freelist
+        \lthtmlTightVBoxA{#1}}
+    \long\def\lthtmlpictureZ{
+        \lthtmlTightVBoxZ\global\let\@freelist\@savefreelist}
+\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize 
+  \ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill
+  \else\expandafter\vss\fi}%
+\providecommand{\selectlanguage}[1]{}%
+\makeatletter \tracingstats = 1 
+
+
+\begin{document}
+\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength 
oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}%
+\makeatletter
+\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}%
+\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi%
+\lthtmltypeout{}%
+\makeatother
+\setcounter{page}{1}
+\onecolumn
+
+% !!! IMAGES START HERE !!!
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay13}%
+$\displaystyle é \partial_{\eta} g(\eta(t),\varphi(t));
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8}%
+$(I-D) é \varphi(t)$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay16}%
+$\displaystyle é ï î  \int v(t)\, dt = u(t) + C
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+
+\end{document}
diff --git 
"a/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h_labels.pl"
 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h_labels.pl"
new file mode 100644
index 0000000000..ecc7b241c4
--- /dev/null
+++ 
"b/tp/tests/tex_html/res_parser/tex_encoded_l2h/tex_encod\303\251_l2h_labels.pl"
@@ -0,0 +1,13 @@
+# LaTeX2HTML
+# Associate labels original text with physical files.
+
+
+1;
+
+
+# LaTeX2HTML
+# labels from external_latex_labels array.
+
+
+1;
+
diff --git 
a/tp/tests/tex_html/res_parser/tex_eqalign_l2h/tex_eqalign-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/tex_eqalign_l2h/tex_eqalign-l2h_cache.pm
index c928167125..eeaeb99c4c 100644
--- a/tp/tests/tex_html/res_parser/tex_eqalign_l2h/tex_eqalign-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/tex_eqalign_l2h/tex_eqalign-l2h_cache.pm
@@ -1,3 +1,5 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/$$\leqalignno{
    \int v(t)\, dt &= u(t) + C&[3.1]\cr
@@ -47,4 +49,5 @@ $l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
 $">
 </DIV>
 |;
-1;
\ No newline at end of file
+
+1;
diff --git a/tp/tests/tex_html/res_parser/tex_gdef_l2h/tex_gdef-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/tex_gdef_l2h/tex_gdef-l2h_cache.pm
index 29febfed81..7cea379010 100644
--- a/tp/tests/tex_html/res_parser/tex_gdef_l2h/tex_gdef-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/tex_gdef_l2h/tex_gdef-l2h_cache.pm
@@ -1,3 +1,5 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/  \gdef\Desig{\buildrel \rm def \over \equiv}/;
 $l2h_cache{$l2h_cache_key} = q|  |;
@@ -31,4 +33,5 @@ $l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH"></SPAN>|;
 
 $l2h_cache_key = q/$\gdef\testmacro{a \equiv b} $/;
 $l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH"></SPAN>|;
-1;
\ No newline at end of file
+
+1;
diff --git 
a/tp/tests/tex_html/res_parser/tex_in_copying/tex_in_copying-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/tex_in_copying/tex_in_copying-l2h_cache.pm
index 2e23574181..290dcae7bc 100644
--- a/tp/tests/tex_html/res_parser/tex_in_copying/tex_in_copying-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/tex_in_copying/tex_in_copying-l2h_cache.pm
@@ -1,3 +1,5 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/$$
 2 a = \dot{\phi}
@@ -34,4 +36,5 @@ a = \phi
 $">
 </DIV>
 |;
-1;
\ No newline at end of file
+
+1;
diff --git 
a/tp/tests/tex_html/res_parser/tex_not_closed/tex_not_closed-l2h_cache.pm 
b/tp/tests/tex_html/res_parser/tex_not_closed/tex_not_closed-l2h_cache.pm
index 5b517bb503..8277223323 100644
--- a/tp/tests/tex_html/res_parser/tex_not_closed/tex_not_closed-l2h_cache.pm
+++ b/tp/tests/tex_html/res_parser/tex_not_closed/tex_not_closed-l2h_cache.pm
@@ -1,7 +1,10 @@
+# Automatically generated
+use utf8;
 
 $l2h_cache_key = q/
 This is some \LaTeX{}/;
 $l2h_cache{$l2h_cache_key} = q|
 <P>
 This is some <SPAN 
CLASS="logo,LaTeX">L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X</SPAN>|;
-1;
\ No newline at end of file
+
+1;
diff --git "a/tp/tests/tex_html/tex_encod\303\251.texi" 
"b/tp/tests/tex_html/tex_encod\303\251.texi"
new file mode 100644
index 0000000000..5fb8288236
--- /dev/null
+++ "b/tp/tests/tex_html/tex_encod\303\251.texi"
@@ -0,0 +1,20 @@
+\input texinfo @c -*-texinfo-*-
+
+@node Top
+@top top
+
+@node Chapter
+@chapter chap
+
+@tex
+$$
+é \partial_{\eta} g(\eta(t),\varphi(t));
+$$
+@end tex
+
+Some @math{(I-D) é \varphi(t)} math.
+
+@displaymath
+ é ï î  \int v(t)\, dt = u(t) + C
+@end displaymath
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]