Also add "B"-type characters to isspacerune()

This commit is contained in:
FRIGN 2015-02-12 16:48:22 +01:00
parent 24d6cb90e7
commit 4f6d696894

View File

@ -4,18 +4,15 @@
#include "../utf.h" #include "../utf.h"
#include "runetype.h" #include "runetype.h"
static Rune space3[][2] = {
{ 0x0009, 0x000B },
};
static Rune space2[][2] = { static Rune space2[][2] = {
{ 0x000B, 0x000C }, { 0x0009, 0x000D },
{ 0x001F, 0x0020 }, { 0x001C, 0x0020 },
{ 0x2000, 0x200A }, { 0x2000, 0x200A },
{ 0x2028, 0x2029 }, { 0x2028, 0x2029 },
}; };
static Rune space1[] = { static Rune space1[] = {
0x0085,
0x00A0, 0x00A0,
0x1680, 0x1680,
0x202F, 0x202F,
@ -28,8 +25,6 @@ isspacerune(Rune r)
{ {
Rune *match; Rune *match;
if(match = bsearch(&r, space3, nelem(space3), sizeof *space3, &rune2cmp))
return !((r - match[0]) % 2);
if(bsearch(&r, space2, nelem(space2), sizeof *space2, &rune2cmp)) if(bsearch(&r, space2, nelem(space2), sizeof *space2, &rune2cmp))
return 1; return 1;
if(bsearch(&r, space1, nelem(space1), sizeof *space1, &rune1cmp)) if(bsearch(&r, space1, nelem(space1), sizeof *space1, &rune1cmp))