Treat Unicode codepoints of category "Format" as non-spacing
authorJohn Naylor <john.naylor@postgresql.org>
Tue, 13 Sep 2022 09:13:33 +0000 (16:13 +0700)
committerJohn Naylor <john.naylor@postgresql.org>
Tue, 13 Sep 2022 09:13:33 +0000 (16:13 +0700)
commit0bd9c629732375e21d3ca6fba16c4a6a2808411a
tree1cdbc6743a69559f62755232d550a7fc9534731b
parentbb629c294bea533884a379eee5f8ed6307c17bf2
Treat Unicode codepoints of category "Format" as non-spacing

Commit d8594d123 updated the list of non-spacing codepoints used
for calculating display width, but in doing so inadvertently removed
some, since the script used for that commit only considered combining
characters.

For complete coverage for zero-width characters, include codepoints in
the category Cf (Format). To reflect the wider purpose, also rename files
and update comments that referred specifically to combining characters.

Some of these ranges have been missing since v12, but due to lack of
field complaints it was determined not important enough to justify adding
special-case logic the backbranches.

Kyotaro Horiguchi

Report by Pavel Stehule
Discussion: https://www.postgresql.org/message-id/flat/CAFj8pRBE8yvpQ0FSkPCoe0Ny1jAAsAQ6j3qMgVwWvkqAoaaNmQ%40mail.gmail.com
src/common/unicode/Makefile
src/common/unicode/generate-unicode_nonspacing_table.pl [moved from src/common/unicode/generate-unicode_combining_table.pl with 64% similarity]
src/common/wchar.c
src/include/common/unicode_nonspacing_table.h [moved from src/include/common/unicode_combining_table.h with 91% similarity]