unicode-combine: remove utf8proc dependency

We only used utf8proc to try to pre-compose a glyph from a base and
combining character.

We can do this ourselves by using a pre-compiled table of valid
pre-compositions. This table isn't _that_ big, and binary searching it
is fast.

That is, for a very small amount of code, and not too much extra RO
data, we can get rid of the utf8proc dependency.
This commit is contained in:
Daniel Eklöf 2020-05-02 17:29:00 +02:00
parent 8389c76549
commit d945b68b73
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
13 changed files with 34934 additions and 40 deletions

View file

@ -77,10 +77,10 @@ struct damage {
int lines;
};
#if FOOT_UNICODE_COMBINING
#if FOOT_UNICODE_MAX_COMBINING_CHARS > 0
struct combining_chars {
uint8_t count;
wchar_t chars[2]; /* This is XTerms default, but there _are_ cases where more are needed */
wchar_t chars[FOOT_UNICODE_MAX_COMBINING_CHARS];
} __attribute__((packed));
#endif
@ -89,7 +89,7 @@ struct row {
bool dirty;
bool linebreak;
#if FOOT_UNICODE_COMBINING
#if FOOT_UNICODE_MAX_COMBINING_CHARS > 0
struct combining_chars *comb_chars;
#endif
};