Commit Graph

11 Commits

Author SHA1 Message Date
Vivianne 50f8bb891d
Add string->grapheme-list and char->grapheme
- string->grapheme-list gets only final graphemes without intermediate ones
- char->grapheme just works for single-chars that are valid graphemes.
2024-03-10 23:50:05 -04:00
Vivianne afa19676c5
Add new function to get the first grapheme from a string.
Not sure if I have a use-case yet but it seems like it could come in handy.
2024-03-10 20:09:25 -04:00
Vivianne 054bc193b6 Fixed bug with the grapheme-glyphs function 2024-03-05 22:28:48 -05:00
Vivianne 31012d5b8f Yet another reorganization, and solve Christine's 'rude problem'
- We change the stream iterator to *always* return a grapheme
  (except for EOF). The grapheme then gets built up over time.
  - This way, trans flag for example is first white flag, then
  white flag + zwj, etc until it finally transforms into the
  trans flag.
  - Users of the stream library can then use the `modification?'
  flag to determine if the stream value is a modification of the
  prior grapheme instead of a new grapheme.
  - Abstracted iteration to an iterator object to support use cases
  where we don't have an input stream (reflow needs this!)
2024-03-05 11:46:32 -05:00
Vivianne 1c0c4634f9 Renaming vars [need to sort the output of hash table...] 2024-03-04 17:21:19 -05:00
Vivianne 5f684735df Further boilerplate improvements 2024-03-04 17:18:25 -05:00
Vivianne 94dd8e00e8 Cut out a LOT of duplicated boilerplate, very simple definitions now 2024-03-04 17:12:09 -05:00
Vivianne a03c6d2348 Cleanups and reducing duplicates 2024-03-04 14:27:12 -05:00
Vivianne 92dc5a8908 Fixing issues with the stream unit tests (#1)
Reviewed-on: #1
Co-authored-by: Vivianne Langdon <puttabutta@gmail.com>
Co-committed-by: Vivianne Langdon <puttabutta@gmail.com>
2024-03-04 19:04:27 +00:00
Vivianne e53876be52 Holy shit it works 2024-03-03 20:25:47 -05:00
Vivianne f1c03097f1 Renaming to uniseg 2024-03-03 13:13:22 -05:00
Renamed from runewidth/graphemes.scm (Browse further)