texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/ParserNonXS.pm (_input_push_file, _n


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/ParserNonXS.pm (_input_push_file, _next_text) (_end_line_misc_line), tp/Texinfo/Convert/HTML.pm (_process_css_file): do not use binmode to reset input encoding, as with buffering in input the file content is read ahead with the previous encoding. Instead set binary mode and decode upon getting the line.
Date: Sat, 22 Jul 2023 05:16:04 -0400

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 0b7ab21a67 * tp/Texinfo/ParserNonXS.pm (_input_push_file, _next_text) 
(_end_line_misc_line), tp/Texinfo/Convert/HTML.pm (_process_css_file): do not 
use binmode to reset input encoding, as with buffering in input the file 
content is read ahead with the previous encoding. Instead set binary mode and 
decode upon getting the line.
0b7ab21a67 is described below

commit 0b7ab21a67e9b867d93b937ecf20b4804f08eb62
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Jul 22 11:15:52 2023 +0200

    * tp/Texinfo/ParserNonXS.pm (_input_push_file, _next_text)
    (_end_line_misc_line), tp/Texinfo/Convert/HTML.pm (_process_css_file):
    do not use binmode to reset input encoding, as with buffering in
    input the file content is read ahead with the previous encoding.
    Instead set binary mode and decode upon getting the line.
    
    * tp/Makefile.am (test_files), t/include/chapter_*.texi,
    t/include/documentdescription_EUC_CN.texi,
    t/input_files/multiple_include_encodings.texi, tp/Makefile.tres,
    tp/t/formats_encodings.t (multiple_include_encodings): new test
    to test multiple encodings in a Texinfo manual with included files
    using different encodings.
    
    * tp/tests/encoded/Makefile.am (EXTRA_DIST), tp/tests/Makefile.onetst,
    tp/tests/encoded/list-of-tests (non_ascii_test_info),
    tp/tests/encoded/osé_utf8.texi, tp/tests/encoded/txt_çimage.txt:
    add image text file to osé_utf8.texi.  Add an info output test
    for osé_utf8.texi.
---
 ChangeLog                                          |   21 +
 tp/Makefile.am                                     |    8 +-
 tp/Makefile.tres                                   |    3 +
 tp/Texinfo/Convert/HTML.pm                         |   34 +-
 tp/Texinfo/ParserNonXS.pm                          |   38 +-
 tp/t/formats_encodings.t                           |    3 +
 .../chapter_char_latin2_latin2_in_refs.texi        |   19 +
 tp/t/include/chapter_chinese_mixed_with_en.texi    |   34 +
 .../chapter_chinese_mixed_with_en_EUC_CN.texi      |   32 +
 tp/t/include/chapter_japanese_shift_jis.texi       |   17 +
 tp/t/include/documentdescription_EUC_CN.texi       |    5 +
 tp/t/input_files/multiple_include_encodings.texi   |   31 +
 tp/t/input_files/sample_EUC_CN.texi                |    4 -
 .../multiple_include_encodings.pl                  | 2635 ++++++++++++++++++++
 .../res_html/A-a-_002c-E-e.html                    |   46 +
 .../res_html/Introduction.html                     |   48 +
 .../Mixed-chinese-and-english-utf_002d8.html       |   71 +
 .../Mixed-english-and-chinese-EUC_002dCN.html      |   74 +
 .../res_html/Preface.html                          |   49 +
 .../res_html/a-e-i-o-u-y-A-E-I-O-U.html            |   46 +
 .../res_html/char-latin2-latin2.html               |   65 +
 .../multiple_include_encodings/res_html/index.html |   62 +
 .../res_info/multiple_include_encodings.info       |  Bin 0 -> 5382 bytes
 tp/tests/Makefile.onetst                           |    1 +
 tp/tests/encoded/Makefile.am                       |    2 +-
 tp/tests/encoded/list-of-tests                     |    2 +
 "tp/tests/encoded/os\303\251_utf8.texi"            |    2 +
 .../non_ascii_command_line/Chapteur.html           |    2 +
 .../os\303\251-texinfo.texi"                       |    2 +
 .../non_ascii_command_line/os\303\251_utf8.2"      |    7 +-
 .../non_ascii_test_epub/os\303\251_utf8.2"         |    8 +-
 .../EPUB/xhtml/Chapteur.xhtml"                     |    4 +-
 .../non_ascii_test_info/os\303\251_utf8.1"         |    0
 .../non_ascii_test_info/os\303\251_utf8.2"         |    3 +
 .../non_ascii_test_info/os\303\251_utf8.info"      |  Bin 0 -> 568 bytes
 .../non_ascii_test_latex/os\303\251_utf8.2"        |    7 +-
 .../non_ascii_test_latex/os\303\251_utf8.tex"      |    2 +
 .../non_ascii_test_rawtext/os\303\251_utf8.2"      |    2 +-
 .../non_ascii_test_rawtext/os\303\251_utf8.txt"    |    2 +
 "tp/tests/encoded/txt_\303\247image.txt"           |    2 +
 .../test_scripts/encoded_non_ascii_test_info.sh    |   19 +
 41 files changed, 3362 insertions(+), 50 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 134c72ea85..b4d12b5459 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2023-07-22  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/ParserNonXS.pm (_input_push_file, _next_text)
+       (_end_line_misc_line), tp/Texinfo/Convert/HTML.pm (_process_css_file):
+       do not use binmode to reset input encoding, as with buffering in
+       input the file content is read ahead with the previous encoding.
+       Instead set binary mode and decode upon getting the line.
+
+       * tp/Makefile.am (test_files), t/include/chapter_*.texi,
+       t/include/documentdescription_EUC_CN.texi,
+       t/input_files/multiple_include_encodings.texi, tp/Makefile.tres,
+       tp/t/formats_encodings.t (multiple_include_encodings): new test
+       to test multiple encodings in a Texinfo manual with included files
+       using different encodings.
+
+       * tp/tests/encoded/Makefile.am (EXTRA_DIST), tp/tests/Makefile.onetst,
+       tp/tests/encoded/list-of-tests (non_ascii_test_info),
+       tp/tests/encoded/osé_utf8.texi, tp/tests/encoded/txt_çimage.txt:
+       add image text file to osé_utf8.texi.  Add an info output test
+       for osé_utf8.texi.
+
 2023-07-21  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/Common.pm (%encoding_name_conversion_map)
diff --git a/tp/Makefile.am b/tp/Makefile.am
index e96bf7a7cc..2254d0b065 100644
--- a/tp/Makefile.am
+++ b/tp/Makefile.am
@@ -130,10 +130,14 @@ test_files = \
  t/README \
  t/include/a.txt \
  t/include/aa.txt \
- t/include/my-bib-macros.texi \
+ t/include/chapter_char_latin2_latin2_in_refs.texi \
+ t/include/chapter_chinese_mixed_with_en.texi \
+ t/include/chapter_chinese_mixed_with_en_EUC_CN.texi \
+ t/include/chapter_japanese_shift_jis.texi \
  t/include/count_image.png \
  t/include/count_image.txt \
  t/include/count_image_text.txt \
+ t/include/documentdescription_EUC_CN.texi \
  t/include/f.txt \
  t/include/fdotext.ext \
  t/include/fdotext.png \
@@ -149,6 +153,7 @@ test_files = \
  t/include/image_encoded.txt \
  t/include/inc_@f--ile.texi \
  t/include/included_file_with_setfilename.texi \
+ t/include/my-bib-macros.texi \
  t/include/text_only_image.txt \
  t/include/this_is_a_long_unknown_file.png \
  t/include/verbatim_encoded.texi \
@@ -234,6 +239,7 @@ test_files = \
  t/input_files/minimal_empty_empty.texi \
  t/input_files/minimal_empty_with_bye.texi \
  t/input_files/minimal_empty_with_input.texi \
+ t/input_files/multiple_include_encodings.texi \
  t/input_files/navigation.texi \
  t/input_files/nodequote.texi \
  t/input_files/nodes_before_top.texi \
diff --git a/tp/Makefile.tres b/tp/Makefile.tres
index cb8292636c..248df2c460 100644
--- a/tp/Makefile.tres
+++ b/tp/Makefile.tres
@@ -521,6 +521,9 @@ test_files_generated_list = 
$(test_tap_files_generated_list) \
   t/results/formats_encodings/manual_simple_utf8_with_error.pl \
   t/results/formats_encodings/manual_simple_utf8_with_error/res_html \
   t/results/formats_encodings/manual_simple_utf8_with_error/res_info \
+  t/results/formats_encodings/multiple_include_encodings.pl \
+  t/results/formats_encodings/multiple_include_encodings/res_html \
+  t/results/formats_encodings/multiple_include_encodings/res_info \
   t/results/formats_encodings/no_documentencoding_and_insertions.pl \
   t/results/formats_encodings/sample_utf8.pl \
   t/results/formats_encodings/sample_utf8/res_html \
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 2ee269ff01..60344e5f4d 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -8222,29 +8222,26 @@ sub _process_css_file($$$)
   my $rules = [];
   my $imports = [];
   my $line_nr = 0;
-  while (my $line = <$fh>) {
+  # the rule is to assume utf-8.  There could also be a BOM, and
+  # the Content-Type: HTTP header but it is not relevant here.
+  # https://developer.mozilla.org/en-US/docs/Web/CSS/@charset
+  my $input_perl_encoding = 'utf-8';
+  while (my $input_line = <$fh>) {
+    my $line = Encode::decode($input_perl_encoding, $input_line);
     $line_nr++;
     if ($line_nr == 1) {
-      # the rule is to assume utf-8.  There could also be a BOM, and
-      # the Content-Type: HTTP header but it is not relevant here.
-      # https://developer.mozilla.org/en-US/docs/Web/CSS/@charset
-      my $charset = 'utf-8';
-      my $charset_line;
       # should always be the first line
       if ($line =~ /^\@charset  *"([^"]+)" *; *$/) {
-        $charset = $1;
-        $charset_line = 1;
-      }
-      my $Encode_encoding_object = find_encoding($charset);
-      if (defined($Encode_encoding_object)) {
-        my $input_perl_encoding = $Encode_encoding_object->name();
-        if ($input_perl_encoding eq 'utf-8') {
-          binmode($fh, ":utf8");
-        } else {
-          binmode($fh, ":encoding($input_perl_encoding)");
+        my $charset = $1;
+        my $Encode_encoding_object = find_encoding($charset);
+        if (defined($Encode_encoding_object)) {
+          my $perl_encoding = $Encode_encoding_object->name();
+          if (defined($perl_encoding) and $perl_encoding ne '') {
+            $input_perl_encoding = $perl_encoding;
+          }
         }
+        next;
       }
-      next if ($charset_line);
     }
     #print STDERR "Line: $line";
     if ($in_rules) {
@@ -8356,6 +8353,9 @@ sub _prepare_css($)
       }
       $css_file_fh = \*CSSFILE;
     }
+    # FIXME set binary mode?  Or set explicitly text mode?
+    # Would need some testing on windows
+    # binmode($css_file_fh)
     my ($import_lines, $rules_lines);
     ($import_lines, $rules_lines)
       = $self->_process_css_file($css_file_fh, $css_file);
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 0ea7b50822..291f4f4542 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -812,19 +812,21 @@ sub _input_push_file
     return 0, undef, undef, $!;
   }
 
