From: Junio C Hamano Date: Wed, 07 Dec 2022 00:54:10 GMT Subject: Re: [PATCH v4] pretty-formats: add hard truncation, without ellipsis, options Message-ID: In-Reply-To: <093e1dca-b9d4-f1f2-0845-ad6711622cf5@iee.email> Philip Oakley writes: >> and "..[3][4]", respectively. It also is clear that Trunk >> and Ltrunk can do "[1][2][3]" and "[2][3][4]", respectively. We >> truncate the given string so that we fill the alloted display >> columns fully. > > While this example is clear, it's not clear what should be done if we > have mixed width strings, e.g. with emojis, as the boundaries in random > text will also be randomly placed. As long as wider letters have widths that is integral of the narrowest letters (ASCII?), "use N columns, padding with '.' if needed" has a reasonable solution, no? "[1]A[2]" occupies 2+1+2 columns, so trunc that is given only 3 (or 4) columns can drop the last "[2]" and fit "[1]A" in the given columns with padding. > I'll at least work on the doc clarification regarding the column width, > column position and wide char (2-col) issue, and hopefully a few failing > tests for the combing code point and the wide char fitment issue. Thanks, that would give us a very good starting point.