{"id":13822959,"url":"https://github.com/typst/hypher","last_synced_at":"2026-01-25T06:44:02.970Z","repository":{"id":49037094,"uuid":"256859388","full_name":"typst/hypher","owner":"typst","description":"Separates words into syllables.","archived":false,"fork":false,"pushed_at":"2024-03-06T14:46:35.000Z","size":1616,"stargazers_count":113,"open_issues_count":5,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-13T00:55:02.347Z","etag":null,"topics":["hyphenation","syllables"],"latest_commit_sha":null,"homepage":"","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/typst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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}},"created_at":"2020-04-18T21:46:44.000Z","updated_at":"2025-01-10T22:20:56.000Z","dependencies_parsed_at":"2025-01-05T12:41:49.721Z","dependency_job_id":"ae7282cf-7a5c-4ffb-bdcc-0673128d6c4a","html_url":"https://github.com/typst/hypher","commit_stats":{"total_commits":31,"total_committers":3,"mean_commits":"10.333333333333334","dds":"0.25806451612903225","last_synced_commit":"fbd866e401545ec6bcff9b689a3b0766b013b8ee"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typst%2Fhypher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typst%2Fhypher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typst%2Fhypher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typst%2Fhypher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/typst","download_url":"https://codeload.github.com/typst/hypher/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240371761,"owners_count":19790888,"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":["hyphenation","syllables"],"created_at":"2024-08-04T08:02:26.607Z","updated_at":"2026-01-25T06:44:02.964Z","avatar_url":"https://github.com/typst.png","language":"TeX","funding_links":[],"categories":["TeX"],"sub_categories":[],"readme":"# hypher\n[![Crates.io](https://img.shields.io/crates/v/hypher.svg)](https://crates.io/crates/hypher)\n[![Documentation](https://docs.rs/hypher/badge.svg)](https://docs.rs/hypher)\n\n_hypher_ separates words into syllables.\n\n```toml\n[dependencies]\nhypher = \"0.1\"\n```\n\n## Features\n- All-inclusive: Hyphenation patterns are embedded into the binary as\n  efficiently encoded finite automata at build time.\n- Zero load time: Hyphenation automata operate directly over the embedded\n  binary data with no up-front decoding.\n- No allocations unless when hyphenating very long words (\u003e 41 bytes). You can\n  disable the `alloc` feature, but then overly long words lead to a panic.\n- Support for many languages.\n- No unsafe code, no dependencies, no std.\n\n## Example\n```rust\nuse hypher::{hyphenate, Lang};\n\nlet syllables = hyphenate(\"extensive\", Lang::English);\nassert_eq!(syllables.join(\"-\"), \"ex-ten-sive\");\n```\n\n## Languages\nBy default, this crate supports hyphenating more than 30 languages. Embedding\nautomata for all these languages will add ~1.1 MiB to your binary.\nAlternatively, you can disable support for all languages and manually choose\nwhich ones get added:\n\n```toml\n[dependencies]\nhypher = { version = \"0.1\", default-features = false, features = [\"english\", \"greek\"] }\n```\n\nEach language added individually contributes:\n\n| Language   | Space   |\n|------------|---------|\n| Afrikaans  | 60 KiB  |\n| Albanian   | 1.4 KiB |\n| Belarusian | 3.9 KiB |\n| Bulgarian  | 13 KiB  |\n| Catalan    | 1.7 KiB |\n| Croatian   | 2.0 KiB |\n| Czech      | 40 KiB  |\n| Danish     | 5.7 KiB |\n| Dutch      | 63 KiB  |\n| English    | 27 KiB  |\n| Estonian   | 19 KiB  |\n| Finnish    | 1.3 KiB |\n| French     | 6.9 KiB |\n| Georgian   | 11 KiB  |\n| German     | 201 KiB |\n| Greek      | 2.0 KiB |\n| Hungarian  | 346 KiB |\n| Icelandic  | 21 KiB  |\n| Italian    | 1.6 KiB |\n| Kurmanji   | 1.4 KiB |\n| Latin      | 1003 B  |\n| Lithuanian | 6.5 KiB |\n| Mongolian  | 4.9 KiB |\n| Norwegian  | 153 KiB |\n| Polish     | 16 KiB  |\n| Portuguese | 1.0 KiB |\n| Russian    | 33 KiB  |\n| Serbian    | 13 KiB  |\n| Slovak     | 13 KiB  |\n| Slovenian  | 5.5 KiB |\n| Spanish    | 14 KiB  |\n| Swedish    | 24 KiB  |\n| Turkish    | 526 B   |\n| Turkmen    | 1.4 KiB |\n| Ukrainian  | 21 KiB  |\n\n## Benchmarks\n| Task                               | `hypher`  | [`hyphenation`] |\n|------------------------------------|----------:|----------------:|\n| Hyphenating `extensive` (english)  | **356ns** |           698ns |\n| Hyphenating `διαμερίσματα` (greek) | **503ns** |          1121ns |\n| Loading the english patterns       |   **0us** |           151us |\n| Loading the greek patterns         |   **0us** |         0.826us |\n\nBenchmarks were executed on ARM, Apple M1.\n\n## License\nThe code of this crate is dual-licensed under the MIT and Apache 2.0 licenses.\n\nThe files in `patterns/` are subject to the individual licenses stated therein.\nThe patterns are processed at build time and then embedded (i.e. statically\nlinked) into your binary. However, _hypher_ includes only patterns that are\navailable under permissive licenses. Patterns licenses include the LPPL, MPL,\nMIT, BSD-3.\n\n[`hyphenation`]: https://github.com/tapeinosyne/hyphenation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypst%2Fhypher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftypst%2Fhypher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypst%2Fhypher/lists"}