-  if (defined($self->{'input_file_encoding'})) {
-    if ($self->{'input_file_encoding'} eq 'utf-8') {
-      binmode($filehandle, ":utf8");
-      # Use :utf8 instead of :encoding(utf-8), as the latter does
-      # error checking and has (unreliably) led to fatal errors
-      # when reading the first few lines of e.g. Latin-1 or Shift-JIS
-      # files, even though @documentencoding is given early on in the file.
-      # Evidently Perl is checking ahead in the file.
-    } else {
-      binmode($filehandle,
-              ":encoding($self->{'input_file_encoding'})");
-    }
-  }
+  # to be able to change the encoding in the midst of reading a file,
+  # the file is opened in binary mode, no decoding is done on the file
+  # descriptor, but decoding is done after reading.
+  #
+  # The reason why it must be done so is that there is no possibility
+  # to avoid buffering for the input.  Therefore some of the input file
+  # is always read in advance.  Decoding using layers on the input file
+  # descriptor by setting, each time @documentencoding is seen
+  #   binmode($filehandle, ":encoding($encoding)")
+  # will fail, as the input file has already been read and the previous
+  # layer has already been used to decode when the encoding is changed.
+  # This is tested in the formats_encodings multiple_include_encodings
+  # test.
+  binmode($filehandle);
+
   my ($file_name, $directories, $suffix) = fileparse($input_file_path);
 
   my $file_input = {
@@ -837,6 +839,8 @@ sub _input_push_file
        'fh' => $filehandle,
        'input_file_path' => $input_file_path,
     };
+  $file_input->{'file_input_encoding'} = $self->{'input_file_encoding'}
+    if (defined($self->{'input_file_encoding'}));
 
   $file_input->{'file_name_encoding'} = $file_name_encoding
        if (defined($file_name_encoding));
@@ -2369,7 +2373,8 @@ sub _next_text($;$)
         $input_error = 1;
       };
       my $fh = $input->{'fh'};
-      my $line = <$fh>;
+      my $input_line = <$fh>;
+      my $line = Encode::decode($input->{'file_input_encoding'}, $input_line);
       if (defined($line)) {
         if ($input_error) {
           # possible encoding error.  attempt to recover by stripping out
@@ -3596,8 +3601,9 @@ sub _end_line_misc_line($$$)
 
             $self->{'input_file_encoding'} = $perl_encoding;
             foreach my $input (@{$self->{'input'}}) {
-              binmode($input->{'fh'}, ":encoding($perl_encoding)")
-                if ($input->{'fh'});
+              if ($input->{'fh'}) {
+                $input->{'file_input_encoding'} = $perl_encoding;
+              }
             }
           }
         }
diff --git a/tp/t/formats_encodings.t b/tp/t/formats_encodings.t
index 165026fa81..86693f8ed6 100644
--- a/tp/t/formats_encodings.t
+++ b/tp/t/formats_encodings.t
@@ -390,6 +390,9 @@ undef, {'test_file' => 'manual_simple_utf8_with_error.texi'}
 ['manual_simple_latin1_with_error',
 undef, {'test_file' => 'manual_simple_latin1_with_error.texi'}
 ],
