f9846a9a6b
This optimizes the binary size for each tool that uses these functions. Previously, if a program just used one single function, maybe even a one-liner, it would statically compile in all lookup-tables, bloating the binary by up to 20K. All these changes are derived from a local libutf where I do the primary changes. So I hope that I can merge these things into libutf sooner or later, as discussed on the ml.
31 lines
467 B
C
31 lines
467 B
C
/* Automatically generated by mkrunetype.awk */
|
|
#include <stdlib.h>
|
|
|
|
#include "../utf.h"
|
|
#include "runetype.h"
|
|
|
|
static Rune space2[][2] = {
|
|
{ 0x2000, 0x200A },
|
|
{ 0x2028, 0x2029 },
|
|
};
|
|
|
|
static Rune space1[] = {
|
|
0x0020,
|
|
0x00A0,
|
|
0x1680,
|
|
0x202F,
|
|
0x205F,
|
|
0x3000,
|
|
};
|
|
|
|
int
|
|
isspacerune(Rune r)
|
|
{
|
|
if(bsearch(&r, space2, nelem(space2), sizeof *space2, &rune2cmp))
|
|
return 1;
|
|
if(bsearch(&r, space1, nelem(space1), sizeof *space1, &rune1cmp))
|
|
return 1;
|
|
return 0;
|
|
}
|
|
|