Library inspired by https://github.com/mattn/go-runewidth and https://github.com/rivo/uniseg to handle the width and segmenting of Unicode runes and graphemes
Go to file
Vivianne dc90b8fd6c Fix broken unit tests, significant cleanup
- Have to break the match statement into specific section and non-specific section
  - (some ordering is still unclear to me, lets see if we can copy more go-uniseg unit tests)
- Add emoji to the grapheme list
- First character must be processed first
  - then state transition done on next char with peek!
- Fix other off-by-one issues, now unit tests pass!
2024-03-04 14:01:11 -05:00
doc Renaming to uniseg 2024-03-03 13:13:22 -05:00
scripts Fix broken unit tests, significant cleanup 2024-03-04 14:01:11 -05:00
tests Fix broken unit tests, significant cleanup 2024-03-04 14:01:11 -05:00
uniseg Fix broken unit tests, significant cleanup 2024-03-04 14:01:11 -05:00
.gitignore Add emoji and actually get east asian generator working 2024-03-02 13:37:54 -05:00
COPYING Initial commit 2024-02-29 13:03:58 -05:00
HACKING Renaming to uniseg 2024-03-03 13:13:22 -05:00
README Revert "Delete the symlink readme" 2024-03-02 16:52:42 -05:00
README.org Renaming to uniseg 2024-03-03 13:13:22 -05:00
guix.scm Renaming to uniseg 2024-03-03 13:13:22 -05:00
hall.scm Add failing unit tests, seems stream is not 100% 2024-03-03 23:18:13 -05:00
uniseg.scm Holy shit it works 2024-03-03 20:25:47 -05:00

README

# -*- mode: org; coding: utf-8; -*-

#+TITLE: README for Guile Uniseg

~guile-uniseg~ is a simple Guile library that provides several new Guile character sets for categorizing
East Asian characters and emoji. This can be useful when determining the width of characters.

This library is heavily inspired by the golang libraries ~uniseg~ and ~uniseg~.

* Scripts
There are two scripts which can be used to regenerate the character set files. These are optional to run, since
the script's output is stored in the repository at ~uniseg/eastasian.scm~ and ~uniseg/emoji.scm~.

However, should the source change as the unicode spec changes, these can be refreshed.