[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: Improve handling of dotless i and dotless j
From: |
Patrice Dumas |
Subject: |
branch master updated: Improve handling of dotless i and dotless j |
Date: |
Wed, 17 Aug 2022 07:08: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 74f3fc297d Improve handling of dotless i and dotless j
74f3fc297d is described below
commit 74f3fc297d97881523550ea91fe0f783d4bdb2cd
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Wed Aug 17 13:07:48 2022 +0200
Improve handling of dotless i and dotless j
* tp/Texinfo/Convert/Converter.pm (%xml_accent_entities)
(%xml_accent_text_with_entities, xml_accent),
tp/Texinfo/Convert/TexinfoXML.pm, tp/Texinfo/Convert/Unicode.pm
(%unicode_accented_letters, %transliterate_map, unicode_accent):
add dotless command to the unicode accents map, and handle
explicitely when needed. Handle @dotless j similarly with i.
---
ChangeLog | 11 ++
tp/TODO | 2 +
tp/Texinfo/Convert/Converter.pm | 16 +++
tp/Texinfo/Convert/TexinfoXML.pm | 6 +-
tp/Texinfo/Convert/Unicode.pm | 21 ++--
tp/t/nodenormalization.t | 4 +-
tp/t/results/coverage/commands_in_math.pl | 6 +-
tp/t/results/formats_encodings/accent.pl | 6 +-
.../formats_encodings/accent_enable_encoding.pl | 6 +-
tp/t/results/formats_encodings/accentenc.pl | 4 +-
.../formats_encodings/accentenc_enable_encoding.pl | 2 +-
.../formats_encodings/at_commands_in_refs.pl | 120 ++++++++++-----------
.../at_commands_in_refs_latin1.pl | 14 +--
.../_201c-_201d-_2018-_2019-_201e-_201a.html | 4 +-
.../res_html/a-e-i-a-a-e-c-e-e-e-e.html | 4 +-
.../res_html/e-e-e-e-e-j-ee.html | 14 +--
..._005faaa-url-_002fman_002ecgi_002f1_002fls.html | 4 +-
.../at_commands_in_refs_latin1/res_html/i-E-C.html | 12 +--
.../at_commands_in_refs_latin1/res_html/index.html | 4 +-
.../formats_encodings/at_commands_in_refs_utf8.pl | 14 +--
.../_201c-_201d-_2018-_2019-_201e-_201a.html | 4 +-
.../res_html/a-e-i-a-a-e-c-e-e-e-e.html | 4 +-
.../res_html/e-e-e-e-e-j-ee.html | 14 +--
..._005faaa-url-_002fman_002ecgi_002f1_002fls.html | 4 +-
.../at_commands_in_refs_utf8/res_html/i-E-C.html | 12 +--
.../at_commands_in_refs_utf8/res_html/index.html | 4 +-
.../res_info/at_commands_in_refs_utf8.info | Bin 8404 -> 8411 bytes
.../itemize_arguments/res_html/index.html | 4 +-
.../mathjax_with_texinfo_no_convert_to_latex.pl | 2 +-
tp/t/results/html_tests/test_accents_sc_default.pl | 2 +-
.../res_html/node-chap.html | 2 +-
.../html_tests/test_accents_sc_default_latin1.pl | 2 +-
.../res_html/node-chap.html | 2 +-
.../html_tests/test_accents_sc_default_usascii.pl | 2 +-
.../res_html/node-chap.html | 2 +-
.../test_accents_sc_enable_encoding_latin1.pl | 2 +-
.../res_html/node-chap.html | 2 +-
.../test_accents_sc_enable_encoding_usascii.pl | 2 +-
.../res_html/node-chap.html | 2 +-
.../html_tests/test_accents_sc_to_utf8_latin1.pl | 2 +-
.../res_html/node-chap.html | 2 +-
.../test_accents_sc_use_numeric_entity.pl | 2 +-
.../res_html/node-chap.html | 2 +-
.../encoding_index_ascii/res_html/index.html | 2 +-
.../res_html/index.html | 2 +-
.../encoding_index_latin1/res_html/index.html | 2 +-
.../res_html/index.html | 2 +-
.../encoding_index_utf8/res_html/index.html | 2 +-
tp/t/results/paragraph/paragraph_command.pl | 2 +-
.../layout/res_parser/formatting/formatting.html | 34 +++---
.../layout/res_parser/formatting_chm/anchor.html | 4 +-
.../layout/res_parser/formatting_chm/chapter.html | 22 ++--
.../layout/res_parser/formatting_chm/chapter2.html | 4 +-
.../res_parser/formatting_chm/formatting.html | 16 +--
.../res_parser/formatting_chm/formatting_abt.html | 4 +-
.../res_parser/formatting_chm/formatting_ovr.html | 4 +-
.../res_parser/formatting_chm/formatting_toc.html | 4 +-
.../layout/res_parser/formatting_chm/index.html | 4 +-
.../formatting_chm/s_002d_002dect_002cion.html | 4 +-
.../res_parser/formatting_chm/subsection.html | 4 +-
...tion-_0060_0060simple_002ddouble_002d_002d.html | 4 +-
...02d_002dfour_002d_002d_002d_002d_0027_0027.html | 4 +-
.../res_parser/formatting_docbook/formatting.xml | 24 ++---
.../formatting_enable_encoding/formatting.html | 24 ++---
.../EPUB/xhtml/chapter.xhtml | 22 ++--
.../EPUB/xhtml/chapter2.xhtml | 4 +-
.../EPUB/xhtml/formatting.xhtml | 16 +--
.../EPUB/xhtml/formatting_abt.xhtml | 4 +-
.../EPUB/xhtml/formatting_fot.xhtml | 4 +-
.../EPUB/xhtml/formatting_ovr.xhtml | 4 +-
.../EPUB/xhtml/formatting_toc.xhtml | 4 +-
.../EPUB/xhtml/chapter.xhtml | 22 ++--
.../EPUB/xhtml/chapter2.xhtml | 4 +-
.../EPUB/xhtml/formatting.xhtml | 16 +--
.../EPUB/xhtml/formatting_abt.xhtml | 4 +-
.../EPUB/xhtml/formatting_fot.xhtml | 4 +-
.../EPUB/xhtml/formatting_ovr.xhtml | 4 +-
.../EPUB/xhtml/formatting_toc.xhtml | 4 +-
.../EPUB/xhtml/s_002d_002dect_002cion.xhtml | 4 +-
.../EPUB/xhtml/subsection.xhtml | 4 +-
...ion-_0060_0060simple_002ddouble_002d_002d.xhtml | 4 +-
...2d_002dfour_002d_002d_002d_002d_0027_0027.xhtml | 4 +-
.../res_parser/formatting_exotic/anchor.html | 4 +-
.../res_parser/formatting_exotic/chapter.html | 22 ++--
.../res_parser/formatting_exotic/chapter2.html | 4 +-
.../formatting_exotic/formatting_abt.html | 4 +-
.../formatting_exotic/formatting_ovr.html | 4 +-
.../formatting_exotic/formatting_toc.html | 4 +-
.../layout/res_parser/formatting_exotic/index.html | 4 +-
.../formatting_exotic/s_002d_002dect_002cion.html | 4 +-
.../res_parser/formatting_exotic/subsection.html | 4 +-
...tion-_0060_0060simple_002ddouble_002d_002d.html | 4 +-
...02d_002dfour_002d_002d_002d_002d_0027_0027.html | 4 +-
.../res_parser/formatting_fr_icons/formatting.html | 34 +++---
.../res_parser/formatting_html/formatting.html | 34 +++---
.../res_parser/formatting_html32/formatting.html | 34 +++---
.../formatting_html_no_texi2html/formatting.html | 22 ++--
.../res_parser/formatting_html_nodes/anchor.html | 4 +-
.../res_parser/formatting_html_nodes/chapter.html | 22 ++--
.../res_parser/formatting_html_nodes/chapter2.html | 4 +-
.../formatting_html_nodes/formatting_abt.html | 4 +-
.../formatting_html_nodes/formatting_fot.html | 4 +-
.../formatting_html_nodes/formatting_ovr.html | 4 +-
.../formatting_html_nodes/formatting_toc.html | 4 +-
.../res_parser/formatting_html_nodes/index.html | 16 +--
.../s_002d_002dect_002cion.html | 4 +-
.../formatting_html_nodes/subsection.html | 4 +-
...tion-_0060_0060simple_002ddouble_002d_002d.html | 4 +-
...02d_002dfour_002d_002d_002d_002d_0027_0027.html | 4 +-
.../res_parser/formatting_info/formatting.info | 48 ++++-----
.../formatting_inline_css/formatting.html | 34 +++---
.../res_parser/formatting_mathjax/formatting.html | 24 ++---
.../layout/res_parser/formatting_nodes/anchor.html | 4 +-
.../res_parser/formatting_nodes/chapter.html | 22 ++--
.../res_parser/formatting_nodes/chapter2.html | 4 +-
.../formatting_nodes/formatting_abt.html | 4 +-
.../formatting_nodes/formatting_fot.html | 4 +-
.../formatting_nodes/formatting_ovr.html | 4 +-
.../formatting_nodes/formatting_toc.html | 4 +-
.../layout/res_parser/formatting_nodes/index.html | 16 +--
.../formatting_nodes/s_002d_002dect_002cion.html | 4 +-
.../res_parser/formatting_nodes/subsection.html | 4 +-
...tion-_0060_0060simple_002ddouble_002d_002d.html | 4 +-
...02d_002dfour_002d_002d_002d_002d_0027_0027.html | 4 +-
.../formatting_numerical_entities/formatting.html | 34 +++---
.../res_parser/formatting_plaintext/formatting.txt | 12 +--
.../formatting_regions/formatting_regions.html | 34 +++---
.../formatting_weird_quotes/formatting.html | 34 +++---
.../res_parser/formatting_xhtml/formatting.html | 34 +++---
.../res_parser/formatting_singular/anchor.html | 4 +-
.../res_parser/formatting_singular/chapter.html | 16 +--
.../res_parser/formatting_singular/chapter2.html | 4 +-
.../res_parser/formatting_singular/index.htm | 4 +-
.../res_parser/formatting_singular/index.html | 4 +-
.../s_002d_002dect_002cion.html | 4 +-
.../res_parser/formatting_singular/sing_abt.htm | 4 +-
.../res_parser/formatting_singular/sing_fot.htm | 4 +-
.../res_parser/formatting_singular/sing_ovr.htm | 4 +-
.../res_parser/formatting_singular/sing_toc.htm | 4 +-
.../res_parser/formatting_singular/subsection.html | 4 +-
...tion-_0060_0060simple_002ddouble_002d_002d.html | 4 +-
...02d_002dfour_002d_002d_002d_002d_0027_0027.html | 4 +-
142 files changed, 677 insertions(+), 637 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 376dcc7d01..1dd35c3a5b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2022-08-17 Patrice Dumas <pertusus@free.fr>
+
+ Improve handling of dotless i and dotless j
+
+ * tp/Texinfo/Convert/Converter.pm (%xml_accent_entities)
+ (%xml_accent_text_with_entities, xml_accent),
+ tp/Texinfo/Convert/TexinfoXML.pm, tp/Texinfo/Convert/Unicode.pm
+ (%unicode_accented_letters, %transliterate_map, unicode_accent):
+ add dotless command to the unicode accents map, and handle
+ explicitely when needed. Handle @dotless j similarly with i.
+
2022-08-17 Patrice Dumas <pertusus@free.fr>
* util/texinfo.dtd: add indentedblock and smallindentedblock.
diff --git a/tp/TODO b/tp/TODO
index 579e1c3ab0..b5156a4902 100644
--- a/tp/TODO
+++ b/tp/TODO
@@ -13,6 +13,8 @@ Before next release
Bugs
====
+In Info @* in node name should become a space
+
HTML API
========
diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm
index ac63bf58ea..6b4f44f367 100644
--- a/tp/Texinfo/Convert/Converter.pm
+++ b/tp/Texinfo/Convert/Converter.pm
@@ -1507,6 +1507,7 @@ our %xml_accent_entities = (
",", 'cedil',
'ringaccent', 'ring',
'ogonek', 'ogon',
+ 'dotless', 'nodot',
);
my %xml_accent_text_with_entities = (
@@ -1517,6 +1518,7 @@ my %xml_accent_text_with_entities = (
'`' => 'aeiouAEIOU',
'~' => 'nNaoAO',
'"' => 'aeiouyAEIOU',
+ 'dotless' => 'i',
# according to http://www2.lib.virginia.edu/small/vhp/download/ISO.txt
# however this doesn't seems to work in firefox
# 'ogonek' => 'aeiuAEIU',
@@ -1564,6 +1566,20 @@ sub xml_accent($$$;$$$)
if ($in_upper_case and $text =~ /^\w$/) {
$text = uc ($text);
}
+
+ # do not return a dotless i or j as such if it is further composed
+ # with an accented letter, return the letter as is
+ if ($accent eq 'dotless') {
+ if ($Texinfo::Convert::Unicode::unicode_accented_letters{$accent}
+ and
exists($Texinfo::Convert::Unicode::unicode_accented_letters{$accent}->{$text})
+ and ($command->{'parent'}
+ and $command->{'parent'}->{'parent'}
+ and $command->{'parent'}->{'parent'}->{'cmdname'}
+ and
$Texinfo::Convert::Unicode::unicode_accented_letters{$command->{'parent'}
+ ->{'parent'}->{'cmdname'}})) {
+ return $text;
+ }
+ }
if ($use_numeric_entities) {
my $formatted_accent = _format_numeric_entities_accent($accent, $text);
diff --git a/tp/Texinfo/Convert/TexinfoXML.pm b/tp/Texinfo/Convert/TexinfoXML.pm
index 94dc904f25..050488e365 100644
--- a/tp/Texinfo/Convert/TexinfoXML.pm
+++ b/tp/Texinfo/Convert/TexinfoXML.pm
@@ -287,13 +287,15 @@ my %accents = (
# our because it is used in the xml to texi translator
our %accent_types = (%Texinfo::Convert::Converter::xml_accent_entities,
%accents);
+# do not treat @dotless as an accent command but
+# together with brace commands.
+delete $accent_types{'dotless'};
+
# no entity
my @other_accents = ('dotaccent', 'tieaccent', 'ubaraccent', 'udotaccent');
foreach my $accent (@other_accents) {
$accent_types{$accent} = $accent;
}
-# note that @dotless is not treated as an accent command but
-# together with brace commands.
my %misc_command_line_attributes = (
'setfilename' => 'file',
diff --git a/tp/Texinfo/Convert/Unicode.pm b/tp/Texinfo/Convert/Unicode.pm
index 07504a2902..f2a97411ef 100644
--- a/tp/Texinfo/Convert/Unicode.pm
+++ b/tp/Texinfo/Convert/Unicode.pm
@@ -424,6 +424,10 @@ our %unicode_accented_letters = (
'O' => '01EA',
'o' => '01EB',
},
+ 'dotless' => {
+ 'i' => '0131',
+ 'j' => '0237',
+ }
);
our %unicode_simple_character_map = (
@@ -608,6 +612,7 @@ our %transliterate_map = (
'0446' => 'c',
'04D7' => 'IO',
'00DD' => 'Y', # unidecode gets this wrong ?
+ '0237' => 'j', # unknown dotless j for unidecode, returns [?]
# following appears in tests, this is required to have
# the same output with and without unidecode
'4E2D' => 'Zhong',
@@ -1012,6 +1017,7 @@ my %unicode_to_eight_bit = (
'0427' => 'FE',
'042A' => 'FF',
},
+ # additional to koi8-r, replacing box drawing characters not used in Texinfo
'koi8-u' => {
'0454' => 'A4',
'0404' => 'B4',
@@ -1233,13 +1239,16 @@ sub unicode_accent($$)
# special handling of @dotless{i}.
# \x{0131}\x{0308} for @dotless{i} @" doesn't lead to NFC 00ef.
# so it is set to a real dotless i only if not in an accent command.
+ # Do the same for dotless j, even though we have no clear idea on
+ # what is going on for that character.
if ($accent eq 'dotless') {
- if ($text eq 'i' and
- (!$command->{'parent'}
- or !$command->{'parent'}->{'parent'}
- or !$command->{'parent'}->{'parent'}->{'cmdname'}
- or
!$unicode_accented_letters{$command->{'parent'}->{'parent'}->{'cmdname'}})) {
- return "\x{0131}";
+ if ($unicode_accented_letters{$accent}->{$text}
+ and (!$command->{'parent'}
+ or !$command->{'parent'}->{'parent'}
+ or !$command->{'parent'}->{'parent'}->{'cmdname'}
+ or !$unicode_accented_letters{$command->{'parent'}
+ ->{'parent'}->{'cmdname'}})) {
+ return chr(hex($unicode_accented_letters{$accent}->{$text}));
} else {
return $text;
}
diff --git a/tp/t/nodenormalization.t b/tp/t/nodenormalization.t
index 40bbb88975..17122f18b5 100644
--- a/tp/t/nodenormalization.t
+++ b/tp/t/nodenormalization.t
@@ -154,7 +154,7 @@ my $texi_line = 'A @sc{sc} accents @"i @"{@dotless{i}}
@`{@=E} @l{} @,{@\'C} @={
my $line_tree = $parser->parse_texi_line($texi_line);
my $normalized_line = normalize_node($line_tree);
is ($normalized_line,
-'A-SC-accents-_00ef-_00ef-_1e14-_0142-_1e08-_0146_0303_0304-_0155_030c-_0129_0304-_00ff-_0131-j-_00c7-_0118-_1ea1-a_0361-_0227-characters-_0142-_00a1-_00e5-_0153-_002c-error_002d_002d_003e--_2026-_002e_002e_002e-no-brace-commands-_0040--_002e-----_007d-signs-_002d_002d-_002d_002d_002d-_0060_0060-_0027_0027-_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e-_002f_003b_003c_003d_003e_003f_005b_005c_005d_005e_005f_0060_007c_007e',
+'A-SC-accents-_00ef-_00ef-_1e14-_0142-_1e08-_0146_0303_0304-_0155_030c-_0129_0304-_00ff-_0131-_0237-_00c7-_0118-_1ea1-a_0361-_0227-characters-_0142-_00a1-_00e5-_0153-_002c-error_002d_002d_003e--_2026-_002e_002e_002e-no-brace-commands-_0040--_002e-----_007d-signs-_002d_002d-_002d_002d_002d-_0060_0060-_0027_0027-_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e-_002f_003b_003c_003d_003e_003f_005b_005c_005d_005e_005f_0060_007c_007e',
'normalized complex line');
my $transliterated_line = transliterate_texinfo($line_tree);
is ($transliterated_line,
@@ -162,7 +162,7 @@ is ($transliterated_line,
'transliterated complex line');
my $transliterated_line_no_unidecode = transliterate_texinfo($line_tree, 1);
is ($transliterated_line_no_unidecode,
-'A-SC-accents-i-i-_1e14-l-_1e08-n-r-i-y-_0131-j-C-E-a-a-a-characters-l-_00a1-aa-oe-_002c-error_002d_002d_003e--_2026-_002e_002e_002e-no-brace-commands-_0040--_002e-----_007d-signs-_002d_002d-_002d_002d_002d-_0060_0060-_0027_0027-_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e-_002f_003b_003c_003d_003e_003f_005b_005c_005d_005e_005f_0060_007c_007e',
+'A-SC-accents-i-i-_1e14-l-_1e08-n-r-i-y-i-j-C-E-a-a-a-characters-l-_00a1-aa-oe-_002c-error_002d_002d_003e--_2026-_002e_002e_002e-no-brace-commands-_0040--_002e-----_007d-signs-_002d_002d-_002d_002d_002d-_0060_0060-_0027_0027-_0021_005f_0022_0023_0024_0025_0026_0027_0028_0029_002a_002b_002d_002e-_002f_003b_003c_003d_003e_003f_005b_005c_005d_005e_005f_0060_007c_007e',
'transliterated complex line no unidecode');
my $top_no_space = 'tOp';
diff --git a/tp/t/results/coverage/commands_in_math.pl
b/tp/t/results/coverage/commands_in_math.pl
index 40cdb9690b..aaa06312c9 100644
--- a/tp/t/results/coverage/commands_in_math.pl
+++ b/tp/t/results/coverage/commands_in_math.pl
@@ -2811,7 +2811,7 @@ $result_converted{'plaintext'}->{'commands_in_math'} =
'*``simple-double--three-
``simple-double--three---four----\'\'
-ü Ü ñ â é ō ì é ı j Ḕ
+ü Ü ñ â é ō ì é ı ȷ Ḕ
ł Ḉ Ḉ ç a̋ ȧ å a͡
ă a̲ ạ ǎ ą a^{h}_{l}
@@ -2838,7 +2838,7 @@ $result_converted{'html_text'}->{'commands_in_math'} = '
`<!-- /@w -->`simple-double-<!-- /@w -->-three---four----\'<!-- /@w -->\'
</em></div>
-<div class="displaymath"><em>ü Ü ñ â é ō
ì é i j Ḕ
+<div class="displaymath"><em>ü Ü ñ â é ō
ì é ı ȷ Ḕ
ł Ḉ Ḉ ç a̋ ȧ å a͡
ă a̲ ạ ǎ ą a<sup class="sup">h</sup><sub
class="sub">l</sub>
@@ -2898,7 +2898,7 @@ $result_converted{'docbook'}->{'commands_in_math'} = '
`<!-- /@w -->`simple-double-<!-- /@w -->-three---four----\'<!-- /@w -->\'
</mathphrase></informalequation>
-<informalequation><mathphrase>ü Ü ñ â é ō ì
é i j Ḕ
+<informalequation><mathphrase>ü Ü ñ â é ō ì
é ı ȷ Ḕ
ł Ḉ Ḉ ç a̋ ȧ å a͡
ă a̲ ạ ǎ ą
a<superscript>h</superscript><subscript>l</subscript>
diff --git a/tp/t/results/formats_encodings/accent.pl
b/tp/t/results/formats_encodings/accent.pl
index 33d5a70ad4..e8bf743438 100644
--- a/tp/t/results/formats_encodings/accent.pl
+++ b/tp/t/results/formats_encodings/accent.pl
@@ -3226,7 +3226,7 @@ should be e‘: è è
AE, OE ligatures: æ Æ œ Œ
- dotless i, j: ı j
+ dotless i, j: ı ȷ
Polish suppressed-L: ł Ł
@@ -3305,7 +3305,7 @@ $result_converted{'html_text'}->{'accent'} = '<div
class="top-level-extent" id="
</p>
<p>AE, OE ligatures: æ Æ œ Œ
</p>
-<p>dotless i, j: i j
+<p>dotless i, j: ı ȷ
</p>
<p>Polish suppressed-L: ł Ł
</p>
@@ -3467,7 +3467,7 @@ $result_converted{'docbook'}->{'accent'} = '<chapter
label="" id="Top-node">
</para>
<para>AE, OE ligatures: æ Æ œ Œ
</para>
-<para>dotless i, j: i j
+<para>dotless i, j: ı ȷ
</para>
<para>Polish suppressed-L: ł Ł
</para>
diff --git a/tp/t/results/formats_encodings/accent_enable_encoding.pl
b/tp/t/results/formats_encodings/accent_enable_encoding.pl
index cd9b512685..68db41b004 100644
--- a/tp/t/results/formats_encodings/accent_enable_encoding.pl
+++ b/tp/t/results/formats_encodings/accent_enable_encoding.pl
@@ -3226,7 +3226,7 @@ should be e‘: è è
AE, OE ligatures: æ Æ œ Œ
- dotless i, j: ı j
+ dotless i, j: ı ȷ
Polish suppressed-L: ł Ł
@@ -3305,7 +3305,7 @@
$result_converted{'html_text'}->{'accent_enable_encoding'} = '<div class="top-le
</p>
<p>AE, OE ligatures: æ Æ œ Œ
</p>
-<p>dotless i, j: ı j
+<p>dotless i, j: ı ȷ
</p>
<p>Polish suppressed-L: ł Ł
</p>
@@ -3467,7 +3467,7 @@ $result_converted{'docbook'}->{'accent_enable_encoding'}
= '<chapter label="" id
</para>
<para>AE, OE ligatures: æ Æ œ Œ
</para>
-<para>dotless i, j: ı j
+<para>dotless i, j: ı ȷ
</para>
<para>Polish suppressed-L: ł Ł
</para>
diff --git a/tp/t/results/formats_encodings/accentenc.pl
b/tp/t/results/formats_encodings/accentenc.pl
index 3456cd4c95..d746ffdfb4 100644
--- a/tp/t/results/formats_encodings/accentenc.pl
+++ b/tp/t/results/formats_encodings/accentenc.pl
@@ -3351,7 +3351,7 @@ $result_converted{'html_text'}->{'accentenc'} = '
</p>
<p>AE, OE ligatures: æ Æ œ Œ
</p>
-<p>dotless i, j: i j
+<p>dotless i, j: ı ȷ
</p>
<p>Polish suppressed-L: ł Ł
</p>
@@ -3515,7 +3515,7 @@ $result_converted{'docbook'}->{'accentenc'} = '<chapter
label="" id="Top-node">
</para>
<para>AE, OE ligatures: æ Æ œ Œ
</para>
-<para>dotless i, j: i j
+<para>dotless i, j: ı ȷ
</para>
<para>Polish suppressed-L: ł Ł
</para>
diff --git a/tp/t/results/formats_encodings/accentenc_enable_encoding.pl
b/tp/t/results/formats_encodings/accentenc_enable_encoding.pl
index aa32807671..6b6b8ad37e 100644
--- a/tp/t/results/formats_encodings/accentenc_enable_encoding.pl
+++ b/tp/t/results/formats_encodings/accentenc_enable_encoding.pl
@@ -3265,7 +3265,7 @@
$result_converted{'html_text'}->{'accentenc_enable_encoding'} = '
</p>
<p>AE, OE ligatures: æ Æ œ Œ
</p>
-<p>dotless i, j: i j
+<p>dotless i, j: ı ȷ
</p>
<p>Polish suppressed-L: ł Ł
</p>
diff --git a/tp/t/results/formats_encodings/at_commands_in_refs.pl
b/tp/t/results/formats_encodings/at_commands_in_refs.pl
index f800326073..39ccb12a04 100644
--- a/tp/t/results/formats_encodings/at_commands_in_refs.pl
+++ b/tp/t/results/formats_encodings/at_commands_in_refs.pl
@@ -2325,7 +2325,7 @@ $result_trees{'at_commands_in_refs'} = {
{},
{}
],
- 'normalized' => '_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e'
+ 'normalized' =>
'_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e'
}
},
'parent' => {},
@@ -8622,10 +8622,10 @@ $result_trees{'at_commands_in_refs'} = {
{},
{}
],
- 'normalized' => '_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e'
+ 'normalized' => '_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e'
}
],
- 'normalized' => '_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e',
+ 'normalized' => '_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e',
'spaces_before_argument' => ' '
},
'parent' => {},
@@ -15114,7 +15114,7 @@ $result_trees{'at_commands_in_refs'} = {
{},
{}
],
- 'normalized' => '_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e'
+ 'normalized' =>
'_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e'
}
},
'parent' => {},
@@ -21206,7 +21206,7 @@ $result_sectioning{'at_commands_in_refs'} = {
'associated_node' => {
'cmdname' => 'node',
'extra' => {
- 'normalized' => '_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e'
+ 'normalized' =>
'_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e'
},
'structure' => {}
}
@@ -21815,7 +21815,7 @@ $result_nodes{'at_commands_in_refs'} = {
'section_number' => 11
}
},
- 'normalized' =>
'_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e'
+ 'normalized' =>
'_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e'
},
'structure' => {
'node_next' => {
@@ -22262,7 +22262,7 @@ $result_menus{'at_commands_in_refs'} = {
'menu_next' => {
'cmdname' => 'node',
'extra' => {
- 'normalized' =>
'_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e'
+ 'normalized' =>
'_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e'
},
'structure' => {
'menu_next' => {
@@ -22674,7 +22674,7 @@ $result_converted{'plaintext'}->{'at_commands_in_refs'}
= 'Top
10 ä ẽ î â à é ç ē e̊ e̋ ę
************************
-11 ė ĕ e̲ ẹ ě j e͡e
+11 ė ĕ e̲ ẹ ě ȷ e͡e
*****************
12 ı Ḕ Ḉ
@@ -22747,7 +22747,7 @@ $result_converted{'plaintext'}->{'at_commands_in_refs'}
= 'Top
*note ä ẽ î â à é ç ē e̊ e̋ ę::
- *note ė ĕ e̲ ẹ ě j e͡e::
+ *note ė ĕ e̲ ẹ ě ȷ e͡e::
*note ı Ḕ Ḉ::
@@ -22861,8 +22861,8 @@ Next: <a href="#-_007b-_007d" accesskey="n" rel="next">
{ }</a> </p>
<li><a href="#g_t_21d2-_00b0-a-b--_00e5" accesskey="8">⇒ ° a b a
sunny day å</a></li>
<li><a
href="#g_t_00c5-_00e6-_0153-_00c6-_0152-_00f8-_00d8-_00df-_0142-_0141-_00d0-_00f0-_00de-_00fe"
accesskey="9">Å æ œ Æ Œ ø Ø
ß ł Ł Ð ð Þ þ</a></li>
<li><a
href="#g_t_00e4-_1ebd-_00ee-_00e2-_00e0-_00e9-_00e7-_0113-e_030a-e_030b-_0119">ä
ẽ î â à é ç ē e̊ e̋
ę</a></li>
-<li><a href="#g_t_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e">ė ĕ
e̲ ẹ ě j e͡e</a></li>
-<li><a href="#g_t_0131-_1e14-_1e08">i Ḕ Ḉ</a></li>
+<li><a href="#g_t_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e">ė ĕ
e̲ ẹ ě ȷ e͡e</a></li>
+<li><a href="#g_t_0131-_1e14-_1e08">ı Ḕ Ḉ</a></li>
<li><a href="#g_t_201c-_201d-_2018-_2019-_201e-_201a">“ ” ‘
’ „ ‚</a></li>
<li><a href="#g_t_00ab-_00bb-_00ab-_00bb-_2039-_203a">« » «
» ‹ ›</a></li>
<li><a
href="#g_t_0060_0060-_0027_0027-_002d_002d_002d-_002d_002d-_0060-_0027">“
” — – ‘ ’</a></li>
@@ -22964,34 +22964,34 @@ Next: <a
href="#g_t_00e4-_1ebd-_00ee-_00e2-_00e0-_00e9-_00e7-_0113-e_030a-e_030b
<div class="chapter-level-extent"
id="g_t_00e4-_1ebd-_00ee-_00e2-_00e0-_00e9-_00e7-_0113-e_030a-e_030b-_0119">
<div class="nav-panel">
<p>
-Next: <a href="#g_t_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e" accesskey="n"
rel="next">ė ĕ e̲ ẹ ě j e͡e</a>, Previous: <a
href="#g_t_00c5-_00e6-_0153-_00c6-_0152-_00f8-_00d8-_00df-_0142-_0141-_00d0-_00f0-_00de-_00fe"
accesskey="p" rel="prev">Å æ œ Æ Œ ø
Ø ß ł Ł Ð ð Þ þ</a>, Up: <a
href="#Top" accesskey="u" rel="up">Top</a> </p>
+Next: <a href="#g_t_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e" accesskey="n"
rel="next">ė ĕ e̲ ẹ ě ȷ e͡e</a>, Previous:
<a
href="#g_t_00c5-_00e6-_0153-_00c6-_0152-_00f8-_00d8-_00df-_0142-_0141-_00d0-_00f0-_00de-_00fe"
accesskey="p" rel="prev">Å æ œ Æ Œ ø
Ø ß ł Ł Ð ð Þ þ</a>, Up: <a
href="#Top" accesskey="u" rel="up">Top</a> </p>
</div>
<h2 class="chapter" id="a-e-i-a-a-e-c-e-e-e-e">10 ä ẽ î
â à é ç ē e̊ e̋ ę</h2>
<hr>
</div>
-<div class="chapter-level-extent"
id="g_t_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e">
+<div class="chapter-level-extent"
id="g_t_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e">
<div class="nav-panel">
<p>
-Next: <a href="#g_t_0131-_1e14-_1e08" accesskey="n" rel="next">i Ḕ
Ḉ</a>, Previous: <a
href="#g_t_00e4-_1ebd-_00ee-_00e2-_00e0-_00e9-_00e7-_0113-e_030a-e_030b-_0119"
accesskey="p" rel="prev">ä ẽ î â à é
ç ē e̊ e̋ ę</a>, Up: <a href="#Top" accesskey="u"
rel="up">Top</a> </p>
+Next: <a href="#g_t_0131-_1e14-_1e08" accesskey="n" rel="next">ı
Ḕ Ḉ</a>, Previous: <a
href="#g_t_00e4-_1ebd-_00ee-_00e2-_00e0-_00e9-_00e7-_0113-e_030a-e_030b-_0119"
accesskey="p" rel="prev">ä ẽ î â à é
ç ē e̊ e̋ ę</a>, Up: <a href="#Top" accesskey="u"
rel="up">Top</a> </p>
</div>
-<h2 class="chapter" id="e-e-e-e-e-j-ee">11 ė ĕ e̲ ẹ
ě j e͡e</h2>
+<h2 class="chapter" id="e-e-e-e-e-j-ee">11 ė ĕ e̲ ẹ
ě ȷ e͡e</h2>
<hr>
</div>
<div class="chapter-level-extent" id="g_t_0131-_1e14-_1e08">
<div class="nav-panel">
<p>
-Next: <a href="#g_t_201c-_201d-_2018-_2019-_201e-_201a" accesskey="n"
rel="next">“ ” ‘ ’ „ ‚</a>, Previous: <a
href="#g_t_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e" accesskey="p"
rel="prev">ė ĕ e̲ ẹ ě j e͡e</a>, Up: <a
href="#Top" accesskey="u" rel="up">Top</a> </p>
+Next: <a href="#g_t_201c-_201d-_2018-_2019-_201e-_201a" accesskey="n"
rel="next">“ ” ‘ ’ „ ‚</a>, Previous: <a
href="#g_t_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e" accesskey="p"
rel="prev">ė ĕ e̲ ẹ ě ȷ e͡e</a>, Up: <a
href="#Top" accesskey="u" rel="up">Top</a> </p>
</div>
-<h2 class="chapter" id="i-E-C">12 i Ḕ Ḉ</h2>
+<h2 class="chapter" id="i-E-C">12 ı Ḕ Ḉ</h2>
<hr>
</div>
<div class="chapter-level-extent" id="g_t_201c-_201d-_2018-_2019-_201e-_201a">
<div class="nav-panel">
<p>
-Next: <a href="#g_t_00ab-_00bb-_00ab-_00bb-_2039-_203a" accesskey="n"
rel="next">« » « » ‹ ›</a>, Previous: <a
href="#g_t_0131-_1e14-_1e08" accesskey="p" rel="prev">i Ḕ
Ḉ</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> </p>
+Next: <a href="#g_t_00ab-_00bb-_00ab-_00bb-_2039-_203a" accesskey="n"
rel="next">« » « » ‹ ›</a>, Previous: <a
href="#g_t_0131-_1e14-_1e08" accesskey="p" rel="prev">ı Ḕ
Ḉ</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> </p>
</div>
<h2 class="chapter" id="g_t_201c-_201d-_2018-_2019-_201e-_201a-1">13 “
” ‘ ’ „ ‚</h2>
@@ -23141,9 +23141,9 @@ Previous: <a href="#gH-3rd" accesskey="p"
rel="prev"><sub class="sub">g</sub>H 3
</p>
<p><a class="ref"
href="#g_t_00e4-_1ebd-_00ee-_00e2-_00e0-_00e9-_00e7-_0113-e_030a-e_030b-_0119">ä
ẽ î â à é ç ē e̊ e̋
ę</a>
</p>
-<p><a class="ref" href="#g_t_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e">ė
ĕ e̲ ẹ ě j e͡e</a>
+<p><a class="ref"
href="#g_t_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e">ė ĕ e̲
ẹ ě ȷ e͡e</a>
</p>
-<p><a class="ref" href="#g_t_0131-_1e14-_1e08">i Ḕ Ḉ</a>
+<p><a class="ref" href="#g_t_0131-_1e14-_1e08">ı Ḕ
Ḉ</a>
</p>
<p><a class="ref" href="#g_t_201c-_201d-_2018-_2019-_201e-_201a">“
” ‘ ’ „ ‚</a>
</p>
@@ -23299,7 +23299,7 @@ $result_converted{'xml'}->{'at_commands_in_refs'} =
'<node name="Top" spaces=" "
<chapter spaces=" "><sectiontitle><accent type="uml">a</accent> <accent
type="tilde">e</accent> <accent type="circ"><dotless>i</dotless></accent>
<accent type="circ">a</accent> <accent type="grave">a</accent> <accent
type="acute" bracketed="off">e</accent> <accent type="cedil">c</accent> <accent
type="macr">e</accent> <accent type="ring">e</accent> <accent
type="doubleacute">e</accent> <accent type="ogon">e</accent></sectiontitle>
</chapter>
-<node name="_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e" spaces="
"><nodename><accent type="dotaccent">e</accent> <accent type="breve">e</accent>
<accent type="ubaraccent">e</accent> <accent type="udotaccent">e</accent>
<accent type="caron">e</accent> <dotless>j</dotless> <accent
type="tieaccent">ee</accent></nodename><nodenext
automatic="on"><dotless>i</dotless> <accent type="grave"><accent type="macr"
bracketed="off">E</accent></accent> <accent type="cedil"><accent type="acute"
bracketed= [...]
+<node name="_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e" spaces="
"><nodename><accent type="dotaccent">e</accent> <accent type="breve">e</accent>
<accent type="ubaraccent">e</accent> <accent type="udotaccent">e</accent>
<accent type="caron">e</accent> <dotless>j</dotless> <accent
type="tieaccent">ee</accent></nodename><nodenext
automatic="on"><dotless>i</dotless> <accent type="grave"><accent type="macr"
bracketed="off">E</accent></accent> <accent type="cedil"><accent type="acute"
bracke [...]
<chapter spaces=" "><sectiontitle><accent type="dotaccent">e</accent> <accent
type="breve">e</accent> <accent type="ubaraccent">e</accent> <accent
type="udotaccent">e</accent> <accent type="caron">e</accent>
<dotless>j</dotless> <accent type="tieaccent">ee</accent></sectiontitle>
</chapter>
@@ -23386,7 +23386,7 @@ $result_converted{'xml'}->{'at_commands_in_refs'} =
'<node name="Top" spaces=" "
</para>
<para><ref
label="_00e4-_1ebd-_00ee-_00e2-_00e0-_00e9-_00e7-_0113-e_030a-e_030b-_0119"><xrefnodename><accent
type="uml">a</accent> <accent type="tilde">e</accent> <accent
type="circ"><dotless>i</dotless></accent> <accent type="circ">a</accent>
<accent type="grave">a</accent> <accent type="acute" bracketed="off">e</accent>
<accent type="cedil">c</accent> <accent type="macr">e</accent> <accent
type="ring">e</accent> <accent type="doubleacute">e</accent> <accent
type="ogon">e</accent></xref [...]
</para>
-<para><ref
label="_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e"><xrefnodename><accent
type="dotaccent">e</accent> <accent type="breve">e</accent> <accent
type="ubaraccent">e</accent> <accent type="udotaccent">e</accent> <accent
type="caron">e</accent> <dotless>j</dotless> <accent
type="tieaccent">ee</accent></xrefnodename></ref>
+<para><ref
label="_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e"><xrefnodename><accent
type="dotaccent">e</accent> <accent type="breve">e</accent> <accent
type="ubaraccent">e</accent> <accent type="udotaccent">e</accent> <accent
type="caron">e</accent> <dotless>j</dotless> <accent
type="tieaccent">ee</accent></xrefnodename></ref>
</para>
<para><ref label="_0131-_1e14-_1e08"><xrefnodename><dotless>i</dotless>
<accent type="grave"><accent type="macr" bracketed="off">E</accent></accent>
<accent type="cedil"><accent type="acute"
bracketed="off">C</accent></accent></xrefnodename></ref>
</para>
@@ -23466,12 +23466,12 @@ $result_converted{'docbook'}->{'at_commands_in_refs'}
= '<chapter label="1" id="
<title>ä ẽ î â à é ç ē e̊
e̋ ę</title>
</chapter>
-<chapter label="11" id="_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e">
-<title>ė ĕ e̲ ẹ ě j e͡e</title>
+<chapter label="11" id="_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e">
+<title>ė ĕ e̲ ẹ ě ȷ e͡e</title>
</chapter>
<chapter label="12" id="_0131-_1e14-_1e08">
-<title>i Ḕ Ḉ</title>
+<title>ı Ḕ Ḉ</title>
</chapter>
<chapter label="13" id="_201c-_201d-_2018-_2019-_201e-_201a">
@@ -23554,9 +23554,9 @@ $result_converted{'docbook'}->{'at_commands_in_refs'} =
'<chapter label="1" id="
</para>
<para><link
linkend="_00e4-_1ebd-_00ee-_00e2-_00e0-_00e9-_00e7-_0113-e_030a-e_030b-_0119">ä
ẽ î â à é ç ē e̊ e̋ ę</link>
</para>
-<para><link linkend="_0117-_0115-e_0332-_1eb9-_011b-j-e_0361e">ė ĕ
e̲ ẹ ě j e͡e</link>
+<para><link linkend="_0117-_0115-e_0332-_1eb9-_011b-_0237-e_0361e">ė
ĕ e̲ ẹ ě ȷ e͡e</link>
</para>
-<para><link linkend="_0131-_1e14-_1e08">i Ḕ Ḉ</link>
+<para><link linkend="_0131-_1e14-_1e08">ı Ḕ Ḉ</link>
</para>
<para><link linkend="_201c-_201d-_2018-_2019-_201e-_201a">“ ”
‘ ’ „ ‚</link>
</para>
@@ -23635,7 +23635,7 @@ Top
* ⇒ ° a b a sunny day å::
* Å æ œ Æ Œ ø Ø ß ł Ł Ð ð Þ þ::
* ä ẽ î â à é ç ē e̊ e̋ ę::
-* ė ĕ e̲ ẹ ě j e͡e::
+* ė ĕ e̲ ẹ ě ȷ e͡e::
* ı Ḕ Ḉ::
* “ ” ‘ ’ „ ‚::
* « » « » ‹ ›::
@@ -23712,19 +23712,19 @@ File: , Node: Å æ œ Æ Œ ø Ø ß ł Ł Ð ð Þ þ, Next: ä
ẽ î â à
*****************************
-File: , Node: ä ẽ î â à é ç ē e̊ e̋ ę, Next: ė ĕ e̲ ẹ ě j e͡e, Prev: Å æ œ
Æ Œ ø Ø ß ł Ł Ð ð Þ þ, Up: Top
+File: , Node: ä ẽ î â à é ç ē e̊ e̋ ę, Next: ė ĕ e̲ ẹ ě ȷ e͡e, Prev: Å æ œ
Æ Œ ø Ø ß ł Ł Ð ð Þ þ, Up: Top
10 ä ẽ î â à é ç ē e̊ e̋ ę
************************
-File: , Node: ė ĕ e̲ ẹ ě j e͡e, Next: ı Ḕ Ḉ, Prev: ä ẽ î â à é ç ē e̊ e̋ ę,
Up: Top
+File: , Node: ė ĕ e̲ ẹ ě ȷ e͡e, Next: ı Ḕ Ḉ, Prev: ä ẽ î â à é ç ē e̊ e̋ ę,
Up: Top
-11 ė ĕ e̲ ẹ ě j e͡e
+11 ė ĕ e̲ ẹ ě ȷ e͡e
*****************
-File: , Node: ı Ḕ Ḉ, Next: “ ” ‘ ’ „ ‚, Prev: ė ĕ e̲ ẹ ě j e͡e, Up: Top
+File: , Node: ı Ḕ Ḉ, Next: “ ” ‘ ’ „ ‚, Prev: ė ĕ e̲ ẹ ě ȷ e͡e, Up: Top
12 ı Ḕ Ḉ
********
@@ -23841,7 +23841,7 @@ File: , Node: <http://somewhere_aaa> text (url) ls,
Prev: _{g}H 3^{rd}, Up: T
*note ä ẽ î â à é ç ē e̊ e̋ ę::
- *note ė ĕ e̲ ẹ ě j e͡e::
+ *note ė ĕ e̲ ẹ ě ȷ e͡e::
*note ı Ḕ Ḉ::
@@ -23879,34 +23879,34 @@ File: , Node: <http://somewhere_aaa> text (url) ls,
Prev: _{g}H 3^{rd}, Up: T
Tag Table:
Node: Top27
-Node: { }873
+Node: { }874
Node: !
-. . ? @952
-Node: @ { } \\ #1057
-Node: LaTeX TeX • , © ... ...1179
-Node: ≡ error→ € ¡ ↦ −1346
-Node: ≥ ≤ →1509
-Node: ª º ★ £ ⊣ ¿ ®1639
-Node: ⇒ ° a b a sunny day å1786
-Node: Å æ œ Æ Œ ø Ø ß ł Ł Ð ð Þ þ1974
-Node: ä ẽ î â à é ç ē e̊ e̋ ę2197
-Node: ė ĕ e̲ ẹ ě j e͡e2408
-Node: ı Ḕ Ḉ2569
-Node: “ ” ‘ ’ „ ‚2696
-Node: « » « » ‹ ›2838
-Node: `` \'\' --- -- ` \'2982
-Node: AAA (fff) AAA BBB3124
-Node: CCC (rrr) CCC DDD3264
-Node: the someone <someone@somewher> <no_explain@there>3437
-Node: [f--ile1] [image src="f--ile.png" alt="alt" text="Image
description\\"\\"\\\\."