+['multiple_include_encodings',
+undef, {'test_file' => 'multiple_include_encodings.texi'}
+],
 ['at_commands_in_refs_utf8',
 '@setfilename at_commands_in_refs_utf8.info
 @documentencoding utf-8
diff --git a/tp/t/include/chapter_char_latin2_latin2_in_refs.texi 
b/tp/t/include/chapter_char_latin2_latin2_in_refs.texi
new file mode 100644
index 0000000000..1e25566169
--- /dev/null
+++ b/tp/t/include/chapter_char_latin2_latin2_in_refs.texi
@@ -0,0 +1,19 @@
+@documentencoding ISO-8859-2
+
+@node char latin2 latin2
+@chapter char latin2 latin2 in refs
+
+@ref{� � � � �}.
+
+@printindex cp
+
+@c Aogonek(0xa1=0241) aogonek(0xb1=0261) standalone ogonek(0xca=0312) 
Eogonek(0xea=0352) eogonek
+@menu
+* � � � � �::
+@end menu
+
+@node � � � � �
+@section � � � � �
+
+@cindex � � � � �
+
diff --git a/tp/t/include/chapter_chinese_mixed_with_en.texi 
b/tp/t/include/chapter_chinese_mixed_with_en.texi
new file mode 100644
index 0000000000..37818830be
--- /dev/null
+++ b/tp/t/include/chapter_chinese_mixed_with_en.texi
@@ -0,0 +1,34 @@
+@documentencoding utf-8
+
+@node Mixed chinese and english utf-8
+@chapter Mixed chinese and english utf-8
+
+Example of english and chinese, chinese aligned or not.
+
+1. english only
+
+The Emacs mode for programming in Ada 95 with GNAT helps the user
+in
+understanding existing code and facilitates writing new code.  It
+furthermore provides some utility functions for easier integration of
+standard Emacs features when programming in Ada.
+
+2. chinese already aligned in source(this result)
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存读取
+变量的值,而不是作某些优化。(这些优化有可能导致程序不能获得正确的值)
+
+3. chinese not aligned in source
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存
+读取
+变量的值,而不是作某些优化。
+(这些优化有可能导致程序不能获得正确的值)
+
+4. a mix of chinese and english
+
+restrict 表示在当前 scope 内不允许其它变量指向它。用处,比如防止 memory
+overlap。
+
+
+@bye
diff --git a/tp/t/include/chapter_chinese_mixed_with_en_EUC_CN.texi 
b/tp/t/include/chapter_chinese_mixed_with_en_EUC_CN.texi
new file mode 100644
index 0000000000..e776ab1cf5
--- /dev/null
+++ b/tp/t/include/chapter_chinese_mixed_with_en_EUC_CN.texi
@@ -0,0 +1,32 @@
+@documentencoding EUC-CN
+
+@node Mixed english and chinese EUC-CN
+@chapter Mixed english and chinese EUC-CN
+
+Example of english and chinese, chinese aligned or not.
+1. english only
+
+The Emacs mode for programming in Ada 95 with GNAT helps the user
+in
+understanding existing code and facilitates writing new code.  It
+furthermore provides some utility functions for easier integration of
+standard Emacs features when programming in Ada.
+
+2. chinese already aligned in source(this result)
+
+�ⳣ�������ζ���̻߳���ʻ��޸ĵ�ȫ�ֱ������ñ�������֤ÿ�ζ����ڴ��ȡ
+������ֵ����������ijЩ�Ż�������Щ�Ż��п��ܵ��³����ܻ����ȷ��ֵ��
+
+3. chinese not aligned in source
+
+�ⳣ�������ζ���̻߳���ʻ��޸ĵ�ȫ�ֱ������ñ�������֤ÿ�ζ����ڴ�
+��ȡ
+������ֵ����������ijЩ�Ż���
+����Щ�Ż��п��ܵ��³����ܻ����ȷ��ֵ��
+
+4. a mix of chinese and english
+
+restrict ��ʾ�ڵ�ǰ scope �ڲ�������������ָ�������ô��������ֹ memory
+overlap��
+
+
diff --git a/tp/t/include/chapter_japanese_shift_jis.texi 
b/tp/t/include/chapter_japanese_shift_jis.texi
new file mode 100644
index 0000000000..a809a7f69e
--- /dev/null
+++ b/tp/t/include/chapter_japanese_shift_jis.texi
@@ -0,0 +1,17 @@
+@documentencoding shift_jis
+@documentlanguage ja
+
+
+@node Preface
+@chapter Preface
+
+����� GNU LilyPond �o�[�W���� 
+
+����� 1995 �N�̂������ EJE (Eindhoven Youth Orchestra) 
�̃��n�[�T�����̂ł����Ƃł��� �| 
����ς��҂̃o�C�I�����t�҂ł���W�����͓������ς��҂̃t�����`�z�����t�҂̃n��-�E�F���ɔނ���������Ă���V�����傫�ȃv���W�F�N�g�̂��Ƃ�b���܂����B����͉��y��o�ł��邽�߂̎��������ꂽ�V�X�e���ł�
 (���m�ɂ́A����� MPP �| MusiXTeX 
�̃v���v���Z�b�T�ł�)�B����𕷂��ăn��-�E�F���͂����Ɋy�����炢���‚��̕�����v�����g�A�E�g�������Ǝv���A�ނ͂��̂��߂̃\�t�g�E�F�A��T���n�߁A�����ɂ��̗��ɂȂ��Ă��܂��܂����B���
 ꂪ MPP �̏I������t���܂����B�����̓N�w�I�l�@��܂ݔ��M���� email �̌�� [...]
+
+
+@node Introduction
+@chapter Introduction
+
+���̏͂ł͓ǎ҂� LilyPond �Ƃ��̃h�L�������g�ɂ‚��Ă̏Љ��s���܂��B
+
diff --git a/tp/t/include/documentdescription_EUC_CN.texi 
b/tp/t/include/documentdescription_EUC_CN.texi
new file mode 100644
index 0000000000..4a158e586d
--- /dev/null
+++ b/tp/t/include/documentdescription_EUC_CN.texi
@@ -0,0 +1,5 @@
+@documentencoding EUC-CN
+
+@documentdescription
+Sample ʾ�� 
+@end documentdescription
diff --git a/tp/t/input_files/multiple_include_encodings.texi 
b/tp/t/input_files/multiple_include_encodings.texi
new file mode 100644
index 0000000000..dbdb8bc53f
--- /dev/null
+++ b/tp/t/input_files/multiple_include_encodings.texi
@@ -0,0 +1,31 @@
+\input texinfo.tex
+@documentencoding ISO-8859-1
+
+@copying
+T�l�.
+@end copying
+
+@include documentdescription_EUC_CN.texi
+
+@documentencoding ISO-8859-1
+
+@node Top
+@top include files with multiple encodings
+
+@include verbatim_encoded_latin1.texi
+
+@node � � � � � � � � � � �
+@chapter � � � � � � � � � � �
+
+@include chapter_japanese_shift_jis.texi
+
+@include chapter_char_latin2_latin2_in_refs.texi
+
+@include chapter_chinese_mixed_with_en_EUC_CN.texi
+
+@c need to finish with an encoding that can accept all the
+@c codepoints used in the other encodings
+
+@include chapter_chinese_mixed_with_en.texi
+
+@bye
diff --git a/tp/t/input_files/sample_EUC_CN.texi 
b/tp/t/input_files/sample_EUC_CN.texi
deleted file mode 100644
index 9684c08459..0000000000
--- a/tp/t/input_files/sample_EUC_CN.texi
+++ /dev/null
@@ -1,4 +0,0 @@
-\input texinfo   @c -*-texinfo-*-
-@c %**start of header
-@setfilename sample_utf8.info
-@settitle Sample ʾ�� 
\ No newline at end of file
diff --git a/tp/t/results/formats_encodings/multiple_include_encodings.pl 
b/tp/t/results/formats_encodings/multiple_include_encodings.pl
new file mode 100644
index 0000000000..cbeb8ed1ed
--- /dev/null
+++ b/tp/t/results/formats_encodings/multiple_include_encodings.pl
@@ -0,0 +1,2635 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'multiple_include_encodings'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'contents' => [
+            {
+              'text' => '\\input texinfo.tex
+',
+              'type' => 'text_before_beginning'
+            }
+          ],
+          'type' => 'preamble_before_beginning'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'ISO-8859-1'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'documentencoding',
+              'extra' => {
+                'input_encoding_name' => 'iso-8859-1',
+                'text_arg' => 'ISO-8859-1'
+              },
+              'info' => {
+                'spaces_before_argument' => {
+                  'text' => ' '
+                }
+              },
+              'source_info' => {
+                'file_name' => 'multiple_include_encodings.texi',
+                'line_nr' => 2,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            },
+            {
+              'args' => [
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'cmdname' => 'copying',
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => "T\x{e9}l\x{e9}.
+"
+                    }
+                  ],
+                  'type' => 'paragraph'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'text' => 'copying'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
+'
+                        }
+                      },
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'text_arg' => 'copying'
+                  },
+                  'info' => {
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'source_info' => {
+                    'file_name' => 'multiple_include_encodings.texi',
+                    'line_nr' => 6,
+                    'macro' => ''
+                  }
+                }
+              ],
+              'source_info' => {
+                'file_name' => 'multiple_include_encodings.texi',
+                'line_nr' => 4,
+                'macro' => ''
+              }
+            },
+            {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'documentdescription_EUC_CN.texi'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'include',
+                    'extra' => {
+                      'text_arg' => 'documentdescription_EUC_CN.texi'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'multiple_include_encodings.texi',
+                      'line_nr' => 8,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'include',
+                  'status' => 'start'
+                }
+              ],
+              'text' => '
+',
+              'type' => 'empty_line'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'EUC-CN'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'documentencoding',
+              'extra' => {
+                'input_encoding_name' => 'euc-cn',
+                'text_arg' => 'EUC-CN'
+              },
+              'info' => {
+                'spaces_before_argument' => {
+                  'text' => ' '
+                }
+              },
+              'source_info' => {
+                'file_name' => 'documentdescription_EUC_CN.texi',
+                'line_nr' => 1,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            },
+            {
+              'args' => [
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'cmdname' => 'documentdescription',
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => "Sample \x{793a}\x{4f8b} 
+"
+                    }
+                  ],
+                  'type' => 'paragraph'
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'text' => 'documentdescription'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
+'
+                        }
+                      },
+                      'type' => 'line_arg'
+                    }
+                  ],
+                  'cmdname' => 'end',
+                  'extra' => {
+                    'text_arg' => 'documentdescription'
+                  },
+                  'info' => {
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'source_info' => {
+                    'file_name' => 'documentdescription_EUC_CN.texi',
+                    'line_nr' => 5,
+                    'macro' => ''
+                  }
+                }
+              ],
+              'source_info' => {
+                'file_name' => 'documentdescription_EUC_CN.texi',
+                'line_nr' => 3,
+                'macro' => ''
+              },
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'sourcemark_type' => 'include',
+                  'status' => 'end'
+                }
+              ]
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'ISO-8859-1'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'documentencoding',
+              'extra' => {
+                'input_encoding_name' => 'iso-8859-1',
+                'text_arg' => 'ISO-8859-1'
+              },
+              'info' => {
+                'spaces_before_argument' => {
+                  'text' => ' '
+                }
+              },
+              'source_info' => {
+                'file_name' => 'multiple_include_encodings.texi',
+                'line_nr' => 10,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '
+',
+              'type' => 'empty_line'
+            }
+          ],
+          'type' => 'preamble_before_content'
+        }
+      ],
+      'type' => 'before_node_section'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Top'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'normalized' => 'Top'
+      },
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'multiple_include_encodings.texi',
+        'line_nr' => 12,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'include files with multiple encodings'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'verbatim_encoded_latin1.texi'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'include',
+                'extra' => {
+                  'text_arg' => 'verbatim_encoded_latin1.texi'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => 'multiple_include_encodings.texi',
+                  'line_nr' => 15,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'include',
+              'status' => 'start'
+            }
+          ],
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'position' => 2,
+                  'sourcemark_type' => 'include',
+                  'status' => 'end'
+                }
+              ],
+              'text' => "\x{e9}
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'multiple_include_encodings.texi',
+        'line_nr' => 13,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => "\x{e4} \x{eb} \x{ef} \x{f6} \x{fc} \x{ff} \x{c4} 
\x{cb} \x{cf} \x{d6} \x{dc}"
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'normalized' => 
'_00e4-_00eb-_00ef-_00f6-_00fc-_00ff-_00c4-_00cb-_00cf-_00d6-_00dc'
+      },
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'multiple_include_encodings.texi',
+        'line_nr' => 17,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => "\x{e4} \x{eb} \x{ef} \x{f6} \x{fc} \x{ff} \x{c4} 
\x{cb} \x{cf} \x{d6} \x{dc}"
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'chapter_japanese_shift_jis.texi'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'include',
+                'extra' => {
+                  'text_arg' => 'chapter_japanese_shift_jis.texi'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => 'multiple_include_encodings.texi',
+                  'line_nr' => 20,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'include',
+              'status' => 'start'
+            }
+          ],
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'shift_jis'
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => {
+                  'text' => '
+'
+                }
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'documentencoding',
+          'extra' => {
+            'input_encoding_name' => 'shift_jis',
+            'text_arg' => 'shift_jis'
+          },
+          'info' => {
+            'spaces_before_argument' => {
+              'text' => ' '
+            }
+          },
+          'source_info' => {
+            'file_name' => 'chapter_japanese_shift_jis.texi',
+            'line_nr' => 1,
+            'macro' => ''
+          }
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'ja'
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => {
+                  'text' => '
+'
+                }
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'documentlanguage',
+          'extra' => {
+            'text_arg' => 'ja'
+          },
+          'info' => {
+            'spaces_before_argument' => {
+              'text' => ' '
+            }
+          },
+          'source_info' => {
+            'file_name' => 'chapter_japanese_shift_jis.texi',
+            'line_nr' => 2,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'multiple_include_encodings.texi',
+        'line_nr' => 18,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Preface'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'normalized' => 'Preface'
+      },
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_japanese_shift_jis.texi',
+        'line_nr' => 5,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Preface'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => "\x{3053}\x{308c}\x{306f} GNU LilyPond 
\x{30d0}\x{30fc}\x{30b8}\x{30e7}\x{30f3} 
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => "\x{305d}\x{308c}\x{306f} 1995 
\x{5e74}\x{306e}\x{3042}\x{308b}\x{65e5}\x{306e} EJE (Eindhoven Youth 
Orchestra) 
\x{306e}\x{30ea}\x{30cf}\x{30fc}\x{30b5}\x{30eb}\x{4e2d}\x{306e}\x{3067}\x{304d}\x{3054}\x{3068}\x{3067}\x{3057}\x{305f}
 \x{2212} 
\x{3042}\x{308b}\x{5909}\x{308f}\x{308a}\x{8005}\x{306e}\x{30d0}\x{30a4}\x{30aa}\x{30ea}\x{30f3}\x{594f}\x{8005}\x{3067}\x{3042}\x{308b}\x{30b8}\x{30e3}\x{30f3}\x{306f}\x{540c}\x{3058}\x{304f}\x{5909}\x{308f}\x{308a}\x{8005}\x
 [...]
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_japanese_shift_jis.texi',
+        'line_nr' => 6,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Introduction'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'normalized' => 'Introduction'
+      },
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_japanese_shift_jis.texi',
+        'line_nr' => 13,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Introduction'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => 
"\x{3053}\x{306e}\x{7ae0}\x{3067}\x{306f}\x{8aad}\x{8005}\x{306b} LilyPond 
\x{3068}\x{3053}\x{306e}\x{30c9}\x{30ad}\x{30e5}\x{30e1}\x{30f3}\x{30c8}\x{306b}\x{3064}\x{3044}\x{3066}\x{306e}\x{7d39}\x{4ecb}\x{3092}\x{884c}\x{3044}\x{307e}\x{3059}\x{3002}
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'position' => 1,
+              'sourcemark_type' => 'include',
+              'status' => 'end'
+            }
+          ],
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'source_marks' => [
+            {
+              'counter' => 4,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'chapter_char_latin2_latin2_in_refs.texi'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'include',
+                'extra' => {
+                  'text_arg' => 'chapter_char_latin2_latin2_in_refs.texi'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => 'multiple_include_encodings.texi',
+                  'line_nr' => 22,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'include',
+              'status' => 'start'
+            }
+          ],
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'ISO-8859-2'
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => {
+                  'text' => '
+'
+                }
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'documentencoding',
+          'extra' => {
+            'input_encoding_name' => 'iso-8859-2',
+            'text_arg' => 'ISO-8859-2'
+          },
+          'info' => {
+            'spaces_before_argument' => {
+              'text' => ' '
+            }
+          },
+          'source_info' => {
+            'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+            'line_nr' => 1,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_japanese_shift_jis.texi',
+        'line_nr' => 14,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'char latin2 latin2'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'isindex' => 1,
+        'normalized' => 'char-latin2-latin2'
+      },
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+        'line_nr' => 3,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'char latin2 latin2 in refs'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => "\x{104} \x{105} \x{2db} \x{118} \x{119}"
+                    }
+                  ],
+                  'extra' => {
+                    'node_content' => [
+                      {}
+                    ],
+                    'normalized' => '_0104-_0105-_02db-_0118-_0119'
+                  },
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'ref',
+              'source_info' => {
+                'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+                'line_nr' => 6,
+                'macro' => ''
+              }
+            },
+            {
+              'text' => '.
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'cp'
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => {
+                  'text' => '
+'
+                }
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'printindex',
+          'extra' => {
+            'misc_args' => [
+              'cp'
+            ]
+          },
+          'info' => {
+            'spaces_before_argument' => {
+              'text' => ' '
+            }
+          },
+          'source_info' => {
+            'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+            'line_nr' => 8,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'text' => ' Aogonek(0xa1=0241) aogonek(0xb1=0261) standalone 
ogonek(0xca=0312) Eogonek(0xea=0352) eogonek
+',
+              'type' => 'rawline_arg'
+            }
+          ],
+          'cmdname' => 'c'
+        },
+        {
+          'args' => [
+            {
+              'info' => {
+                'spaces_after_argument' => {
+                  'text' => '
+'
+                }
+              },
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'menu',
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'text' => '* ',
+                  'type' => 'menu_entry_leading_text'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => "\x{104} \x{105} \x{2db} \x{118} \x{119}"
+                    }
+                  ],
+                  'extra' => {
+                    'node_content' => [
+                      {}
+                    ],
+                    'normalized' => '_0104-_0105-_02db-_0118-_0119'
+                  },
+                  'type' => 'menu_entry_node'
+                },
+                {
+                  'text' => '::',
+                  'type' => 'menu_entry_separator'
+                },
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'text' => '
+'
+                        }
+                      ],
+                      'type' => 'preformatted'
+                    }
+                  ],
+                  'type' => 'menu_entry_description'
+                }
+              ],
+              'source_info' => {
+                'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+                'line_nr' => 12,
+                'macro' => ''
+              },
+              'type' => 'menu_entry'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'text' => 'menu'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'text_arg' => 'menu'
+              },
+              'info' => {
+                'spaces_before_argument' => {
+                  'text' => ' '
+                }
+              },
+              'source_info' => {
+                'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+                'line_nr' => 13,
+                'macro' => ''
+              }
+            }
+          ],
+          'source_info' => {
+            'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+            'line_nr' => 11,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+        'line_nr' => 4,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => "\x{104} \x{105} \x{2db} \x{118} \x{119}"
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'normalized' => '_0104-_0105-_02db-_0118-_0119'
+      },
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+        'line_nr' => 15,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => "\x{104} \x{105} \x{2db} \x{118} \x{119}"
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'section',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => "\x{104} \x{105} \x{2db} \x{118} \x{119}"
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => {
+                  'text' => '
+'
+                }
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'cindex',
+          'extra' => {
+            'element_node' => {},
+            'index_entry' => [
+              'cp',
+              1
+            ]
+          },
+          'info' => {
+            'spaces_before_argument' => {
+              'text' => ' '
+            }
+          },
+          'source_info' => {
+            'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+            'line_nr' => 18,
+            'macro' => ''
+          },
+          'type' => 'index_entry_command'
+        },
+        {
+          'source_marks' => [
+            {
+              'counter' => 4,
+              'position' => 1,
+              'sourcemark_type' => 'include',
+              'status' => 'end'
+            }
+          ],
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'source_marks' => [
+            {
+              'counter' => 5,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'chapter_chinese_mixed_with_en_EUC_CN.texi'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'include',
+                'extra' => {
+                  'text_arg' => 'chapter_chinese_mixed_with_en_EUC_CN.texi'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => 'multiple_include_encodings.texi',
+                  'line_nr' => 24,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'include',
+              'status' => 'start'
+            }
+          ],
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'EUC-CN'
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => {
+                  'text' => '
+'
+                }
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'documentencoding',
+          'extra' => {
+            'input_encoding_name' => 'euc-cn',
+            'text_arg' => 'EUC-CN'
+          },
+          'info' => {
+            'spaces_before_argument' => {
+              'text' => ' '
+            }
+          },
+          'source_info' => {
+            'file_name' => 'chapter_chinese_mixed_with_en_EUC_CN.texi',
+            'line_nr' => 1,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_char_latin2_latin2_in_refs.texi',
+        'line_nr' => 16,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Mixed english and chinese EUC-CN'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'normalized' => 'Mixed-english-and-chinese-EUC_002dCN'
+      },
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_chinese_mixed_with_en_EUC_CN.texi',
+        'line_nr' => 3,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Mixed english and chinese EUC-CN'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => 'Example of english and chinese, chinese aligned or 
not.
+'
+            },
+            {
+              'text' => '1. english only
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => 'The Emacs mode for programming in Ada 95 with GNAT 
helps the user
+'
+            },
+            {
+              'text' => 'in
+'
+            },
+            {
+              'text' => 'understanding existing code and facilitates writing 
new code.  It
+'
+            },
+            {
+              'text' => 'furthermore provides some utility functions for 
easier integration of
+'
+            },
+            {
+              'text' => 'standard Emacs features when programming in Ada.
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => '2. chinese already aligned in source(this result)
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => 
"\x{8fd9}\x{5e38}\x{7528}\x{4e8e}\x{4fee}\x{9970}\x{591a}\x{4e2a}\x{7ebf}\x{7a0b}\x{4f1a}\x{8bbf}\x{95ee}\x{6216}\x{4fee}\x{6539}\x{7684}\x{5168}\x{5c40}\x{53d8}\x{91cf}\x{ff0c}\x{8ba9}\x{7f16}\x{8bd1}\x{5668}\x{4fdd}\x{8bc1}\x{6bcf}\x{6b21}\x{90fd}\x{4ece}\x{5185}\x{5b58}\x{8bfb}\x{53d6}
+"
+            },
+            {
+              'text' => 
"\x{53d8}\x{91cf}\x{7684}\x{503c}\x{ff0c}\x{800c}\x{4e0d}\x{662f}\x{4f5c}\x{67d0}\x{4e9b}\x{4f18}\x{5316}\x{3002}\x{ff08}\x{8fd9}\x{4e9b}\x{4f18}\x{5316}\x{6709}\x{53ef}\x{80fd}\x{5bfc}\x{81f4}\x{7a0b}\x{5e8f}\x{4e0d}\x{80fd}\x{83b7}\x{5f97}\x{6b63}\x{786e}\x{7684}\x{503c}\x{ff09}
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => '3. chinese not aligned in source
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => 
"\x{8fd9}\x{5e38}\x{7528}\x{4e8e}\x{4fee}\x{9970}\x{591a}\x{4e2a}\x{7ebf}\x{7a0b}\x{4f1a}\x{8bbf}\x{95ee}\x{6216}\x{4fee}\x{6539}\x{7684}\x{5168}\x{5c40}\x{53d8}\x{91cf}\x{ff0c}\x{8ba9}\x{7f16}\x{8bd1}\x{5668}\x{4fdd}\x{8bc1}\x{6bcf}\x{6b21}\x{90fd}\x{4ece}\x{5185}\x{5b58}
+"
+            },
+            {
+              'text' => "\x{8bfb}\x{53d6}
+"
+            },
+            {
+              'text' => 
"\x{53d8}\x{91cf}\x{7684}\x{503c}\x{ff0c}\x{800c}\x{4e0d}\x{662f}\x{4f5c}\x{67d0}\x{4e9b}\x{4f18}\x{5316}\x{3002}
+"
+            },
+            {
+              'text' => 
"\x{ff08}\x{8fd9}\x{4e9b}\x{4f18}\x{5316}\x{6709}\x{53ef}\x{80fd}\x{5bfc}\x{81f4}\x{7a0b}\x{5e8f}\x{4e0d}\x{80fd}\x{83b7}\x{5f97}\x{6b63}\x{786e}\x{7684}\x{503c}\x{ff09}
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => '4. a mix of chinese and english
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => "restrict \x{8868}\x{793a}\x{5728}\x{5f53}\x{524d} 
scope 
\x{5185}\x{4e0d}\x{5141}\x{8bb8}\x{5176}\x{5b83}\x{53d8}\x{91cf}\x{6307}\x{5411}\x{5b83}\x{3002}\x{7528}\x{5904}\x{ff0c}\x{6bd4}\x{5982}\x{9632}\x{6b62}
 memory
+"
+            },
+            {
+              'text' => "overlap\x{3002}
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'source_marks' => [
+            {
+              'counter' => 5,
+              'position' => 1,
+              'sourcemark_type' => 'include',
+              'status' => 'end'
+            }
+          ],
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'text' => ' need to finish with an encoding that can accept all 
the
+',
+              'type' => 'rawline_arg'
+            }
+          ],
+          'cmdname' => 'c'
+        },
+        {
+          'args' => [
+            {
+              'text' => ' codepoints used in the other encodings
+',
+              'type' => 'rawline_arg'
+            }
+          ],
+          'cmdname' => 'c'
+        },
+        {
+          'source_marks' => [
+            {
+              'counter' => 6,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'chapter_chinese_mixed_with_en.texi'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'include',
+                'extra' => {
+                  'text_arg' => 'chapter_chinese_mixed_with_en.texi'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => 'multiple_include_encodings.texi',
+                  'line_nr' => 29,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'include',
+              'status' => 'start'
+            }
+          ],
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => 'utf-8'
+                }
+              ],
+              'info' => {
+                'spaces_after_argument' => {
+                  'text' => '
+'
+                }
+              },
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'documentencoding',
+          'extra' => {
+            'input_encoding_name' => 'utf-8',
+            'text_arg' => 'utf-8'
+          },
+          'info' => {
+            'spaces_before_argument' => {
+              'text' => ' '
+            }
+          },
+          'source_info' => {
+            'file_name' => 'chapter_chinese_mixed_with_en.texi',
+            'line_nr' => 1,
+            'macro' => ''
+          }
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_chinese_mixed_with_en_EUC_CN.texi',
+        'line_nr' => 4,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Mixed chinese and english utf-8'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'extra' => {
+        'normalized' => 'Mixed-chinese-and-english-utf_002d8'
+      },
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_chinese_mixed_with_en.texi',
+        'line_nr' => 3,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'text' => 'Mixed chinese and english utf-8'
+            }
+          ],
+          'info' => {
+            'spaces_after_argument' => {
+              'text' => '
+'
+            }
+          },
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => 'Example of english and chinese, chinese aligned or 
not.
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => '1. english only
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => 'The Emacs mode for programming in Ada 95 with GNAT 
helps the user
+'
+            },
+            {
+              'text' => 'in
+'
+            },
+            {
+              'text' => 'understanding existing code and facilitates writing 
new code.  It
+'
+            },
+            {
+              'text' => 'furthermore provides some utility functions for 
easier integration of
+'
+            },
+            {
+              'text' => 'standard Emacs features when programming in Ada.
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => '2. chinese already aligned in source(this result)
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => 
"\x{8fd9}\x{5e38}\x{7528}\x{4e8e}\x{4fee}\x{9970}\x{591a}\x{4e2a}\x{7ebf}\x{7a0b}\x{4f1a}\x{8bbf}\x{95ee}\x{6216}\x{4fee}\x{6539}\x{7684}\x{5168}\x{5c40}\x{53d8}\x{91cf}\x{ff0c}\x{8ba9}\x{7f16}\x{8bd1}\x{5668}\x{4fdd}\x{8bc1}\x{6bcf}\x{6b21}\x{90fd}\x{4ece}\x{5185}\x{5b58}\x{8bfb}\x{53d6}
+"
+            },
+            {
+              'text' => 
"\x{53d8}\x{91cf}\x{7684}\x{503c}\x{ff0c}\x{800c}\x{4e0d}\x{662f}\x{4f5c}\x{67d0}\x{4e9b}\x{4f18}\x{5316}\x{3002}\x{ff08}\x{8fd9}\x{4e9b}\x{4f18}\x{5316}\x{6709}\x{53ef}\x{80fd}\x{5bfc}\x{81f4}\x{7a0b}\x{5e8f}\x{4e0d}\x{80fd}\x{83b7}\x{5f97}\x{6b63}\x{786e}\x{7684}\x{503c}\x{ff09}
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => '3. chinese not aligned in source
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => 
"\x{8fd9}\x{5e38}\x{7528}\x{4e8e}\x{4fee}\x{9970}\x{591a}\x{4e2a}\x{7ebf}\x{7a0b}\x{4f1a}\x{8bbf}\x{95ee}\x{6216}\x{4fee}\x{6539}\x{7684}\x{5168}\x{5c40}\x{53d8}\x{91cf}\x{ff0c}\x{8ba9}\x{7f16}\x{8bd1}\x{5668}\x{4fdd}\x{8bc1}\x{6bcf}\x{6b21}\x{90fd}\x{4ece}\x{5185}\x{5b58}
+"
+            },
+            {
+              'text' => "\x{8bfb}\x{53d6}
+"
+            },
+            {
+              'text' => 
"\x{53d8}\x{91cf}\x{7684}\x{503c}\x{ff0c}\x{800c}\x{4e0d}\x{662f}\x{4f5c}\x{67d0}\x{4e9b}\x{4f18}\x{5316}\x{3002}
+"
+            },
+            {
+              'text' => 
"\x{ff08}\x{8fd9}\x{4e9b}\x{4f18}\x{5316}\x{6709}\x{53ef}\x{80fd}\x{5bfc}\x{81f4}\x{7a0b}\x{5e8f}\x{4e0d}\x{80fd}\x{83b7}\x{5f97}\x{6b63}\x{786e}\x{7684}\x{503c}\x{ff09}
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => '4. a mix of chinese and english
+'
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'text' => "restrict \x{8868}\x{793a}\x{5728}\x{5f53}\x{524d} 
scope 
\x{5185}\x{4e0d}\x{5141}\x{8bb8}\x{5176}\x{5b83}\x{53d8}\x{91cf}\x{6307}\x{5411}\x{5b83}\x{3002}\x{7528}\x{5904}\x{ff0c}\x{6bd4}\x{5982}\x{9632}\x{6b62}
 memory
+"
+            },
+            {
+              'text' => "overlap\x{3002}
+"
+            }
+          ],
+          'type' => 'paragraph'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {},
+      'info' => {
+        'spaces_before_argument' => {
+          'text' => ' '
+        }
+      },
+      'source_info' => {
+        'file_name' => 'chapter_chinese_mixed_with_en.texi',
+        'line_nr' => 4,
+        'macro' => ''
+      }
+    },
+    {
+      'args' => [
+        {
+          'text' => '
+',
+          'type' => 'rawline_arg'
+        }
+      ],
+      'cmdname' => 'bye'
+    },
+    {
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 6,
+              'sourcemark_type' => 'include',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
+        {
+          'text' => '
+',
+          'type' => 'text_after_end'
+        },
+        {
+          'text' => '@bye
+',
+          'type' => 'text_after_end'
+        }
+      ],
+      'type' => 'postamble_after_end'
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'multiple_include_encodings'}{'contents'}[10]{'contents'}[1]{'contents'}[0]{'args'}[0]{'extra'}{'node_content'}[0]
 = 
$result_trees{'multiple_include_encodings'}{'contents'}[10]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'multiple_include_encodings'}{'contents'}[10]{'contents'}[6]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'multiple_include_encodings'}{'contents'}[10]{'contents'}[6]{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'multiple_include_encodings'}{'contents'}[12]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'multiple_include_encodings'}{'contents'}[11];
+
+$result_texis{'multiple_include_encodings'} = '\\input texinfo.tex
+@documentencoding ISO-8859-1
+
+@copying
+Télé.
+@end copying
+
+@documentencoding EUC-CN
+
+@documentdescription
+Sample 示例 
+@end documentdescription
+
+@documentencoding ISO-8859-1
+
+@node Top
+@top include files with multiple encodings
+
+é
+
+@node ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+@chapter ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+
+@documentencoding shift_jis
+@documentlanguage ja
+
+
+@node Preface
+@chapter Preface
+
+これは GNU LilyPond バージョン 
+
+それは 1995 年のある日の EJE (Eindhoven Youth Orchestra) のリハーサル中のできごとでした − 
ある変わり者のバイオリン奏者であるジャンは同じく変わり者のフレンチホルン奏者のハン-ウェンに彼がかかわっている新しい大きなプロジェクトのことを話しました。それは音楽を出版するための自動化されたシステムです
 (正確には、それは MPP − MusiXTeX 
のプリプロセッサです)。それを聞いてハン-ウェンはすぐに楽譜からいくつかの部分をプリントアウトしたいと思い、彼はそのためのソフトウェアを探し始め、すぐにその虜になってしまいました。それが
 MPP の終わりを決定付けました。多くの哲学的考察を含み白熱した email の交換の後、ハン-ウェンは 1996 年に LilyPond 
の製作を開始しました。この時、ジャンはハン-ウェンの新しいプロジェクト
 に引きずり込まれました。
+
+
+@node Introduction
+@chapter Introduction
+
+この章では読者に LilyPond とこのドキュメントについての紹介を行います。
+
+
+@documentencoding ISO-8859-2
+
+@node char latin2 latin2
+@chapter char latin2 latin2 in refs
+
+@ref{Ą ą ˛ Ę ę}.
+
+@printindex cp
+
+@c Aogonek(0xa1=0241) aogonek(0xb1=0261) standalone ogonek(0xca=0312) 
Eogonek(0xea=0352) eogonek
+@menu
+* Ą ą ˛ Ę ę::
+@end menu
+
+@node Ą ą ˛ Ę ę
+@section Ą ą ˛ Ę ę
+
+@cindex Ą ą ˛ Ę ę
+
+
+@documentencoding EUC-CN
+
+@node Mixed english and chinese EUC-CN
+@chapter Mixed english and chinese EUC-CN
+
+Example of english and chinese, chinese aligned or not.
+1. english only
+
+The Emacs mode for programming in Ada 95 with GNAT helps the user
+in
+understanding existing code and facilitates writing new code.  It
+furthermore provides some utility functions for easier integration of
+standard Emacs features when programming in Ada.
+
+2. chinese already aligned in source(this result)
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存读取
+变量的值,而不是作某些优化。(这些优化有可能导致程序不能获得正确的值)
+
+3. chinese not aligned in source
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存
+读取
+变量的值,而不是作某些优化。
+(这些优化有可能导致程序不能获得正确的值)
+
+4. a mix of chinese and english
+
+restrict 表示在当前 scope 内不允许其它变量指向它。用处,比如防止 memory
+overlap。
+
+
+
+@c need to finish with an encoding that can accept all the
+@c codepoints used in the other encodings
+
+@documentencoding utf-8
+
+@node Mixed chinese and english utf-8
+@chapter Mixed chinese and english utf-8
+
+Example of english and chinese, chinese aligned or not.
+
+1. english only
+
+The Emacs mode for programming in Ada 95 with GNAT helps the user
+in
+understanding existing code and facilitates writing new code.  It
+furthermore provides some utility functions for easier integration of
+standard Emacs features when programming in Ada.
+
+2. chinese already aligned in source(this result)
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存读取
+变量的值,而不是作某些优化。(这些优化有可能导致程序不能获得正确的值)
+
+3. chinese not aligned in source
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存
+读取
+变量的值,而不是作某些优化。
+(这些优化有可能导致程序不能获得正确的值)
+
+4. a mix of chinese and english
+
+restrict 表示在当前 scope 内不允许其它变量指向它。用处,比如防止 memory
+overlap。
+
+
+@bye
+
+@bye
+';
+
+
+$result_texts{'multiple_include_encodings'} = '
+
+
+
+
+include files with multiple encodings
+*************************************
+
+é
+
+1 ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+***********************
+
+
+
+2 Preface
+*********
+
+これは GNU LilyPond バージョン 
+
+それは 1995 年のある日の EJE (Eindhoven Youth Orchestra) のリハーサル中のできごとでした − 
ある変わり者のバイオリン奏者であるジャンは同じく変わり者のフレンチホルン奏者のハン-ウェンに彼がかかわっている新しい大きなプロジェクトのことを話しました。それは音楽を出版するための自動化されたシステムです
 (正確には、それは MPP − MusiXTeX 
のプリプロセッサです)。それを聞いてハン-ウェンはすぐに楽譜からいくつかの部分をプリントアウトしたいと思い、彼はそのためのソフトウェアを探し始め、すぐにその虜になってしまいました。それが
 MPP の終わりを決定付けました。多くの哲学的考察を含み白熱した email の交換の後、ハン-ウェンは 1996 年に LilyPond 
の製作を開始しました。この時、ジャンはハン-ウェンの新しいプロジェクト
 に引きずり込まれました。
+
+
+3 Introduction
+**************
+
+この章では読者に LilyPond とこのドキュメントについての紹介を行います。
+
+
+
+4 char latin2 latin2 in refs
+****************************
+
+Ą ą ˛ Ę ę.
+
+
+* Ą ą ˛ Ę ę::
+
+4.1 Ą ą ˛ Ę ę
+=============
+
+
+
+
+5 Mixed english and chinese EUC-CN
+**********************************
+
+Example of english and chinese, chinese aligned or not.
+1. english only
+
+The Emacs mode for programming in Ada 95 with GNAT helps the user
+in
+understanding existing code and facilitates writing new code.  It
+furthermore provides some utility functions for easier integration of
+standard Emacs features when programming in Ada.
+
+2. chinese already aligned in source(this result)
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存读取
+变量的值,而不是作某些优化。(这些优化有可能导致程序不能获得正确的值)
+
+3. chinese not aligned in source
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存
+读取
+变量的值,而不是作某些优化。
+(这些优化有可能导致程序不能获得正确的值)
+
+4. a mix of chinese and english
+
+restrict 表示在当前 scope 内不允许其它变量指向它。用处,比如防止 memory
+overlap。
+
+
+
+
+
+6 Mixed chinese and english utf-8
+*********************************
+
+Example of english and chinese, chinese aligned or not.
+
+1. english only
+
+The Emacs mode for programming in Ada 95 with GNAT helps the user
+in
+understanding existing code and facilitates writing new code.  It
+furthermore provides some utility functions for easier integration of
+standard Emacs features when programming in Ada.
+
+2. chinese already aligned in source(this result)
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存读取
+变量的值,而不是作某些优化。(这些优化有可能导致程序不能获得正确的值)
+
+3. chinese not aligned in source
+
+这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存
+读取
+变量的值,而不是作某些优化。
+(这些优化有可能导致程序不能获得正确的值)
+
+4. a mix of chinese and english
+
+restrict 表示在当前 scope 内不允许其它变量指向它。用处,比如防止 memory
+overlap。
+
+
+';
+
+$result_sectioning{'multiple_include_encodings'} = {
+  'structure' => {
+    'section_childs' => [
+      {
+        'cmdname' => 'top',
+        'extra' => {
+          'associated_node' => {
+            'cmdname' => 'node',
+            'extra' => {
+              'normalized' => 'Top'
+            },
+            'structure' => {}
+          }
+        },
+        'structure' => {
+          'section_childs' => [
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 
'_00e4-_00eb-_00ef-_00f6-_00fc-_00ff-_00c4-_00cb-_00cf-_00d6-_00dc'
+                  },
+                  'structure' => {}
+                }
+              },
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 1,
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            },
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 'Preface'
+                  },
+                  'structure' => {}
+                }
+              },
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 2,
+                'section_prev' => {},
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            },
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 'Introduction'
+                  },
+                  'structure' => {}
+                }
+              },
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 3,
+                'section_prev' => {},
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            },
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'isindex' => 1,
+                    'normalized' => 'char-latin2-latin2'
+                  },
+                  'structure' => {}
+                }
+              },
+              'structure' => {
+                'section_childs' => [
+                  {
+                    'cmdname' => 'section',
+                    'extra' => {
+                      'associated_node' => {
+                        'cmdname' => 'node',
+                        'extra' => {
+                          'normalized' => '_0104-_0105-_02db-_0118-_0119'
+                        },
+                        'structure' => {}
+                      }
+                    },
+                    'structure' => {
+                      'section_level' => 2,
+                      'section_number' => '4.1',
+                      'section_up' => {}
+                    }
+                  }
+                ],
+                'section_level' => 1,
+                'section_number' => 4,
+                'section_prev' => {},
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            },
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 'Mixed-english-and-chinese-EUC_002dCN'
+                  },
+                  'structure' => {}
+                }
+              },
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 5,
+                'section_prev' => {},
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            },
+            {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_node' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'normalized' => 'Mixed-chinese-and-english-utf_002d8'
+                  },
+                  'structure' => {}
+                }
+              },
+              'structure' => {
+                'section_level' => 1,
+                'section_number' => 6,
+                'section_prev' => {},
+                'section_up' => {},
+                'toplevel_prev' => {},
+                'toplevel_up' => {}
+              }
+            }
+          ],
+          'section_level' => 0,
+          'section_up' => {}
+        }
+      }
+    ],
+    'section_level' => -1
+  }
+};
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'section_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'section_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2]{'structure'}{'section_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2]{'structure'}{'section_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[1];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3]{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3]{'structure'}{'section_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3]{'structure'}{'section_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[2];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[4]{'structure'}{'section_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[4]{'structure'}{'section_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[4]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[3];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[4]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[5]{'structure'}{'section_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[4];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[5]{'structure'}{'section_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[5]{'structure'}{'toplevel_prev'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[4];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_childs'}[5]{'structure'}{'toplevel_up'}
 = 
$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'multiple_include_encodings'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
 = $result_sectioning{'multiple_include_encodings'};
+
+$result_nodes{'multiple_include_encodings'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'structure' => {}
+    },
+    'normalized' => 'Top'
+  },
+  'structure' => {
+    'node_next' => {
+      'cmdname' => 'node',
+      'extra' => {
+        'associated_section' => {
+          'cmdname' => 'chapter',
+          'extra' => {},
+          'structure' => {
+            'section_number' => 1
+          }
+        },
+        'normalized' => 
'_00e4-_00eb-_00ef-_00f6-_00fc-_00ff-_00c4-_00cb-_00cf-_00d6-_00dc'
+      },
+      'structure' => {
+        'node_next' => {
+          'cmdname' => 'node',
+          'extra' => {
+            'associated_section' => {
+              'cmdname' => 'chapter',
+              'extra' => {},
+              'structure' => {
+                'section_number' => 2
+              }
+            },
+            'normalized' => 'Preface'
+          },
+          'structure' => {
+            'node_next' => {
+              'cmdname' => 'node',
+              'extra' => {
+                'associated_section' => {
+                  'cmdname' => 'chapter',
+                  'extra' => {},
+                  'structure' => {
+                    'section_number' => 3
+                  }
+                },
+                'normalized' => 'Introduction'
+              },
+              'structure' => {
+                'node_next' => {
+                  'cmdname' => 'node',
+                  'extra' => {
+                    'associated_section' => {
+                      'cmdname' => 'chapter',
+                      'extra' => {},
+                      'structure' => {
+                        'section_number' => 4
+                      }
+                    },
+                    'isindex' => 1,
+                    'menus' => [
+                      {
+                        'cmdname' => 'menu'
+                      }
+                    ],
+                    'normalized' => 'char-latin2-latin2'
+                  },
+                  'structure' => {
+                    'menu_child' => {
+                      'cmdname' => 'node',
+                      'extra' => {
+                        'associated_section' => {
+                          'cmdname' => 'section',
+                          'extra' => {},
+                          'structure' => {
+                            'section_number' => '4.1'
+                          }
+                        },
+                        'normalized' => '_0104-_0105-_02db-_0118-_0119'
+                      },
+                      'structure' => {
+                        'node_up' => {}
+                      }
+                    },
+                    'node_next' => {
+                      'cmdname' => 'node',
+                      'extra' => {
+                        'associated_section' => {
+                          'cmdname' => 'chapter',
+                          'extra' => {},
+                          'structure' => {
+                            'section_number' => 5
+                          }
+                        },
+                        'normalized' => 'Mixed-english-and-chinese-EUC_002dCN'
+                      },
+                      'structure' => {
+                        'node_next' => {
+                          'cmdname' => 'node',
+                          'extra' => {
+                            'associated_section' => {
+                              'cmdname' => 'chapter',
+                              'extra' => {},
+                              'structure' => {
+                                'section_number' => 6
+                              }
+                            },
+                            'normalized' => 
'Mixed-chinese-and-english-utf_002d8'
+                          },
+                          'structure' => {
+                            'node_prev' => {},
+                            'node_up' => {}
+                          }
+                        },
+                        'node_prev' => {},
+                        'node_up' => {}
+                      }
+                    },
+                    'node_prev' => {},
+                    'node_up' => {}
+                  }
+                },
+                'node_prev' => {},
+                'node_up' => {}
+              }
+            },
+            'node_prev' => {},
+            'node_up' => {}
+          }
+        },
+        'node_prev' => {},
+        'node_up' => {}
+      }
+    }
+  }
+};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'menu_child'}{'structure'}{'node_up'}
 = 
$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = 
$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'multiple_include_encodings'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = 
$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'multiple_include_encodings'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = 
$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'multiple_include_encodings'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = 
$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'multiple_include_encodings'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'multiple_include_encodings'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_prev'}
 = $result_nodes{'multiple_include_encodings'};
+$result_nodes{'multiple_include_encodings'}{'structure'}{'node_next'}{'structure'}{'node_up'}
 = $result_nodes{'multiple_include_encodings'};
+
+$result_menus{'multiple_include_encodings'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'structure' => {}
+};
+
+$result_errors{'multiple_include_encodings'} = [
+  {
+    'error_line' => 'warning: encoding `EUC-CN\' is not a canonical texinfo 
encoding
+',
+    'file_name' => 'documentdescription_EUC_CN.texi',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'encoding `EUC-CN\' is not a canonical texinfo encoding',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: encoding `shift_jis\' is not a canonical texinfo 
encoding
+',
+    'file_name' => 'chapter_japanese_shift_jis.texi',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'encoding `shift_jis\' is not a canonical texinfo encoding',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => 'warning: encoding `EUC-CN\' is not a canonical texinfo 
encoding
+',
+    'file_name' => 'chapter_chinese_mixed_with_en_EUC_CN.texi',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'encoding `EUC-CN\' is not a canonical texinfo encoding',
+    'type' => 'warning'
+  }
+];
+
+
+$result_floats{'multiple_include_encodings'} = {};
+
+
+$result_indices_sort_strings{'multiple_include_encodings'} = {
+  'cp' => [
+    "\x{104} \x{105} \x{2db} \x{118} \x{119}"
+  ]
+};
+
+
+1;
diff --git 
a/tp/t/results/formats_encodings/multiple_include_encodings/res_html/A-a-_002c-E-e.html
 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/A-a-_002c-E-e.html
new file mode 100644
index 0000000000..dcc0034195
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/A-a-_002c-E-e.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- Télé. -->
+<title>Ą ą ˛ Ę ę (include files with multiple encodings)</title>
+
+<meta name="description" content="Sample 示例 ">
+<meta name="keywords" content="Ą ą ˛ Ę ę (include files with multiple 
encodings)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="char-latin2-latin2.html" rel="index" title="char latin2 latin2">
+<link href="char-latin2-latin2.html" rel="up" title="char latin2 latin2">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+span:hover a.copiable-link {visibility: visible}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="section-level-extent" id="g_t_0104-_0105-_02db-_0118-_0119">
+<div class="nav-panel">
+<p>
+Up: <a href="char-latin2-latin2.html" accesskey="u" rel="up">char latin2 
latin2 in refs</a> &nbsp; [<a href="char-latin2-latin2.html" title="Index" 
rel="index">Index</a>]</p>
+</div>
+<hr>
+<h3 class="section" id="A-a-_002c-E-e"><span>4.1 Ą ą ˛ Ę ę<a 
class="copiable-link" href="#A-a-_002c-E-e"> &para;</a></span></h3>
+
+<a class="index-entry-id" id="index-A-a-_002c-E-e"></a>
+
+
+
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Introduction.html
 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Introduction.html
