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
This commit is contained in:
Yuri Pankov 2020-12-23 15:49:25 +03:00
parent 1c00efe98e
commit f952bdf142
2 changed files with 4 additions and 65 deletions

View File

@ -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

View File

@ -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;