git: f952bdf1425d - tools/tools/locale: skip control character widths
Yuri Pankov
yuripv at FreeBSD.org
Wed Dec 23 12:54:48 UTC 2020
The branch main has been updated by yuripv:
URL: https://cgit.FreeBSD.org/src/commit/?id=f952bdf1425d6a877f99b5c5ca59f25fc8bedabe
commit f952bdf1425d6a877f99b5c5ca59f25fc8bedabe
Author: Yuri Pankov <yuripv at FreeBSD.org>
AuthorDate: 2020-12-23 12:49:25 +0000
Commit: Yuri Pankov <yuripv at FreeBSD.org>
CommitDate: 2020-12-23 12:53:43 +0000
tools/tools/locale: skip control character widths
Do not explicitly encode control characters widths as 0
allowing wcwidth() to return the proper implicit value for
non-printable characters (-1).
Reported by: naddy
---
tools/tools/locale/etc/final-maps/widths.txt | 65 ----------------------------
tools/tools/locale/tools/getwidths.c | 4 ++
2 files changed, 4 insertions(+), 65 deletions(-)
diff --git a/tools/tools/locale/etc/final-maps/widths.txt b/tools/tools/locale/etc/final-maps/widths.txt
index f01a4d5a0dd5..74c28ac58463 100644
--- a/tools/tools/locale/etc/final-maps/widths.txt
+++ b/tools/tools/locale/etc/final-maps/widths.txt
@@ -3,71 +3,6 @@
# utf8proc 2.5.0.
# -----------------------------------------------------------------------------
WIDTH
-<NULL> 0
-<START_OF_HEADING> 0
-<START_OF_TEXT> 0
-<END_OF_TEXT> 0
-<END_OF_TRANSMISSION> 0
-<ENQUIRY> 0
-<ACKNOWLEDGE> 0
-<ALERT> 0
-<BACKSPACE> 0
-<tab> 0
-<newline> 0
-<vertical-tab> 0
-<form-feed> 0
-<carriage-return> 0
-<SHIFT_OUT> 0
-<SHIFT_IN> 0
-<DATA_LINK_ESCAPE> 0
-<DEVICE_CONTROL_ONE> 0
-<DEVICE_CONTROL_TWO> 0
-<DEVICE_CONTROL_THREE> 0
-<DEVICE_CONTROL_FOUR> 0
-<NEGATIVE_ACKNOWLEDGE> 0
-<SYNCHRONOUS_IDLE> 0
-<END_OF_TRANSMISSION_BLOCK> 0
-<CANCEL> 0
-<END_OF_MEDIUM> 0
-<SUBSTITUTE> 0
-<ESCAPE> 0
-<INFORMATION_SEPARATOR_FOUR> 0
-<INFORMATION_SEPARATOR_THREE> 0
-<INFORMATION_SEPARATOR_TWO> 0
-<INFORMATION_SEPARATOR_ONE> 0
-<DELETE> 0
-<CONTROL-0080> 0
-<CONTROL-0081> 0
-<BREAK_PERMITTED_HERE> 0
-<NO_BREAK_HERE> 0
-<CONTROL-0084> 0
-<NEXT_LINE> 0
-<START_OF_SELECTED_AREA> 0
-<END_OF_SELECTED_AREA> 0
-<CHARACTER_TABULATION_SET> 0
-<CHARACTER_TABULATION_WITH_JUSTIFICATION> 0
-<LINE_TABULATION_SET> 0
-<PARTIAL_LINE_FORWARD> 0
-<PARTIAL_LINE_BACKWARD> 0
-<REVERSE_LINE_FEED> 0
-<SINGLE_SHIFT_TWO> 0
-<SINGLE_SHIFT_THREE> 0
-<DEVICE_CONTROL_STRING> 0
-<PRIVATE_USE_ONE> 0
-<PRIVATE_USE_TWO> 0
-<SET_TRANSMIT_STATE> 0
-<CANCEL_CHARACTER> 0
-<MESSAGE_WAITING> 0
-<START_OF_GUARDED_AREA> 0
-<END_OF_GUARDED_AREA> 0
-<START_OF_STRING> 0
-<CONTROL-0099> 0
-<SINGLE_CHARACTER_INTRODUCER> 0
-<CONTROL_SEQUENCE_INTRODUCER> 0
-<STRING_TERMINATOR> 0
-<OPERATING_SYSTEM_COMMAND> 0
-<PRIVACY_MESSAGE> 0
-<APPLICATION_PROGRAM_COMMAND> 0
<COMBINING_GRAVE_ACCENT> 0
<COMBINING_ACUTE_ACCENT> 0
<COMBINING_CIRCUMFLEX_ACCENT> 0
diff --git a/tools/tools/locale/tools/getwidths.c b/tools/tools/locale/tools/getwidths.c
index 670ebd957878..f1c7c6cc463d 100644
--- a/tools/tools/locale/tools/getwidths.c
+++ b/tools/tools/locale/tools/getwidths.c
@@ -35,12 +35,16 @@ main(void)
{
int32_t wc;
int i, wcw;
+ utf8proc_category_t wcc;
setlocale(LC_CTYPE, "C.UTF-8");
printf("%s\n", utf8proc_version());
for (wc = 0; wc < 0x110000; wc++) {
+ wcc = utf8proc_category(wc);
+ if (wcc == UTF8PROC_CATEGORY_CC)
+ continue;
wcw = utf8proc_charwidth(wc);
if (wcw == 1)
continue;
More information about the dev-commits-src-main
mailing list