[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: Decode/encode fixes
From: |
Patrice Dumas |
Subject: |
branch master updated: Decode/encode fixes |
Date: |
Mon, 28 Feb 2022 06:03:43 -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 2124a851e8 Decode/encode fixes
2124a851e8 is described below
commit 2124a851e81954f9ca66bab55dc8073cb9809338
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Feb 28 12:03:30 2022 +0100
Decode/encode fixes
* tp/Texinfo/Convert/HTML.pm (output): set 'destination_directory'
global info to a decoded string.
* tp/Texinfo/Convert/HTML.pm (html_image_file_location_name):
return the image path encoding.
* tp/init/epub3.pm, tp/init/latex2html.pm, tp/init/tex4ht.pm:
more decoding/encoding fixes.
---
.gitignore | 4 +
ChangeLog | 13 ++
tp/TODO | 22 ++-
tp/Texinfo/Convert/HTML.pm | 9 +-
tp/init/epub3.pm | 35 +++-
tp/init/latex2html.pm | 22 ++-
tp/init/tex4ht.pm | 23 ++-
tp/tests/many_input_files/Makefile.am | 17 +-
.../many_input_files/output_dir_file_non_ascii.sh | 74 ++++++++
.../encod\303\251/non_as\303\247\303\256_i.info" | 25 +++
.../output_dir_file_non_ascii.2 | 0
.../stdout_output_dir_file_non_ascii.out | 0
tp/tests/many_input_files/output_dir_non_ascii.sh | 74 ++++++++
.../encod\303\251/simplest.info" | 24 +++
.../output_dir_non_ascii.2 | 0
.../stdout_output_dir_non_ascii.out | 0
tp/tests/many_input_files/tex_l2h.sh | 2 -
...{tex_l2h.sh => tex_l2h_output_dir_non_ascii.sh} | 31 ++-
.../encod\303\251/tex_complex-l2h_cache.pm" | 75 ++++++++
.../encod\303\251/tex_complex.html" | 134 +++++++++++++
.../encod\303\251/tex_complex_l2h.html" | 102 ++++++++++
.../encod\303\251/tex_complex_l2h.tex" | 65 +++++++
.../encod\303\251/tex_complex_l2h_images.tex" | 160 ++++++++++++++++
.../encod\303\251/tex_complex_l2h_labels.pl" | 13 ++
.../encod\303\251/tex_encod\303\251-l2h_cache.pm" | 45 +++++
.../encod\303\251/tex_encod\303\251.html" | 207 +++++++++++++++++++++
.../encod\303\251/tex_encod\303\251_l2h.html" | 68 +++++++
.../encod\303\251/tex_encod\303\251_l2h.tex" | 36 ++++
.../tex_encod\303\251_l2h_images.tex" | 141 ++++++++++++++
.../encod\303\251/tex_encod\303\251_l2h_labels.pl" | 13 ++
.../tex_l2h_output_dir_non_ascii.2 | 2 +
tp/tests/many_input_files/tex_t4ht.sh | 2 -
...ex_t4ht.sh => tex_t4ht_output_dir_non_ascii.sh} | 18 +-
.../encod\303\251/tex_complex.html" | 107 +++++++++++
.../encod\303\251/tex_complex_tex4ht_tex.4ct" | 2 +
.../encod\303\251/tex_complex_tex4ht_tex.4tc" | 1 +
.../encod\303\251/tex_complex_tex4ht_tex.css" | 44 +++++
.../encod\303\251/tex_complex_tex4ht_tex.lg" | 58 ++++++
.../encod\303\251/tex_complex_tex4ht_tex.tex" | 24 +++
.../encod\303\251/tex_complex_tex4ht_tex.tmp" | 2 +
.../encod\303\251/tex_complex_tex4ht_tex.xref" | 1 +
.../encod\303\251/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 +++++
.../encod\303\251/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_t4ht_output_dir_non_ascii.2 | 0
50 files changed, 1955 insertions(+), 58 deletions(-)
diff --git a/.gitignore b/.gitignore
index 81ac6b313a..ee21815143 100644
--- a/.gitignore
+++ b/.gitignore
@@ -211,8 +211,12 @@ tp/tests/test_scripts/*.trs
tp/tests/many_input_files/different_encodings
tp/tests/many_input_files/different_languages_gen_master_menu
tp/tests/many_input_files/input_dir_non_ascii
+tp/tests/many_input_files/output_dir_non_ascii
+tp/tests/many_input_files/output_dir_file_non_ascii
tp/tests/many_input_files/tex_l2h
tp/tests/many_input_files/tex_t4ht
+tp/tests/many_input_files/tex_l2h_output_dir_non_ascii
+tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii
tp/tests/many_input_files/raw_out
tp/tests/many_input_files/*.log
tp/tests/many_input_files/*.trs
diff --git a/ChangeLog b/ChangeLog
index 12789c833a..62cfd1545f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2022-02-28 Patrice Dumas <pertusus@free.fr>
+
+ Decode/encode fixes
+
+ * tp/Texinfo/Convert/HTML.pm (output): set 'destination_directory'
+ global info to a decoded string.
+
+ * tp/Texinfo/Convert/HTML.pm (html_image_file_location_name):
+ return the image path encoding.
+
+ * tp/init/epub3.pm, tp/init/latex2html.pm, tp/init/tex4ht.pm:
+ more decoding/encoding fixes.
+
2022-02-27 Patrice Dumas <pertusus@free.fr>
Output and read latex2html files in utf-8
diff --git a/tp/TODO b/tp/TODO
index fe6c2fe554..e836898c95 100644
--- a/tp/TODO
+++ b/tp/TODO
@@ -64,14 +64,25 @@ CPP line directive with accented characters already in
tests:
But the test needs also to be done in non utf8 locale (still TODO for XS
Parser)
./texi2any.pl cpp_line_latin1.texi
+test l2h and tex4ht with non ascii file names in non utf8 locale.
+corresponds to tex_l2h_output_dir_non_ascii.sh
+tex_t4ht_output_dir_non_ascii.sh.
+Maybe with non utf8 input files too?
+
+epub tests would also be interesting in 8 byte locale, with
+8 byte documents. In the EPUB specification it is said
+6.1.3 File Paths and File Names
+ File Names and Paths MUST be UTF-8 [Unicode] encoded.
+
+
+
Add tests even if not as interesting in UTF8 locale as in non UTF8
./texi2any.pl --set TEXINFO_OUTPUT_FORMAT=debugtree --set USE_NODES=0 -o
résultat/encodé.txt ./t/input_files/simplest_no_node_section.texi
-./texi2any.pl -o encodé/ ./t/input_files/simplest.texi
-./texi2any.pl -o encodé/assé.info ./t/input_files/simplest.texi
-test l2h with non ascii file names
+Texinfo/Convert/Text.pm output()
+checks decoded/encoded + fix. Need to verify input available information
Should we warn if output is on STDOUT and OUTPUT_ENCODING_NAME !=
MESSAGE_OUTPUT_ENCODING_NAME?
@@ -86,6 +97,11 @@ output_files_register_closed
output_files_open_out
locate_include_file (also in output)
+Document bytes in output
+html_image_file_location_name: $image_path
+
+Document new return of html_image_file_location_name
+
Test of init/highlight_syntax.pm with non ascii characters in highlighted
@example contents.
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 8c1ffc0b7d..5ab3c2fddf 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -262,7 +262,7 @@ sub html_image_file_location_name($$$$)
my $image_basefile;
my $image_extension;
# this variable is bytes encoded in the filesystem encoding
- my $image_path;
+ my ($image_path, $image_path_encoding);
if (defined($args->[0]->{'monospacetext'}) and $args->[0]->{'monospacetext'}
ne '') {
$image_basefile = $args->[0]->{'monospacetext'};
my $extension;
@@ -277,6 +277,7 @@ sub html_image_file_location_name($$$$)
= $self->Texinfo::Common::locate_include_file($file_name);
if (defined($located_image_path) and $located_image_path ne '') {
$image_path = $located_image_path;
+ $image_path_encoding = $file_name_encoding;
# use the @-command argument and not the file found using the
# include paths. It is considered that the files in include paths
# will be moved by the caller anyway.
@@ -297,8 +298,8 @@ sub html_image_file_location_name($$$$)
}
}
}
- # TODO set and return $image_path_encoding?
- return ($image_file, $image_basefile, $image_extension, $image_path);
+ return ($image_file, $image_basefile, $image_extension, $image_path,
+ $image_path_encoding);
}
sub css_add_info($$$;$)
@@ -9315,7 +9316,7 @@ sub output($$)
# set for init files
$self->{'document_name'} = $document_name;
- $self->{'destination_directory'} = $created_directory;
+ $self->{'destination_directory'} = $destination_directory;
# set information, to have it available for the conversions below,
# in translate_names called by _prepare_conversion_tree_units and in
diff --git a/tp/init/epub3.pm b/tp/init/epub3.pm
index f23c02f032..bcb5b32141 100644
--- a/tp/init/epub3.pm
+++ b/tp/init/epub3.pm
@@ -44,6 +44,8 @@ use File::Copy;
# for fileparse
use File::Basename;
+use Encode qw(decode);
+
# the Archive::Zip module is required below only if needed, that is
# if EPUB_CREATE_CONTAINER is set.
#use Archive::Zip;
@@ -153,8 +155,9 @@ sub epub_convert_image_command($$$$)
my $result = &{$self->default_command_conversion($cmdname)}($self,
$cmdname, $command, $args);
- my ($image_file, $image_basefile, $image_extension, $image_path)
- = $self->html_image_file_location_name($cmdname, $command, $args);
+ my ($image_file, $image_basefile, $image_extension, $image_path,
+ $image_path_encoding)
+ = $self->html_image_file_location_name($cmdname, $command, $args);
if (defined($image_file)) {
if (not defined($image_path)) {
$self->document_error($self,
@@ -164,21 +167,31 @@ sub epub_convert_image_command($$$$)
my $images_destination_dir
= File::Spec->catdir($epub_destination_directory,
$epub_document_dir_name,
$epub_images_dir_name);
- if (! -d $images_destination_dir) {
- if (!mkdir($images_destination_dir, oct(755))) {
+ my ($encoded_images_destination_dir, $images_destination_dir_encoding)
+ = $self->encoded_file_name($images_destination_dir);
+ if (! -d $encoded_images_destination_dir) {
+ if (!mkdir($encoded_images_destination_dir, oct(755))) {
$self->document_error($self, sprintf(__(
"could not create directory `%s': %s"),
$images_destination_dir, $!));
return $result;
}
}
- my $image_destination_path = File::Spec->catfile($images_destination_dir,
- $image_file);
- my $copy_succeeded = copy($image_path, $image_destination_path);
+ my $image_destination_path_name
+ = File::Spec->catfile($images_destination_dir, $image_file);
+ my ($encoded_image_dest_path_name, $image_dest_path_encoding)
+ = $self->encoded_file_name($image_destination_path_name);
+ my $copy_succeeded = copy($image_path, $encoded_image_dest_path_name);
if (not $copy_succeeded) {
+ my $image_path_text;
+ if (defined($image_path_encoding)) {
+ $image_path_text = decode($image_path_encoding, $image_path);
+ } else {
+ $image_path_text = $image_path;
+ }
$self->document_error($self, sprintf(__(
- "could not copy `%s' to `%s': %s"),
- $image_path, $image_destination_path, $!));
+ "could not copy `%s' to `%s': %s"),
+ $image_path_text, $image_destination_path_name, $!));
}
$epub_images{$image_file} = $image_extension;
}
@@ -341,7 +354,9 @@ sub epub_finish($$)
my $meta_inf_directory_name = 'META-INF';
my $meta_inf_directory = File::Spec->catdir($epub_destination_directory,
$meta_inf_directory_name);
- if (!mkdir($meta_inf_directory, oct(755))) {
+ my ($encoded_meta_inf_directory, $meta_inf_directory_encoding)
+ = $self->encoded_file_name($meta_inf_directory);
+ if (!mkdir($encoded_meta_inf_directory, oct(755))) {
$self->document_error($self, sprintf(__(
"could not create directory `%s': %s"),
$meta_inf_directory, $!));
diff --git a/tp/init/latex2html.pm b/tp/init/latex2html.pm
index ab1ac26103..5482d1a459 100644
--- a/tp/init/latex2html.pm
+++ b/tp/init/latex2html.pm
@@ -639,10 +639,24 @@ sub l2h_finish($)
my $quoted_l2h_name = quotemeta($l2h_name);
my $dir = $docu_rdir;
$dir = File::Spec->curdir() if ($dir eq '');
- if (opendir (DIR, $dir)) {
- foreach my $file (grep { /^$quoted_l2h_name/ } readdir(DIR)) {
- # FIXME error condition not checked
- unlink File::Spec->catpath($docu_volume, $docu_directories, $file);
+ my ($encoded_dir, $dir_encoding) = $self->encoded_file_name($dir);
+ my ($encoded_docu_directories, $docu_directories_encoding)
+ = $self->encoded_file_name($docu_directories);
+ my ($encoded_docu_volume, $docu_volume_encoding)
+ = $self->encoded_file_name($docu_volume);
+ if (opendir (DIR, $encoded_dir)) {
+ foreach my $file (readdir(DIR)) {
+ # FIXME there is a mix of files created by texi2any and files
+ # created by latex2html. The encoding of files created by
+ # texi2any and by latex2html could be different. We could imagine
+ # that for latex2html it would be DATA_INPUT_ENCODING_NAME, without
+ # certainty. We use the encoding used to encode our files
+ my $file_name = decode($dir_encoding, $file);
+ if ($file_name =~ /^$quoted_l2h_name/) {
+ # FIXME error condition not checked
+ unlink File::Spec->catpath($encoded_docu_volume,
+ $encoded_docu_directories, $file);
+ }
}
}
}
diff --git a/tp/init/tex4ht.pm b/tp/init/tex4ht.pm
index 9e62814a63..2eb27bd24d 100644
--- a/tp/init/tex4ht.pm
+++ b/tp/init/tex4ht.pm
@@ -156,7 +156,6 @@ sub tex4ht_prepare($$)
# 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")) {
$self->document_warn($self,
@@ -257,13 +256,15 @@ sub tex4ht_prepare($$)
sub tex4ht_convert($)
{
my $self = shift;
- unless (chdir $tex4ht_out_dir) {
+ my ($encoded_tex4ht_out_dir, $tex4ht_out_dir_encoding)
+ = $self->encoded_file_name($tex4ht_out_dir);
+ unless (chdir $encoded_tex4ht_out_dir) {
$self->document_warn($self,
sprintf(__("tex4ht.pm: chdir %s failed: %s"),
$tex4ht_out_dir, $!));
return 0;
}
- print STDERR "cwd($tex4ht_out_dir): " . Cwd::cwd() ."\n"
+ print STDERR "cwd($encoded_tex4ht_out_dir): " . Cwd::cwd() ."\n"
if ($self->get_conf('VERBOSE'));
my $errors = 0;
@@ -397,8 +398,20 @@ sub tex4ht_finish($)
# this is different from the warning in tex4ht_process_command as, here,
# this is the number of retrieved fragment, not processed fragment.
if ($self->get_conf('VERBOSE')) {
- foreach my $command (keys(%commands)) {
- if ($commands{$command}->{'output_counter'} !=
$commands{$command}->{'counter'}) {
+ foreach my $command (sort(keys(%commands))) {
+ if (not defined($commands{$command}->{'output_counter'})) {
+ if (defined($commands{$command}->{'counter'})) {
+ $self->document_warn($self, sprintf(__(
+ "tex4ht.pm: output counter UNDEF; expected %d, the number of items
found in the document for \@%s"),
+ $commands{$command}->{'counter'}, $command));
+ } else {
+ $self->document_warn($self, sprintf(__(
+ "tex4ht.pm: UNDEF expected items in the document for \@%s"),
+ $command));
+ }
+ } elsif ($commands{$command}->{'output_counter'} !=
$commands{$command}->{'counter'}) {
+ # NOTE with math commands in @copying and multiple @insertcopying,
+ # there may be more items output than found in the document tree
$self->document_warn($self, sprintf(__(
"tex4ht.pm: processing retrieved %d items in HTML; expected %d, the
number of items found in the document for \@%s"),
$commands{$command}->{'output_counter'},
diff --git a/tp/tests/many_input_files/Makefile.am
b/tp/tests/many_input_files/Makefile.am
index a595b0fc5f..be4d800622 100644
--- a/tp/tests/many_input_files/Makefile.am
+++ b/tp/tests/many_input_files/Makefile.am
@@ -11,6 +11,9 @@
EXTRA_DIST = $(TESTS) \
tex_l2h_res tex_t4ht_res different_encodings_res
different_languages_gen_master_menu_res \
+ input_dir_non_ascii_res output_dir_non_ascii_res \
+ output_dir_file_non_ascii_res tex_t4ht_output_dir_non_ascii_res \
+ tex_l2h_output_dir_non_ascii_res \
input_files/no_master_menu_fr.texi \
input_files/no_master_menu_no_documentlanguage.texi \
input_files/simple_including_file.texi \
@@ -19,13 +22,17 @@ EXTRA_DIST = $(TESTS) \
TESTS = tex_l2h.sh tex_t4ht.sh \
different_encodings.sh different_languages_gen_master_menu.sh \
- input_dir_non_ascii.sh
+ input_dir_non_ascii.sh output_dir_non_ascii.sh \
+ output_dir_file_non_ascii.sh tex_t4ht_output_dir_non_ascii.sh \
+ tex_l2h_output_dir_non_ascii.sh
+
AM_TESTS_ENVIRONMENT = srcdir="$(srcdir)"; export srcdir;
top_srcdir="$(top_srcdir)"; export top_srcdir; builddir="$(builddir)"; export
buildir; top_builddir="$(top_builddir)"; export top_builddir;
-tex_html_dirs = tex_l2h tex_t4ht
+tex_html_dirs = tex_l2h tex_t4ht tex_t4ht_output_dir_non_ascii \
+ tex_l2h_output_dir_non_ascii
tests_dirs = different_encodings different_languages_gen_master_menu \
- input_dir_non_ascii
+ input_dir_non_ascii output_dir_non_ascii output_dir_file_non_ascii
long-checks: all
$(MAKE) $(AM_MAKEFLAGS) check LONG_TESTS=yes
@@ -47,6 +54,8 @@ copy-tex-html:
echo "No dir $$dir/"; \
fi; \
done
+ cp -fpR tex_t4ht_output_dir_non_ascii/encodé/
tex_t4ht_output_dir_non_ascii_res/
+ cp -fpR tex_l2h_output_dir_non_ascii/encodé/
tex_l2h_output_dir_non_ascii_res/
copy-tests:
for dir in $(tests_dirs); do \
@@ -61,6 +70,8 @@ copy-tests:
echo "No dir $$dir/"; \
fi; \
done
+ cp -fpR output_dir_non_ascii/encodé/ output_dir_non_ascii_res/
+ cp -fpR output_dir_file_non_ascii/encodé/ output_dir_file_non_ascii_res/
DISTCLEANFILES = *.log
diff --git a/tp/tests/many_input_files/output_dir_file_non_ascii.sh
b/tp/tests/many_input_files/output_dir_file_non_ascii.sh
new file mode 100755
index 0000000000..d313ec35fd
--- /dev/null
+++ b/tp/tests/many_input_files/output_dir_file_non_ascii.sh
@@ -0,0 +1,74 @@
+#! /bin/sh
+#
+# Copyright 2022 Free Software Foundation, Inc.
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Originally written by Patrice Dumas.
+
+LC_ALL=C.UTF-8; export LC_ALL
+LANGUAGE=C.UTF-8; export LANGUAGE
+
+basename=output_dir_file_non_ascii
+diffs_dir=diffs
+raw_output_dir=raw_out
+logfile=$basename.log
+stdout_file=stdout_$basename.out
+
+[ "z$srcdir" = 'z' ] && srcdir=.
+
+. ../../defs || exit 1
+
+[ -d $diffs_dir ] || mkdir $diffs_dir
+staging_dir=$diffs_dir/staging
+[ -d $staging_dir ] || mkdir $staging_dir
+[ -d $raw_output_dir ] || mkdir $raw_output_dir
+
+echo "$basename" > $logfile
+
+[ -d $basename ] && rm -rf $basename
+raw_outdir=$raw_output_dir/$basename
+[ -d $raw_outdir ] && rm -rf $raw_outdir
+mkdir $basename
+: > $basename/$stdout_file
+
+echo "$PERL -I $srcdir/../.. -I
$srcdir/../../maintain/lib/Unicode-EastAsianWidth/lib/ -I
$srcdir/../../maintain/lib/libintl-perl/lib -I
$srcdir/../../maintain/lib/Text-Unidecode/lib/ -w $srcdir/../../texi2any.pl
--html --no-split --set-customization-variable 'TEST 1' --conf-dir
$srcdir/../../init --out $basename/encodé/non_asçî_i.info
$srcdir/../formatting/simplest.texi --force >> $basename/$stdout_file
2>$basename/${basename}.2" >> $logfile
+$PERL -I $srcdir/../.. -I
$srcdir/../../maintain/lib/Unicode-EastAsianWidth/lib/ -I
$srcdir/../../maintain/lib/libintl-perl/lib -I
$srcdir/../../maintain/lib/Text-Unidecode/lib/ -w $srcdir/../../texi2any.pl
--set-customization-variable 'TEST 1' --conf-dir $srcdir/../../init --out
$basename/encodé/non_asçî_i.info $srcdir/../formatting/simplest.texi --force >>
$basename/$stdout_file 2>$basename/${basename}.2
+
+return_code=0
+ret=$?
+if [ $ret != 0 ]; then
+ echo "F: $basename/$basename.2"
+ return_code=1
+else
+ outdir=$basename
+ cp -pr $outdir $raw_output_dir
+
+ dir=$basename
+ if [ -d "$srcdir/${dir}_res" ]; then
+ rm -rf $staging_dir/${dir}_res
+ cp -pr "$srcdir/${dir}_res" $staging_dir
+ chmod -R u+w "$staging_dir/${dir}_res"
+ diff $DIFF_U_OPTION -r "$staging_dir/${dir}_res" "$outdir" 2>>$logfile >
"$diffs_dir/$dir.diff"
+ dif_ret=$?
+ if [ $dif_ret != 0 ]; then
+ echo "D: $diffs_dir/$dir.diff"
+ return_code=1
+ else
+ rm "$diffs_dir/$dir.diff"
+ fi
+ else
+ echo "no res: ${dir}_res"
+ fi
+fi
+
+rm -rf $tmp_dir
+
+exit $return_code
+
diff --git
"a/tp/tests/many_input_files/output_dir_file_non_ascii_res/encod\303\251/non_as\303\247\303\256_i.info"
"b/tp/tests/many_input_files/output_dir_file_non_ascii_res/encod\303\251/non_as\303\247\303\256_i.info"
new file mode 100644
index 0000000000..769178982a
--- /dev/null
+++
"b/tp/tests/many_input_files/output_dir_file_non_ascii_res/encod\303\251/non_as\303\247\303\256_i.info"
@@ -0,0 +1,25 @@
+This is non_asçî_i.info, produced by texi2any version from
+simplest.texi.
+
+
+File: non_asçî_i.info, Node: Top, Up: (dir)
+
+top section
+***********
+
+1 Chapter
+*********
+
+This is a very simple texi manual <>.
+
+
+
+Tag Table:
+Node: Top77
+
+End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git
a/tp/tests/many_input_files/output_dir_file_non_ascii_res/output_dir_file_non_ascii.2
b/tp/tests/many_input_files/output_dir_file_non_ascii_res/output_dir_file_non_ascii.2
new file mode 100644
index 0000000000..e69de29bb2
diff --git
a/tp/tests/many_input_files/output_dir_file_non_ascii_res/stdout_output_dir_file_non_ascii.out
b/tp/tests/many_input_files/output_dir_file_non_ascii_res/stdout_output_dir_file_non_ascii.out
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tp/tests/many_input_files/output_dir_non_ascii.sh
b/tp/tests/many_input_files/output_dir_non_ascii.sh
new file mode 100755
index 0000000000..d3da66dc86
--- /dev/null
+++ b/tp/tests/many_input_files/output_dir_non_ascii.sh
@@ -0,0 +1,74 @@
+#! /bin/sh
+#
+# Copyright 2022 Free Software Foundation, Inc.
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Originally written by Patrice Dumas.
+
+LC_ALL=C.UTF-8; export LC_ALL
+LANGUAGE=C.UTF-8; export LANGUAGE
+
+basename=output_dir_non_ascii
+diffs_dir=diffs
+raw_output_dir=raw_out
+logfile=$basename.log
+stdout_file=stdout_$basename.out
+
+[ "z$srcdir" = 'z' ] && srcdir=.
+
+. ../../defs || exit 1
+
+[ -d $diffs_dir ] || mkdir $diffs_dir
+staging_dir=$diffs_dir/staging
+[ -d $staging_dir ] || mkdir $staging_dir
+[ -d $raw_output_dir ] || mkdir $raw_output_dir
+
+echo "$basename" > $logfile
+
+[ -d $basename ] && rm -rf $basename
+raw_outdir=$raw_output_dir/$basename
+[ -d $raw_outdir ] && rm -rf $raw_outdir
+mkdir $basename
+: > $basename/$stdout_file
+
+echo "$PERL -I $srcdir/../.. -I
$srcdir/../../maintain/lib/Unicode-EastAsianWidth/lib/ -I
$srcdir/../../maintain/lib/libintl-perl/lib -I
$srcdir/../../maintain/lib/Text-Unidecode/lib/ -w $srcdir/../../texi2any.pl
--html --no-split --set-customization-variable 'TEST 1' --conf-dir
$srcdir/../../init --out $basename/encodé/ $srcdir/../formatting/simplest.texi
--force >> $basename/$stdout_file 2>$basename/${basename}.2" >> $logfile
+$PERL -I $srcdir/../.. -I
$srcdir/../../maintain/lib/Unicode-EastAsianWidth/lib/ -I
$srcdir/../../maintain/lib/libintl-perl/lib -I
$srcdir/../../maintain/lib/Text-Unidecode/lib/ -w $srcdir/../../texi2any.pl
--set-customization-variable 'TEST 1' --conf-dir $srcdir/../../init --out
$basename/encodé/ $srcdir/../formatting/simplest.texi --force >>
$basename/$stdout_file 2>$basename/${basename}.2
+
+return_code=0
+ret=$?
+if [ $ret != 0 ]; then
+ echo "F: $basename/$basename.2"
+ return_code=1
+else
+ outdir=$basename
+ cp -pr $outdir $raw_output_dir
+
+ dir=$basename
+ if [ -d "$srcdir/${dir}_res" ]; then
+ rm -rf $staging_dir/${dir}_res
+ cp -pr "$srcdir/${dir}_res" $staging_dir
+ chmod -R u+w "$staging_dir/${dir}_res"
+ diff $DIFF_U_OPTION -r "$staging_dir/${dir}_res" "$outdir" 2>>$logfile >
"$diffs_dir/$dir.diff"
+ dif_ret=$?
+ if [ $dif_ret != 0 ]; then
+ echo "D: $diffs_dir/$dir.diff"
+ return_code=1
+ else
+ rm "$diffs_dir/$dir.diff"
+ fi
+ else
+ echo "no res: ${dir}_res"
+ fi
+fi
+
+rm -rf $tmp_dir
+
+exit $return_code
+
diff --git
"a/tp/tests/many_input_files/output_dir_non_ascii_res/encod\303\251/simplest.info"
"b/tp/tests/many_input_files/output_dir_non_ascii_res/encod\303\251/simplest.info"
new file mode 100644
index 0000000000..f7e9f5b003
--- /dev/null
+++
"b/tp/tests/many_input_files/output_dir_non_ascii_res/encod\303\251/simplest.info"
@@ -0,0 +1,24 @@
+This is simplest.info, produced by texi2any version from simplest.texi.
+
+
+File: simplest.info, Node: Top, Up: (dir)
+
+top section
+***********
+
+1 Chapter
+*********
+
+This is a very simple texi manual <>.
+
+
+
+Tag Table:
+Node: Top73
+
+End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git
a/tp/tests/many_input_files/output_dir_non_ascii_res/output_dir_non_ascii.2
b/tp/tests/many_input_files/output_dir_non_ascii_res/output_dir_non_ascii.2
new file mode 100644
index 0000000000..e69de29bb2
diff --git
a/tp/tests/many_input_files/output_dir_non_ascii_res/stdout_output_dir_non_ascii.out
b/tp/tests/many_input_files/output_dir_non_ascii_res/stdout_output_dir_non_ascii.out
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tp/tests/many_input_files/tex_l2h.sh
b/tp/tests/many_input_files/tex_l2h.sh
index e135b6e6f4..1c448d8c82 100755
--- a/tp/tests/many_input_files/tex_l2h.sh
+++ b/tp/tests/many_input_files/tex_l2h.sh
@@ -90,8 +90,6 @@ else
rm -rf $staging_dir/${dir}_res
cp -pr "$srcdir/${dir}_res" $staging_dir
chmod -R u+w "$staging_dir/${dir}_res"
- rm -rf $staging_dir/${dir}_res/CVS $staging_dir/${dir}_res/.svn
- #diff -u --exclude=CVS --exclude='*.png' -r "$srcdir/${dir}_res" "${dir}"
2>>$logfile > "$diffs_dir/$dir.diff"
diff $DIFF_U_OPTION -r "$staging_dir/${dir}_res" "$outdir" 2>>$logfile >
"$diffs_dir/$dir.diff"
dif_ret=$?
if [ $dif_ret != 0 ]; then
diff --git a/tp/tests/many_input_files/tex_l2h.sh
b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii.sh
similarity index 72%
copy from tp/tests/many_input_files/tex_l2h.sh
copy to tp/tests/many_input_files/tex_l2h_output_dir_non_ascii.sh
index e135b6e6f4..60e3d652bf 100755
--- a/tp/tests/many_input_files/tex_l2h.sh
+++ b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii.sh
@@ -12,14 +12,15 @@
#
# Originally written by Patrice Dumas.
-LC_ALL=C; export LC_ALL
+LC_ALL=C.UTF-8; export LC_ALL
+LANGUAGE=C.UTF-8; export LANGUAGE
if test "z$TEX_HTML_TESTS" != z'yes'; then
echo "Skipping HTML TeX tests that are not easily reproducible ($0)"
exit 77
fi
-basename=tex_l2h
+basename=tex_l2h_output_dir_non_ascii
diffs_dir=diffs
raw_output_dir=raw_out
logfile=$basename.log
@@ -53,8 +54,8 @@ raw_outdir=$raw_output_dir/$basename
[ -d $raw_outdir ] && rm -rf $raw_outdir
mkdir $basename
: > $basename/$stdout_file
-echo "$PERL -I $srcdir/../.. -I
$srcdir/../../maintain/lib/Unicode-EastAsianWidth/lib/ -I
$srcdir/../../maintain/lib/libintl-perl/lib -I
$srcdir/../../maintain/lib/Text-Unidecode/lib/ -w $srcdir/../../texi2any.pl
--set-customization-variable 'TEXI2HTML 1' --set-customization-variable 'TEST
1' --set-customization-variable L2H_TMP=$tmp_dir --conf-dir $srcdir/../../init
--set-customization-variable 'HTML_MATH l2h' --set-customization-variable
L2H_FILE=$srcdir/../../t/init/l2h.init --set-cus [...]
-$PERL -I $srcdir/../.. -I
$srcdir/../../maintain/lib/Unicode-EastAsianWidth/lib/ -I
$srcdir/../../maintain/lib/libintl-perl/lib -I
$srcdir/../../maintain/lib/Text-Unidecode/lib/ -w $srcdir/../../texi2any.pl
--set-customization-variable 'TEXI2HTML 1' --set-customization-variable 'TEST
1' --set-customization-variable L2H_TMP=$tmp_dir --conf-dir $srcdir/../../init
--set-customization-variable 'HTML_MATH l2h' --set-customization-variable
L2H_FILE=$srcdir/../../t/init/l2h.init --set-customiz [...]
+echo "$PERL -I $srcdir/../.. -I
$srcdir/../../maintain/lib/Unicode-EastAsianWidth/lib/ -I
$srcdir/../../maintain/lib/libintl-perl/lib -I
$srcdir/../../maintain/lib/Text-Unidecode/lib/ -w $srcdir/../../texi2any.pl
--set-customization-variable 'TEXI2HTML 1' --set-customization-variable 'TEST
1' --set-customization-variable L2H_TMP=$tmp_dir --conf-dir $srcdir/../../init
--set-customization-variable 'HTML_MATH l2h' --set-customization-variable
L2H_FILE=$srcdir/../../t/init/l2h.init --set-cu [...]
+$PERL -I $srcdir/../.. -I
$srcdir/../../maintain/lib/Unicode-EastAsianWidth/lib/ -I
$srcdir/../../maintain/lib/libintl-perl/lib -I
$srcdir/../../maintain/lib/Text-Unidecode/lib/ -w $srcdir/../../texi2any.pl
--set-customization-variable 'TEXI2HTML 1' --set-customization-variable 'TEST
1' --set-customization-variable L2H_TMP=$tmp_dir --conf-dir $srcdir/../../init
--set-customization-variable 'HTML_MATH l2h' --set-customization-variable
L2H_FILE=$srcdir/../../t/init/l2h.init --set-customiz [...]
return_code=0
ret=$?
@@ -63,26 +64,26 @@ if [ $ret != 0 ]; then
return_code=1
else
outdir=$basename
- cp -pr $outdir $raw_output_dir
- rm -f $outdir/*_l2h_images.log $outdir/*.aux $outdir/*_l2h.css \
- $outdir/*_l2h_images.out $outdir/*_l2h_images.pl
$outdir/*_l2h_images.pdf \
- $outdir/*.png $outdir/*.svg $outdir/$stdout_file
+ cp -pr "$outdir" "$raw_output_dir"
+ destination_outdir="$outdir/encodé/"
+ destination_raw_outdir="$raw_outdir/encodé/"
+ rm -f $destination_outdir/*_l2h_images.log $destination_outdir/*.aux
$destination_outdir/*_l2h.css \
+ $destination_outdir/*_l2h_images.out
$destination_outdir/*_l2h_images.pl $destination_outdir/*_l2h_images.pdf \
+ $destination_outdir/*.png $destination_outdir/*.svg
$outdir/$stdout_file
sed -e 's/^texexpand.*/texexpand /' \
-e '/is no longer supported at.*line/d' "$raw_outdir/$basename.2" >
"$outdir/$basename.2"
- #for file in "$raw_outdir/"*.html "$raw_outdir/"*_l2h_images.pl
"$raw_outdir/"*-l2h_cache.pm; do
- for file in "$raw_outdir/"*.html "$raw_outdir/"*-l2h_cache.pm; do
+ for file in "$destination_raw_outdir/"*.html
"$destination_raw_outdir/"*-l2h_cache.pm; do
filename=`basename "$file"`
sed -e 's/WIDTH="\([0-9]*\)\([0-9]\)"/WIDTH="100"/' \
-e 's/CONTENT="LaTeX2HTML.*/CONTENT="LaTeX2HTML">/' \
-e 's/with LaTeX2HTML.*/with LaTeX2HTML/' \
-e 's/^# LaTeX2HTML.*/# LaTeX2HTML/' \
- "$file" > "$outdir/$filename"
+ "$file" > "$destination_outdir/$filename"
done
-
- for file in "$raw_outdir/"*_l2h_labels.pl; do
+ for file in "$destination_raw_outdir/"*_l2h_labels.pl; do
filename=`basename "$file"`
- sed -e 's/^# LaTeX2HTML.*/# LaTeX2HTML/' "$file" > "$outdir/$filename"
+ sed -e 's/^# LaTeX2HTML.*/# LaTeX2HTML/' "$file" >
"$destination_outdir/$filename"
done
dir=$basename
@@ -90,8 +91,6 @@ else
rm -rf $staging_dir/${dir}_res
cp -pr "$srcdir/${dir}_res" $staging_dir
chmod -R u+w "$staging_dir/${dir}_res"
- rm -rf $staging_dir/${dir}_res/CVS $staging_dir/${dir}_res/.svn
- #diff -u --exclude=CVS --exclude='*.png' -r "$srcdir/${dir}_res" "${dir}"
2>>$logfile > "$diffs_dir/$dir.diff"
diff $DIFF_U_OPTION -r "$staging_dir/${dir}_res" "$outdir" 2>>$logfile >
"$diffs_dir/$dir.diff"
dif_ret=$?
if [ $dif_ret != 0 ]; then
diff --git
"a/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex-l2h_cache.pm"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex-l2h_cache.pm"
new file mode 100644
index 0000000000..14e12dac1d
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex-l2h_cache.pm"
@@ -0,0 +1,75 @@
+# Automatically generated
+use utf8;
+
+$l2h_cache_key = q/$$
+ U w V^\dagger
+$$/;
+$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+U w V^\dagger
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 2.54ex; vertical-align: -0.12ex; " SRC="tex_complex_3.svg"
+ ALT="$\displaystyle U w V^\dagger
+$">
+</DIV>
+|;
+
+$l2h_cache_key = q/$$
+\omega = h ( \eta , \varphi)
+$$/;
+$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+\omega = h ( \eta , \varphi)
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 2.78ex; vertical-align: -0.70ex; " SRC="tex_complex_5.svg"
+ ALT="$\displaystyle \omega = h ( \eta , \varphi)
+$">
+</DIV>
+|;
+
+$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_complex_1.svg"
+ ALT="$\displaystyle \partial_{\eta} g(\eta(t),\varphi(t));
+$">
+</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_complex_2.svg"
+ ALT="$(I-D) \varphi(t)$"></SPAN>|;
+
+$l2h_cache_key = q/$\phi w V^t$/;
+$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.75ex; vertical-align: -0.57ex; " SRC="tex_complex_4.svg"
+ ALT="$\phi w V^t$"></SPAN>|;
+
+$l2h_cache_key = q/$h \dot \psi^\phi$/;
+$l2h_cache{$l2h_cache_key} = q|<!-- MATH
+ $h \dot \psi^\phi$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 3.07ex; vertical-align: -0.57ex; " SRC="tex_complex_6.svg"
+ ALT="$h \dot \psi^\phi$"></SPAN>|;
+
+1;
diff --git
"a/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex.html"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex.html"
new file mode 100644
index 0000000000..aed5247b16
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex.html"
@@ -0,0 +1,134 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- $$\partial_{\eta} g(\eta(t),\varphi(t));
+$$
+
+Some (I-D) \varphi(t) math. -->
+<title>The title</title>
+
+<meta name="description" content="The title">
+<meta name="keywords" content="The title">
+<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">
+<h1 class="title">The title</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_complex_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_complex_2.svg"
+ ALT="$(I-D) \varphi(t)$"></SPAN> math.
+</p><hr>
+
+
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="The-title">The title</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_complex_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_complex_2.svg"
+ ALT="$(I-D) \varphi(t)$"></SPAN> math.
+</p>
+<p>Tex:
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+U w V^\dagger
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 2.54ex; vertical-align: -0.12ex; " SRC="tex_complex_3.svg"
+ ALT="$\displaystyle U w V^\dagger
+$">
+</DIV>
+
+</p>
+<p>and math <SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.75ex; vertical-align: -0.57ex; " SRC="tex_complex_4.svg"
+ ALT="$\phi w V^t$"></SPAN>.
+</p>
+<p>Now there is a footnote<a class="footnote" id="DOCF1"
href="#FOOT1"><sup>1</sup></a>
+</p>
+<div class="footnotes-segment">
+<hr>
+<h3 class="footnotes-heading">Footnotes</h3>
+
+<h5 class="footnote-body-heading"><a id="FOOT1" href="#DOCF1">(1)</a></h5>
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+\omega = h ( \eta , \varphi)
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 2.78ex; vertical-align: -0.70ex; " SRC="tex_complex_5.svg"
+ ALT="$\displaystyle \omega = h ( \eta , \varphi)
+$">
+</DIV>
+
+
+<p>and math <!-- MATH
+ $h \dot \psi^\phi$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 3.07ex; vertical-align: -0.57ex; " SRC="tex_complex_6.svg"
+ ALT="$h \dot \psi^\phi$"></SPAN>.
+</p>
+</div>
+<hr>
+</div>
+<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/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h.html"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h.html"
new file mode 100644
index 0000000000..d8b53cfe37
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h.html"
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML>
+
+<!--Converted with LaTeX2HTML
+<HTML lang="en">
+<HEAD>
+<TITLE>tex_complex_l2h</TITLE>
+<META NAME="description" CONTENT="tex_complex_l2h">
+<META NAME="keywords" CONTENT="tex_complex_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_complex_l2h.css">
+
+</HEAD>
+
+<BODY >
+
+<!-- l2h_begin tex_complex_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_complex_l2h_img1.svg"
+ ALT="$\displaystyle \partial_{\eta} g(\eta(t),\varphi(t));
+$">
+</DIV>
+
+
+<!-- l2h_end tex_complex_l2h 1 -->
+
+<!-- l2h_begin tex_complex_l2h 2 -->
+<!-- MATH
+ $(I-D) \varphi(t)$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.78ex; vertical-align: -0.70ex; "
SRC="tex_complex_l2h_img2.svg"
+ ALT="$(I-D) \varphi(t)$"></SPAN>
+
+<!-- l2h_end tex_complex_l2h 2 -->
+
+<!-- l2h_begin tex_complex_l2h 3 -->
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+U w V^\dagger
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 2.54ex; vertical-align: -0.12ex; "
SRC="tex_complex_l2h_img3.svg"
+ ALT="$\displaystyle U w V^\dagger
+$">
+</DIV>
+
+
+<!-- l2h_end tex_complex_l2h 3 -->
+
+<!-- l2h_begin tex_complex_l2h 4 -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 2.75ex; vertical-align: -0.57ex; "
SRC="tex_complex_l2h_img4.svg"
+ ALT="$\phi w V^t$"></SPAN>
+
+<!-- l2h_end tex_complex_l2h 4 -->
+
+<!-- l2h_begin tex_complex_l2h 5 -->
+<DIV CLASS="displaymath">
+<!-- MATH
+ \begin{displaymath}
+\omega = h ( \eta , \varphi)
+\end{displaymath}
+ -->
+
+<IMG
+ STYLE="height: 2.78ex; vertical-align: -0.70ex; "
SRC="tex_complex_l2h_img5.svg"
+ ALT="$\displaystyle \omega = h ( \eta , \varphi)
+$">
+</DIV>
+
+
+<!-- l2h_end tex_complex_l2h 5 -->
+
+<!-- l2h_begin tex_complex_l2h 6 -->
+<!-- MATH
+ $h \dot \psi^\phi$
+ -->
+<SPAN CLASS="MATH"><IMG
+ STYLE="height: 3.07ex; vertical-align: -0.57ex; "
SRC="tex_complex_l2h_img6.svg"
+ ALT="$h \dot \psi^\phi$"></SPAN>
+
+<!-- l2h_end tex_complex_l2h 6 -->
+<BR>
+<HR>
+</BODY>
+</HTML>
diff --git
"a/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h.tex"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h.tex"
new file mode 100644
index 0000000000..8431099b54
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h.tex"
@@ -0,0 +1,65 @@
+% 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_complex_l2h 1 -->
+\end{rawhtml}
+$$\partial_{\eta} g(\eta(t),\varphi(t));
+$$
+\begin{rawhtml}
+<!-- l2h_end tex_complex_l2h 1 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_complex_l2h 2 -->
+\end{rawhtml}
+$(I-D) \varphi(t)$
+\begin{rawhtml}
+<!-- l2h_end tex_complex_l2h 2 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_complex_l2h 3 -->
+\end{rawhtml}
+$$
+ U w V^\dagger
+$$
+\begin{rawhtml}
+<!-- l2h_end tex_complex_l2h 3 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_complex_l2h 4 -->
+\end{rawhtml}
+$\phi w V^t$
+\begin{rawhtml}
+<!-- l2h_end tex_complex_l2h 4 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_complex_l2h 5 -->
+\end{rawhtml}
+$$
+\omega = h ( \eta , \varphi)
+$$
+\begin{rawhtml}
+<!-- l2h_end tex_complex_l2h 5 -->
+
+\end{rawhtml}
+\begin{rawhtml}
+
+<!-- l2h_begin tex_complex_l2h 6 -->
+\end{rawhtml}
+$h \dot \psi^\phi$
+\begin{rawhtml}
+<!-- l2h_end tex_complex_l2h 6 -->
+
+\end{rawhtml}
+\end{document}
diff --git
"a/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h_images.tex"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h_images.tex"
new file mode 100644
index 0000000000..890c3f7c8f
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h_images.tex"
@@ -0,0 +1,160 @@
+\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_indisplay19}%
+$\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_indisplay22}%
+$\displaystyle U w V^\dagger
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline12}%
+$\phi w V^t$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay25}%
+$\displaystyle \omega = h ( \eta , \varphi)
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline16}%
+$h \dot \psi^\phi$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+
+\end{document}
diff --git
"a/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h_labels.pl"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_l2h_labels.pl"
new file mode 100644
index 0000000000..ecc7b241c4
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_complex_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/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251-l2h_cache.pm"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251-l2h_cache.pm"
new file mode 100644
index 0000000000..47a14fc616
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/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/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251.html"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251.html"
new file mode 100644
index 0000000000..e82ff19219
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/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">[ < ]</td>
+<td valign="middle" align="left">[<a href="#Chapter" title="Next section in
reading order"> > </a>]</td>
+<td valign="middle" align="left"> </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"> << </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Previous section in
reading order"> < </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up
</a>]</td>
+<td valign="middle" align="left">[ > ]</td>
+<td valign="middle" align="left">[ >> ]</td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </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"> [ << ] </td>
+ <td align="center">FastBack</td>
+ <td>Beginning of this chapter or previous chapter</td>
+ <td>1</td>
+ </tr>
+ <tr>
+ <td align="center"> [ < ] </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"> [ > ] </td>
+ <td align="center">Forward</td>
+ <td>Next section in reading order</td>
+ <td>1.2.4</td>
+ </tr>
+ <tr>
+ <td align="center"> [ >> ] </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> </td>
+ </tr>
+ <tr>
+ <td align="center"> [Contents] </td>
+ <td align="center">Contents</td>
+ <td>Table of contents</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td align="center"> [Index] </td>
+ <td align="center">Index</td>
+ <td>Index</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td align="center"> [ ? ] </td>
+ <td align="center">About</td>
+ <td>About (help)</td>
+ <td> </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
+ <strong><== 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/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_l2h.html"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_l2h.html"
new file mode 100644
index 0000000000..8ffcbdd98f
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/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/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_l2h.tex"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_l2h.tex"
new file mode 100644
index 0000000000..f2079f8fa0
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/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/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_l2h_images.tex"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_l2h_images.tex"
new file mode 100644
index 0000000000..6e5c06860a
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/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/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_l2h_labels.pl"
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_l2h_labels.pl"
new file mode 100644
index 0000000000..ecc7b241c4
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/encod\303\251/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/many_input_files/tex_l2h_output_dir_non_ascii_res/tex_l2h_output_dir_non_ascii.2
b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/tex_l2h_output_dir_non_ascii.2
new file mode 100644
index 0000000000..203b8542c8
--- /dev/null
+++
b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii_res/tex_l2h_output_dir_non_ascii.2
@@ -0,0 +1,2 @@
+texexpand
+texexpand
diff --git a/tp/tests/many_input_files/tex_t4ht.sh
b/tp/tests/many_input_files/tex_t4ht.sh
index df5e5bfbd7..deb04017db 100755
--- a/tp/tests/many_input_files/tex_t4ht.sh
+++ b/tp/tests/many_input_files/tex_t4ht.sh
@@ -55,8 +55,6 @@ else
rm -rf $staging_dir/${dir}_res
cp -pr "$srcdir/${dir}_res" $staging_dir
chmod -R u+w "$staging_dir/${dir}_res"
- rm -rf $staging_dir/${dir}_res/CVS $staging_dir/${dir}_res/.svn
- #diff -u --exclude=CVS --exclude='*.png' -r "$srcdir/${dir}_res" "${dir}"
2>>$logfile > "$diffs_dir/$dir.diff"
diff $DIFF_U_OPTION -r "$staging_dir/${dir}_res" "${outdir}" 2>>$logfile >
"$diffs_dir/$dir.diff"
dif_ret=$?
if [ $dif_ret != 0 ]; then
diff --git a/tp/tests/many_input_files/tex_t4ht.sh
b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh
similarity index 72%
copy from tp/tests/many_input_files/tex_t4ht.sh
copy to tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh
index df5e5bfbd7..c420618fc7 100755
--- a/tp/tests/many_input_files/tex_t4ht.sh
+++ b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh
@@ -1,13 +1,14 @@
#! /bin/sh
-LC_ALL=C; export LC_ALL
+LC_ALL=C.UTF-8; export LC_ALL
+LANGUAGE=C.UTF-8; export LANGUAGE
if test "z$TEX_HTML_TESTS" != z'yes'; then
echo "Skipping HTML TeX tests that are not easily reproducible"
exit 77
fi
-basename=tex_t4ht
+basename=tex_t4ht_output_dir_non_ascii
diffs_dir=diffs
raw_output_dir=raw_out
logfile=$basename.log
@@ -35,8 +36,8 @@ raw_outdir=$raw_output_dir/$basename
[ -d $raw_outdir ] && rm -rf $raw_outdir
mkdir $basename
: > $basename/$stdout_file
-echo "$PERL -w $srcdir/../../texi2any.pl --set-customization-variable
'TEXI2HTML 1' --set-customization-variable 'TEST 1' --conf-dir
$srcdir/../../init --init-file tex4ht.pm --iftex --out $basename/
$srcdir/../tex_html/tex_complex.texi $srcdir/../tex_html/tex.texi --force >>
$basename/$stdout_file 2>$basename/${basename}.2" >> $logfile
-$PERL -w $srcdir/../../texi2any.pl --set-customization-variable 'TEXI2HTML 1'
--set-customization-variable 'TEST 1' --conf-dir $srcdir/../../init --init-file
tex4ht.pm --iftex --out $basename/ $srcdir/../tex_html/tex_complex.texi
$srcdir/../tex_html/tex.texi --force >> $basename/$stdout_file
2>$basename/${basename}.2
+echo "$PERL -w $srcdir/../../texi2any.pl --set-customization-variable
'TEXI2HTML 1' --set-customization-variable 'TEST 1' --conf-dir
$srcdir/../../init --init-file tex4ht.pm --iftex --out $basename/encodé/
$srcdir/../tex_html/tex_encodé.texi $srcdir/../tex_html/tex_complex.texi
--force >> $basename/$stdout_file 2>$basename/${basename}.2" >> $logfile
+$PERL -w $srcdir/../../texi2any.pl --set-customization-variable 'TEXI2HTML 1'
--set-customization-variable 'TEST 1' --conf-dir $srcdir/../../init --init-file
tex4ht.pm --iftex --out $basename/encodé/ $srcdir/../tex_html/tex_encodé.texi
$srcdir/../tex_html/tex_complex.texi --force >> $basename/$stdout_file
2>$basename/${basename}.2
return_code=0
ret=$?
@@ -46,17 +47,16 @@ if [ $ret != 0 ]; then
else
outdir="$basename"
cp -pr $outdir $raw_output_dir
- rm -f $outdir/*_tex4ht_*.log \
- $outdir/*_tex4ht_*.idv $outdir/*_tex4ht_*.dvi \
- $outdir/*_tex4ht_tex.html $outdir/*.png $outdir/$stdout_file
+ destination_outdir=$outdir/encodé/
+ rm -f $destination_outdir/*_tex4ht_*.log \
+ $destination_outdir/*_tex4ht_*.idv $destination_outdir/*_tex4ht_*.dvi \
+ $destination_outdir/*_tex4ht_tex.html $destination_outdir/*.png
$outdir/$stdout_file
dir=${basename}
if [ -d $srcdir/${dir}_res ]; then
rm -rf $staging_dir/${dir}_res
cp -pr "$srcdir/${dir}_res" $staging_dir
chmod -R u+w "$staging_dir/${dir}_res"
- rm -rf $staging_dir/${dir}_res/CVS $staging_dir/${dir}_res/.svn
- #diff -u --exclude=CVS --exclude='*.png' -r "$srcdir/${dir}_res" "${dir}"
2>>$logfile > "$diffs_dir/$dir.diff"
diff $DIFF_U_OPTION -r "$staging_dir/${dir}_res" "${outdir}" 2>>$logfile >
"$diffs_dir/$dir.diff"
dif_ret=$?
if [ $dif_ret != 0 ]; then
diff --git
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex.html"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex.html"
new file mode 100644
index 0000000000..9f29f50179
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex.html"
@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- $$\partial_{\eta} g(\eta(t),\varphi(t));
+$$
+
+Some (I-D) \varphi(t) math. -->
+<title>The title</title>
+
+<meta name="description" content="The title">
+<meta name="keywords" content="The title">
+<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_complex_tex4ht_tex.css";
+
+span.program-in-footer {font-size: smaller}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<h1 class="title">The title</h1>
+
+
+ <div class="math-display" >
+<img
+src="tex_complex_tex4ht_tex0x.png"
alt="∂ηg(η(t),φ(t));
+" class="math-display" ></div>
+<!--l. 6--><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">φ</span>(<span
+class="cmmi-10">t</span>) math.
+</p><hr>
+
+
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="The-title">The title</h1>
+
+
+ <div class="math-display" >
+<img
+src="tex_complex_tex4ht_tex0x.png"
alt="∂ηg(η(t),φ(t));
+" class="math-display" ></div>
+<!--l. 6--><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">φ</span>(<span
+class="cmmi-10">t</span>) math.
+</p>
+<p>Tex:
+
+ <div class="math-display" >
+<img
+src="tex_complex_tex4ht_tex1x.png" alt=" †
+UwV
+" class="math-display" ></div>
+<!--l. 13--><p class="indent" >
+</p>
+<p>and math <span
+class="cmmi-10">ϕwV</span> <sup><span
+class="cmmi-7">t</span></sup> .
+</p>
+<p>Now there is a footnote<a class="footnote" id="DOCF1"
href="#FOOT1"><sup>1</sup></a>
+</p>
+<div class="footnotes-segment">
+<hr>
+<h3 class="footnotes-heading">Footnotes</h3>
+
+<h5 class="footnote-body-heading"><a id="FOOT1" href="#DOCF1">(1)</a></h5>
+
+ <div class="math-display" >
+<img
+src="tex_complex_tex4ht_tex2x.png" alt="ω = h(η,φ )
+" class="math-display" ></div>
+<!--l. 20--><p class="indent" >
+
+<p>and math <span
+class="cmmi-10">h</span><img
+src="tex_complex_tex4ht_tex3x.png" alt="ψ˙" class="dot"
><sup><span
+class="cmmi-7">ϕ</span></sup> .
+</p>
+</div>
+<hr>
+</div>
+<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/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.4ct"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.4ct"
new file mode 100644
index 0000000000..9998f6203d
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.4ct"
@@ -0,0 +1,2 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
+\par
diff --git
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.4tc"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.4tc"
new file mode 100644
index 0000000000..4021816773
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.4tc"
@@ -0,0 +1 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
diff --git
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.css"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.css"
new file mode 100644
index 0000000000..59c6171d2e
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.css"
@@ -0,0 +1,44 @@
+
+/* start css.sty */
+.cmmi-10{font-style: italic;}
+.cmmi-7{font-size:70%;font-style: italic;}
+.cmsy-7{font-size:70%;}
+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/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.lg"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.lg"
new file mode 100644
index 0000000000..054a95d96f
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.lg"
@@ -0,0 +1,58 @@
+htfcss: cmmi font-style: italic;
+htfcss: cmmib font-style: italic; font-weight: bold;
+File: tex_complex_tex4ht_tex.html
+File: tex_complex_tex4ht_tex.css
+File: tex_complex_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_complex_tex4ht_tex.idv[1] ==> tex_complex_tex4ht_tex0x.png
---
+--- needs --- tex_complex_tex4ht_tex.idv[2] ==> tex_complex_tex4ht_tex1x.png
---
+--- needs --- tex_complex_tex4ht_tex.idv[3] ==> tex_complex_tex4ht_tex2x.png
---
+--- needs --- tex_complex_tex4ht_tex.idv[4] ==> tex_complex_tex4ht_tex3x.png
---
+--- characters ---
+Font("cmr","10","10","100")
+Font("cmmi","10","10","100")
+Font("cmmi","7","7","100")
+Font("cmsy","10","10","100")
+Font("cmsy","7","7","100")
diff --git
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tex"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tex"
new file mode 100644
index 0000000000..479366754f
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tex"
@@ -0,0 +1,24 @@
+% Automatically generated
+\csname tex4ht\endcsname
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_complex_tex4ht_tex tex 1
-->\Hnewline}
+$$\partial_{\eta} g(\eta(t),\varphi(t));
+$$
+\HCode{\Hnewline <!-- tex4ht_end tex_complex_tex4ht_tex tex 1 -->\Hnewline
\Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_complex_tex4ht_tex math 2
-->\Hnewline}
+\IgnorePar $(I-D) \varphi(t)$\HCode{\Hnewline <!-- tex4ht_end
tex_complex_tex4ht_tex math 2 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_complex_tex4ht_tex tex 3
-->\Hnewline}
+$$
+ U w V^\dagger
+$$
+\HCode{\Hnewline <!-- tex4ht_end tex_complex_tex4ht_tex tex 3 -->\Hnewline
\Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_complex_tex4ht_tex math 4
-->\Hnewline}
+\IgnorePar $\phi w V^t$\HCode{\Hnewline <!-- tex4ht_end tex_complex_tex4ht_tex
math 4 -->\Hnewline \Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_complex_tex4ht_tex tex 5
-->\Hnewline}
+$$
+\omega = h ( \eta , \varphi)
+$$
+\HCode{\Hnewline <!-- tex4ht_end tex_complex_tex4ht_tex tex 5 -->\Hnewline
\Hnewline}
+\HCode{\Hnewline \Hnewline <!-- tex4ht_begin tex_complex_tex4ht_tex math 6
-->\Hnewline}
+\IgnorePar $h \dot \psi^\phi$\HCode{\Hnewline <!-- tex4ht_end
tex_complex_tex4ht_tex math 6 -->\Hnewline \Hnewline}
+
+\bye
diff --git
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tmp"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tmp"
new file mode 100644
index 0000000000..41b58e2cf4
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.tmp"
@@ -0,0 +1,2 @@
+
+/* css.sty */
\ No newline at end of file
diff --git
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.xref"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.xref"
new file mode 100644
index 0000000000..e09203f38d
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_complex_tex4ht_tex.xref"
@@ -0,0 +1 @@
+\:CrossWord{)F1F-}{tex_complex_tex4ht_tex.html}{1}%
diff --git
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251.html"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251.html"
new file mode 100644
index 0000000000..8467f02ce5
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/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">[ < ]</td>
+<td valign="middle" align="left">[<a href="#Chapter" title="Next section in
reading order"> > </a>]</td>
+<td valign="middle" align="left"> </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"> << </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Previous section in
reading order"> < </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up
</a>]</td>
+<td valign="middle" align="left">[ > ]</td>
+<td valign="middle" align="left">[ >> ]</td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </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="∂ηg(η(t),φ(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">φ</span>(<span
+class="cmmi-10">t</span>) math.
+</p>
+
+ <div class="math-display" >
+<img
+src="tex_encodé_tex4ht_tex1x.png" alt="∫
+ 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"> [ << ] </td>
+ <td align="center">FastBack</td>
+ <td>Beginning of this chapter or previous chapter</td>
+ <td>1</td>
+ </tr>
+ <tr>
+ <td align="center"> [ < ] </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"> [ > ] </td>
+ <td align="center">Forward</td>
+ <td>Next section in reading order</td>
+ <td>1.2.4</td>
+ </tr>
+ <tr>
+ <td align="center"> [ >> ] </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> </td>
+ </tr>
+ <tr>
+ <td align="center"> [Contents] </td>
+ <td align="center">Contents</td>
+ <td>Table of contents</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td align="center"> [Index] </td>
+ <td align="center">Index</td>
+ <td>Index</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td align="center"> [ ? ] </td>
+ <td align="center">About</td>
+ <td>About (help)</td>
+ <td> </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
+ <strong><== 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/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.4ct"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.4ct"
new file mode 100644
index 0000000000..9998f6203d
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/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/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.4tc"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.4tc"
new file mode 100644
index 0000000000..4021816773
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.4tc"
@@ -0,0 +1 @@
+\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
diff --git
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.css"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.css"
new file mode 100644
index 0000000000..ebf19e3c62
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/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/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.lg"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.lg"
new file mode 100644
index 0000000000..38a71ba96b
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/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/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.tex"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.tex"
new file mode 100644
index 0000000000..18eff28080
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/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/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.tmp"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.tmp"
new file mode 100644
index 0000000000..41b58e2cf4
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.tmp"
@@ -0,0 +1,2 @@
+
+/* css.sty */
\ No newline at end of file
diff --git
"a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.xref"
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.xref"
new file mode 100644
index 0000000000..745c048b10
--- /dev/null
+++
"b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/encod\303\251/tex_encod\303\251_tex4ht_tex.xref"
@@ -0,0 +1 @@
+\:CrossWord{)F1F-}{tex_encodé_tex4ht_tex.html}{1}%
diff --git
a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/tex_t4ht_output_dir_non_ascii.2
b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii_res/tex_t4ht_output_dir_non_ascii.2
new file mode 100644
index 0000000000..e69de29bb2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: Decode/encode fixes,
Patrice Dumas <=