Based on the unicode
package by Henning Thielemann.
This library aims to provide functionality to make working with certain blocks of unicode characters more effective.
Currently the package contains the following modules:
Data.Char.Core
: a module that defines common data structures;Data.Char.BallotBox
: rendering boxes that are empty, with a checkmark, or a cross;Data.Char.Block
: rendering a 2-by-2 block by a matrix ofBool
s;Data.Char.Block.Sextant
: render blocks that consists out of a 3 × 2 raster;Data.Char.Brackets
: determine if a character is a bracket, and find the corresponding bracket;Data.Char.Braille
: a module to render Braille characters with six or eight dot cells;Data.Char.Card
: a module to work with playing cards;Data.Char.Chess
: a module to render chess pieces (and some variants) in unicode;Data.Char.Control
: a module that visualizes control characters;Data.Char.Combining
: combine a character with a (sequence of) combining characters (diacritics, geometrical shapes, etc.);Data.Char.Currency
: translate currencies to Unicode characters and vice versa;Data.Char.Dice
: a module to render die unicode characters;Data.Char.Domino
: a module to render domino unicode characters;Data.Char.Egyptian
: a module that defines pattern synonyms for ancient Egyptian hieroglyphs;Data.Char.Emoji.*
: modules that provide functions to render emoji characters (flags, objects, persons, etc.);Data.Char.Enclosed
: functions to convert alphanumerical characters to characters where these are enclosed by circles, squares, parenthesis, etc.;Data.Char.Frame
: typesetting frame elements. Lines of the frames can beLight
orHeavy
, and there are additional options to use arcs for corners;Data.Char.Math.*
: a set of modules to render mathematical symbols and text, for example in Fraktur, Blackboard bold, etc.Data.Char.Number.Duodecimal
: a module to work with duodecimal numbers;Data.Char.Number.Egyptian
: a module to render ancient Egyptian numerals;Data.Char.Number.Mayan
: a module to render Mayan numerals;Data.Char.Number.Roman
: a module to render Roman numerals;Data.Char.Number.Segmented
: a module to render numbers on a seven-segment display;Data.Char.Number.Tally
: a module to render (Western) tally marks;Data.Char.Number.VulgarFraction
: a module to use vulgar fractions defined in the Unicode standard;Data.Char.Private
: characters belonging to the private usage area;Data.Char.Private.Klingon
: Klingon script characters;Data.Char.Small
: making use of subscript and superscript in unicode, and for example formattingRatio
objects; andData.Char.Tag
: a unicode block that is used as emoji modifiers for regional flags.
The modules are marked with the {-# LANGUAGE Safe #-}
pragma, it thus provides
guarantees, for example about not using unsafePerformIO
.
You can contribute by making a pull request on the GitHub repository.
You can contact the package maintainer by sending a mail to
[email protected]
.
Contributors:
@wismill
found a bug and added tests for theData.Char.Math
as well as theData.Char.Number.Segmented
module.