Re: broken table formatting in psql

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: john(dot)naylor(at)enterprisedb(dot)com
Cc: pavel(dot)stehule(at)gmail(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: broken table formatting in psql
Date: 2022-09-02 05:17:19
Message-ID: 20220902.141719.1326472836630715333.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At Thu, 01 Sep 2022 18:22:06 +0900 (JST), Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> wrote in
> At Thu, 1 Sep 2022 15:00:38 +0700, John Naylor <john(dot)naylor(at)enterprisedb(dot)com> wrote in
> > UnicodeData.txt has this:
> >
> > 200B;ZERO WIDTH SPACE;Cf;0;BN;;;;;N;;;;;
> > 200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;;
> > 200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;N;;;;;
> > 200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;;
> > 200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;;
> >
> > So maybe we need to take Cf characters in this file into account, in
> > addition to Me and Mn (combining characters).
>
> Including them into unicode_combining_table.h actually worked, but I'm
> not sure it is valid to include Cf's among Mn/Me's..

UnicodeData.txt
174:00AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;;

Soft-hyphen seems like not zero-width.. usually...

0600;ARABIC NUMBER SIGN;Cf;0;AN;;;;;N;;;;;
110BD;KAITHI NUMBER SIGN;Cf;0;L;;;;;N;;;;;

Mmm. These looks like not zero-width?

However, it seems like basically a win if we include "Cf"s to the
"combining" table?

====
174:00AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;;
1499:0600;ARABIC NUMBER SIGN;Cf;0;AN;;;;;N;;;;;
1500:0601;ARABIC SIGN SANAH;Cf;0;AN;;;;;N;;;;;
1501:0602;ARABIC FOOTNOTE MARKER;Cf;0;AN;;;;;N;;;;;
1502:0603;ARABIC SIGN SAFHA;Cf;0;AN;;;;;N;;;;;
1503:0604;ARABIC SIGN SAMVAT;Cf;0;AN;;;;;N;;;;;
1504:0605;ARABIC NUMBER MARK ABOVE;Cf;0;AN;;;;;N;;;;;
1527:061C;ARABIC LETTER MARK;Cf;0;AL;;;;;N;;;;;
1720:06DD;ARABIC END OF AYAH;Cf;0;AN;;;;;N;;;;;
1769:070F;SYRIAC ABBREVIATION MARK;Cf;0;AL;;;;;N;;;;;
2124:0890;ARABIC POUND MARK ABOVE;Cf;0;AN;;;;;N;;;;;
2125:0891;ARABIC PIASTRE MARK ABOVE;Cf;0;AN;;;;;N;;;;;
2200:08E2;ARABIC DISPUTED END OF AYAH;Cf;0;AN;;;;;N;;;;;
5517:180E;MONGOLIAN VOWEL SEPARATOR;Cf;0;BN;;;;;N;;;;;
7365:200B;ZERO WIDTH SPACE;Cf;0;BN;;;;;N;;;;;
7366:200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;;
7367:200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;N;;;;;
7368:200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;;
7369:200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;;
7396:202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;LRE;;;;;N;;;;;
7397:202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;RLE;;;;;N;;;;;
7398:202C;POP DIRECTIONAL FORMATTING;Cf;0;PDF;;;;;N;;;;;
7399:202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;LRO;;;;;N;;;;;
7400:202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;RLO;;;;;N;;;;;
7450:2060;WORD JOINER;Cf;0;BN;;;;;N;;;;;
7451:2061;FUNCTION APPLICATION;Cf;0;BN;;;;;N;;;;;
7452:2062;INVISIBLE TIMES;Cf;0;BN;;;;;N;;;;;
7453:2063;INVISIBLE SEPARATOR;Cf;0;BN;;;;;N;;;;;
7454:2064;INVISIBLE PLUS;Cf;0;BN;;;;;N;;;;;
7455:2066;LEFT-TO-RIGHT ISOLATE;Cf;0;LRI;;;;;N;;;;;
7456:2067;RIGHT-TO-LEFT ISOLATE;Cf;0;RLI;;;;;N;;;;;
7457:2068;FIRST STRONG ISOLATE;Cf;0;FSI;;;;;N;;;;;
7458:2069;POP DIRECTIONAL ISOLATE;Cf;0;PDI;;;;;N;;;;;
7459:206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
7460:206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
7461:206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
7462:206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
7463:206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
7464:206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
16660:FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;BN;;;;;N;BYTE ORDER MARK;;;;
16886:FFF9;INTERLINEAR ANNOTATION ANCHOR;Cf;0;ON;;;;;N;;;;;
16887:FFFA;INTERLINEAR ANNOTATION SEPARATOR;Cf;0;ON;;;;;N;;;;;
16888:FFFB;INTERLINEAR ANNOTATION TERMINATOR;Cf;0;ON;;;;;N;;;;;
19731:110BD;KAITHI NUMBER SIGN;Cf;0;L;;;;;N;;;;;
19737:110CD;KAITHI NUMBER SIGN ABOVE;Cf;0;L;;;;;N;;;;;
24043:13430;EGYPTIAN HIEROGLYPH VERTICAL JOINER;Cf;0;L;;;;;N;;;;;
24044:13431;EGYPTIAN HIEROGLYPH HORIZONTAL JOINER;Cf;0;L;;;;;N;;;;;
24045:13432;EGYPTIAN HIEROGLYPH INSERT AT TOP START;Cf;0;L;;;;;N;;;;;
24046:13433;EGYPTIAN HIEROGLYPH INSERT AT BOTTOM START;Cf;0;L;;;;;N;;;;;
24047:13434;EGYPTIAN HIEROGLYPH INSERT AT TOP END;Cf;0;L;;;;;N;;;;;
24048:13435;EGYPTIAN HIEROGLYPH INSERT AT BOTTOM END;Cf;0;L;;;;;N;;;;;
24049:13436;EGYPTIAN HIEROGLYPH OVERLAY MIDDLE;Cf;0;L;;;;;N;;;;;
24050:13437;EGYPTIAN HIEROGLYPH BEGIN SEGMENT;Cf;0;L;;;;;N;;;;;
24051:13438;EGYPTIAN HIEROGLYPH END SEGMENT;Cf;0;L;;;;;N;;;;;
27838:1BCA0;SHORTHAND FORMAT LETTER OVERLAP;Cf;0;BN;;;;;N;;;;;
27839:1BCA1;SHORTHAND FORMAT CONTINUING OVERLAP;Cf;0;BN;;;;;N;;;;;
27840:1BCA2;SHORTHAND FORMAT DOWN STEP;Cf;0;BN;;;;;N;;;;;
27841:1BCA3;SHORTHAND FORMAT UP STEP;Cf;0;BN;;;;;N;;;;;
28386:1D173;MUSICAL SYMBOL BEGIN BEAM;Cf;0;BN;;;;;N;;;;;
28387:1D174;MUSICAL SYMBOL END BEAM;Cf;0;BN;;;;;N;;;;;
28388:1D175;MUSICAL SYMBOL BEGIN TIE;Cf;0;BN;;;;;N;;;;;
28389:1D176;MUSICAL SYMBOL END TIE;Cf;0;BN;;;;;N;;;;;
28390:1D177;MUSICAL SYMBOL BEGIN SLUR;Cf;0;BN;;;;;N;;;;;
28391:1D178;MUSICAL SYMBOL END SLUR;Cf;0;BN;;;;;N;;;;;
28392:1D179;MUSICAL SYMBOL BEGIN PHRASE;Cf;0;BN;;;;;N;;;;;
28393:1D17A;MUSICAL SYMBOL END PHRASE;Cf;0;BN;;;;;N;;;;;
34286:E0001;LANGUAGE TAG;Cf;0;BN;;;;;N;;;;;
34287:E0020;TAG SPACE;Cf;0;BN;;;;;N;;;;;
34288:E0021;TAG EXCLAMATION MARK;Cf;0;BN;;;;;N;;;;;
34289:E0022;TAG QUOTATION MARK;Cf;0;BN;;;;;N;;;;;
34290:E0023;TAG NUMBER SIGN;Cf;0;BN;;;;;N;;;;;
34291:E0024;TAG DOLLAR SIGN;Cf;0;BN;;;;;N;;;;;
34292:E0025;TAG PERCENT SIGN;Cf;0;BN;;;;;N;;;;;
34293:E0026;TAG AMPERSAND;Cf;0;BN;;;;;N;;;;;
34294:E0027;TAG APOSTROPHE;Cf;0;BN;;;;;N;;;;;
34295:E0028;TAG LEFT PARENTHESIS;Cf;0;BN;;;;;N;;;;;
34296:E0029;TAG RIGHT PARENTHESIS;Cf;0;BN;;;;;N;;;;;
34297:E002A;TAG ASTERISK;Cf;0;BN;;;;;N;;;;;
34298:E002B;TAG PLUS SIGN;Cf;0;BN;;;;;N;;;;;
34299:E002C;TAG COMMA;Cf;0;BN;;;;;N;;;;;
34300:E002D;TAG HYPHEN-MINUS;Cf;0;BN;;;;;N;;;;;
34301:E002E;TAG FULL STOP;Cf;0;BN;;;;;N;;;;;
34302:E002F;TAG SOLIDUS;Cf;0;BN;;;;;N;;;;;
34303:E0030;TAG DIGIT ZERO;Cf;0;BN;;;;;N;;;;;
34304:E0031;TAG DIGIT ONE;Cf;0;BN;;;;;N;;;;;
34305:E0032;TAG DIGIT TWO;Cf;0;BN;;;;;N;;;;;
34306:E0033;TAG DIGIT THREE;Cf;0;BN;;;;;N;;;;;
34307:E0034;TAG DIGIT FOUR;Cf;0;BN;;;;;N;;;;;
34308:E0035;TAG DIGIT FIVE;Cf;0;BN;;;;;N;;;;;
34309:E0036;TAG DIGIT SIX;Cf;0;BN;;;;;N;;;;;
34310:E0037;TAG DIGIT SEVEN;Cf;0;BN;;;;;N;;;;;
34311:E0038;TAG DIGIT EIGHT;Cf;0;BN;;;;;N;;;;;
34312:E0039;TAG DIGIT NINE;Cf;0;BN;;;;;N;;;;;
34313:E003A;TAG COLON;Cf;0;BN;;;;;N;;;;;
34314:E003B;TAG SEMICOLON;Cf;0;BN;;;;;N;;;;;
34315:E003C;TAG LESS-THAN SIGN;Cf;0;BN;;;;;N;;;;;
34316:E003D;TAG EQUALS SIGN;Cf;0;BN;;;;;N;;;;;
34317:E003E;TAG GREATER-THAN SIGN;Cf;0;BN;;;;;N;;;;;
34318:E003F;TAG QUESTION MARK;Cf;0;BN;;;;;N;;;;;
34319:E0040;TAG COMMERCIAL AT;Cf;0;BN;;;;;N;;;;;
34320:E0041;TAG LATIN CAPITAL LETTER A;Cf;0;BN;;;;;N;;;;;
34321:E0042;TAG LATIN CAPITAL LETTER B;Cf;0;BN;;;;;N;;;;;
34322:E0043;TAG LATIN CAPITAL LETTER C;Cf;0;BN;;;;;N;;;;;
34323:E0044;TAG LATIN CAPITAL LETTER D;Cf;0;BN;;;;;N;;;;;
34324:E0045;TAG LATIN CAPITAL LETTER E;Cf;0;BN;;;;;N;;;;;
34325:E0046;TAG LATIN CAPITAL LETTER F;Cf;0;BN;;;;;N;;;;;
34326:E0047;TAG LATIN CAPITAL LETTER G;Cf;0;BN;;;;;N;;;;;
34327:E0048;TAG LATIN CAPITAL LETTER H;Cf;0;BN;;;;;N;;;;;
34328:E0049;TAG LATIN CAPITAL LETTER I;Cf;0;BN;;;;;N;;;;;
34329:E004A;TAG LATIN CAPITAL LETTER J;Cf;0;BN;;;;;N;;;;;
34330:E004B;TAG LATIN CAPITAL LETTER K;Cf;0;BN;;;;;N;;;;;
34331:E004C;TAG LATIN CAPITAL LETTER L;Cf;0;BN;;;;;N;;;;;
34332:E004D;TAG LATIN CAPITAL LETTER M;Cf;0;BN;;;;;N;;;;;
34333:E004E;TAG LATIN CAPITAL LETTER N;Cf;0;BN;;;;;N;;;;;
34334:E004F;TAG LATIN CAPITAL LETTER O;Cf;0;BN;;;;;N;;;;;
34335:E0050;TAG LATIN CAPITAL LETTER P;Cf;0;BN;;;;;N;;;;;
34336:E0051;TAG LATIN CAPITAL LETTER Q;Cf;0;BN;;;;;N;;;;;
34337:E0052;TAG LATIN CAPITAL LETTER R;Cf;0;BN;;;;;N;;;;;
34338:E0053;TAG LATIN CAPITAL LETTER S;Cf;0;BN;;;;;N;;;;;
34339:E0054;TAG LATIN CAPITAL LETTER T;Cf;0;BN;;;;;N;;;;;
34340:E0055;TAG LATIN CAPITAL LETTER U;Cf;0;BN;;;;;N;;;;;
34341:E0056;TAG LATIN CAPITAL LETTER V;Cf;0;BN;;;;;N;;;;;
34342:E0057;TAG LATIN CAPITAL LETTER W;Cf;0;BN;;;;;N;;;;;
34343:E0058;TAG LATIN CAPITAL LETTER X;Cf;0;BN;;;;;N;;;;;
34344:E0059;TAG LATIN CAPITAL LETTER Y;Cf;0;BN;;;;;N;;;;;
34345:E005A;TAG LATIN CAPITAL LETTER Z;Cf;0;BN;;;;;N;;;;;
34346:E005B;TAG LEFT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;;
34347:E005C;TAG REVERSE SOLIDUS;Cf;0;BN;;;;;N;;;;;
34348:E005D;TAG RIGHT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;;
34349:E005E;TAG CIRCUMFLEX ACCENT;Cf;0;BN;;;;;N;;;;;
34350:E005F;TAG LOW LINE;Cf;0;BN;;;;;N;;;;;
34351:E0060;TAG GRAVE ACCENT;Cf;0;BN;;;;;N;;;;;
34352:E0061;TAG LATIN SMALL LETTER A;Cf;0;BN;;;;;N;;;;;
34353:E0062;TAG LATIN SMALL LETTER B;Cf;0;BN;;;;;N;;;;;
34354:E0063;TAG LATIN SMALL LETTER C;Cf;0;BN;;;;;N;;;;;
34355:E0064;TAG LATIN SMALL LETTER D;Cf;0;BN;;;;;N;;;;;
34356:E0065;TAG LATIN SMALL LETTER E;Cf;0;BN;;;;;N;;;;;
34357:E0066;TAG LATIN SMALL LETTER F;Cf;0;BN;;;;;N;;;;;
34358:E0067;TAG LATIN SMALL LETTER G;Cf;0;BN;;;;;N;;;;;
34359:E0068;TAG LATIN SMALL LETTER H;Cf;0;BN;;;;;N;;;;;
34360:E0069;TAG LATIN SMALL LETTER I;Cf;0;BN;;;;;N;;;;;
34361:E006A;TAG LATIN SMALL LETTER J;Cf;0;BN;;;;;N;;;;;
34362:E006B;TAG LATIN SMALL LETTER K;Cf;0;BN;;;;;N;;;;;
34363:E006C;TAG LATIN SMALL LETTER L;Cf;0;BN;;;;;N;;;;;
34364:E006D;TAG LATIN SMALL LETTER M;Cf;0;BN;;;;;N;;;;;
34365:E006E;TAG LATIN SMALL LETTER N;Cf;0;BN;;;;;N;;;;;
34366:E006F;TAG LATIN SMALL LETTER O;Cf;0;BN;;;;;N;;;;;
34367:E0070;TAG LATIN SMALL LETTER P;Cf;0;BN;;;;;N;;;;;
34368:E0071;TAG LATIN SMALL LETTER Q;Cf;0;BN;;;;;N;;;;;
34369:E0072;TAG LATIN SMALL LETTER R;Cf;0;BN;;;;;N;;;;;
34370:E0073;TAG LATIN SMALL LETTER S;Cf;0;BN;;;;;N;;;;;
34371:E0074;TAG LATIN SMALL LETTER T;Cf;0;BN;;;;;N;;;;;
34372:E0075;TAG LATIN SMALL LETTER U;Cf;0;BN;;;;;N;;;;;
34373:E0076;TAG LATIN SMALL LETTER V;Cf;0;BN;;;;;N;;;;;
34374:E0077;TAG LATIN SMALL LETTER W;Cf;0;BN;;;;;N;;;;;
34375:E0078;TAG LATIN SMALL LETTER X;Cf;0;BN;;;;;N;;;;;
34376:E0079;TAG LATIN SMALL LETTER Y;Cf;0;BN;;;;;N;;;;;
34377:E007A;TAG LATIN SMALL LETTER Z;Cf;0;BN;;;;;N;;;;;
34378:E007B;TAG LEFT CURLY BRACKET;Cf;0;BN;;;;;N;;;;;
34379:E007C;TAG VERTICAL LINE;Cf;0;BN;;;;;N;;;;;
34380:E007D;TAG RIGHT CURLY BRACKET;Cf;0;BN;;;;;N;;;;;
34381:E007E;TAG TILDE;Cf;0;BN;;;;;N;;;;;
34382:E007F;CANCEL TAG;Cf;0;BN;;;;;N;;;;;

====

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2022-09-02 05:29:56 Re: test_decoding assertion failure for the loss of top-sub transaction relationship
Previous Message Noah Misch 2022-09-02 05:09:02 Re: Bug: Reading from single byte character column type may cause out of bounds memory reads.