Commit Graph

11 Commits

Author SHA1 Message Date
Shadowfacts 2f18ad3cf4 Process runs of unmodified characters as characterSequence tokens 2023-11-28 20:58:01 -05:00
Shadowfacts f7f35e09f7 Use Unicode.Scalar instead of Character
All the chars we care about are a single scalar, so this avoids spending
time on the grapheme breaking algorithm.
2023-11-28 11:56:56 -05:00
Shadowfacts f412369cf7 Don't use enum with associated values for current token
They prevent in-place modification, resulting in a bunch of extra copies
2023-11-28 10:36:04 -05:00
Shadowfacts 31bd174a69 Use loops instead of recursion in hot path
Small but measurable perf win
2023-11-27 00:04:10 -05:00
Shadowfacts 29a065049e Ditch InlineArray3
Turns out Array is still faster
2023-11-26 22:35:10 -05:00
Shadowfacts 1c461041c1 Cache fonts in attributed string converter 2023-11-26 18:53:59 -05:00
Shadowfacts 134803b72d Faster tokenizing for named character references 2023-11-26 18:26:22 -05:00
Shadowfacts e22f778f8f Make things public 2023-11-25 22:58:00 -05:00
Shadowfacts 97ce18d056 Convert lists to attributed strings 2023-11-25 09:44:53 -05:00
Shadowfacts 38d57b3f79 Attributed string conversion 2023-11-24 22:17:37 -05:00
Shadowfacts a4d791a995 Add tokenizer 2023-11-24 15:18:37 -05:00