Date: Wed, 23 Dec 2020 12:54:47 GMT From: Yuri Pankov <yuripv@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: f952bdf1425d - tools/tools/locale: skip control character widths Message-ID: <202012231254.0BNCsleA054940@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=f952bdf1425d6a877f99b5c5ca59f25fc8bedabe commit f952bdf1425d6a877f99b5c5ca59f25fc8bedabe Author: Yuri Pankov <yuripv@FreeBSD.org> AuthorDate: 2020-12-23 12:49:25 +0000 Commit: Yuri Pankov <yuripv@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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202012231254.0BNCsleA054940>