texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/Common.pm (is_content_empty): do not


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/Common.pm (is_content_empty): do not consider text set to '0' to be empty.
Date: Sat, 03 Feb 2024 10:45:08 -0500

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

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new c551b1e3a8 * tp/Texinfo/Common.pm (is_content_empty): do not consider 
text set to '0' to be empty.
c551b1e3a8 is described below

commit c551b1e3a807036fc407af4cb55793ee069b99ad
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Feb 3 16:44:55 2024 +0100

    * tp/Texinfo/Common.pm (is_content_empty): do not consider text set to
    '0' to be empty.
    
    * tp/Texinfo/Convert/HTML.pm (_convert_printindex_command),
    tp/Texinfo/XS/convert/convert_html.c (convert_printindex_command):
    normalize and transliterate letter to use it as an identifier. Gather
    the first formatted index entry in a letter. Format the letter only
    once.
    
    * tp/Texinfo/Indices.pm (_idx_leading_text_or_command)
    (index_entry_first_letter_text_or_command): add a function that finds
    the first letter as an @-command, or the first letter text.
---
 ChangeLog                                          |  15 +++
 tp/Texinfo/Common.pm                               |   2 +-
 tp/Texinfo/Convert/HTML.pm                         |  45 ++++++-
 tp/Texinfo/Indices.pm                              | 129 ++++++++++++++++++++-
 tp/Texinfo/XS/convert/convert_html.c               |  67 ++++++++---
 .../sample_utf8/res_html/Index-node.html           |   6 +-
 .../res_html/chap.html                             |  18 +--
 .../res_html/chap.html                             |  24 ++--
 8 files changed, 259 insertions(+), 47 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 53d2996532..17f8bfdacb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2024-02-03  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Common.pm (is_content_empty): do not consider text set to
+       '0' to be empty.
+
+       * tp/Texinfo/Convert/HTML.pm (_convert_printindex_command),
+       tp/Texinfo/XS/convert/convert_html.c (convert_printindex_command):
+       normalize and transliterate letter to use it as an identifier. Gather
+       the first formatted index entry in a letter. Format the letter only
+       once.
+
+       * tp/Texinfo/Indices.pm (_idx_leading_text_or_command)
+       (index_entry_first_letter_text_or_command): add a function that finds
+       the first letter as an @-command, or the first letter text.
+
 2024-02-02  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/Convert/Utils.pm (definition_category_tree),
diff --git a/tp/Texinfo/Common.pm b/tp/Texinfo/Common.pm
index 18070c0f3e..503c2cc476 100644
--- a/tp/Texinfo/Common.pm
+++ b/tp/Texinfo/Common.pm
@@ -1505,7 +1505,7 @@ sub is_content_empty($;$)
         return 0;
       }
     }
