uniname-words
NAME
uniname-words - look for words in unicode character names
SYNOPSIS
use uniname-words;
say uniname-words.elems; # 262166
say .uniname for uniname-words<love>;
# LOVE HOTEL
# LOVE LETTER
# I LOVE YOU HAND SIGN
say .uniname for uniname-words(<left bracket>);
DESCRIPTION
The uniname-words distribution exports a single subroutine:
uniname-words. When called without a parameter, it returns a Map
with each word (/w+) from the unicode database (active at installation
of the module) as a key (in lowercase), and an int32 array of the
codepoints that have that word in their name, as the value.
All Unicode reserved codepoints are available under the reserved
key: the rest of the name can be deduced from the codepoint value.
When the uniname-words sub is called with one or more arguments,
they are considered to be words to return the codepoints of: these
can be specified as a Str or as a Regex. Given words will be
automatically lowercased to be checked. An optional :partial named
argument can be specified to return the codepoints of words that partially
match.
By default, if more than one word has been specified, all words must
occur in the unicode name to be included. An optional :any named
argument can be specified that any of the specified words should occur.
uw
This module also install a command-line utility uw, that takes one
or more words, and the --partial and --any parameters, just like
the uniname-words sub does, and lists the names of the selected
code points on STDOUT. It also additionally takes a --hex parameter
(to just see the hexadecimal values), a --name parameter (to just see
the names) and/or a --char (to just see a rendition). These 3 parameters
can also be mixed in any combination.
un
This module also install a command-line utility un, that takes one
or more strings, and lists the names of the code points of these strings
on STDOUT. It also additionally takes a --hex parameter (to just see the
hexadecimal values), a --name parameter (to just see the names) and/or
a --char (to just see a rendition). These 3 parameters can also be mixed
in any combination.
INSTALLATION NOTE
Installing (or running this module for the first time after a runtime update) may take up to a minute (or possibly more on slower machines) because the entire unicode database is *then* checked, allowing it to remain up-to-date across versions of the run-time.
AUTHOR
Elizabeth Mattijsen <[email protected]>
Source can be located at: https://codeberg.org/lizmat/uniname-words . Comments and Pull Requests are welcome.
If you like this module, or what Iām doing more generally, committing to a small sponsorship would mean a great deal to me!
COPYRIGHT AND LICENSE
Copyright 2021, 2022, 2023, 2024, 2025, 2026 Elizabeth Mattijsen
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.
# vim: expandtab shiftwidth=4