General updates for new year, 2024
Command | Description |
---|---|
psfcsv2kern | To be written (1.8.1.dev2?) |
psfkern2csv | To be written (1.8.1.dev2?) |
- Disable code for Unicode Variation Sequences since the ufo2ft library now handles this (1.8.1.dev6)
- Handle CJK variants of ASCII characters in FTML builder that have the same base glyph name (that is, with no extension) as the ASCII base glyph name. (1.8.1.dev2)
- Updated ttfchecks.py to match changes in Font Bakery checks (1.8.1.dev3)
- Changed fontbakery support to use standard Google checks now is_cjk has been fixed (1.8.1.dev3)
- Updated psfrunfbchecks to work with latest Font Bakery, ie v0.11 on (1.8.1.dev3)
- Updated profiles and checks in fbtests/ to work with latest refactored Font Bakery v0.12.X
- Fixed #86 "psfmakefea fails when there are different substitution types" (1.8.1.dev4)
- Updated psfrunfbchecks to output a warning indicating the script is no longer to be used (1.8.1.dev4)
- Deprecate psfmakefea in favor of makefea
- Fix r-string SyntaxWarnings
- Added --compregex to psfufo2ttf
- psfexportanchors: Support public.skipExportGlyphs; add --ignoreglyphs option; correct/enhance documentation (1.8.1.dev5)
- Added warning in psfmakefea (not just deprecation notice) to indicate migration to feaxlib and makefea
- Removed all feax-related code, docs and tests as everything is now moved to feaxlib
- Removed
com.fontlab.v2.tth
from list of lib.plist keys removed in normalization - Disabled explicit setting of
openTypeOS2WidthClass
in normalization - Removed
openTypeGaspRangeRecords
from list of fontinfo.plist keys removed in normalization - In
gfr.py
change all Warnings to Errors
Updated the packaging to follow PEP621 guidelines
Also
- Added do forlet to fea extensions
- Updates to MacOS preflight support
General updates over the last year
Command | Description |
---|---|
psfcheckproject | Check UFOs in designspace files have consistent glyph inventory & unicode values (1.6.1.dev2) |
update-preflight-libs-pyenv | Preflight/preglyphs libs update shell script for macOS users (1.6.1.dev6) |
psfpreflightversion | Script to check version of modules but only for preflight (1.6.1.dev11) |
- check&fix, used by most UFO commands, no longer warns if styleMapFamilyName or styleMapStyleName are missing in fontinfo (1.6.1.dev1)
- Low-level bug fix to ufo.py found when running some temp code! Not previously found in live code. (1.6.1.dev1)
- Glyphs roundtrip now preserves openTypeHeadFlags key (1.6.1.dev2)
- Bug fix for psfmakefea for cases where there is adavnce height but no advance width got a glyph (1.6.1.dev3)
- Update to core.py to avoid race condition creating logs folder (1.6.1.dev3)
- psfglyphs2ufo now removes any advance heights in glyphs to counteract glyphslib changes (1.6.1.dev3)
- psfsyncmasters now sets openTypeOS2WeightClass to be in the CSS coordinate space, not the design coordinate space. (1.6.1.dev5)
- Various updates to gfr.py to support the Find a Font service (1.6.1.dev6)
- psfsyncmasters now syncs public.skipExportGlyphs (1.6.1.dev7)
- Add -d to psfaddanchors (1.6.1.dev7)
- Global adjustments to use https: instead of http: (1.6.1.dev7)
- Corrected ufo.py so plists still have http: in the DOCTYPE (1.6.1.dev8)
- psfsyncmasters - removed checks relating to styleMapFamilyName and styleMapStyleName; --complex now does nothing (1.6.1.dev9)
- psfrunfbchecks - general updates to reflect new Font Bakery checks (1.6.1.dev9)
- psfrunfbchecks + fbtests modules - updates to relect structure changes in Font Bakery (1.6.1.dev10)
- psfsubset - Added filtering (1.6.1.dev11)
- psfufo2ttf - fix crash in cases where both
public
andorg.sil
keys for Variation Sequence data are present (1.6.1.dev11) - psfbuildcomp - updated to use g_blue,g_purple as the default colours for -c (1.6.1.dev11)
- Fixed bug in setuptestdata.py used by pytest (1.6.1.dev11)
- Bug-fix to check&fix where updates that empty an array failed (1.6.1.dev11)
- update-preflight-libs-pyenv - adjusted dependencies, added conditional to modules installation report calling script only for the desired modules, made output terser, added stricter pyenv checking, dropped filename suffix (1.6.dev11)
None
General updates over the last two years, adding new scripts and updating existing in response to new needs or to adjust for changes to third-party software.
Command | Description |
---|---|
psfcheckclassorders | Verify classes defined in xml have correct ordering where needed |
psfcheckftml | Check ftml files for structural integrity |
psfcheckglyphinventory | Warn for differences in glyph inventory and encoding between UFO and input file (e.g., glyph_data.csv) |
psfcheckinterpolatable | Check UFOs in a designspace file are compatible with interpolation |
psffixfontlab | Make changes needed to a UFO following processing by FontLab |
psfsetdummydsig | Add a dummy DSIG table into a TTF font |
psfsetglyphdata | Update and/or sort glyph_data.csv based on input file(s) |
psfshownames | Display name fields and other bits for linking fonts into families |
psfwoffit | Convert between ttf, woff, and woff2 |
Multiple changes!
None
Added support for Font Bakery to make it simple for projects to run a standard set ot checks designed to fit in with Font Development Best Practices.
Improvements to feax support
Many other updates
Command | Description |
---|---|
psfftml2TThtml | Convert FTML document to html and fonts for testing TypeTuner |
psfmakescaledshifted | Creates scaled and shifted versions of glyphs |
psfrunfbchecks | Run Font Bakery checks using a standard profile with option to specify an alternative profile |
psfsetdummydsig | Put a dummy DSIG table into a TTF font |
Multiple minor changes and bug fixes
None
Updated the execute() framework used by scripts to add support for opening fonts with fontParts and remove support for opening fonts with FontForge.
Updates to normalization and check&fix to work better with FontForge-based workflows
Improvements to command-line help to display info on params and default values
Improvements to log file creation, including logs, by default, going to a logs sub-directory
Some changes are detailed below, but check commit logs for full details.
Command | Description |
---|---|
psfbuildcompgc | Add composite glyphs to UFO using glyphConstruction based on a CD file |
psfdeflang | Changes default language behaviour in a font |
psfdupglyphs | Duplicates glyphs in a UFO based on a csv definition |
psfexportmarkcolors | Export csv of mark colors |
psffixffglifs | Make changes needed to a UFO following processing by FontForge |
psfgetglyphnames | Create a file of glyphs to import from a list of characters to import |
psfmakedeprecated | Creates deprecated versions of glyphs |
psfsetmarkcolors | Set mark colors based on csv file |
psftuneraliases | Merge alias information into TypeTuner feature xml file |
Multiple minor changes and bug fixes
The following scripts moved from installed scripts to examples
- ffchangeglyphnames
- ffcopyglyphs
- ffremovealloverlaps
Nearly all scripts should work under Python 2 & 3
Future work will be tested just with Python 3 but most may still work with Python 2.
Some changes are detailed below, but check commit logs for full details.
psfversion - Report version info for pysilfont, python and various dependencies psfufo2gylphs - Creates a .gypyhs file from UFOs using glyphsLib
psfremovegliflibkeys now has -b option to remove keys beginning with specified string
psfglyphs2ufo updated to match new psfufo2glyphs. Now has -r to restore specific keys
Many changes to .fea support
The pytest-based test setup has been expanded and refined
Some scripts moved from installed scripts to examples
Libraries and most installed scripts updated to work with Python 2 and python 3
All scripts should work as before under Python 2, but a few scripts need further work to run under Python 3:
- All ff* scripts
- psfaddanchors
- psfcsv2comp
- psfexpandstroke
- psfsubset
The following scripts have not been fully tested with the new libraries
- psfchangegdlnames
- psfcompdef2xml
- psfcopymeta
- psfexportpsnames
- psfftml2odt
- psfremovegliflibkeys
- psfsetversion
- psfsyncmeta
- psftoneletters
- psfxml2compdef
- psfcopyglyphs
- psfcreateinstances
- psfcsv2comp
- psfmakefea
- psfremovegliflibkeys
- psfsetkeys
- psfsubset
Regression testing framework
(Changes not documented here)