On Wed, Jun 1, 2022 at 7:09 PM Thomas Munro <thomas.mu...@gmail.com> wrote:
> On Wed, Jun 1, 2022 at 6:15 PM 荒井元成 <n2...@ndensan.co.jp> wrote:
> > D209007=# select char_length(U&'\+0066FE' || U&'\+0E0103') ;
> > char_length
> > -------------
> >            2
> > (1 行)
> >
> > I expect length 1.
>
> No opinion here, but I did happen to see Noriyoshi Shinoda's slides
> about this topic a little while ago, comparing different databases:
>
> https://www.slideshare.net/noriyoshishinoda/postgresql-unconference-29-unicode-ivs
>
> It's the same with Latin combining characters... we count the
> individual codepoints of combining sequences:
>
> postgres=# select 'e' || U&'\0301', length('e' || U&'\0301');
>  ?column? | length
> ----------+--------
>  é        |      2
> (1 row)

Looking around a bit, it might be interesting to check if the
icu_character_boundaries() function in Daniel Vérité's icu_ext treats
IVSs as single grapheme clusters.


Reply via email to