-    if ($content->{'text'} and $content->{'text'} =~ /\S/) {
+    if (defined($content->{'text'}) and $content->{'text'} =~ /\S/) {
       return 0;
     }
     if (not is_content_empty($content, $do_not_ignore_index_entries)) {
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 1af46e4cce..c47cc6fa55 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -6272,6 +6272,7 @@ sub _convert_printindex_command($$$$)
   my %letter_is_symbol;
   # First collect the links that are used in entries and in letter summaries
   my $symbol_idx = 0;
+  my $normalized_letter_idx = 0;
   foreach my $letter_entry (@{$index_entries_by_letter->{$index_name}}) {
     my $letter = $letter_entry->{'letter'};
     my $is_symbol = $letter !~ /^\p{Alpha}/;
@@ -6281,13 +6282,25 @@ sub _convert_printindex_command($$$$)
       $symbol_idx++;
       $identifier = $index_element_id . "_${index_name}_symbol-$symbol_idx";
     } else {
-      $identifier = $index_element_id . "_${index_name}_letter-${letter}";
+      my $normalized_letter =
+  Texinfo::Convert::NodeNameNormalization::normalize_transliterate_texinfo(
+               {'text' => $letter});
+      my $letter_identifier = $normalized_letter;
+      if ($normalized_letter ne $letter) {
+        # disambiguate, as it could be another letter, case of @l, for example
+        $normalized_letter_idx++;
+        $letter_identifier = "${normalized_letter}-${normalized_letter_idx}";
+      }
+      $identifier = $index_element_id
+                       . "_${index_name}_letter-${letter_identifier}";
     }
     $letter_id{$letter} = $identifier;
+
   }
 
   $self->_new_document_context($cmdname);
 
+  my %formatted_letters;
   # Next do the entries to determine the letters that are not empty
   my @letter_entries;
   my $result_index_entries = '';
@@ -6295,6 +6308,7 @@ sub _convert_printindex_command($$$$)
     my $letter = $letter_entry->{'letter'};
     my $entries_text = '';
     my $entry_nr = -1;
+    my $first_entry;
     # since we normalize, a different formatting will not trigger a new
     # formatting of the main entry or a subentry level.  This is the
     # same for Texinfo TeX
@@ -6527,6 +6541,10 @@ sub _convert_printindex_command($$$$)
 
         next if ($entry !~ /\S/ and $last_entry_level == 0);
 
+        if (!defined($first_entry)) {
+          $first_entry = $index_entry_ref;
+        }
+
         @prev_normalized_entry_levels = @new_normalized_entry_levels;
 
         $entry = '<code>' .$entry .'</code>' if ($in_code);
@@ -6624,9 +6642,27 @@ sub _convert_printindex_command($$$$)
     }
     # a letter and associated indice entries
     if ($entries_text ne '') {
+      my $formatted_letter;
+      my $letter_command;
+
+      # may not be defined if there are only seeentry/seealso
+      if (defined($first_entry)) {
+        my $letter_text;
+        ($letter_text, $letter_command)
+          = Texinfo::Indices::index_entry_first_letter_text_or_command(
+                                                             $first_entry);
+      }
+      #if ($letter_command) {
+      #  $formatted_letter = $self->convert_tree($letter_command,
+      #                                          "index letter $letter 
command");
+      #} else {
+        $formatted_letter
+         = &{$self->formatting_function('format_protect_text')}($self, 
$letter);
+      #}
+      $formatted_letters{$letter} = $formatted_letter;
+
       $result_index_entries .= '<tr>' .
-        "<th id=\"$letter_id{$letter}\">".
-        &{$self->formatting_function('format_protect_text')}($self, $letter)
+        "<th id=\"$letter_id{$letter}\">".$formatted_letter
         . "</th></tr>\n" . $entries_text
         . "<tr><td 
colspan=\"3\">".$self->get_conf('DEFAULT_RULE')."</td></tr>\n";
       push @letter_entries, $letter_entry;
@@ -6640,8 +6676,7 @@ sub _convert_printindex_command($$$$)
     my $letter = $letter_entry->{'letter'};
     my $summary_letter_link
       = $self->html_attribute_class('a',["summary-letter-$cmdname"])
-       ." href=\"#$letter_id{$letter}\"><b>".
-          &{$self->formatting_function('format_protect_text')}($self, $letter)
+       ." href=\"#$letter_id{$letter}\"><b>".$formatted_letters{$letter}
            .'</b></a>';
     if ($letter_is_symbol{$letter}) {
       push @non_alpha, $summary_letter_link;
diff --git a/tp/Texinfo/Indices.pm b/tp/Texinfo/Indices.pm
index 065804e1b1..8336723a10 100644
--- a/tp/Texinfo/Indices.pm
+++ b/tp/Texinfo/Indices.pm
@@ -27,7 +27,7 @@ use if $] >= 5.012, feature => 'unicode_strings';
 
 use strict;
 # Can be used to check that there is no incorrect autovivfication
-# no autovivification qw(fetch delete exists store strict);
+#no autovivification qw(fetch delete exists store strict);
 
 # Cannot do that because of sort_indices_by_letter, probably for uc().
 # stop \s from matching non-ASCII spaces, etc.  \p{...} can still be
@@ -199,6 +199,14 @@ sub setup_index_entry_keys_formatting($)
 {
   my $customization_info = shift;
 
+  my $text_options;
+
+  #$text_options = {};
+  #$text_options->{'enabled_encoding'} = 'utf-8';
+  #$text_options->{'INCLUDE_DIRECTORIES'}
+  #   = $customization_info->get_conf('INCLUDE_DIRECTORIES');
+  #return $text_options;
+
   my $additional_options = {};
 
   if (not $customization_info->get_conf('ENABLE_ENCODING')
@@ -206,7 +214,7 @@ sub setup_index_entry_keys_formatting($)
     $additional_options->{'sort_string'} = 1;
   }
 
-  my $text_options
+  $text_options
     = 
Texinfo::Convert::Text::copy_options_for_convert_text($customization_info,
                                                            
$additional_options);
   return $text_options;
@@ -535,6 +543,119 @@ sub sort_indices_by_index($$$$;$)
   return ($sorted_index_entries, $index_entries_sort_strings);
 }
 
+# NOTE quotes and dash are not handled especially and it is not known
+# if the text was in code or not
+sub _idx_leading_text_or_command($$);
+sub _idx_leading_text_or_command($$)
+{
+  my $tree = shift;
+  my $ignore_chars = shift;
+
+  return (undef, undef) if (!$tree->{'contents'});
+  foreach my $content (@{$tree->{'contents'}}) {
+    if ($content->{'cmdname'}) {
+      my $cmdname = $content->{'cmdname'};
+      if ($Texinfo::Commands::formatted_nobrace_commands{$cmdname}) {
+        next if (defined($ignore_chars) and $cmdname eq '@'
+                 and $ignore_chars =~ /\@/);
+        return (undef, $content);
+      } else {
+        my $brace_command_type = $Texinfo::Commands::brace_commands{$cmdname};
+        if (defined($brace_command_type)) {
+          if ($Texinfo::Commands::non_formatted_brace_commands{$cmdname}
+              or $cmdname eq 'footnote' or $cmdname eq 'dmn'
+              or $cmdname eq 'value'
+              or $Texinfo::Commands::in_index_commands{$cmdname}) {
+            next;
+          } elsif ($brace_command_type eq 'accent'
+              or $brace_command_type eq 'noarg'
+              or $cmdname eq 'U') {
+            return (undef, $content);
+          } elsif ($brace_command_type ne 'inline') {
+            if ($content->{'args'} and scalar(@{$content->{'args'}})) {
+              return _idx_leading_text_or_command($content->{'args'}->[0],
+                                                  $ignore_chars);
+            }
+          } else {
+            if (defined($content->{'extra'})
+                and defined($content->{'extra'}->{'expand_index'})) {
+              return _idx_leading_text_or_command($content->{'args'}
+                             ->[$content->{'extra'}->{'expand_index'}],
+                                                  $ignore_chars);
+            }
+          }
+        } elsif ($Texinfo::Commands::formatted_line_commands{$cmdname}
+                 and $cmdname ne 'page'
+                 and $content->{'args'}
+                 and scalar(@{$content->{'args'}})) {
+          return _idx_leading_text_or_command($content->{'args'}->[0],
+                                              $ignore_chars);
+        }
+      }
+    } elsif (defined($content->{'text'}) and $content->{'text'} =~ /\S/) {
+      my $result_text = $content->{'text'};
+      $result_text =~ s/^\s*//;
+      if (defined($ignore_chars)) {
+        $result_text =~ s/[$ignore_chars]//g;
+        $result_text =~ s/^\s*//;
+        next if ($result_text eq '');
+      }
+      return ($result_text, undef);
+    } elsif ($content->{'contents'}) {
+      return _idx_leading_text_or_command($content, $ignore_chars);
+    }
+  }
+  return (undef, undef);
+}
+
+# TODO document
+sub index_entry_first_letter_text_or_command($;$)
+{
+  my $index_entry = shift;
+  my $entry_key = shift;
+
+  if (!defined($index_entry)) {
+    # FIXME cluck
+    return (undef, undef);
+  }
+
+  my $index_entry_element = $index_entry->{'entry_element'};
+  if ($index_entry_element->{'extra'}
+      and defined($index_entry_element->{'extra'}->{'sortas'})) {
+    return ($index_entry_element->{'extra'}->{'sortas'}, undef);
+  } else {
+    my $entry_tree_element = Texinfo::Common::index_content_element(
+                                                 $index_entry_element, 0);
+    my $ignore_chars;
+    if ($index_entry_element->{'extra'}
+        and defined($index_entry_element->{'extra'}
+                                            ->{'index_ignore_chars'})) {
+      $ignore_chars = quotemeta($index_entry_element->{'extra'}
+                                            ->{'index_ignore_chars'});
+    }
+    my $parsed_element;
+    if (!$entry_tree_element->{'contents'}) {
+      $parsed_element = {'contents' => [$entry_tree_element]};
+    } else {
+      $parsed_element = $entry_tree_element;
+    }
+
+    my ($text, $command) = _idx_leading_text_or_command($parsed_element,
+                                                        $ignore_chars);
+    #if ($command) {
+    #  print STDERR "CCC '$entry_key' "
+    #      .Texinfo::Common::debug_print_element($command)."\n";
+    #} elsif (defined($text)) {
+    #  if (substr($entry_key, 0, 1) ne substr($text, 0, 1)) {
+    #    print STDERR "TTT '$entry_key' '$text'\n";
+    #  }
+    #} else {
+    #  print STDERR "III '$entry_key'\n";
+    #}
+    return ($text, $command);
+  }
+}
+
 sub sort_indices_by_letter($$$$;$)
 {
   my $registrar = shift;
@@ -723,7 +844,9 @@ is returned.
 When sorting by letter, an array reference of letter hash references is
 associated with each index name.  Each letter hash reference has two
 keys, a I<letter> key with the letter, and an I<entries> key with an array
-reference of sorted index entries beginning with the letter.
+reference of sorted index entries beginning with the letter.  The letter
+is a character string suitable for sorting letters, but is not necessarily
+the best to use for output.
 
 When simply sorting, the array of the sorted index entries is associated
 with the index name.
diff --git a/tp/Texinfo/XS/convert/convert_html.c 
b/tp/Texinfo/XS/convert/convert_html.c
index 36af3b1b7e..61d87bcd4a 100644
--- a/tp/Texinfo/XS/convert/convert_html.c
+++ b/tp/Texinfo/XS/convert/convert_html.c
@@ -12421,8 +12421,9 @@ convert_printindex_command (CONVERTER *self, const enum 
command_id cmd,
   size_t non_alpha_nr = 0;
   size_t alpha_nr = 0;
   int *letter_is_symbol;
-  int *letter_has_entries;
+  char **formatted_letters;
   size_t symbol_idx = 0;
+  size_t normalized_letter_idx = 0;
   size_t i;
   char *entry_class_seeentry;
   char *section_class_seeentry;
@@ -12487,8 +12488,8 @@ convert_printindex_command (CONVERTER *self, const enum 
command_id cmd,
   memset (non_alpha, 0, (index_sorted->letter_number +1) * sizeof (char *));
   letter_is_symbol
     = (int *) malloc (index_sorted->letter_number * sizeof (int));
-  letter_has_entries
-    = (int *) malloc (index_sorted->letter_number * sizeof (int));
+  formatted_letters = (char **) malloc
+      (index_sorted->letter_number * sizeof (char *));
 
   for (i = 0; i < index_sorted->letter_number; i++)
     {
@@ -12507,8 +12508,29 @@ convert_printindex_command (CONVERTER *self, const 
enum command_id cmd,
                                    index_name, symbol_idx);
         }
       else
-        xasprintf (&letter_id[i], "%s_%s_letter-%s", index_element_id,
-                                   index_name, letter);
+        {
+          char *normalized_letter = letter;
+          ELEMENT *letter_text = new_element (ET_NONE);
+          text_append (&letter_text->text, letter);
+          normalized_letter = normalize_transliterate_texinfo (letter_text,
+                                             (self->conf->TEST.integer > 0));
+          destroy_element (letter_text);
+
+          if (strcmp (letter, normalized_letter))
+            {
+              char *tmp_normalized_letter;
+   /* disambiguate, as it could be another letter, case of @l, for example */
+              normalized_letter_idx++;
+              xasprintf (&tmp_normalized_letter, "%s-%zu", normalized_letter,
+                                                 normalized_letter_idx);
+              free (normalized_letter);
+              normalized_letter = tmp_normalized_letter;
+            }
+
+          xasprintf (&letter_id[i], "%s_%s_letter-%s", index_element_id,
+                                     index_name, normalized_letter);
+          free (normalized_letter);
+        }
     }
 
   html_new_document_context (self, builtin_command_name (cmd), 0, 0);
@@ -12539,6 +12561,7 @@ convert_printindex_command (CONVERTER *self, const enum 
command_id cmd,
   /* Next do the entries to determine the letters that are not empty */
   for (i = 0; i < index_sorted->letter_number; i++)
     {
+      INDEX_ENTRY *first_entry = 0;
       LETTER_INDEX_ENTRIES *letter_entry = &index_sorted->letter_entries[i];
       char *letter = letter_entry->letter;
       size_t entry_nr = 0;
@@ -12973,6 +12996,9 @@ convert_printindex_command (CONVERTER *self, const enum 
command_id cmd,
                 }
               else
                 {
+                  if (!first_entry)
+                    first_entry = index_entry_ref;
+
                   if (index_entry_ref->entry_associated_element)
                     target_element = index_entry_ref->entry_associated_element;
                   else
@@ -13142,34 +13168,45 @@ convert_printindex_command (CONVERTER *self, const 
enum command_id cmd,
 
       if (entries_text.end > 0)
         {
+          char *formatted_letter;
+
+          /* TODO cf perl */
+          {
+            TEXT text_letter;
+            text_init (&text_letter);
+            text_append (&text_letter, "");
+            format_protect_text (self, letter, &text_letter);
+            formatted_letter = text_letter.text;
+          }
+
+          formatted_letters[i] = formatted_letter;
+
           text_append_n (&result_index_entries, "<tr>", 4);
           text_printf (&result_index_entries, "<th id=\"%s\">", letter_id[i]);
-          format_protect_text (self, letter, &result_index_entries);
+          text_append (&result_index_entries, formatted_letter);
           text_append_n (&result_index_entries, "</th></tr>\n", 11);
           text_append (&result_index_entries, entries_text.text);
           text_append_n (&result_index_entries, "<tr><td colspan=\"3\">", 20);
           text_append (&result_index_entries, self->conf->DEFAULT_RULE.string);
           text_append_n (&result_index_entries, "</td></tr>\n", 11);
-          letter_has_entries[i] = 1;
         }
       else
-        letter_has_entries[i] = 0;
+        {
+          formatted_letters[i] = 0;
+        }
     }
 
   add_string (summary_letter_cmd, entry_classes);
   attribute_class = html_attribute_class (self, "a", entry_classes);
   for (i = 0; i < index_sorted->letter_number; i++)
     {
-      if (letter_has_entries[i])
+      if (formatted_letters[i])
         {
-          LETTER_INDEX_ENTRIES *letter_entry = 
&index_sorted->letter_entries[i];
-          char *letter = letter_entry->letter;
-
           text_reset (&entries_text);
 
           text_append (&entries_text, attribute_class);
           text_printf (&entries_text, " href=\"#%s\"><b>", letter_id[i]);
-          format_protect_text (self, letter, &entries_text);
+          text_append (&entries_text, formatted_letters[i]);
           text_append_n (&entries_text, "</b></a>", 8);
 
           if (letter_is_symbol[i])
@@ -13182,12 +13219,14 @@ convert_printindex_command (CONVERTER *self, const 
enum command_id cmd,
               alpha[alpha_nr] = strdup (entries_text.text);
               alpha_nr++;
             }
+
+          free (formatted_letters[i]);
         }
     }
   free (attribute_class);
 
   free (letter_is_symbol);
-  free (letter_has_entries);
+  free (formatted_letters);
 
   for (i = 0; i < index_sorted->letter_number; i++)
     free (letter_id[i]);
diff --git 
a/tp/t/results/formats_encodings/sample_utf8/res_html/Index-node.html 
b/tp/t/results/formats_encodings/sample_utf8/res_html/Index-node.html
index b3c5fd7037..ef5c22c62f 100644
--- a/tp/t/results/formats_encodings/sample_utf8/res_html/Index-node.html
+++ b/tp/t/results/formats_encodings/sample_utf8/res_html/Index-node.html
@@ -51,7 +51,7 @@ Previous: <a href="Second-Chapter-AE-AE-ae-ae.html" 
accesskey="p" rel="prev">Cha
  &nbsp; 
 <a class="summary-letter-printindex" 
href="#Index-node_cp_letter-E"><b>E</b></a>
  &nbsp; 
-<a class="summary-letter-printindex" 
href="#Index-node_cp_letter-另"><b>另</b></a>
+<a class="summary-letter-printindex" 
href="#Index-node_cp_letter-Ling-1"><b>另</b></a>
  &nbsp; 
 </td></tr></table>
 <table class="cp-entries-printindex" border="0">
@@ -66,7 +66,7 @@ Previous: <a href="Second-Chapter-AE-AE-ae-ae.html" 
accesskey="p" rel="prev">Cha
 <tr><th id="Index-node_cp_letter-E">E</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="DiYiZhang_0028First-Chapter_0029.html#index-e-A">é Â</a></td><td 
class="printindex-index-section"><a 
href="DiYiZhang_0028First-Chapter_0029.html">第一章(First Chapter)</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
-<tr><th id="Index-node_cp_letter-另">另</th></tr>
+<tr><th id="Index-node_cp_letter-Ling-1">另</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="DiYiZhang_0028First-Chapter_0029.html#index-LingYiGe_002cindex-entry">另一个,index
 entry</a></td><td class="printindex-index-section"><a 
href="DiYiZhang_0028First-Chapter_0029.html">第一章(First Chapter)</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
 </table>
@@ -76,7 +76,7 @@ Previous: <a href="Second-Chapter-AE-AE-ae-ae.html" 
accesskey="p" rel="prev">Cha
  &nbsp; 
 <a class="summary-letter-printindex" 
href="#Index-node_cp_letter-E"><b>E</b></a>
  &nbsp; 
-<a class="summary-letter-printindex" 
href="#Index-node_cp_letter-另"><b>另</b></a>
+<a class="summary-letter-printindex" 
href="#Index-node_cp_letter-Ling-1"><b>另</b></a>
  &nbsp; 
 </td></tr></table>
 </div>
diff --git 
a/tp/t/results/indices/encoding_index_latin1_enable_encoding/res_html/chap.html 
b/tp/t/results/indices/encoding_index_latin1_enable_encoding/res_html/chap.html
index 38be8b3732..6415443c9f 100644
--- 
a/tp/t/results/indices/encoding_index_latin1_enable_encoding/res_html/chap.html
+++ 
b/tp/t/results/indices/encoding_index_latin1_enable_encoding/res_html/chap.html
@@ -119,7 +119,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index latin1</a
 <br>
 <a class="summary-letter-printindex" href="#chap_cp_letter-A"><b>A</b></a>
  � 
-<a class="summary-letter-printindex" href="#chap_cp_letter-�"><b>�</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-AE-1"><b>�</b></a>
  � 
 <a class="summary-letter-printindex" href="#chap_cp_letter-B"><b>B</b></a>
  � 
@@ -127,7 +127,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index latin1</a
  � 
 <a class="summary-letter-printindex" href="#chap_cp_letter-D"><b>D</b></a>
  � 
-<a class="summary-letter-printindex" href="#chap_cp_letter-�"><b>�</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-D-2"><b>�</b></a>
  � 
 <a class="summary-letter-printindex" href="#chap_cp_letter-E"><b>E</b></a>
  � 
@@ -175,7 +175,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index latin1</a
  � 
 <a class="summary-letter-printindex" href="#chap_cp_letter-Z"><b>Z</b></a>
  � 
-<a class="summary-letter-printindex" href="#chap_cp_letter-�"><b>�</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-TH-3"><b>�</b></a>
  � 
 </td></tr></table>
 <table class="cp-entries-printindex" border="0">
@@ -222,7 +222,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index latin1</a
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-a">a</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-A">A</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
-<tr><th id="chap_cp_letter-�">�</th></tr>
+<tr><th id="chap_cp_letter-AE-1">�</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-AE">�</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
 <tr><th id="chap_cp_letter-B">B</th></tr>
@@ -235,7 +235,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index latin1</a
 <tr><th id="chap_cp_letter-D">D</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-d">d</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
-<tr><th id="chap_cp_letter-�">�</th></tr>
+<tr><th id="chap_cp_letter-D-2">�</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-D">�</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
 <tr><th id="chap_cp_letter-E">E</th></tr>
@@ -315,7 +315,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index latin1</a
 <tr><th id="chap_cp_letter-Z">Z</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-z">z</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
-<tr><th id="chap_cp_letter-�">�</th></tr>
+<tr><th id="chap_cp_letter-TH-3">�</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-TH">�</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
 </table>
@@ -344,7 +344,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index latin1</a
 <br>
 <a class="summary-letter-printindex" href="#chap_cp_letter-A"><b>A</b></a>
  � 
-<a class="summary-letter-printindex" href="#chap_cp_letter-�"><b>�</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-AE-1"><b>�</b></a>
  � 
 <a class="summary-letter-printindex" href="#chap_cp_letter-B"><b>B</b></a>
  � 
@@ -352,7 +352,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index latin1</a
  � 
 <a class="summary-letter-printindex" href="#chap_cp_letter-D"><b>D</b></a>
  � 
-<a class="summary-letter-printindex" href="#chap_cp_letter-�"><b>�</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-D-2"><b>�</b></a>
  � 
 <a class="summary-letter-printindex" href="#chap_cp_letter-E"><b>E</b></a>
  � 
@@ -400,7 +400,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index latin1</a
  � 
 <a class="summary-letter-printindex" href="#chap_cp_letter-Z"><b>Z</b></a>
  � 
-<a class="summary-letter-printindex" href="#chap_cp_letter-�"><b>�</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-TH-3"><b>�</b></a>
  � 
 </td></tr></table>
 </div>
diff --git 
a/tp/t/results/indices/encoding_index_utf8_enable_encoding/res_html/chap.html 
b/tp/t/results/indices/encoding_index_utf8_enable_encoding/res_html/chap.html
index b0ed810b70..d57c300481 100644
--- 
a/tp/t/results/indices/encoding_index_utf8_enable_encoding/res_html/chap.html
+++ 
b/tp/t/results/indices/encoding_index_utf8_enable_encoding/res_html/chap.html
@@ -123,7 +123,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
 <br>
 <a class="summary-letter-printindex" href="#chap_cp_letter-A"><b>A</b></a>
    
-<a class="summary-letter-printindex" href="#chap_cp_letter-Æ"><b>Æ</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-AE-1"><b>Æ</b></a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-B"><b>B</b></a>
    
@@ -131,7 +131,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-D"><b>D</b></a>
    
-<a class="summary-letter-printindex" href="#chap_cp_letter-Ð"><b>Ð</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-D-2"><b>Ð</b></a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-E"><b>E</b></a>
    
@@ -149,7 +149,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-L"><b>L</b></a>
    
-<a class="summary-letter-printindex" href="#chap_cp_letter-Ł"><b>Ł</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-L-3"><b>Ł</b></a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-M"><b>M</b></a>
    
@@ -181,7 +181,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-Z"><b>Z</b></a>
    
-<a class="summary-letter-printindex" href="#chap_cp_letter-Þ"><b>Þ</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-TH-4"><b>Þ</b></a>
    
 </td></tr></table>
 <table class="cp-entries-printindex" border="0">
@@ -233,7 +233,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-a">a</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-A">A</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
-<tr><th id="chap_cp_letter-Æ">Æ</th></tr>
+<tr><th id="chap_cp_letter-AE-1">Æ</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-AE">Æ</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
 <tr><th id="chap_cp_letter-B">B</th></tr>
@@ -246,7 +246,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
 <tr><th id="chap_cp_letter-D">D</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-d">d</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
-<tr><th id="chap_cp_letter-Ð">Ð</th></tr>
+<tr><th id="chap_cp_letter-D-2">Ð</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-D">Ð</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
 <tr><th id="chap_cp_letter-E">E</th></tr>
@@ -278,7 +278,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
 <tr><th id="chap_cp_letter-L">L</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-l">l</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
-<tr><th id="chap_cp_letter-Ł">Ł</th></tr>
+<tr><th id="chap_cp_letter-L-3">Ł</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-l-1">ł</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-L">Ł</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
@@ -327,7 +327,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
 <tr><th id="chap_cp_letter-Z">Z</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-z">z</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
-<tr><th id="chap_cp_letter-Þ">Þ</th></tr>
+<tr><th id="chap_cp_letter-TH-4">Þ</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-TH">Þ</a></td><td class="printindex-index-section"><a 
href="#chap">chap</a></td></tr>
 <tr><td colspan="3"><hr></td></tr>
 </table>
@@ -360,7 +360,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
 <br>
 <a class="summary-letter-printindex" href="#chap_cp_letter-A"><b>A</b></a>
    
-<a class="summary-letter-printindex" href="#chap_cp_letter-Æ"><b>Æ</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-AE-1"><b>Æ</b></a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-B"><b>B</b></a>
    
@@ -368,7 +368,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-D"><b>D</b></a>
    
-<a class="summary-letter-printindex" href="#chap_cp_letter-Ð"><b>Ð</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-D-2"><b>Ð</b></a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-E"><b>E</b></a>
    
@@ -386,7 +386,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-L"><b>L</b></a>
    
-<a class="summary-letter-printindex" href="#chap_cp_letter-Ł"><b>Ł</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-L-3"><b>Ł</b></a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-M"><b>M</b></a>
    
@@ -418,7 +418,7 @@ Previous: <a href="index.html" accesskey="p" 
rel="prev">encoding index utf8</a>
    
 <a class="summary-letter-printindex" href="#chap_cp_letter-Z"><b>Z</b></a>
    
-<a class="summary-letter-printindex" href="#chap_cp_letter-Þ"><b>Þ</b></a>
+<a class="summary-letter-printindex" href="#chap_cp_letter-TH-4"><b>Þ</b></a>
    
 </td></tr></table>
 </div>



reply via email to

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