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 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
doc Renaming to uniseg 2024-03-03 13:13:22 -05:00
scripts Yet another reorganization, and solve Christine's 'rude problem' 2024-03-05 11:46:32 -05:00
tests Yet another reorganization, and solve Christine's 'rude problem' 2024-03-05 11:46:32 -05:00
uniseg Yet another reorganization, and solve Christine's 'rude problem' 2024-03-05 11:46:32 -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 Cleanups and reducing duplicates 2024-03-04 14:27:12 -05:00
hall.scm Yet another reorganization, and solve Christine's 'rude problem' 2024-03-05 11:46:32 -05:00
uniseg.scm Yet another reorganization, and solve Christine's 'rude problem' 2024-03-05 11:46:32 -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.