{"id":22927197,"url":"https://github.com/hapytex/unicode-tricks","last_synced_at":"2025-08-30T10:42:53.971Z","repository":{"id":41048378,"uuid":"252500429","full_name":"hapytex/unicode-tricks","owner":"hapytex","description":"Functions to work with unicode characters.","archived":false,"fork":false,"pushed_at":"2023-08-15T16:24:13.000Z","size":13744,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-25T19:42:24.798Z","etag":null,"topics":["characters","haskell","string","unicode","unicode-characters"],"latest_commit_sha":null,"homepage":"https://hackage.haskell.org/package/unicode-tricks","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hapytex.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-02T15:54:18.000Z","updated_at":"2023-07-09T18:20:16.000Z","dependencies_parsed_at":"2025-05-13T01:47:14.738Z","dependency_job_id":"7613f856-1b7c-473c-b544-21c8626e2ffd","html_url":"https://github.com/hapytex/unicode-tricks","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/hapytex/unicode-tricks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hapytex%2Funicode-tricks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hapytex%2Funicode-tricks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hapytex%2Funicode-tricks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hapytex%2Funicode-tricks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hapytex","download_url":"https://codeload.github.com/hapytex/unicode-tricks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hapytex%2Funicode-tricks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272839672,"owners_count":25001862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["characters","haskell","string","unicode","unicode-characters"],"created_at":"2024-12-14T09:13:54.150Z","updated_at":"2025-08-30T10:42:53.927Z","avatar_url":"https://github.com/hapytex.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# unicode-tricks\n\n[![Build Status of the package by GitHub actions](https://github.com/hapytex/unicode-tricks/actions/workflows/build-ci.yml/badge.svg)](https://github.com/hapytex/unicode-tricks/actions/workflows/build-ci.yml)\n[![Build Status of the package by Hackage](https://matrix.hackage.haskell.org/api/v2/packages/unicode-tricks/badge)](https://matrix.hackage.haskell.org/#/package/unicode-tricks)\n[![Hackage version badge](https://img.shields.io/hackage/v/unicode-tricks.svg)](https://hackage.haskell.org/package/unicode-tricks)\n\nBased on the [**`unicode`** package](https://hackage.haskell.org/package/unicode) by *Henning Thielemann*.\n\nThis library aims to provide functionality to make working with certain blocks of\nunicode characters more effective.\n\nCurrently the package contains the following modules:\n\n - **`Data.Char.Core`**: a module that defines common data structures;\n - **`Data.Char.BallotBox`**: rendering boxes that are empty, with a checkmark, or a cross;\n - **`Data.Char.Block`**: rendering a 2-by-2 block by a matrix of `Bool`s;\n - **`Data.Char.Block.Sextant`**: render blocks that consists out of a 3 \u0026times; 2 raster;\n - **`Data.Char.Brackets`**: determine if a character is a bracket, and find the corresponding bracket;\n - **`Data.Char.Braille`**: a module to render Braille characters with six or eight dot cells;\n - **`Data.Char.Card`**: a module to work with playing cards;\n - **`Data.Char.Chess`**: a module to render chess pieces (and some variants) in unicode;\n - **`Data.Char.Control`**: a module that visualizes *control characters*;\n - **`Data.Char.Combining`**: combine a character with a (sequence of) *combining* characters (diacritics, geometrical shapes, etc.);\n - **`Data.Char.Currency`**: translate currencies to Unicode characters and vice versa;\n - **`Data.Char.Dice`**: a module to render die unicode characters;\n - **`Data.Char.Domino`**: a module to render domino unicode characters;\n - **`Data.Char.Egyptian`**: a module that defines pattern synonyms for ancient Egyptian hieroglyphs;\n - **`Data.Char.Emoji.*`**: modules that provide functions to render *emoji* characters (flags, objects, persons, etc.);\n - **`Data.Char.Enclosed`**: functions to convert alphanumerical characters to characters where these are enclosed by circles, squares, parenthesis, etc.;\n - **`Data.Char.Frame`**: typesetting frame elements. Lines of the frames can be `Light` or `Heavy`, and there are additional options to use arcs for corners;\n - **`Data.Char.Math.*`**: a set of modules to render mathematical symbols and text, for example in *Fraktur*, *Blackboard bold*, etc.\n - **`Data.Char.Number.Duodecimal`**: a module to work with [duodecimal numbers](https://en.wikipedia.org/wiki/Duodecimal);\n - **`Data.Char.Number.Egyptian`**: a module to render [ancient Egyptian numerals](https://en.wikipedia.org/wiki/Egyptian_numerals);\n - **`Data.Char.Number.Mayan`**: a module to render [Mayan numerals](https://en.wikipedia.org/wiki/Maya_numerals);\n - **`Data.Char.Number.Roman`**: a module to render [Roman numerals](https://en.wikipedia.org/wiki/Roman_numerals);\n - **`Data.Char.Number.Segmented`**: a module to render numbers on a [seven-segment display](https://en.wikipedia.org/wiki/Seven-segment_display);\n - **`Data.Char.Number.Tally`**: a module to render [(Western) tally marks](https://en.wikipedia.org/wiki/Tally_marks);\n - **`Data.Char.Number.VulgarFraction`**: a module to use *vulgar fractions* defined in the Unicode standard;\n - **`Data.Char.Private`**: characters belonging to the *private usage area*;\n - **`Data.Char.Private.Klingon`**: Klingon script characters;\n - **`Data.Char.Small`**: making use of subscript and superscript in unicode, and for example formatting `Ratio` objects; and\n - **`Data.Char.Tag`**: a unicode block that is used as emoji modifiers for regional flags.\n\n## `unicode-tricks` is *safe* Haskell\n\nThe modules are marked with the `{-# LANGUAGE Safe #-}` pragma, it thus provides\nguarantees, for example about not using [`unsafePerformIO`](https://begriffs.com/posts/2015-05-24-safe-haskell.html).\n\n## Contribute\n\nYou can contribute by making a pull request on the [*GitHub\nrepository*](https://github.com/hapytex/unicode-tricks).\n\nYou can contact the package maintainer by sending a mail to\n[`hapytexeu+gh@gmail.com`](mailto:hapytexeu+gh@gmail.com).\n\nContributors:\n\n - [`@wismill`](https://github.com/wismill) found a bug and added tests for the\n   `Data.Char.Math` as well as the `Data.Char.Number.Segmented` module.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhapytex%2Funicode-tricks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhapytex%2Funicode-tricks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhapytex%2Funicode-tricks/lists"}