new file mode 100644
index 0000000000..527b67f6d5
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Introduction.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- Télé. -->
+<title>Introduction (include files with multiple encodings)</title>
+
+<meta name="description" content="Sample 示例 ">
+<meta name="keywords" content="Introduction (include files with multiple 
encodings)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="char-latin2-latin2.html" rel="index" title="char latin2 latin2">
+<link href="index.html" rel="up" title="Top">
+<link href="char-latin2-latin2.html" rel="next" title="char latin2 latin2">
+<link href="Preface.html" rel="prev" title="Preface">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+span:hover a.copiable-link {visibility: visible}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Introduction">
+<div class="nav-panel">
+<p>
+Next: <a href="char-latin2-latin2.html" accesskey="n" rel="next">char latin2 
latin2 in refs</a>, Previous: <a href="Preface.html" accesskey="p" 
rel="prev">Preface</a>, Up: <a href="index.html" accesskey="u" rel="up">include 
files with multiple encodings</a> &nbsp; [<a href="char-latin2-latin2.html" 
title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<h2 class="chapter" id="Introduction-1"><span>3 Introduction<a 
class="copiable-link" href="#Introduction-1"> &para;</a></span></h2>
+
+<p>この章では読者に LilyPond とこのドキュメントについての紹介を行います。
+</p>
+
+
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Mixed-chinese-and-english-utf_002d8.html
 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Mixed-chinese-and-english-utf_002d8.html
new file mode 100644
index 0000000000..8783c79b09
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Mixed-chinese-and-english-utf_002d8.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- Télé. -->
+<title>Mixed chinese and english utf-8 (include files with multiple 
encodings)</title>
+
+<meta name="description" content="Sample 示例 ">
+<meta name="keywords" content="Mixed chinese and english utf-8 (include files 
with multiple encodings)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="char-latin2-latin2.html" rel="index" title="char latin2 latin2">
+<link href="index.html" rel="up" title="Top">
+<link href="Mixed-english-and-chinese-EUC_002dCN.html" rel="prev" title="Mixed 
english and chinese EUC-CN">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+span:hover a.copiable-link {visibility: visible}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Mixed-chinese-and-english-utf_002d8">
+<div class="nav-panel">
+<p>
+Previous: <a href="Mixed-english-and-chinese-EUC_002dCN.html" accesskey="p" 
rel="prev">Mixed english and chinese EUC-CN</a>, Up: <a href="index.html" 
accesskey="u" rel="up">include files with multiple encodings</a> &nbsp; [<a 
href="char-latin2-latin2.html" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<h2 class="chapter" id="Mixed-chinese-and-english-utf_002d8-1"><span>6 Mixed 
chinese and english utf-8<a class="copiable-link" 
href="#Mixed-chinese-and-english-utf_002d8-1"> &para;</a></span></h2>
+
+<p>Example of english and chinese, chinese aligned or not.
+</p>
+<p>1. english only
+</p>
+<p>The Emacs mode for programming in Ada 95 with GNAT helps the user
+in
+understanding existing code and facilitates writing new code.  It
+furthermore provides some utility functions for easier integration of
+standard Emacs features when programming in Ada.
+</p>
+<p>2. chinese already aligned in source(this result)
+</p>
+<p>这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存读取
+变量的值,而不是作某些优化。(这些优化有可能导致程序不能获得正确的值)
+</p>
+<p>3. chinese not aligned in source
+</p>
+<p>这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存
+读取
+变量的值,而不是作某些优化。
+(这些优化有可能导致程序不能获得正确的值)
+</p>
+<p>4. a mix of chinese and english
+</p>
+<p>restrict 表示在当前 scope 内不允许其它变量指向它。用处,比如防止 memory
+overlap。
+</p>
+
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Mixed-english-and-chinese-EUC_002dCN.html
 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Mixed-english-and-chinese-EUC_002dCN.html
new file mode 100644
index 0000000000..9d82f68dce
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Mixed-english-and-chinese-EUC_002dCN.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- Télé. -->
+<title>Mixed english and chinese EUC-CN (include files with multiple 
encodings)</title>
+
+<meta name="description" content="Sample 示例 ">
+<meta name="keywords" content="Mixed english and chinese EUC-CN (include files 
with multiple encodings)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="char-latin2-latin2.html" rel="index" title="char latin2 latin2">
+<link href="index.html" rel="up" title="Top">
+<link href="Mixed-chinese-and-english-utf_002d8.html" rel="next" title="Mixed 
chinese and english utf-8">
+<link href="char-latin2-latin2.html" rel="prev" title="char latin2 latin2">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+span:hover a.copiable-link {visibility: visible}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Mixed-english-and-chinese-EUC_002dCN">
+<div class="nav-panel">
+<p>
+Next: <a href="Mixed-chinese-and-english-utf_002d8.html" accesskey="n" 
rel="next">Mixed chinese and english utf-8</a>, Previous: <a 
href="char-latin2-latin2.html" accesskey="p" rel="prev">char latin2 latin2 in 
refs</a>, Up: <a href="index.html" accesskey="u" rel="up">include files with 
multiple encodings</a> &nbsp; [<a href="char-latin2-latin2.html" title="Index" 
rel="index">Index</a>]</p>
+</div>
+<hr>
+<h2 class="chapter" id="Mixed-english-and-chinese-EUC_002dCN-1"><span>5 Mixed 
english and chinese EUC-CN<a class="copiable-link" 
href="#Mixed-english-and-chinese-EUC_002dCN-1"> &para;</a></span></h2>
+
+<p>Example of english and chinese, chinese aligned or not.
+1. english only
+</p>
+<p>The Emacs mode for programming in Ada 95 with GNAT helps the user
+in
+understanding existing code and facilitates writing new code.  It
+furthermore provides some utility functions for easier integration of
+standard Emacs features when programming in Ada.
+</p>
+<p>2. chinese already aligned in source(this result)
+</p>
+<p>这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存读取
+变量的值,而不是作某些优化。(这些优化有可能导致程序不能获得正确的值)
+</p>
+<p>3. chinese not aligned in source
+</p>
+<p>这常用于修饰多个线程会访问或修改的全局变量,让编译器保证每次都从内存
+读取
+变量的值,而不是作某些优化。
+(这些优化有可能导致程序不能获得正确的值)
+</p>
+<p>4. a mix of chinese and english
+</p>
+<p>restrict 表示在当前 scope 内不允许其它变量指向它。用处,比如防止 memory
+overlap。
+</p>
+
+
+
+
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Preface.html
 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Preface.html
