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 Data

Tc Lib Unicode Data Laravel Package

tecnickcom/tc-lib-unicode-data

Unicode data tables and constants for the Tecnick text stack. Provides lookup tables, mappings, and property, script, bracket, mirror, and shaping data consumed by tc-lib-unicode, keeping runtime libraries focused on algorithms with versioned, deterministic data updates.

View on GitHub
Deep Wiki
Context7

PHP library containing UTF-8 font definitions

Frequently asked questions about Tc Lib Unicode Data
What is tc-lib-unicode-data used for in a Laravel application?
It is a pure PHP data package that ships Unicode lookup tables, property and script mappings, and bracket, mirroring, and Arabic shaping data consumed by tc-lib-unicode and the TCPDF / tc-lib-pdf stack. In a Laravel app it is useful when you generate multilingual or RTL PDFs, or when your own code needs Bidi class, joining type, or bracket-pairing lookups. It contains no Laravel-specific code and should live in your infrastructure or PDF rendering layer, not in domain logic.
Is tc-lib-unicode-data a Laravel package with a service provider or config file?
No. It is a plain Composer library under the \Com\Tecnick\Unicode\Data namespace with static classes and constants; there is no service provider, facade, config file, migration, or publishable asset. Integration is Composer-only, so wrap the static calls in an application service such as a UnicodeTextService or PdfUnicodeAdapter instead of referencing vendor classes from controllers and jobs.
Which PHP and Laravel versions does tc-lib-unicode-data support?
The package requires PHP 8.2 or newer, so it is compatible with Laravel 11 and Laravel 12 environments running PHP 8.2+. It has no Laravel-version-specific code, so your Composer platform requirements and support matrix are what actually decide compatibility. Older Laravel and PHP 8.1 setups are out of scope.
Do I need to require tc-lib-unicode-data directly if I already use TCPDF or tc-lib-pdf?
Usually not. It is designed as a transitive dependency of tc-lib-unicode and the TCPDF / tc-lib-pdf ecosystem, so it may already be in your vendor directory. Run composer why tecnickcom/tc-lib-unicode-data to confirm before adding a direct requirement, and only require it explicitly if your own code calls the data classes directly.
What Unicode data does tc-lib-unicode-data actually provide?
It provides property and identity constants, script and category mappings, bracket pairing, mirroring, and Arabic joining and shaping tables generated from the Unicode Character Database. The APIs referenced in the ecosystem include Type::getType(), Type::getBidiClass(), Arabic::getJoiningType(), Pattern::RTL, Pattern::ARABIC, Mirror::UNI, and bracket data. Type::UNICODE_VERSION reports which Unicode version the tables were generated from.
Are there breaking changes between tc-lib-unicode-data 2.x and 3.x?
Yes, the 3.x line introduces changes such as Type::UNI, stricter UTF-8 requirements for Pattern, and different Arabic::SUBSTITUTE shaping behavior. Pin an exact version in composer.lock rather than using broad constraints, and read the release notes before upgrading. Build regression tests around the code points and documents you depend on so a data-version bump is a deliberate change.
Is the LGPL v3 license of tc-lib-unicode-data a problem for a commercial Laravel SaaS?
The README states GNU LGPL v3, but the Composer license metadata can report NOASSERTION, so have legal confirm the actual terms before shipping. LGPL is generally workable for SaaS and for proprietary applications that link to the library unmodified, especially when you keep it as an isolated Composer dependency behind an adapter. Avoid modifying and redistributing the library without reviewing the LGPL obligations.
How much memory do the Unicode tables use per PHP worker in production?
The package is essentially data tables, so memory cost depends on which tables you load and how your opcache and worker configuration behave. Measure with memory_get_peak_usage() during a realistic PDF or RTL rendering request rather than trusting static estimates, then compare against your memory_limit multiplied by worker count. Avoid loading every table on every request if you only need a few lookups.
How should I test RTL and Arabic shaping output when using this package in Laravel?
Create golden tests with known code points covering Arabic joining forms, mirrored brackets, and representative Bidi sequences, then assert the output of your adapter and the rendered PDF. Add real multilingual documents to your test suite and roll the change out behind a feature flag on PDF and RTL export paths. Assert Type::UNICODE_VERSION in tests so a table upgrade fails loudly until you review it.
What are alternatives to tc-lib-unicode-data for Unicode handling in Laravel?
The PHP intl extension (ICU) covers Bidi resolution, normalization, and transliteration without extra Composer dependencies, and symfony/string plus symfony/intl provide grapheme and locale helpers. For PDF-centric pipelines, staying with the TCPDF / tc-lib-pdf stack is usually simpler than mixing sources. Choose based on whether you need raw Unicode data tables or full algorithms, and avoid running two Unicode data sources side by side.
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.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator