https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100977

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 51258
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51258&action=edit
gcc12-pr100977-1.patch

I think I found a bug in the makeucnid.c program, sometimes the ranges are
split
even when they contain the identical flags and combining value (which results
in
unnecessarily large table), but in other cases, e.g.
U+0483 to U+0487 inclusive are combining 230 and U+0488 is combining 0,
but the generated file had:
{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0482 },
{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0483 },
{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0484 },
{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0485 },
{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0486 },
{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x048f },
i.e. 0x0487 would be handled as non-combining.

Reply via email to