texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/Convert/Text.pm (%ignored_brace_comm


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/Convert/Text.pm (%ignored_brace_commands), tp/Texinfo/Convert/NodeNameNormalization.pm (%ignored_brace_commands): ignore sortas, seealso, seeentry. * tp/Texinfo/Structuring.pm (setup_index_entry_keys_formatting) (index_key, do_index_keys): split setup_index_entry_keys_formatting and index_key out of do_index_keys() such that the same code can be used in converters on individual index entries or subentries. * tp/Texinfo/Convert/LaTeX.pm (_index_entry): use Texinfo::Structuring: [...]
Date: Tue, 24 Aug 2021 11:39:08 -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 4335211  * tp/Texinfo/Convert/Text.pm (%ignored_brace_commands), 
tp/Texinfo/Convert/NodeNameNormalization.pm (%ignored_brace_commands): ignore 
sortas, seealso, seeentry. * tp/Texinfo/Structuring.pm 
(setup_index_entry_keys_formatting) (index_key, do_index_keys): split 
setup_index_entry_keys_formatting and index_key out of do_index_keys() such 
that the same code can be used in converters on individual index entries or 
subentries. * tp/Texinfo/Convert/LaTeX.pm (_index_entry): use Te [...]
4335211 is described below

commit 4335211e0af17df1bafd1d9900ce61b46f3f1b98
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Tue Aug 24 17:38:57 2021 +0200

    * tp/Texinfo/Convert/Text.pm (%ignored_brace_commands),
    tp/Texinfo/Convert/NodeNameNormalization.pm
    (%ignored_brace_commands): ignore sortas, seealso, seeentry.
    * tp/Texinfo/Structuring.pm (setup_index_entry_keys_formatting)
    (index_key, do_index_keys): split setup_index_entry_keys_formatting
    and index_key out of do_index_keys() such that the same code
    can be used in converters on individual index entries or
    subentries.
    * tp/Texinfo/Convert/LaTeX.pm (_index_entry): use
    Texinfo::Structuring::index_key() to setup sorting string
    for index entries in code.  Protect sortas strings.
---
 ChangeLog                                          | 14 ++++
 tp/Texinfo/Convert/LaTeX.pm                        | 39 +++++++-----
 tp/Texinfo/Convert/Text.pm                         |  2 +-
 tp/Texinfo/Structuring.pm                          | 74 ++++++++++++++--------
 tp/t/09indices.t                                   |  4 +-
 .../def_syn_indices/res_latex/def_syn_indices.tex  |  2 +-
 tp/t/results/indices/explicit_sort_key.pl          | 24 +++----
 .../indices/seeentry/res_latex/seeentry.tex        |  4 +-
 tp/t/results/indices/subentry_and_sortas.pl        | 44 ++++++-------
 .../res_latex/subentry_and_sortas.tex              |  4 +-
 tp/t/results/latex_tests/indices.pl                |  2 +-
 .../latex_tests/indices/res_latex/indices.tex      |  2 +-
 .../layout/res_parser/formatting/formatting.html   | 12 ++--
 .../formatting/internal_links_formatting.txt       |  4 +-
 .../layout/res_parser/formatting_chm/chapter.html  |  8 +--
 .../layout/res_parser/formatting_chm/chapter2.html |  4 +-
 .../res_parser/formatting_chm/formatting.hhk       |  8 +--
 .../res_parser/formatting_exotic/chapter.html      |  8 +--
 .../res_parser/formatting_exotic/chapter2.html     |  4 +-
 .../res_parser/formatting_fr_icons/formatting.html | 12 ++--
 .../res_parser/formatting_html/formatting.html     | 12 ++--
 .../res_parser/formatting_html32/formatting.html   | 12 ++--
 .../formatting_html_no_texi2html/formatting.html   | 12 ++--
 .../res_parser/formatting_html_nodes/chapter.html  |  8 +--
 .../res_parser/formatting_html_nodes/chapter2.html |  4 +-
 .../res_parser/formatting_latex/formatting.tex     | 48 +++++++-------
 .../res_parser/formatting_mathjax/formatting.html  | 12 ++--
 .../res_parser/formatting_nodes/chapter.html       |  8 +--
 .../res_parser/formatting_nodes/chapter2.html      |  4 +-
 .../formatting_weird_quotes/formatting.html        | 12 ++--
 .../res_parser/formatting_singular/chapter.html    |  8 +--
 .../res_parser/formatting_singular/chapter2.html   |  4 +-
 32 files changed, 232 insertions(+), 187 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 03f27ce..0727fd9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
 2021-08-24  Patrice Dumas  <pertusus@free.fr>
 
+       * tp/Texinfo/Convert/Text.pm (%ignored_brace_commands),
+       tp/Texinfo/Convert/NodeNameNormalization.pm
+       (%ignored_brace_commands): ignore sortas, seealso, seeentry.
+       * tp/Texinfo/Structuring.pm (setup_index_entry_keys_formatting)
+       (index_key, do_index_keys): split setup_index_entry_keys_formatting
+       and index_key out of do_index_keys() such that the same code
+       can be used in converters on individual index entries or
+       subentries.
+       * tp/Texinfo/Convert/LaTeX.pm (_index_entry): use
+       Texinfo::Structuring::index_key() to setup sorting string
+       for index entries in code.  Protect sortas strings.
+
+2021-08-24  Patrice Dumas  <pertusus@free.fr>
+
        * tp/Texinfo/Convert/Converter.pm (convert_index_subentries):
        use convert_tree() instead of _convert().
 
diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index 0ef7270..05ae075 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -453,6 +453,7 @@ foreach my $accent_command (keys 
%{$LaTeX_accent_commands{'math'}}) {
 }
 
 my %ignored_commands = %ignored_misc_commands;
+# processed as part of the index command or type formatting
 foreach my $ignored_brace_commands (
   'sortas', 'seeentry', 'seealso') {
   $ignored_commands{$ignored_brace_commands} = 1;
@@ -1600,45 +1601,50 @@ sub _index_entry($$)
       $in_code = 1;
     }
     #print STDERR "I ".Texinfo::Common::_print_element_tree_simple($root)." 
".$entry_index_name."/".$index_name." ".$in_code." C 
".$entry->{'index_at_command'}." T ".$entry->{'index_type_command'}."; 
".join("|", sort(keys(%{$root->{'extra'}})))."\n";
+    # FIXME cache?  In theory txiindexbackslashignore and consorts
+    # may change dynamically.  But the current code does not set the
+    # values dynamically for now.
+    my ($options, $ignore_chars)
+      = Texinfo::Structuring::setup_index_entry_keys_formatting($self);
     my $current_entry = $root;
-    my $sortas;
+    my $current_sortas;
     my $subentry_commands = [$root];
     if (exists($root->{'extra'}->{'sortas'})) {
-      $sortas = $root->{'extra'}->{'sortas'};
+      $current_sortas = $root->{'extra'}->{'sortas'};
     }
-    my $subentries = [[{'contents' => $entry->{'content_normalized'}}, 
$sortas]];
+    my $subentries = [[{'contents' => $entry->{'content_normalized'}},
+                         $current_sortas]];
     while ($current_entry->{'extra'}
       and $current_entry->{'extra'}->{'subentry'}) {
       $current_entry = $current_entry->{'extra'}->{'subentry'};
-      my $sortas;
+      my $current_sortas;
       if (exists($current_entry->{'extra'}->{'sortas'})) {
-        $sortas = $current_entry->{'extra'}->{'sortas'};
+        $current_sortas = $current_entry->{'extra'}->{'sortas'};
       }
-      push @$subentries, [$current_entry->{'args'}->[0], $sortas];
+      push @$subentries, [$current_entry->{'args'}->[0], $current_sortas];
       push @$subentry_commands, $current_entry;
     }
     _push_new_context($self, 'index_entry');
     $self->{'formatting_context'}->[-1]->{'index'} = 1;
     my @result;
     foreach my $subentry_sortas (@$subentries) {
-      my ($subentry, $sortas) = @$subentry_sortas;
+      my $sortas;
+      my ($subentry, $subentry_sortas) = @$subentry_sortas;
       if ($in_code) {
         $self->{'formatting_context'}->[-1]->{'code'} += 1;
       }
       my $index_entry = _convert($self, $subentry);
       if ($in_code) {
         $self->{'formatting_context'}->[-1]->{'code'} -= 1;
-        # always use a string to sort with code as we use a command
-        if (not defined($sortas)) {
-          $sortas = _convert($self, $subentry);
-          # another possibility could be to use
-          # 
_protect_index_text(Texinfo::Convert::NodeNameNormalization::transliterate_texinfo($subentry));
-          # of Texinfo::Convert::Text
-        }
+        # always setup a string to sort with code as we use a command
+        $sortas = Texinfo::Structuring::index_key($entry, $subentry,
+                                 $subentry_sortas, $options, $ignore_chars);
+      } else {
+        $sortas = $subentry_sortas;
       }
       my $result = '';
       if (defined($sortas)) {
-        $result = $sortas.'@';
+        $result = _protect_text($self, $sortas).'@';
       }
       if ($in_code) {
         $result .= "\\texttt{$index_entry}";
@@ -2336,7 +2342,8 @@ sub _convert($$)
         if ($command eq 'displaymath') {
           push @{$self->{'formatting_context'}->[-1]->{'math_style'}}, 
'one-line';
           # close all preformatted formats
-          $preformatted_to_reopen = 
[@{$self->{'formatting_context'}->[-1]->{'preformatted_context'}}];
+          $preformatted_to_reopen
+              = 
[@{$self->{'formatting_context'}->[-1]->{'preformatted_context'}}];
           $result .= _close_preformatted_stack($self, $preformatted_to_reopen);
           $result .= "\$\$\n";
         }
diff --git a/tp/Texinfo/Convert/Text.pm b/tp/Texinfo/Convert/Text.pm
index ca831fb..b66c6f4 100644
--- a/tp/Texinfo/Convert/Text.pm
+++ b/tp/Texinfo/Convert/Text.pm
@@ -54,7 +54,7 @@ $VERSION = '6.8dev';
 # when they have no brace_command_arg, see below.
 my %ignored_brace_commands;
 foreach my $ignored_brace_command (#'xref','ref','pxref','inforef',
-   'anchor',
+   'anchor', 'sortas', 'seealso', 'seeentry',
    'footnote', 'shortcaption', 'caption', 'hyphenation', 'errormsg') {
   $ignored_brace_commands{$ignored_brace_command} = 1;
 }
diff --git a/tp/Texinfo/Structuring.pm b/tp/Texinfo/Structuring.pm
index 0d3dec5..247863c 100644
--- a/tp/Texinfo/Structuring.pm
+++ b/tp/Texinfo/Structuring.pm
@@ -1573,12 +1573,9 @@ sub _sort_index_entries_in_letter($$)
   return $res;
 }
 
-# Go through all the index entries and set 'key', the sort key, on
-# each one.
-sub do_index_keys($$)
+sub setup_index_entry_keys_formatting($)
 {
   my $self = shift;
-  my $index_names = shift;
   my $ignore_chars = '';
 
   # '-' must come first to avoid e.g. [<-@] looking like a character range
@@ -1591,40 +1588,67 @@ sub do_index_keys($$)
   $ignore_chars .= '@'
     if defined $self->{'values'}->{'txiindexatsignignore'};
 
-  my $options = {'sort_string' => 1};
-  if ($self->get_conf('ENABLE_ENCODING') 
-      and $self->{'info'}->{'input_encoding_name'}) {
+  my $options = {'sort_string' => 1,
+                 Texinfo::Common::_convert_text_options($self)};
+
+  # FIXME really useful?  Already set according to OUTPUT_ENCODING_NAME
+  if ($self->get_conf('ENABLE_ENCODING')
+      and $self->{'info'}->{'input_encoding_name'}
+      and not defined($options->{'enabled_encoding'})) {
     $options->{'enabled_encoding'} = $self->{'info'}->{'input_encoding_name'};
   }
+  return $options, $ignore_chars;
+}
 
-  if ($self->get_conf('ENABLE_ENCODING')) {
-    if ($self->get_conf('OUTPUT_ENCODING_NAME')) {
-      $options->{'enabled_encoding'} = $self->get_conf('OUTPUT_ENCODING_NAME');
+# can be used for subentries
+sub index_key($$$$;$)
+{
+  my $main_entry = shift;
+  my $entry_tree_element = shift;
+  my $sortas = shift;
+  my $options = shift;
+  my $ignore_chars = shift;
+
+  my $converter_options = {%$options};
+  $converter_options->{'code'} = $main_entry->{'in_code'};
+
+  my $entry_key;
+  if (defined($sortas)) {
+    $entry_key = $sortas;
+  } else {
+    $entry_key = Texinfo::Convert::Text::convert_to_text(
+                          $entry_tree_element, $converter_options);
+    # FIXME do that for sortas too?
+    if (defined($ignore_chars) and $ignore_chars ne '') {
+      $entry_key =~ s/[$ignore_chars]//g;
     }
   }
-  $options->{'expanded_formats_hash'} = $self->{'expanded_formats_hash'};
+  # This avoids varying results depending on whether the string is
+  # represented internally in UTF-8.  See "the Unicode bug" in the
+  # "perlunicode" man page.
+  utf8::upgrade($entry_key);
+
+  return $entry_key;
+}
+
+# Go through all the index entries and set 'key', the sort key, on
+# each one.
+sub do_index_keys($$)
+{
+  my $self = shift;
+  my $index_names = shift;
+
+  my ($options, $ignore_chars) = setup_index_entry_keys_formatting($self);
 
   foreach my $index_name (keys(%$index_names)) {
     foreach my $entry (@{$index_names->{$index_name}->{'index_entries'}}) {
-      $options->{'code'} = $entry->{'in_code'};
-      if (defined $entry->{'sortas'}) {
-        $entry->{'key'} = $entry->{'sortas'};
-      } else {
-        $entry->{'key'} = Texinfo::Convert::Text::convert_to_text(
-                              {'contents' => $entry->{'content'}}, $options);
-        if ($ignore_chars) {
-          $entry->{'key'} =~ s/[$ignore_chars]//g;
-        }
-      }
+      $entry->{'key'} = index_key($entry, {'contents' => $entry->{'content'}},
+                                  $entry->{'sortas'}, $options, $ignore_chars);
       if ($entry->{'key'} !~ /\S/) {
         $self->line_warn(sprintf(__("empty index key in \@%s"), 
                                  $entry->{'index_at_command'}),
                         $entry->{'command'}->{'line_nr'});
       }
-      # This avoids varying results depending on whether the string is
-      # represented internally in UTF-8.  See "the Unicode bug" in the
-      # "perlunicode" man page.
-      utf8::upgrade($entry->{'key'});
     }
   }
 }
diff --git a/tp/t/09indices.t b/tp/t/09indices.t
index f0e8942..d018940 100644
--- a/tp/t/09indices.t
+++ b/tp/t/09indices.t
@@ -615,9 +615,9 @@ in a reuglar para @sortas{foo}. @code{inside another 
@sortas{command}}.
 @node chapter index
 @chapter Index
 
-@cindex aaa @sortas{A} @subentry @sortas{B} bbb
+@cindex aaa @sortas{A---S} @subentry @sortas{B---S1} bbb
 
-@findex xxx @sortas{X} @subentry @sortas{X} zzz
+@findex xxx @sortas{X---S} @subentry @sortas{X---S1} zzz
 
 @printindex cp
 @printindex fn
diff --git a/tp/t/results/indices/def_syn_indices/res_latex/def_syn_indices.tex 
b/tp/t/results/indices/def_syn_indices/res_latex/def_syn_indices.tex
index 16a17b6..06e1663 100644
--- a/tp/t/results/indices/def_syn_indices/res_latex/def_syn_indices.tex
+++ b/tp/t/results/indices/def_syn_indices/res_latex/def_syn_indices.tex
@@ -107,7 +107,7 @@ after
 \index[fn]{index truc}%
 
 
-\index[codeidx]{a \emph{index entry} t\~{e} \^{\i{}}@\texttt{a \emph{index 
entry} t\~{e} \^{\i{}}}}%
+\index[codeidx]{a index entry te\~{} i\^{}@\texttt{a \emph{index entry} t\~{e} 
\^{\i{}}}}%
 
 \index[fn]{cindex entry@\texttt{cindex entry}}%
 
diff --git a/tp/t/results/indices/explicit_sort_key.pl 
b/tp/t/results/indices/explicit_sort_key.pl
index d190bc1..bcec385 100644
--- a/tp/t/results/indices/explicit_sort_key.pl
+++ b/tp/t/results/indices/explicit_sort_key.pl
@@ -393,7 +393,7 @@ $result_trees{'explicit_sort_key'} = {
               'index_at_command' => 'SKindex',
               'index_name' => 'SK',
               'index_type_command' => 'SKindex',
-              'key' => 'aaainvalid nesting',
+              'key' => 'aaa',
               'node' => {},
               'number' => 4
             },
@@ -792,10 +792,10 @@ in a reuglar para @sortas{foo}. @code{inside another 
@sortas{command}}.
 $result_texts{'explicit_sort_key'} = '
 
 
-in a reuglar parafoo. inside anothercommand.
+in a reuglar para. inside another.
 
-and cmd inside.
-and cmdinside.
+.
+and cmd.
 
 ';
 
@@ -1000,10 +1000,10 @@ $result_converted{'plaintext'}->{'explicit_sort_key'} = 
'in a reuglar para.  \'i
 $result_converted{'html_text'}->{'explicit_sort_key'} = '<div class="top" 
id="Top">
 <span id="SEC_Top"></span>
 
-<span id="index-Abbbbbbb-_0028first_0029"></span>
-<span id="index-Baaaaaaa-_0028second_0029"></span>
-<span id="index-0zero-sort-key"></span>
-<span id="index-aaainvalid-nesting"></span>
+<span id="index-bbbbbbb-_0028first_0029"></span>
+<span id="index-aaaaaaa-_0028second_0029"></span>
+<span id="index-zero-sort-key"></span>
+<span id="index-aaa"></span>
 
 <p>in a reuglar para. <code>inside another</code>.
 </p>
@@ -1022,14 +1022,14 @@ $result_converted{'html_text'}->{'explicit_sort_key'} = 
'<div class="top" id="To
 <tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> 
Section</th></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="t_h_SK_symbol-1">0</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-0zero-sort-key">zero sort 
key</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Top">Top</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-zero-sort-key">zero sort 
key</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Top">Top</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="t_h_SK_letter-A">A</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-Abbbbbbb-_0028first_0029">bbbbbbb 
(first)</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Top">Top</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-aaainvalid-nesting"><b>aaa</b></a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#Top">Top</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-bbbbbbb-_0028first_0029">bbbbbbb 
(first)</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Top">Top</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-aaa"><b>aaa</b></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Top">Top</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="t_h_SK_letter-B">B</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-Baaaaaaa-_0028second_0029">aaaaaaa 
(second)</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Top">Top</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-aaaaaaa-_0028second_0029">aaaaaaa 
(second)</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Top">Top</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#t_h_SK_symbol-1"><b>0</b></a>
diff --git a/tp/t/results/indices/seeentry/res_latex/seeentry.tex 
b/tp/t/results/indices/seeentry/res_latex/seeentry.tex
index bf8daec..693d5a5 100644
--- a/tp/t/results/indices/seeentry/res_latex/seeentry.tex
+++ b/tp/t/results/indices/seeentry/res_latex/seeentry.tex
@@ -99,7 +99,7 @@ roundcorner=10pt}
 \index[cp]{aaa|see{bbb}}%
 \index[cp]{ddd|seealso{ccc}}%
 
-\index[fn]{f---aaa@\texttt{f{-}{-}{-}aaa}|see{f---bbb}}%
-\index[fn]{f---ddd@\texttt{f{-}{-}{-}ddd}|seealso{f---ccc}}%
+\index[fn]{f--aaa@\texttt{f{-}{-}{-}aaa}|see{f---bbb}}%
+\index[fn]{f--ddd@\texttt{f{-}{-}{-}ddd}|seealso{f---ccc}}%
 
 \end{document}
diff --git a/tp/t/results/indices/subentry_and_sortas.pl 
b/tp/t/results/indices/subentry_and_sortas.pl
index ed626d4..7f72051 100644
--- a/tp/t/results/indices/subentry_and_sortas.pl
+++ b/tp/t/results/indices/subentry_and_sortas.pl
@@ -205,7 +205,7 @@ $result_trees{'subentry_and_sortas'} = {
                       'contents' => [
                         {
                           'parent' => {},
-                          'text' => 'A'
+                          'text' => 'A---S'
                         }
                       ],
                       'parent' => {},
@@ -239,12 +239,12 @@ $result_trees{'subentry_and_sortas'} = {
               'index_at_command' => 'cindex',
               'index_name' => 'cp',
               'index_type_command' => 'cindex',
-              'key' => 'A',
+              'key' => 'A---S',
               'node' => {},
               'number' => 1,
-              'sortas' => 'A'
+              'sortas' => 'A---S'
             },
-            'sortas' => 'A',
+            'sortas' => 'A---S',
             'spaces_before_argument' => ' ',
             'subentry' => {
               'args' => [
@@ -256,7 +256,7 @@ $result_trees{'subentry_and_sortas'} = {
                           'contents' => [
                             {
                               'parent' => {},
-                              'text' => 'B'
+                              'text' => 'B---S1'
                             }
                           ],
                           'parent' => {},
@@ -293,7 +293,7 @@ $result_trees{'subentry_and_sortas'} = {
               'cmdname' => 'subentry',
               'extra' => {
                 'level' => 1,
-                'sortas' => 'B',
+                'sortas' => 'B---S1',
                 'spaces_before_argument' => ' '
               },
               'line_nr' => {
@@ -338,7 +338,7 @@ $result_trees{'subentry_and_sortas'} = {
                       'contents' => [
                         {
                           'parent' => {},
-                          'text' => 'X'
+                          'text' => 'X---S'
                         }
                       ],
                       'parent' => {},
@@ -372,12 +372,12 @@ $result_trees{'subentry_and_sortas'} = {
               'index_at_command' => 'findex',
               'index_name' => 'fn',
               'index_type_command' => 'findex',
-              'key' => 'X',
+              'key' => 'X---S',
               'node' => {},
               'number' => 1,
-              'sortas' => 'X'
+              'sortas' => 'X---S'
             },
-            'sortas' => 'X',
+            'sortas' => 'X---S',
             'spaces_before_argument' => ' ',
             'subentry' => {
               'args' => [
@@ -389,7 +389,7 @@ $result_trees{'subentry_and_sortas'} = {
                           'contents' => [
                             {
                               'parent' => {},
-                              'text' => 'X'
+                              'text' => 'X---S1'
                             }
                           ],
                           'parent' => {},
@@ -426,7 +426,7 @@ $result_trees{'subentry_and_sortas'} = {
               'cmdname' => 'subentry',
               'extra' => {
                 'level' => 1,
-                'sortas' => 'X',
+                'sortas' => 'X---S1',
                 'spaces_before_argument' => ' '
               },
               'line_nr' => {
@@ -607,9 +607,9 @@ $result_texis{'subentry_and_sortas'} = '@setfilename 
subentry_and_sortas.info
 @node chapter index
 @chapter Index
 
-@cindex aaa @sortas{A} @subentry @sortas{B} bbb
+@cindex aaa @sortas{A---S} @subentry @sortas{B---S1} bbb
 
-@findex xxx @sortas{X} @subentry @sortas{X} zzz
+@findex xxx @sortas{X---S} @subentry @sortas{X---S1} zzz
 
 @printindex cp
 @printindex fn
@@ -805,9 +805,9 @@ Next: <a href="#chapter-index" accesskey="n" 
rel="next">Index</a> &nbsp; [<a hre
 </div>
 <span id="Index"></span><h2 class="chapter">1 Index</h2>
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-index_cp_letter-A"><b>A</b></a>
  &nbsp; 
@@ -816,7 +816,7 @@ Next: <a href="#chapter-index" accesskey="n" 
rel="next">Index</a> &nbsp; [<a hre
 <tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> 
Section</th></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-index_cp_letter-A">A</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a>:</td><td>&nbsp;</td><td valign="top"><a href="#chapter-index">chapter 
index</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a>:</td><td>&nbsp;</td><td valign="top"><a href="#chapter-index">chapter 
index</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-index_cp_letter-A"><b>A</b></a>
@@ -829,7 +829,7 @@ Next: <a href="#chapter-index" accesskey="n" 
rel="next">Index</a> &nbsp; [<a hre
 <tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> 
Section</th></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-index_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter-index">chapter index</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter-index">chapter index</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-index_fn_letter-X"><b>X</b></a>
@@ -927,9 +927,9 @@ $result_converted{'html_text'}->{'subentry_and_sortas'} = '
 </div>
 <span id="Index"></span><h2 class="chapter">1 Index</h2>
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#t_h_cp_letter-A"><b>A</b></a>
  &nbsp; 
@@ -938,7 +938,7 @@ $result_converted{'html_text'}->{'subentry_and_sortas'} = '
 <tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> 
Section</th></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="t_h_cp_letter-A">A</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a>:</td><td>&nbsp;</td><td valign="top"><a href="#chapter-index">chapter 
index</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a>:</td><td>&nbsp;</td><td valign="top"><a href="#chapter-index">chapter 
index</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#t_h_cp_letter-A"><b>A</b></a>
@@ -951,7 +951,7 @@ $result_converted{'html_text'}->{'subentry_and_sortas'} = '
 <tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> 
Section</th></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="t_h_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter-index">chapter index</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter-index">chapter index</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#t_h_fn_letter-X"><b>X</b></a>
diff --git 
a/tp/t/results/indices/subentry_and_sortas/res_latex/subentry_and_sortas.tex 
b/tp/t/results/indices/subentry_and_sortas/res_latex/subentry_and_sortas.tex
index d01fc04..81a42b7 100644
--- a/tp/t/results/indices/subentry_and_sortas/res_latex/subentry_and_sortas.tex
+++ b/tp/t/results/indices/subentry_and_sortas/res_latex/subentry_and_sortas.tex
@@ -99,9 +99,9 @@ roundcorner=10pt}
 \chapter{Index}
 \label{anchor:chapter-index}%
 
-\index[cp]{A@aaa!B@bbb}%
+\index[cp]{A---S@aaa!B---S1@bbb}%
 
-\index[fn]{X@\texttt{xxx}!X@\texttt{zzz}}%
+\index[fn]{X---S@\texttt{xxx}!X---S1@\texttt{zzz}}%
 
 \printindex[cp]
 \printindex[fn]
diff --git a/tp/t/results/latex_tests/indices.pl 
b/tp/t/results/latex_tests/indices.pl
index 451aa69..9addc50 100644
--- a/tp/t/results/latex_tests/indices.pl
+++ b/tp/t/results/latex_tests/indices.pl
@@ -859,7 +859,7 @@ $result_converted{'latex'}->{'indices'} = '
 \\chapter{Index}
 \\label{anchor:chapter}%
 
-\\index[cp]{$a"!"""@b$ """!"@ \\"{a} \\"{o}!a!"@b@sub$a"!"""@b$ sub """!"@ 
\\"{a} \\"{o}|seealso{$a"!"""@b$ """!"@ \\"{a} \\"{o}}}%
+\\index[cp]{$a"!"""@b$ """!"@ \\"{a} \\"{o}!a"!"""@b@sub$a"!"""@b$ sub """!"@ 
\\"{a} \\"{o}|seealso{$a"!"""@b$ """!"@ \\"{a} \\"{o}}}%
 
 \\printindex[cp]
 ';
diff --git a/tp/t/results/latex_tests/indices/res_latex/indices.tex 
b/tp/t/results/latex_tests/indices/res_latex/indices.tex
index cf5684b..be60eb1 100644
--- a/tp/t/results/latex_tests/indices/res_latex/indices.tex
+++ b/tp/t/results/latex_tests/indices/res_latex/indices.tex
@@ -98,7 +98,7 @@ roundcorner=10pt}
 \chapter{Index}
 \label{anchor:chapter}%
 
-\index[cp]{$a"!"""@b$ """!"@ \"{a} \"{o}!a!"@b@sub$a"!"""@b$ sub """!"@ \"{a} 
\"{o}|seealso{$a"!"""@b$ """!"@ \"{a} \"{o}}}%
+\index[cp]{$a"!"""@b$ """!"@ \"{a} \"{o}!a"!"""@b@sub$a"!"""@b$ sub """!"@ 
\"{a} \"{o}|seealso{$a"!"""@b$ """!"@ \"{a} \"{o}}}%
 
 \printindex[cp]
 \end{document}
diff --git a/tp/tests/layout/res_parser/formatting/formatting.html 
b/tp/tests/layout/res_parser/formatting/formatting.html
index 1e3bbda..a0b5303 100644
--- a/tp/tests/layout/res_parser/formatting/formatting.html
+++ b/tp/tests/layout/res_parser/formatting/formatting.html
@@ -5396,9 +5396,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -5489,7 +5489,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -5827,7 +5827,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
@@ -6067,7 +6067,7 @@ Menu comment
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -6403,7 +6403,7 @@ Menu comment
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git 
a/tp/tests/layout/res_parser/formatting/internal_links_formatting.txt 
b/tp/tests/layout/res_parser/formatting/internal_links_formatting.txt
index a53c177..40983f8 100644
--- a/tp/tests/layout/res_parser/formatting/internal_links_formatting.txt
+++ b/tp/tests/layout/res_parser/formatting/internal_links_formatting.txt
@@ -17,7 +17,7 @@ formatting.html#index-_002d_002doption-1      cp      -option
 formatting.html#index-_002e    cp      .
 formatting.html#index-_003f    cp      ?
 formatting.html#index-a        cp      a
-formatting.html#index-aaaA     cp      A
+formatting.html#index-aaa      cp      A
 formatting.html#index-a_002d_002d_002da        cp      a--a
 formatting.html#index-copying-a_002d_002dasis  cp      a--asis
 formatting.html#index-titlepage-a_002d_002dasis        cp      a--asis
@@ -259,7 +259,7 @@ formatting.html#index-truc  fn      truc
 formatting.html#index-truc-1   fn      truc
 formatting.html#index-truc-2   fn      truc
 formatting.html#index-truc-3   fn      truc
-formatting.html#index-xxxX     fn      X
+formatting.html#index-xxx      fn      X
 formatting.html#index-copying-d_002d_002deftp_005fname tp      d--eftp_name
 formatting.html#index-titlepage-d_002d_002deftp_005fname       tp      
d--eftp_name
 formatting.html#index-d_002d_002deftp_005fname tp      d--eftp_name
diff --git a/tp/tests/layout/res_parser/formatting_chm/chapter.html 
b/tp/tests/layout/res_parser/formatting_chm/chapter.html
index 15cb8d7..7dda572 100644
--- a/tp/tests/layout/res_parser/formatting_chm/chapter.html
+++ b/tp/tests/layout/res_parser/formatting_chm/chapter.html
@@ -3569,9 +3569,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -3662,7 +3662,7 @@ Invalid use of @':
 <tr><td colspan="4"> </td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="formatting.html#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="formatting.html">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="formatting.html#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="formatting.html">Top section</a></td></tr>
@@ -4000,7 +4000,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> </td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> </td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_chm/chapter2.html 
b/tp/tests/layout/res_parser/formatting_chm/chapter2.html
index 6a1efef..9fbe5be 100644
--- a/tp/tests/layout/res_parser/formatting_chm/chapter2.html
+++ b/tp/tests/layout/res_parser/formatting_chm/chapter2.html
@@ -800,7 +800,7 @@ ul.no-bullet {list-style: none}
 <tr><td colspan="4"> </td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a">a</a></td><td>&nbsp;</td><td valign="top"><a 
href="chapter.html">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td
 valign="top"><a href="chapter.html">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="formatting.html#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="formatting.html">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="formatting.html#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="formatting.html">Top section</a></td></tr>
@@ -1136,7 +1136,7 @@ ul.no-bullet {list-style: none}
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="chapter.html">1 chapter</a></td></tr>
 <tr><td colspan="4"> </td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
 <tr><td colspan="4"> </td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_chm/formatting.hhk 
b/tp/tests/layout/res_parser/formatting_chm/formatting.hhk
index 8002853..f6a18b4 100644
--- a/tp/tests/layout/res_parser/formatting_chm/formatting.hhk
+++ b/tp/tests/layout/res_parser/formatting_chm/formatting.hhk
@@ -57,8 +57,8 @@
 <param name="Local" value="chapter.html#index-a">
 </OBJECT> </LI>
 <LI> <OBJECT type="text/sitemap">
-<param name="Name" value="aaaA">
-<param name="Local" value="chapter.html#index-aaaA">
+<param name="Name" value="aaa">
+<param name="Local" value="chapter.html#index-aaa">
 </OBJECT> </LI>
 <LI> <OBJECT type="text/sitemap">
 <param name="Name" value="a--a">
@@ -1025,8 +1025,8 @@
 <param name="Local" value="chapter.html#index-truc-3">
 </OBJECT> </LI>
 <LI> <OBJECT type="text/sitemap">
-<param name="Name" value="xxxX">
-<param name="Local" value="chapter.html#index-xxxX">
+<param name="Name" value="xxx">
+<param name="Local" value="chapter.html#index-xxx">
 </OBJECT> </LI>
 <LI> <OBJECT type="text/sitemap">
 <param name="Name" value="d--eftp_name">
diff --git a/tp/tests/layout/res_parser/formatting_exotic/chapter.html 
b/tp/tests/layout/res_parser/formatting_exotic/chapter.html
index b0f9bcf..9359927 100644
--- a/tp/tests/layout/res_parser/formatting_exotic/chapter.html
+++ b/tp/tests/layout/res_parser/formatting_exotic/chapter.html
@@ -3585,9 +3585,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -3678,7 +3678,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#chapter">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
@@ -4016,7 +4016,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_exotic/chapter2.html 
b/tp/tests/layout/res_parser/formatting_exotic/chapter2.html
index 444e171..8018868 100644
--- a/tp/tests/layout/res_parser/formatting_exotic/chapter2.html
+++ b/tp/tests/layout/res_parser/formatting_exotic/chapter2.html
@@ -816,7 +816,7 @@ ul.no-bullet {list-style: none}
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a">a</a></td><td>&nbsp;</td><td valign="top"><a 
href="chapter.html">chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a 
href="chapter.html">chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a 
href="chapter.html">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td
 valign="top"><a href="chapter.html">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="chapter.html">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
@@ -1152,7 +1152,7 @@ ul.no-bullet {list-style: none}
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="chapter.html">chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a 
href="chapter.html">chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a 
href="chapter.html">chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_fr_icons/formatting.html 
b/tp/tests/layout/res_parser/formatting_fr_icons/formatting.html
index 6cf97ec..a7b2455 100644
--- a/tp/tests/layout/res_parser/formatting_fr_icons/formatting.html
+++ b/tp/tests/layout/res_parser/formatting_fr_icons/formatting.html
@@ -5396,9 +5396,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -5489,7 +5489,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -5827,7 +5827,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Aller &agrave;: &nbsp; </th><td><a 
class="summary-letter" href="#chapter-1_fn_symbol-1"><b>-</b></a>
@@ -6067,7 +6067,7 @@ Menu comment
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -6403,7 +6403,7 @@ Menu comment
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Aller &agrave;: &nbsp; </th><td><a 
class="summary-letter" href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_html/formatting.html 
b/tp/tests/layout/res_parser/formatting_html/formatting.html
index 1e3bbda..a0b5303 100644
--- a/tp/tests/layout/res_parser/formatting_html/formatting.html
+++ b/tp/tests/layout/res_parser/formatting_html/formatting.html
@@ -5396,9 +5396,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -5489,7 +5489,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -5827,7 +5827,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
@@ -6067,7 +6067,7 @@ Menu comment
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -6403,7 +6403,7 @@ Menu comment
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_html32/formatting.html 
b/tp/tests/layout/res_parser/formatting_html32/formatting.html
index b28c9c5..af7000b 100644
--- a/tp/tests/layout/res_parser/formatting_html32/formatting.html
+++ b/tp/tests/layout/res_parser/formatting_html32/formatting.html
@@ -5266,9 +5266,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -5359,7 +5359,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a--a</a></td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -5697,7 +5697,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
@@ -5936,7 +5936,7 @@ Menu comment
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a--a</a></td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -6272,7 +6272,7 @@ Menu comment
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a 
href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git 
a/tp/tests/layout/res_parser/formatting_html_no_texi2html/formatting.html 
b/tp/tests/layout/res_parser/formatting_html_no_texi2html/formatting.html
index 74dc9da..e0fe12f 100644
--- a/tp/tests/layout/res_parser/formatting_html_no_texi2html/formatting.html
+++ b/tp/tests/layout/res_parser/formatting_html_no_texi2html/formatting.html
@@ -3624,9 +3624,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -3717,7 +3717,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#chapter">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top</a></td></tr>
@@ -4055,7 +4055,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter_fn_symbol-1"><b>-</b></a>
@@ -4221,7 +4221,7 @@ Previous: <a href="#chapter" accesskey="p" 
rel="prev">chapter</a>, Up: <a href="
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#chapter">chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top</a></td></tr>
@@ -4557,7 +4557,7 @@ Previous: <a href="#chapter" accesskey="p" 
rel="prev">chapter</a>, Up: <a href="
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#chapter">chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter2_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_html_nodes/chapter.html 
b/tp/tests/layout/res_parser/formatting_html_nodes/chapter.html
index 423cbc7..31b0879 100644
--- a/tp/tests/layout/res_parser/formatting_html_nodes/chapter.html
+++ b/tp/tests/layout/res_parser/formatting_html_nodes/chapter.html
@@ -3585,9 +3585,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -3678,7 +3678,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
@@ -4016,7 +4016,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_html_nodes/chapter2.html 
b/tp/tests/layout/res_parser/formatting_html_nodes/chapter2.html
index 0843119..70e03aa 100644
--- a/tp/tests/layout/res_parser/formatting_html_nodes/chapter2.html
+++ b/tp/tests/layout/res_parser/formatting_html_nodes/chapter2.html
@@ -816,7 +816,7 @@ ul.no-bullet {list-style: none}
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a">a</a></td><td>&nbsp;</td><td valign="top"><a 
href="chapter.html">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td
 valign="top"><a href="chapter.html">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
@@ -1152,7 +1152,7 @@ ul.no-bullet {list-style: none}
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="chapter.html">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_latex/formatting.tex 
b/tp/tests/layout/res_parser/formatting_latex/formatting.tex
index 129fe32..f9445f1 100644
--- a/tp/tests/layout/res_parser/formatting_latex/formatting.tex
+++ b/tp/tests/layout/res_parser/formatting_latex/formatting.tex
@@ -623,7 +623,7 @@ def--fn
 \hbox{}-- fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \index[cp]{index entry within deffn}%
 \hbox{}-- cmde: truc 
 
@@ -644,11 +644,11 @@ def--fn
 \hbox{}-- cmde: \textbf{id ule} truc
 
 
-\index[fn]{\textbf{id ule}@\texttt{\textbf{id ule}}}%
+\index[fn]{id ule@\texttt{\textbf{id ule}}}%
 \hbox{}-- cmde2: \textbf{id `\texttt{i}' ule} truc
 
 
-\index[fn]{\textbf{id `\texttt{i}' ule}@\texttt{\textbf{id `\texttt{i}' ule}}}%
+\index[fn]{id i ule@\texttt{\textbf{id `\texttt{i}' ule}}}%
 \hbox{}-- \textbf{id `\texttt{i}' ule}: 
 
 
@@ -713,7 +713,7 @@ def--fn
 \hbox{}-- fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \hbox{}-- cmde: truc 
 
 
@@ -1627,7 +1627,7 @@ def--fn
 \hbox{}-- fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \index[cp]{index entry within deffn}%
 \hbox{}-- cmde: truc 
 
@@ -1648,11 +1648,11 @@ def--fn
 \hbox{}-- cmde: \textbf{id ule} truc
 
 
-\index[fn]{\textbf{id ule}@\texttt{\textbf{id ule}}}%
+\index[fn]{id ule@\texttt{\textbf{id ule}}}%
 \hbox{}-- cmde2: \textbf{id `\texttt{i}' ule} truc
 
 
-\index[fn]{\textbf{id `\texttt{i}' ule}@\texttt{\textbf{id `\texttt{i}' ule}}}%
+\index[fn]{id i ule@\texttt{\textbf{id `\texttt{i}' ule}}}%
 \hbox{}-- \textbf{id `\texttt{i}' ule}: 
 
 
@@ -1717,7 +1717,7 @@ def--fn
 \hbox{}-- fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \hbox{}-- cmde: truc 
 
 
@@ -2646,7 +2646,7 @@ def--fn
 \hbox{}-- fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \index[cp]{index entry within deffn}%
 \hbox{}-- cmde: truc 
 
@@ -2667,11 +2667,11 @@ def--fn
 \hbox{}-- cmde: \textbf{id ule} truc
 
 
-\index[fn]{\textbf{id ule}@\texttt{\textbf{id ule}}}%
+\index[fn]{id ule@\texttt{\textbf{id ule}}}%
 \hbox{}-- cmde2: \textbf{id `\texttt{i}' ule} truc
 
 
-\index[fn]{\textbf{id `\texttt{i}' ule}@\texttt{\textbf{id `\texttt{i}' ule}}}%
+\index[fn]{id i ule@\texttt{\textbf{id `\texttt{i}' ule}}}%
 \hbox{}-- \textbf{id `\texttt{i}' ule}: 
 
 
@@ -2736,7 +2736,7 @@ def--fn
 \hbox{}-- fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \hbox{}-- cmde: truc 
 
 
@@ -3648,7 +3648,7 @@ def--fn
 \hbox{}-- fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \index[cp]{index entry within deffn}%
 \hbox{}-- cmde: truc 
 
@@ -3669,11 +3669,11 @@ def--fn
 \hbox{}-- cmde: \textbf{id ule} truc
 
 
-\index[fn]{\textbf{id ule}@\texttt{\textbf{id ule}}}%
+\index[fn]{id ule@\texttt{\textbf{id ule}}}%
 \hbox{}-- cmde2: \textbf{id `\texttt{i}' ule} truc
 
 
-\index[fn]{\textbf{id `\texttt{i}' ule}@\texttt{\textbf{id `\texttt{i}' ule}}}%
+\index[fn]{id i ule@\texttt{\textbf{id `\texttt{i}' ule}}}%
 \hbox{}-- \textbf{id `\texttt{i}' ule}: 
 
 
@@ -3738,7 +3738,7 @@ def--fn
 \hbox{}-- fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \hbox{}-- cmde: truc 
 
 
@@ -4663,7 +4663,7 @@ def{-}{-}fn
 \hbox{}{-}{-} fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \index[cp]{index entry within deffn}%
 \hbox{}{-}{-} cmde: truc 
 
@@ -4684,11 +4684,11 @@ def{-}{-}fn
 \hbox{}{-}{-} cmde: \textbf{id ule} truc
 
 
-\index[fn]{\textbf{id ule}@\texttt{\textbf{id ule}}}%
+\index[fn]{id ule@\texttt{\textbf{id ule}}}%
 \hbox{}{-}{-} cmde2: \textbf{id `\texttt{i}' ule} truc
 
 
-\index[fn]{\textbf{id `\texttt{i}' ule}@\texttt{\textbf{id `\texttt{i}' ule}}}%
+\index[fn]{id i ule@\texttt{\textbf{id `\texttt{i}' ule}}}%
 \hbox{}{-}{-} \textbf{id `\texttt{i}' ule}: 
 
 
@@ -4753,7 +4753,7 @@ def{-}{-}fn
 \hbox{}{-}{-} fset: \emph{i} a g
 
 
-\index[fn]{\emph{i}@\texttt{\emph{i}}}%
+\index[fn]{i@\texttt{\emph{i}}}%
 \hbox{}{-}{-} cmde: truc 
 
 
@@ -5191,16 +5191,16 @@ Various deff lines
 \index[cp]{aaa|see{bbb}}%
 \index[cp]{ddd|seealso{ccc}}%
 
-\index[fn]{f---aaa@\texttt{f{-}{-}{-}aaa}|see{f---bbb}}%
-\index[fn]{f---ddd@\texttt{f{-}{-}{-}ddd}|seealso{f---ccc}}%
+\index[fn]{f--aaa@\texttt{f{-}{-}{-}aaa}|see{f---bbb}}%
+\index[fn]{f--ddd@\texttt{f{-}{-}{-}ddd}|seealso{f---ccc}}%
 
 \index[cp]{A@aaa!B@bbb}%
 
 \index[fn]{X@\texttt{xxx}!X@\texttt{zzz}}%
 
-\index[fn]{\hbox{}@\texttt{\hbox{}}}%
+\index[fn]{@\texttt{\hbox{}}}%
 
-\index[codeidx]{a \emph{index---entry} t\~{e} --- \^{\i{}}@\texttt{a 
\emph{index{-}{-}{-}entry} t\~{e} {-}{-}{-} \^{\i{}}}}%
+\index[codeidx]{a index---entry te\~{} --- i\^{}@\texttt{a 
\emph{index{-}{-}{-}entry} t\~{e} {-}{-}{-} \^{\i{}}}}%
 
 \index[truc]{truc}%
 
diff --git a/tp/tests/layout/res_parser/formatting_mathjax/formatting.html 
b/tp/tests/layout/res_parser/formatting_mathjax/formatting.html
index cea01fd..241749e 100644
--- a/tp/tests/layout/res_parser/formatting_mathjax/formatting.html
+++ b/tp/tests/layout/res_parser/formatting_mathjax/formatting.html
@@ -5406,9 +5406,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -5499,7 +5499,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -5837,7 +5837,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
@@ -6077,7 +6077,7 @@ Menu comment
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -6413,7 +6413,7 @@ Menu comment
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_nodes/chapter.html 
b/tp/tests/layout/res_parser/formatting_nodes/chapter.html
index 423cbc7..31b0879 100644
--- a/tp/tests/layout/res_parser/formatting_nodes/chapter.html
+++ b/tp/tests/layout/res_parser/formatting_nodes/chapter.html
@@ -3585,9 +3585,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -3678,7 +3678,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
@@ -4016,7 +4016,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_nodes/chapter2.html 
b/tp/tests/layout/res_parser/formatting_nodes/chapter2.html
index 0843119..70e03aa 100644
--- a/tp/tests/layout/res_parser/formatting_nodes/chapter2.html
+++ b/tp/tests/layout/res_parser/formatting_nodes/chapter2.html
@@ -816,7 +816,7 @@ ul.no-bullet {list-style: none}
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a">a</a></td><td>&nbsp;</td><td valign="top"><a 
href="chapter.html">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td
 valign="top"><a href="chapter.html">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.html#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.html">Top section</a></td></tr>
@@ -1152,7 +1152,7 @@ ul.no-bullet {list-style: none}
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="chapter.html">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/layout/res_parser/formatting_weird_quotes/formatting.html 
b/tp/tests/layout/res_parser/formatting_weird_quotes/formatting.html
index 24b13bb..59daaca 100644
--- a/tp/tests/layout/res_parser/formatting_weird_quotes/formatting.html
+++ b/tp/tests/layout/res_parser/formatting_weird_quotes/formatting.html
@@ -5396,9 +5396,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -5489,7 +5489,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -5827,7 +5827,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
@@ -6067,7 +6067,7 @@ Menu comment
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#Top">Top section</a></td></tr>
@@ -6403,7 +6403,7 @@ Menu comment
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-2_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/tex_html/res_parser/formatting_singular/chapter.html 
b/tp/tests/tex_html/res_parser/formatting_singular/chapter.html
index 48e8c9b..87a1d5b 100644
--- a/tp/tests/tex_html/res_parser/formatting_singular/chapter.html
+++ b/tp/tests/tex_html/res_parser/formatting_singular/chapter.html
@@ -3911,9 +3911,9 @@ Invalid use of @':
 
 
 
-<span id="index-aaaA"></span>
+<span id="index-aaa"></span>
 
-<span id="index-xxxX"></span>
+<span id="index-xxx"></span>
 
 <span id="index-"></span>
 
@@ -4004,7 +4004,7 @@ Invalid use of @':
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-a">a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.htm#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.htm">Top section</a></td></tr>
@@ -4342,7 +4342,7 @@ Invalid use of @':
 <tr><td></td><td valign="top"><a 
href="#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="#chapter">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-1_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="#chapter">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-1_fn_symbol-1"><b>-</b></a>
diff --git a/tp/tests/tex_html/res_parser/formatting_singular/chapter2.html 
b/tp/tests/tex_html/res_parser/formatting_singular/chapter2.html
index f65a103..4d246db 100644
--- a/tp/tests/tex_html/res_parser/formatting_singular/chapter2.html
+++ b/tp/tests/tex_html/res_parser/formatting_singular/chapter2.html
@@ -842,7 +842,7 @@ ul.no-bullet {list-style: none}
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_cp_letter-A">A</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a">a</a></td><td>&nbsp;</td><td valign="top"><a 
href="chapter.html">1 chapter</a></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-aaaA">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-aaa">aaa, 
bbb</a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-a_002d_002d_002da">a&mdash;a</a></td><td>&nbsp;</td><td
 valign="top"><a href="chapter.html">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-copying-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="chapter.html">1 chapter</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="index.htm#index-titlepage-a_002d_002dasis"><code>a--asis</code></a></td><td>&nbsp;</td><td
 valign="top"><a href="index.htm">Top section</a></td></tr>
@@ -1178,7 +1178,7 @@ ul.no-bullet {list-style: none}
 <tr><td></td><td valign="top"><a 
href="chapter.html#index-truc-3"><code>truc</code></a></td><td>&nbsp;</td><td 
valign="top"><a href="chapter.html">1 chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="chapter-2_fn_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="chapter.html#index-xxxX"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
+<tr><td></td><td valign="top"><a href="chapter.html#index-xxx"><code>xxx, 
zzz</code></a></td><td>&nbsp;</td><td valign="top"><a href="chapter.html">1 
chapter</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
 <table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" 
href="#chapter-2_fn_symbol-1"><b>-</b></a>



reply via email to

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