tecnickcom/tc-lib-pdf-font
最新稳定版本:2.13.0
Composer 安装命令:
composer require tecnickcom/tc-lib-pdf-font
包简介
PHP library containing PDF page formats and definitions
README 文档
README
Font import, metrics, and stack management utilities for PDF generation.
If this project is useful to you, please consider supporting development via GitHub Sponsors.
Overview
tc-lib-pdf-font provides font import and runtime font-stack services used by PDF composition engines.
It bridges static font assets and runtime document composition by handling metrics, encodings, and font program references in a PDF-friendly way. This modular design lets applications evolve font workflows independently from the rest of the rendering stack.
| Namespace | \Com\Tecnick\Pdf\Font |
| Author | Nicola Asuni info@tecnick.com |
| License | GNU LGPL v3 - see LICENSE |
| API docs | https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font |
| Packagist | https://packagist.org/packages/tecnickcom/tc-lib-pdf-font |
Features
Font Processing
- Import support for core, Type1, and TrueType sources
- Font metadata extraction and normalization
- Utilities for subset and output dictionary generation
Runtime Font Stack
- Font stack insertion and switching
- Glyph width/bounding-box helpers
- Character replacement and fallback handling
Requirements
- PHP 8.2 or later
- Extensions:
json,pcre,zlib - Composer
Installation
composer require tecnickcom/tc-lib-pdf-font
Quick Start
<?php require_once __DIR__ . '/vendor/autoload.php'; $font = new \Com\Tecnick\Pdf\Font\Import('/path/to/font.ttf'); $metrics = $font->getFontMetrics(); var_dump($font->getFontName(), $metrics['type']);
For larger examples, refer to test/OutputTest.php and the conversion tooling in this repository.
Converting Existing Fonts
Use the CLI utilities in util/ to convert existing font files into the JSON/Z format consumed by this library.
Convert One or More Fonts
Run util/convert.php and pass one or more input files with --fonts:
php util/convert.php \ --outpath=./target/fonts/custom/ \ --type=TrueTypeUnicode \ --flags=32 \ --encoding_id=1 \ --fonts=/path/to/MyFont-Regular.ttf,/path/to/MyFont-Bold.ttf
The command writes generated font definition files to --outpath.
Common options:
--type: Explicit font type (TrueTypeUnicode,TrueType,Type1,CID0JP,CID0KR,CID0CS,CID0CT). Leave empty for autodetect.--encoding: Encoding table (for examplecp1252for many non-Unicode Type1/Core cases). Omit for Unicode and symbolic fonts.--flags: PDF descriptor flags. Default is32(non-symbolic).--platform_idand--encoding_id: CMAP selection for TrueType Unicode imports (defaults:3and1).--linked: Link to system font file instead of embedding/copying it (not transportable).
To see full usage help:
php util/convert.php --help
Bulk Conversion
For batch generation from the mirrored font set:
cd util
make build
This installs util dependencies and runs bulk_convert.php, which scans the mirror package and writes converted fonts under target/fonts/.
Notes:
bulk_convert.phpalso attempts OTF conversion via FontForge (fontforge -script otf2ttf.ff ...) before import.- If you run bulk conversion directly, customize destination with
php util/bulk_convert.php --outpath=/your/path/.
Development
make deps
make help
make qa
Font generation helpers are also available through Make targets such as fonts.
Packaging
make rpm make deb
For system packages, bootstrap with:
require_once '/usr/share/php/Com/Tecnick/Pdf/Font/autoload.php';
Contributing
Contributions are welcome. Please review CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.
Contact
Nicola Asuni - info@tecnick.com
统计信息
- 总下载量: 822.28k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 21
- 点击次数: 6
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: LGPL-3.0-or-later
- 更新时间: 2015-12-01