{"id":17946823,"url":"https://github.com/eyeplum/cicero-tui","last_synced_at":"2025-03-24T20:32:49.481Z","repository":{"id":47751193,"uuid":"239954339","full_name":"eyeplum/cicero-tui","owner":"eyeplum","description":"Unicode tool with a terminal user interface.","archived":false,"fork":false,"pushed_at":"2022-09-24T01:43:59.000Z","size":267,"stargazers_count":46,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-29T07:07:41.821Z","etag":null,"topics":["cli","linux","macos","rust","tui","unicode"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eyeplum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-12T07:45:41.000Z","updated_at":"2024-10-21T13:01:51.000Z","dependencies_parsed_at":"2023-01-18T20:01:54.443Z","dependency_job_id":null,"html_url":"https://github.com/eyeplum/cicero-tui","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyeplum%2Fcicero-tui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyeplum%2Fcicero-tui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyeplum%2Fcicero-tui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyeplum%2Fcicero-tui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eyeplum","download_url":"https://codeload.github.com/eyeplum/cicero-tui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245348333,"owners_count":20600627,"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","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":["cli","linux","macos","rust","tui","unicode"],"created_at":"2024-10-29T07:07:42.801Z","updated_at":"2025-03-24T20:32:49.034Z","avatar_url":"https://github.com/eyeplum.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cicero [![Build and Test](https://github.com/eyeplum/cicero-tui/workflows/Build%20and%20Test/badge.svg)](https://github.com/eyeplum/cicero-tui/actions?query=workflow%3A%22Build+and+Test%22)\n\nUnicode tool with a terminal user interface.\n\n![Screenshot](images/screenshot.png)\n\n## Usage\n\n```\n$ cicero -h\nCicero: A Unicode Tool 0.2.1 (Unicode Version 13.0.0)\n\nUSAGE:\n    cicero.exe [FLAGS] [OPTIONS] [INPUT]\n\nFLAGS:\n    -u                           Parses INPUT as comma separated code points,\n                                 same as '--input-type=code-points',\n                                 ignored if '--input-type' is specified\n    -g, --generate-flamegraph    Generate Flamegraph for all Unicode Planes,\n                                 which can be loaded by Chrome's tracer UI (about:tracing)\n    -h, --help                   Prints help information\n    -t, --tui                    Shows Terminal UI\n    -V, --version                Prints version information\n\nOPTIONS:\n    -i, --input-type \u003cTYPE\u003e         Specifies input type, 'string' by default,\n                                    valid values: string, code-points\n    -o, --output-format \u003cFORMAT\u003e    Specifies output format, 'text' by default,\n                                    valid values: text, json\n\nARGS:\n    \u003cINPUT\u003e    a string or comma separated code points\n```\n\n## Supported Platforms\n\nCicero is tested on GNU/Linux, macOS, and Windows.\n\n## Installation\n\n### Homebrew Tap\n\nThe easiest way to install Cicero is via homebrew tap.\n\n```sh\n$ brew install eyeplum/tap/cicero-tui\n```\n\nOr alternatively:\n\n```sh\n$ brew tap eyeplum/tap\n$ brew install cicero-tui\n```\n\n### AUR\n\n`cicero` can be installed from available [AUR packages](https://aur.archlinux.org/packages/?O=0\u0026SeB=b\u0026K=cicero\u0026outdated=\u0026SB=n\u0026SO=a\u0026PP=50\u0026do_Search=Go) using an [AUR helper](https://wiki.archlinux.org/index.php/AUR_helpers). For example,\n\n```sh\n$ yay -S cicero\n```\n\nIf you prefer, you can clone the [AUR packages](https://aur.archlinux.org/packages/?O=0\u0026SeB=b\u0026K=cicero\u0026outdated=\u0026SB=n\u0026SO=a\u0026PP=50\u0026do_Search=Go) and then compile them with [makepkg](https://wiki.archlinux.org/index.php/Makepkg). For example,\n\n```sh\n$ git clone https://aur.archlinux.org/cicero.git\n$ cd cicero\n$ makepkg -si\n```\n\n### Building From Source\n\nYou can also build Cicero from source.\n\n#### Rust\n\nMake sure the latest stable Rust toolchain is installed. See [rustup](https://rustup.rs/).\n\n#### fontconfig and freetype (macOS and Linux only)\n\nCicero requires `fontconfig` and `freetype` libraries to build on Unix platforms.\n\n- On GNU/Linux (Tested on Ubuntu 18.04 LTS)\n\n  ```sh\n  # Assuming a C/C++ compiler and CMake are installed\n  # This installs shared libraries for both fontconfig and freetype\n  $ sudo apt install libfontconfig1-dev\n  ```\n\n- On macOS\n\n  ```sh\n  # Assuming homebrew is installed\n  $ brew install pkg-config fontconfig\n  ```\n\n#### Building\n\nBuilding cicero should be as easy as:\n\n```sh\n$ git clone https://github.com/eyeplum/cicero-tui\n$ cd cicero-tui\n$ cargo build --release\n$ ./target/release/cicero --version\nCicero: A Unicode Tool 0.1.0 (Unicode Version 13.0.0)\n```\n\nYou could also copy the final product to somewhere in your `PATH`, for example:\n\n```sh\n$ cp target/release/cicero $HOME/.local/bin/\n```\n\n## Configuration\n\nA `settings.toml` file can be created to configure character previews of Cicero.\n\n**Note: The configuration file is required on Windows in order to preview characters.**\n\nThe file is read from the following locations:\n- On Unix platforms, the file is read from `$HOME/.config/cicero/settings.toml`\n- On Windows, the file is read from `C:\\Users\\\u003cusername\u003e\\.config\\cicero\\settings.toml`\n\nThe configuration file has the following format:\n\n```toml\n# Whether to use fontconfig for font discovery.\n# True by default.\n# Ignored on Windows (as fontconfig is only available on Unix platforms).\nuse_fontconfig = false \n\n# Paths for recursively searching for fonts.\n# Required on Windows in order to preview characters.\n# Must be absolute paths.\n# Ignored if fontconfig is set to true.\nfont_search_paths = [\"\u003cpath\u003e\"]\n\n# Preview fonts configuration.\n# Optional. If omitted all discovered fonts are used in character preview.\n# Multiple entries can be defined, the final fonts used in character preview\n# are a union of all fonts matched by all entries.\n[[preview_fonts]]\ncode_point_range = \"\u003crange\u003e\" # Code point range to apply this entry, supported formats:\n                             # - An inclusive range of Unicode Code Points, e.g. \"U+0020..U+00FF\"\n                             # - Unicode Block name, e.g. \"Basic Latin\"\n                             # - Unicode Plane name, e.g. \"Basic Multilingual Plane\"\n                             # This filed is optional, if omitted this entry will be applied\n                             # to all Unicode characters.\nfont_name = \"\u003cfont\u003e\" # Name of the font to be added to the preview list.\n                     # The name is partially matched to the font's family name and full name.\n```\n\n### `settings.toml` Examples\n\n#### Unix\n\n##### Use `fontconfig`\n\nThis config file has the following behaviors:\n- Use `fontconfig` for font discovery\n- Use `Noto Sans` for displayable ASCII characters\n- Use all fonts with `CJK` in their name for characters in the `CJK Unified Ideographs` block\n- Use all discovered fonts for other characters\n\n```toml\n[[preview_fonts]]\ncode_point_range = \"U+0020..U+007E\"\nfont_name = \"Noto Sans\"\n\n[[preview_fonts]]\ncode_point_range = \"CJK Unified Ideographs\"\nfont_name = \"CJK\"\n```\n\n##### Don't use `fontconfig`\n\nThis config file has the following behaviours:\n- Don't use `fontconfig` for font discovery \n- Search fonts recursively in `~/Fonts/` and `~/Documents/Fonts/` directory\n- Use `Noto Sans` for displayable ASCII characters\n- Use all fonts with `CJK` in their name for characters in the `CJK Unified Ideographs` block\n- Use all discovered fonts for other characters\n\n```toml\nuse_fontconfig = false\n\nfont_search_paths = [\n  \"/home/\u003cusername\u003e/Fonts\", \n  \"/home/\u003cusername\u003e/Documents/Fonts\"\n]\n\n[[preview_fonts]]\ncode_point_range = \"U+0020..U+007E\"\nfont_name = \"Noto Sans\"\n\n[[preview_fonts]]\ncode_point_range = \"CJK Unified Ideographs\"\nfont_name = \"CJK\"\n```\n\n\n#### Windows\n\n- Search fonts recursively in `C:\\Windows\\Fonts` and `C:\\Users\\\u003cusername\u003e\\Documents\\Fonts` directory\n- Use `Noto Sans` for displayable ASCII characters\n- Use all fonts with `CJK` in their name for characters in the `CJK Unified Ideographs` block\n- Use all discovered fonts for other characters\n\n```toml\nfont_search_paths = [\n  \"C:\\\\Windows\\\\Fonts\",\n  \"C:\\\\Users\\\\\u003cusername\u003e\\\\Documents\\\\Fonts\",\n]\n\n[[preview_fonts]]\ncode_point_range = \"U+0020..U+007E\"\nfont_name = \"Noto Sans\"\n\n[[preview_fonts]]\ncode_point_range = \"CJK Unified Ideographs\"\nfont_name = \"CJK\"\n```\n\n## License\n\n[![](images/gplv3.png)](https://www.gnu.org/licenses/gpl-3.0.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feyeplum%2Fcicero-tui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feyeplum%2Fcicero-tui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feyeplum%2Fcicero-tui/lists"}