Tools for converting FontLab Studio 5 (VFB) files.
Project description
vfbLib
Converter and deserializer for FontLab Studio 5 VFB files.
FontLab’s own vfb2ufo
converter is from 2015, only outputs UFO v2, and
contains serious bugs that are never going to be fixed. Its support on macOS is
subject to Apple’s mercy (no native support for Apple Silicon).
That’s why a single determined programmer with a hex editor set out to rectify this situation.
Improvements Over vfb2ufo
- Outputs normalized UFO v3
- Outputs FontLab user data (font and glyph level)
- Mark colors are written to the official UFO v3 lib key
- Guideline data is written to the official UFO v3 elements
- Anchors are preserved in composite glyphs
- PostScript hinting is written correctly, but to the Adobe lib key
- TrueType hinting is supported in composite glyphs
- Supports more UFO font info attributes:
openTypeGaspRangeRecords
openTypeHeadLowestRecPPEM
openTypeNameRecords
openTypeOS2WeightClass
is written correctly
Command Line Script Usage
vfb3ufo
Convert a VFB to one UFO per master. Command line options are compatible to
FontLab’s vfb2ufo
, but not all of them are implemented yet.
$ vfb3ufo MyFile.vfb
will convert the file to MyFile.ufo
in the same directory. Existing files will
not be overwritten unless you specify the -fo
option.
vfb3ufo -h
usage: vfb3ufo [-h] [-p PATH] [-fo] [-k] [-ttx] [-64] [-s] [-nops] [-z] [-m] [-u] inputpath [outputpath]
VFB3UFO Converter Copyright (c) 2023 by LucasFonts Build 2024-01-10
positional arguments:
inputpath input file path (.vfb)
outputpath output file path (.ufo[z])
options:
-h, --help show this help message and exit
-p PATH, --path PATH output folder
-fo, --force-overwrite
force overwrite
-k, --add-kerning-groups
add kerning groups to feature code
-64, --base64 write GLIF lib 'data' section using base64 (recommended)
-s, --silent no display (silent mode)
-nops, --no-postscript-hints
Don't output PostScript hinting
-z, --zip write UFOZ (compressed UFO)
-m, --minimal parse only minimal amount of data, drop missing glyphs from groups, etc.
-u, --unicode-strings
interpret name table strings as Unicode instead of Windows-1252
Not yet implemented options:
-ttx, --ttx convert binary OpenType Layout data using TTX-like format
vfb2json
Generate a representation that closely adheres to the VFB structure.
$ vfb2json MyFile.vfb
will convert the file to MyFile.vfb.json
in the same directory. Existing files will be overwritten.
We expect this to be mostly used for debugging purposes.
vfb2json -h
usage: vfb2json [-h] [-d] [--header] [-m] [-p PATH] inputpath
VFB2JSON Converter Copyright (c) 2023 by LucasFonts Build 2023-07-18
positional arguments:
inputpath input file path (.vfb)
options:
-h, --help show this help message and exit
-d, --no-decompile don't decompile data, output binary in JSON
--header only read the VFB header, not the actual data
-m, --minimal parse only minimal amount of data
-p PATH, --path PATH output folder
vfbcu2qu
Convert a VFB file to quadratic using the cu2qu
library.
$ vfbcu2qu MyFile.vfb
will convert the file and save it with the suffix .qu.vfb
in the same directory.
usage: vfbcu2qu [-h] [-p PATH] [-fo] [-m MAX_ERR_EM] inputpath [outputpath]
VFB Cubic to Quadratic Converter Copyright (c) 2023 by LucasFonts Build 2023-07-18
positional arguments:
inputpath input file path (.vfb)
outputpath output file path (.vfb)
options:
-h, --help show this help message and exit
-p PATH, --path PATH output folder
-fo, --force-overwrite
force overwrite
-m MAX_ERR_EM, --max-err-em MAX_ERR_EM
Maximum allowed error, relative to the font's units per em. Default is 0.001.
diffvfb
Generate a diff of two VFB files, either in unified diff or HTML format.
usage: diffvfb [-h] [--html HTML] file1 file2
diffvfb Copyright (c) 2023 by LucasFonts Build 2023-07-18
positional arguments:
file1 First input file path (.vfb)
file2 Second input file path (.vfb)
options:
-h, --help show this help message and exit
--html HTML Output diff in HTML format to file path
Copyright
© 2022–2024 by LucasFonts GmbH, Berlin
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vfblib-0.7.0.tar.gz
.
File metadata
- Download URL: vfblib-0.7.0.tar.gz
- Upload date:
- Size: 67.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63ba1bdaaacc6549f63885b33658e6f67ae68cdd670527258849ee545114fa3a |
|
MD5 | 1711aea43d5b41f0f82049f2d6fe5fa6 |
|
BLAKE2b-256 | e429a04f76a421f4b4c72432084eee00d2e836f0b53d04e05edb7a02cad40938 |
File details
Details for the file vfbLib-0.7.0-py2.py3-none-any.whl
.
File metadata
- Download URL: vfbLib-0.7.0-py2.py3-none-any.whl
- Upload date:
- Size: 81.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9ed0a427bc9ec293ebc0e7532aebb325560ed31a01c3908dcfd4606bc5988ef |
|
MD5 | 260617d0a83232e17d4746f43ec36932 |
|
BLAKE2b-256 | 358cc970d62f283eac4602e0a7990238e442b9fc17d762f86bc48bfeb33686ae |