Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Tc Lib Unicode

Tc Lib Unicode Laravel Package

tecnickcom/tc-lib-unicode

tc-lib-unicode is a PHP library for working with Unicode text, offering character data, normalization forms, case mapping, and grapheme-aware string utilities. It helps PHP applications handle multilingual input correctly through a clean object-oriented API.

Deep Wiki
Context7

tecnickcom/tc-lib-unicode is a pure-PHP library for handling Unicode text in applications and libraries. It supplies character data and conversion utilities used by the tc-lib ecosystem, making it easy to work with code points, encodings, and multilingual strings without relying on the mbstring or iconv extensions.

  • Convert between UTF-8, UTF-16, UTF-32, and Unicode code points
  • Query Unicode character properties such as category, combining class, and mirroring
  • Support for bidirectional (BiDi) text
  • Lightweight, dependency-free design with a clean object-oriented API
Frequently asked questions about Tc Lib Unicode
How do I install tecnickcom/tc-lib-unicode in a Laravel app?
Install it with Composer using composer require tecnickcom/tc-lib-unicode. The package is PSR-4 autoloaded and framework agnostic, so it needs no Laravel service provider or config file. Instantiate its classes directly, or bind them behind your own interface in a service provider for cleaner testing.
Is tecnickcom/tc-lib-unicode compatible with Laravel 10 and Laravel 11?
The package has no Laravel coupling, so compatibility depends on the PHP version constraint of the specific tag, not the framework version. Check that tag's composer.json PHP requirement against your supported PHP matrix before committing. Wrapping it behind an adapter keeps future Laravel or PHP upgrades from rippling through your codebase.
What does tecnickcom/tc-lib-unicode actually do?
It provides pure-PHP Unicode utilities: normalization plus UTF-8 and UTF-16 string and code point helpers backed by bundled data tables. It exists mainly so the TCPDF stack can operate without ext-intl. It is not a general-purpose replacement for the full ICU API, so expect a narrower surface than PHP's intl extension.
Should I use tc-lib-unicode instead of PHP ext-intl in Laravel?
Prefer ext-intl with Normalizer, IntlChar, and grapheme_* functions when it is available, because it runs at C speed and tracks ICU. Choose tc-lib-unicode only when ext-intl is genuinely unavailable, such as locked-down shared hosting or minimal container images. If you want a polyfill route, symfony/polyfill-intl-normalizer is another option worth evaluating.
What license is tecnickcom/tc-lib-unicode released under?
Registry metadata reports the license as NOASSERTION, while the wider tc-lib-* family is generally LGPL-3.0. LGPL obligations around linking, modification, and relinking can affect how you distribute your product. Get legal sign-off on the actual license text in the tagged release before merging any code.
Is tc-lib-unicode fast enough for production Unicode normalization?
Pure-PHP normalization walks data tables in userland, so it is materially slower than ICU-backed ext-intl. It is usually fine for a few thousand strings per request but can be disqualifying for bulk indexing, search tokenization pipelines, or high-volume document rendering. Benchmark with your real payloads in a spike before adopting it.
How does tc-lib-unicode handle malformed or invalid UTF-8 input?
Most bugs in this class of library surface on malformed input, so do not assume behavior for invalid byte sequences. Characterize it with a spike and add tests for truncated, overlong, and mixed-encoding input. Validate or sanitize upstream where possible, and treat the library's output as untrusted until proven otherwise.
Which Unicode version do tc-lib-unicode's data tables implement?
The library pins a Unicode version through bundled data tables, which are shipped via the related tc-lib-unicode-data package. New scripts, emoji sequences, and normalization edge cases will lag until that data package is bumped. Track the version explicitly and plan periodic upgrades so the drift is visible rather than silent.
Is tecnickcom/tc-lib-unicode actively maintained and safe to depend on?
Adoption is low, around 12 stars, and the project has a single-maintainer bus factor, so CVE response may be slow. Published metadata also shows a future-dated release of 2026-10-10, so verify tags, commit history, and composer.lock hashes instead of trusting registry fields. Treat the risk as silent staleness and abandonment, and have an exit plan.
How do I test Unicode handling when using tc-lib-unicode in Laravel?
Test with PHPUnit using fixtures that cover combining marks, emoji ZWJ sequences, surrogate pairs, and invalid byte sequences. Because the API differs from ext-intl, write contract tests against your own UnicodeNormalizerInterface so the intl-backed and tc-lib-unicode implementations behave identically. Run those tests in CI on the same PHP versions you deploy.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource