{"id":17859,"library":"otfcc-ttcize","title":"TrueType TTC Bundler with Glyph Sharing","description":"otfcc-ttcize is a command-line utility designed to bundle multiple TrueType (TTF) font files into a single TrueType Collection (TTC) file, with a focus on optimizing file size through glyph sharing. It is currently at version 0.10.2 and appears to be actively maintained as part of the broader otfcc toolchain, though specific release cadences are not explicitly stated. A key differentiator is its glyph sharing mechanism, which significantly reduces the final TTC file size by consolidating common glyphs across the bundled fonts. However, it's crucial to note that this glyph sharing functionality is *not* applicable to CFF (Compact Font Format) fonts, for which users are advised to consider `otf2otc` instead. The tool relies on external `otfcc` executables for its underlying font processing operations.","status":"active","version":"0.10.2","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install otfcc-ttcize","lang":"bash","label":"npm"},{"cmd":"yarn add otfcc-ttcize","lang":"bash","label":"yarn"},{"cmd":"pnpm add otfcc-ttcize","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Runtime dependency, otfcc-ttcize shells out to otfccdump and otfccbuild executables. These must be available in the system's PATH or specified via options.","package":"otfcc","optional":false}],"imports":[],"quickstart":{"code":"# First, ensure otfcc tools (otfccdump, otfccbuild) are installed and in your PATH.\n# For example, install otfcc via npm globally if it's a wrapper, or directly from source.\n# npm install -g otfcc # (If otfcc has a CLI npm package)\n\n# Example: Bundle two TrueType fonts into a single TTC file.\n# The output TTC will have shared glyph data where possible.\notfcc-ttcize -o output.ttc input1.ttf input2.ttf input3.ttf\n\n# Example with gap mode for larger glyph sets and custom otfcc paths.\n# Note: Gap mode (-x) disables hint wrapping (-h).\notfcc-ttcize \\\n  -x \\\n  --otfccdump-command=\"/opt/local/bin/otfccdump\" \\\n  --otfccbuild-command=\"/opt/local/bin/otfccbuild\" \\\n  -o large_output.ttc fontA.ttf fontB.ttf","lang":"bash","description":"Demonstrates bundling multiple TrueType fonts into a TTC and using advanced options like gap mode and custom otfcc executable paths."},"warnings":[{"fix":"For CFF font collections, consider using `otf2otc` instead of `otfcc-ttcize` if glyph sharing is desired, or convert CFF fonts to TrueType first if possible.","message":"Glyph sharing, a core feature for size reduction, is explicitly stated not to work for CFF (Compact Font Format) fonts. Attempting to process CFF fonts may result in unexpected behavior or lack of optimization.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Avoid using the `-x` option if the target environment includes older operating systems or font rendering engines that might have compatibility issues. Test the output TTC thoroughly on target platforms.","message":"Using the 'gap mode' (`-x` option) to support more than 65,535 glyph data in one TTC may cause compatibility issues with legacy software. This mode modifies how glyph data is stored.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Decide which optimization is more critical: increased glyph capacity via gap mode or preserved hint wrapping. If hint wrapping is essential, do not use gap mode.","message":"The hint wrapping feature (`-h` option) is automatically disabled when 'gap mode' (`-x`) is enabled. This means you cannot have both optimizations simultaneously.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Ensure that `otfcc` tools are properly installed and accessible. Either add their installation directory to your system's PATH environment variable or specify their exact paths using the `--otfccdump-command` and `--otfccbuild-command` options.","message":"The tool relies on external `otfccdump` and `otfccbuild` executables. If these are not found in the system's PATH, or if the specified paths are incorrect, `otfcc-ttcize` will fail to execute.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-23T00:00:00.000Z","next_check":"2026-07-22T00:00:00.000Z","problems":[{"fix":"Verify that `otfcc` tools are installed and their executables are in your system's PATH, or use `--otfccdump-command=<path>` and `--otfccbuild-command=<path>` to specify their locations.","cause":"The `otfccdump` or `otfccbuild` executable could not be found or executed by `otfcc-ttcize`.","error":"Error: Command failed: otfccdump ..."},{"fix":"Provide one or more `.ttf` files as arguments before the output option: `otfcc-ttcize -o output.ttc font1.ttf font2.ttf`.","cause":"The command was run without providing any TrueType font files as input.","error":"No input files specified."},{"fix":"Choose a different output file name, or add the `--overwrite` option to explicitly allow overwriting the existing file.","cause":"The specified output file name already exists, and the tool prevents overwriting by default.","error":"Error: 'output.ttc' already exists. Use --overwrite to force."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}