new file mode 100644
index 0000000000..640443460e
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/Preface.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- Télé. -->
+<title>Preface (include files with multiple encodings)</title>
+
+<meta name="description" content="Sample 示例 ">
+<meta name="keywords" content="Preface (include files with multiple 
encodings)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="char-latin2-latin2.html" rel="index" title="char latin2 latin2">
+<link href="index.html" rel="up" title="Top">
+<link href="Introduction.html" rel="next" title="Introduction">
+<link href="a-e-i-o-u-y-A-E-I-O-U.html" rel="prev" title="ä ë ï ö ü ÿ Ä Ë Ï Ö 
Ü">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+span:hover a.copiable-link {visibility: visible}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="Preface">
+<div class="nav-panel">
+<p>
+Next: <a href="Introduction.html" accesskey="n" rel="next">Introduction</a>, 
Previous: <a href="a-e-i-o-u-y-A-E-I-O-U.html" accesskey="p" rel="prev">ä ë ï ö 
ü ÿ Ä Ë Ï Ö Ü</a>, Up: <a href="index.html" accesskey="u" rel="up">include 
files with multiple encodings</a> &nbsp; [<a href="char-latin2-latin2.html" 
title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<h2 class="chapter" id="Preface-1"><span>2 Preface<a class="copiable-link" 
href="#Preface-1"> &para;</a></span></h2>
+
+<p>これは GNU LilyPond バージョン 
+</p>
+<p>それは 1995 年のある日の EJE (Eindhoven Youth Orchestra) のリハーサル中のできごとでした − 
ある変わり者のバイオリン奏者であるジャンは同じく変わり者のフレンチホルン奏者のハン-ウェンに彼がかかわっている新しい大きなプロジェクトのことを話しました。それは音楽を出版するための自動化されたシステムです
 (正確には、それは MPP − MusiXTeX 
のプリプロセッサです)。それを聞いてハン-ウェンはすぐに楽譜からいくつかの部分をプリントアウトしたいと思い、彼はそのためのソフトウェアを探し始め、すぐにその虜になってしまいました。それが
 MPP の終わりを決定付けました。多くの哲学的考察を含み白熱した email の交換の後、ハン-ウェンは 1996 年に LilyPond 
の製作を開始しました。この時、ジャンはハン-ウェンの新しいプロジェク
 トに引きずり込まれました。
+</p>
+
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/multiple_include_encodings/res_html/a-e-i-o-u-y-A-E-I-O-U.html
 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/a-e-i-o-u-y-A-E-I-O-U.html
new file mode 100644
index 0000000000..09b76f7074
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/a-e-i-o-u-y-A-E-I-O-U.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- Télé. -->
+<title>ä ë ï ö ü ÿ Ä Ë Ï Ö Ü (include files with multiple encodings)</title>
+
+<meta name="description" content="Sample 示例 ">
+<meta name="keywords" content="ä ë ï ö ü ÿ Ä Ë Ï Ö Ü (include files with 
multiple encodings)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="char-latin2-latin2.html" rel="index" title="char latin2 latin2">
+<link href="index.html" rel="up" title="Top">
+<link href="Preface.html" rel="next" title="Preface">
+<link href="index.html" rel="prev" title="Top">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+span:hover a.copiable-link {visibility: visible}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" 
id="g_t_00e4-_00eb-_00ef-_00f6-_00fc-_00ff-_00c4-_00cb-_00cf-_00d6-_00dc">
+<div class="nav-panel">
+<p>
+Next: <a href="Preface.html" accesskey="n" rel="next">Preface</a>, Previous: 
<a href="index.html" accesskey="p" rel="prev">include files with multiple 
encodings</a>, Up: <a href="index.html" accesskey="u" rel="up">include files 
with multiple encodings</a> &nbsp; [<a href="char-latin2-latin2.html" 
title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<h2 class="chapter" id="a-e-i-o-u-y-A-E-I-O-U"><span>1 ä ë ï ö ü ÿ Ä Ë Ï Ö Ü<a 
class="copiable-link" href="#a-e-i-o-u-y-A-E-I-O-U"> &para;</a></span></h2>
+
+
+
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/multiple_include_encodings/res_html/char-latin2-latin2.html
 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/char-latin2-latin2.html
new file mode 100644
index 0000000000..ea88a0842e
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/char-latin2-latin2.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- Télé. -->
+<title>char latin2 latin2 (include files with multiple encodings)</title>
+
+<meta name="description" content="Sample 示例 ">
+<meta name="keywords" content="char latin2 latin2 (include files with multiple 
encodings)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="index.html" rel="start" title="Top">
+<link href="#char-latin2-latin2" rel="index" title="char latin2 latin2">
+<link href="index.html" rel="up" title="Top">
+<link href="Mixed-english-and-chinese-EUC_002dCN.html" rel="next" title="Mixed 
english and chinese EUC-CN">
+<link href="Introduction.html" rel="prev" title="Introduction">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
+span:hover a.copiable-link {visibility: visible}
+td.printindex-index-entry {vertical-align: top}
+td.printindex-index-section {vertical-align: top; padding-left: 1em}
+th.entries-header-printindex {text-align:left}
+th.sections-header-printindex {text-align:left; padding-left: 1em}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<div class="chapter-level-extent" id="char-latin2-latin2">
+<div class="nav-panel">
+<p>
+Next: <a href="Mixed-english-and-chinese-EUC_002dCN.html" accesskey="n" 
rel="next">Mixed english and chinese EUC-CN</a>, Previous: <a 
href="Introduction.html" accesskey="p" rel="prev">Introduction</a>, Up: <a 
href="index.html" accesskey="u" rel="up">include files with multiple 
encodings</a> &nbsp; [<a href="#char-latin2-latin2" title="Index" 
rel="index">Index</a>]</p>
+</div>
+<hr>
+<h2 class="chapter" id="char-latin2-latin2-in-refs"><span>4 char latin2 latin2 
in refs<a class="copiable-link" href="#char-latin2-latin2-in-refs"> 
&para;</a></span></h2>
+
+<p><a class="ref" href="A-a-_002c-E-e.html">Ą ą ˛ Ę ę</a>.
+</p>
+<div class="printindex cp-printindex">
+<table class="cp-entries-printindex" border="0">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><th 
class="sections-header-printindex">Section</th></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="char-latin2-latin2_cp_letter-A">A</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="A-a-_002c-E-e.html#index-A-a-_002c-E-e">Ą ą ˛ Ę ę</a></td><td 
class="printindex-index-section"><a href="A-a-_002c-E-e.html">Ą ą ˛ Ę 
ę</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+</table>
+</div>
+
+
+<ul class="mini-toc">
+<li><a href="A-a-_002c-E-e.html" accesskey="1">Ą ą ˛ Ę ę</a></li>
+</ul>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/multiple_include_encodings/res_html/index.html 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/index.html
new file mode 100644
index 0000000000..0825c470cd
--- /dev/null
+++ 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_html/index.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<!-- Télé. -->
+<title>Top (include files with multiple encodings)</title>
+
+<meta name="description" content="Sample 示例 ">
+<meta name="keywords" content="Top (include files with multiple encodings)">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+
+<link href="#Top" rel="start" title="Top">
+<link href="char-latin2-latin2.html" rel="index" title="char latin2 latin2">
+<link href="a-e-i-o-u-y-A-E-I-O-U.html" rel="next" title="ä ë ï ö ü ÿ Ä Ë Ï Ö 
Ü">
+<style type="text/css">
+<!--
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+span:hover a.copiable-link {visibility: visible}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+
+
+
+
+
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
+<p>
+Next: <a href="a-e-i-o-u-y-A-E-I-O-U.html" accesskey="n" rel="next">ä ë ï ö ü 
ÿ Ä Ë Ï Ö Ü</a> &nbsp; [<a href="char-latin2-latin2.html" title="Index" 
rel="index">Index</a>]</p>
+</div>
+<hr>
+<h1 class="top" id="include-files-with-multiple-encodings"><span>include files 
with multiple encodings<a class="copiable-link" 
href="#include-files-with-multiple-encodings"> &para;</a></span></h1>
+
+<p>é
+</p>
+<ul class="mini-toc">
+<li><a href="a-e-i-o-u-y-A-E-I-O-U.html" accesskey="1">ä ë ï ö ü ÿ Ä Ë Ï Ö 
Ü</a></li>
+<li><a href="Preface.html" accesskey="2">Preface</a></li>
+<li><a href="Introduction.html" accesskey="3">Introduction</a></li>
+<li><a href="char-latin2-latin2.html" accesskey="4">char latin2 latin2 in 
refs</a></li>
+<li><a href="Mixed-english-and-chinese-EUC_002dCN.html" accesskey="5">Mixed 
english and chinese EUC-CN</a></li>
+<li><a href="Mixed-chinese-and-english-utf_002d8.html" accesskey="6">Mixed 
chinese and english utf-8</a></li>
+</ul>
+</div>
+<hr>
+<div class="nav-panel">
+<p>
+Next: <a href="a-e-i-o-u-y-A-E-I-O-U.html" accesskey="n" rel="next">ä ë ï ö ü 
ÿ Ä Ë Ï Ö Ü</a> &nbsp; [<a href="char-latin2-latin2.html" title="Index" 
rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git 
a/tp/t/results/formats_encodings/multiple_include_encodings/res_info/multiple_include_encodings.info
 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_info/multiple_include_encodings.info
new file mode 100644
index 0000000000..0a8f21629b
Binary files /dev/null and 
b/tp/t/results/formats_encodings/multiple_include_encodings/res_info/multiple_include_encodings.info
 differ
diff --git a/tp/tests/Makefile.onetst b/tp/tests/Makefile.onetst
index 714af6e1ff..678ff6f521 100644
--- a/tp/tests/Makefile.onetst
+++ b/tp/tests/Makefile.onetst
@@ -40,6 +40,7 @@ type_base_one_test_files_generated_list =  \
     test_scripts/encoded_non_ascii_test_epub.sh \
     test_scripts/encoded_non_ascii_test_rawtext.sh \
     test_scripts/encoded_non_ascii_no_setfilename_test_rawtext.sh \
+    test_scripts/encoded_non_ascii_test_info.sh \
     test_scripts/encoded_non_ascii_test_latex.sh \
     test_scripts/encoded_manual_include_accented_file_name_latin1.sh \
     
test_scripts/encoded_manual_include_accented_file_name_latin1_explicit_encoding.sh
 \
diff --git a/tp/tests/encoded/Makefile.am b/tp/tests/encoded/Makefile.am
index e80501dc67..3109ead145 100644
--- a/tp/tests/encoded/Makefile.am
+++ b/tp/tests/encoded/Makefile.am
@@ -1,7 +1,7 @@
 EXTRA_DIST = \
  osé_utf8.texi osé_utf8_no_setfilename.texi \
  manual_include_accented_file_name_latin1.texi \
- çss.css cêss.css an_ïmage.png list-of-tests  res_parser
+ çss.css cêss.css an_ïmage.png txt_çimage.txt list-of-tests  res_parser
 
 DISTCLEANFILES = tests.log tests.out
 
diff --git a/tp/tests/encoded/list-of-tests b/tp/tests/encoded/list-of-tests
index 2304153758..422757cf3d 100644
--- a/tp/tests/encoded/list-of-tests
+++ b/tp/tests/encoded/list-of-tests
@@ -14,6 +14,8 @@ non_ascii_test_rawtext osé_utf8.texi -D 
'needcommandlineunicode Need command-li
 # check that the output is right when based on input file name
 non_ascii_no_setfilename_test_rawtext osé_utf8_no_setfilename.texi -D 
'needcommandlineunicode Need command-line unicode' -c 
COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8 -c INPUT_FILE_NAME_ENCODING=UTF-8 -c 
TEXINFO_OUTPUT_FORMAT=rawtext
 
+non_ascii_test_info osé_utf8.texi -D 'needcommandlineunicode Need command-line 
unicode' -c COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8 -c INPUT_FILE_NAME_ENCODING=UTF-8 --info
+
 non_ascii_test_latex osé_utf8.texi -D 'needcommandlineunicode Need 
command-line unicode' -c COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 
-c OUTPUT_FILE_NAME_ENCODING=UTF-8 -c INPUT_FILE_NAME_ENCODING=UTF-8 --latex
 
 # test of non utf8 encoded file name in non utf8 document
diff --git "a/tp/tests/encoded/os\303\251_utf8.texi" 
"b/tp/tests/encoded/os\303\251_utf8.texi"
index 78381db6d7..2375f4a952 100644
--- "a/tp/tests/encoded/os\303\251_utf8.texi"
+++ "b/tp/tests/encoded/os\303\251_utf8.texi"
@@ -19,6 +19,8 @@ value vùr @value{vùr}.
 @image{an_ïmage,,,öld}
 @image{an_@"{@dotless{i}}mage,,,@"old}
 
+@image{txt_çimage}
+
 @image{dîrectory/imàge,,,âlt,.êxt}
 
 @include not_existïng.téxi
diff --git a/tp/tests/encoded/res_parser/non_ascii_command_line/Chapteur.html 
b/tp/tests/encoded/res_parser/non_ascii_command_line/Chapteur.html
index 319b5a1ad3..d1f1df141f 100644
--- a/tp/tests/encoded/res_parser/non_ascii_command_line/Chapteur.html
+++ b/tp/tests/encoded/res_parser/non_ascii_command_line/Chapteur.html
@@ -61,6 +61,8 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">Tôp</a>, Up: <a href="i
 <img class="image" src="an_%c3%afmage.png" alt="öld">
 <img class="image" src="an_%c3%afmage.png" alt="&ouml;ld">
 
+<img class="image" src="txt_%c3%a7image.jpg" alt="txt_çimage">
+
 <img class="image" src="d%c3%aerectory/im%c3%a0ge.%c3%aaxt" alt="âlt">
 
 
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_command_line/os\303\251-texinfo.texi" 
"b/tp/tests/encoded/res_parser/non_ascii_command_line/os\303\251-texinfo.texi"
index 8524242846..714b61f3af 100644
--- 
"a/tp/tests/encoded/res_parser/non_ascii_command_line/os\303\251-texinfo.texi"
+++ 
"b/tp/tests/encoded/res_parser/non_ascii_command_line/os\303\251-texinfo.texi"
@@ -17,6 +17,8 @@ In included téxt.
 @image{an_ïmage,,,öld}
 @image{an_@"{@dotless{i}}mage,,,@"old}
 
+@image{txt_çimage}
+
 @image{dîrectory/imàge,,,âlt,.êxt}
 
 @include not_existïng.téxi
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_command_line/os\303\251_utf8.2" 
"b/tp/tests/encoded/res_parser/non_ascii_command_line/os\303\251_utf8.2"
index 0951718d79..66a8151094 100644
--- "a/tp/tests/encoded/res_parser/non_ascii_command_line/os\303\251_utf8.2"
+++ "b/tp/tests/encoded/res_parser/non_ascii_command_line/os\303\251_utf8.2"
@@ -1,6 +1,7 @@
 texi2any: warning: Mekanïk is not a valid split possibility
 texi2any: warning: Destruktïw is not a valid language code
 texi2any: warning: unknown variable from command line: Kommandöh
-osé_utf8.texi:24: @include: could not find not_existïng.téxi
-osé_utf8.texi:22: warning: @image file `dîrectory/imàge' (for HTML) not found, 
using `dîrectory/imàge.êxt'
-osé_utf8.texi:28: @verbatiminclude: could not find vi_not_existïng.téxi
+osé_utf8.texi:26: @include: could not find not_existïng.téxi
+osé_utf8.texi:22: warning: @image file `txt_çimage' (for HTML) not found, 
using `txt_çimage.jpg'
+osé_utf8.texi:24: warning: @image file `dîrectory/imàge' (for HTML) not found, 
using `dîrectory/imàge.êxt'
+osé_utf8.texi:30: @verbatiminclude: could not find vi_not_existïng.téxi
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_test_epub/os\303\251_utf8.2" 
"b/tp/tests/encoded/res_parser/non_ascii_test_epub/os\303\251_utf8.2"
index 2d5185087d..747c77dd7d 100644
--- "a/tp/tests/encoded/res_parser/non_ascii_test_epub/os\303\251_utf8.2"
+++ "b/tp/tests/encoded/res_parser/non_ascii_test_epub/os\303\251_utf8.2"
@@ -1,5 +1,7 @@
 osé_utf8.texi:15: warning: undefined flag: vùr
-osé_utf8.texi:24: @include: could not find not_existïng.téxi
-osé_utf8.texi:22: warning: @image file `dîrectory/imàge' (for HTML) not found, 
using `dîrectory/imàge.êxt'
+osé_utf8.texi:26: @include: could not find not_existïng.téxi
+osé_utf8.texi:22: warning: @image file `txt_çimage' (for HTML) not found, 
using `txt_çimage.jpg'
+texi2any: @image file `txt_çimage' can not be copied
+osé_utf8.texi:24: warning: @image file `dîrectory/imàge' (for HTML) not found, 
using `dîrectory/imàge.êxt'
 texi2any: @image file `dîrectory/imàge' can not be copied
-osé_utf8.texi:28: @verbatiminclude: could not find vi_not_existïng.téxi
+osé_utf8.texi:30: @verbatiminclude: could not find vi_not_existïng.téxi
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_test_epub/os\303\251_utf8_epub_package/EPUB/xhtml/Chapteur.xhtml"
 
"b/tp/tests/encoded/res_parser/non_ascii_test_epub/os\303\251_utf8_epub_package/EPUB/xhtml/Chapteur.xhtml"
index 64b6479b31..dcd2f20345 100644
--- 
"a/tp/tests/encoded/res_parser/non_ascii_test_epub/os\303\251_utf8_epub_package/EPUB/xhtml/Chapteur.xhtml"
+++ 
"b/tp/tests/encoded/res_parser/non_ascii_test_epub/os\303\251_utf8_epub_package/EPUB/xhtml/Chapteur.xhtml"
@@ -33,7 +33,9 @@
 <img class="image" src="../images/1-an_image.png" alt="öld"/>
 <img class="image" src="../images/2-an_image.png" alt="&#246;ld"/>
 
-<img class="image" src="../images/3-image.ext" alt="âlt"/>
+<img class="image" src="../images/3-txt_cimagejpg" alt="txt_çimage"/>
+
+<img class="image" src="../images/4-image.ext" alt="âlt"/>
 
 
 <pre class="verbatim">In included téxt.
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_test_info/os\303\251_utf8.1" 
"b/tp/tests/encoded/res_parser/non_ascii_test_info/os\303\251_utf8.1"
new file mode 100644
index 0000000000..e69de29bb2
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_test_info/os\303\251_utf8.2" 
"b/tp/tests/encoded/res_parser/non_ascii_test_info/os\303\251_utf8.2"
new file mode 100644
index 0000000000..27caf658b6
--- /dev/null
+++ "b/tp/tests/encoded/res_parser/non_ascii_test_info/os\303\251_utf8.2"
@@ -0,0 +1,3 @@
+osé_utf8.texi:15: warning: undefined flag: vùr
+osé_utf8.texi:26: @include: could not find not_existïng.téxi
+osé_utf8.texi:30: @verbatiminclude: could not find vi_not_existïng.téxi
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_test_info/os\303\251_utf8.info" 
"b/tp/tests/encoded/res_parser/non_ascii_test_info/os\303\251_utf8.info"
new file mode 100644
index 0000000000..8edbb60c0b
Binary files /dev/null and 
"b/tp/tests/encoded/res_parser/non_ascii_test_info/os\303\251_utf8.info" differ
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_test_latex/os\303\251_utf8.2" 
"b/tp/tests/encoded/res_parser/non_ascii_test_latex/os\303\251_utf8.2"
index 5fc05566ac..cac02043a7 100644
--- "a/tp/tests/encoded/res_parser/non_ascii_test_latex/os\303\251_utf8.2"
+++ "b/tp/tests/encoded/res_parser/non_ascii_test_latex/os\303\251_utf8.2"
@@ -1,4 +1,5 @@
 osé_utf8.texi:15: warning: undefined flag: vùr
-osé_utf8.texi:24: @include: could not find not_existïng.téxi
-osé_utf8.texi:22: warning: @image file `dîrectory/imàge' (for LaTeX) not found
-osé_utf8.texi:28: @verbatiminclude: could not find vi_not_existïng.téxi
+osé_utf8.texi:26: @include: could not find not_existïng.téxi
+osé_utf8.texi:22: warning: @image file `txt_çimage' (for LaTeX) not found
+osé_utf8.texi:24: warning: @image file `dîrectory/imàge' (for LaTeX) not found
+osé_utf8.texi:30: @verbatiminclude: could not find vi_not_existïng.téxi
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_test_latex/os\303\251_utf8.tex" 
"b/tp/tests/encoded/res_parser/non_ascii_test_latex/os\303\251_utf8.tex"
index 5e484f5a06..db2a835e9a 100644
--- "a/tp/tests/encoded/res_parser/non_ascii_test_latex/os\303\251_utf8.tex"
+++ "b/tp/tests/encoded/res_parser/non_ascii_test_latex/os\303\251_utf8.tex"
@@ -56,6 +56,8 @@ In included téxt.
 \includegraphics{an_ïmage}
 \includegraphics{an_ïmage}
 
+\includegraphics{txt_çimage}
+
 \includegraphics{dîrectory/imàge}
 
 
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_test_rawtext/os\303\251_utf8.2" 
"b/tp/tests/encoded/res_parser/non_ascii_test_rawtext/os\303\251_utf8.2"
index 808a9a4c53..657b8b0938 100644
--- "a/tp/tests/encoded/res_parser/non_ascii_test_rawtext/os\303\251_utf8.2"
+++ "b/tp/tests/encoded/res_parser/non_ascii_test_rawtext/os\303\251_utf8.2"
@@ -1,2 +1,2 @@
 osé_utf8.texi:15: warning: undefined flag: vùr
-osé_utf8.texi:24: @include: could not find not_existïng.téxi
+osé_utf8.texi:26: @include: could not find not_existïng.téxi
diff --git 
"a/tp/tests/encoded/res_parser/non_ascii_test_rawtext/os\303\251_utf8.txt" 
"b/tp/tests/encoded/res_parser/non_ascii_test_rawtext/os\303\251_utf8.txt"
index 60948db987..0a13ee987a 100644
--- "a/tp/tests/encoded/res_parser/non_ascii_test_rawtext/os\303\251_utf8.txt"
+++ "b/tp/tests/encoded/res_parser/non_ascii_test_rawtext/os\303\251_utf8.txt"
@@ -13,6 +13,8 @@ In included téxt.
 an_ïmage
 an_i"mage
 
+txt_çimage
+
 dîrectory/imàge
 
 
diff --git "a/tp/tests/encoded/txt_\303\247image.txt" 
"b/tp/tests/encoded/txt_\303\247image.txt"
new file mode 100644
index 0000000000..348c23ee6d
--- /dev/null
+++ "b/tp/tests/encoded/txt_\303\247image.txt"
@@ -0,0 +1,2 @@
+
+This is the é image text
diff --git a/tp/tests/test_scripts/encoded_non_ascii_test_info.sh 
b/tp/tests/test_scripts/encoded_non_ascii_test_info.sh
new file mode 100755
index 0000000000..9bc90e675f
--- /dev/null
+++ b/tp/tests/test_scripts/encoded_non_ascii_test_info.sh
@@ -0,0 +1,19 @@
+#! /bin/sh
+# This file generated by maintain/regenerate_cmd_tests.sh
+
+if test z"$srcdir" = "z"; then
+  srcdir=.
+fi
+
+one_test_logs_dir=test_log
+
+
+dir=encoded
+name='non_ascii_test_info'
+mkdir -p $dir
+
+"$srcdir"/run_parser_all.sh -dir $dir $name
+exit_status=$?
+cat $dir/$one_test_logs_dir/$name.log
+exit $exit_status
+



reply via email to

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