Releases: moi15moi/FontCollector
Releases · moi15moi/FontCollector
v3.1.0
What's Changed
- Consider fvar without instance like NormalFont (#51)
- [font_collection] Don't ignore the reload_system_font flags (#52)
- [Workflows] Update dependency to the latest version (#55)
- Update input documentation (#56)
- [pyproject.toml] Update langcodes to at least 3.4.1 which fix #53 (#57)
- [pyproject.toml] Specify maximum version for all dependencies to avoid breaking change (#58)
- [Workflows] Don't run the job test twice (#59)
- [abc_ass_document] Correct invalid escape sequence (#60)
- [workflows\publish_to_pypi] Publish to PyPI with a trusted publisher (09df9dc)
- Add --logging option (#54)
- [workflows\publish_to_pypi] Add
Upload artifact signatures to GitHub Release
(e117c16) - [font_loader] Remove duplicate Path (aad2579)
Full Changelog: 3.0.0...3.1.0
Warning
This will likely be the final release to support Python 3.8, as its end-of-life is expected this month, according to the Python Developer’s Guide.
v3.1.0rc1
What's Changed
- Consider fvar without instance like NormalFont (#51)
- [font_collection] Don't ignore the reload_system_font flags (#52)
- [Workflows] Update dependency to the latest version (#55)
- Update input documentation (#56)
- [pyproject.toml] Update langcodes to at least 3.4.1 which fixe #53 (#57)
- [pyproject.toml] Specify maximum version for all dependencies to avoid breaking change (#58)
- [Workflows] Don't run the job test twice (#59)
- [abc_ass_document] Correct invalid escape sequence (#60)
- [workflows\publish_to_pypi] Publish to PyPI with a trusted publisher (09df9dc)
- Add --logging option (#54)
- [workflows\publish_to_pypi] Add
Upload artifact signatures to GitHub Release
(e117c16) - [font_loader] Remove duplicate Path (aad2579)
Full Changelog: 3.0.0...3.1.0rc1
v3.0.0
Users
- Add new command line option
--additional-fonts-recursive
(#30) - Support duplicate style name like VSFilter/libass (#31)
- Truncate font name to 31 characters like VSFilter if the user ask about it (#18)
- If two fonts have the same attributes, always collect the oldest font (#8)
- The collected fonts have appropriate filename capitalization (#34)
Developers
A big refactor have been done in #34. This break the compatibility with the version 2.1.4. I highly recommend you to look at this example.
- Distinct a font file from a font face.
There are now 2 kinds of font face. "Variable" is for variable font and "Normal" for the rest. - Know what is the language of a family name or a exact name
- From a FontFace, get the best name depending of the OS language via
ABCFontFace.get_best_family_name
/ABCFontFace.get_best_exact_name
. The user can also query a family name from a BCP47 tag viaABCFontFace.get_family_name_from_lang
/ABCFontFace.get_exact_name_from_lang
- Users can know implement their own ass document reader. They just need to extend the class ABCAssDocument
- Users can create their own strategy to find a font. They simply need to implement FontSelectionStrategy.
Also, the user can choose between 2 strategy (FontSelectionStrategyLibass and FontSelectionStrategyVSFilter) - Know if a font is a font collection (TTC/OTC file)
- Know what is the font type (opentype/truetype)
- Create a FontCollection class. It has the same responsabilities has the old FontLoader. The new FontLoader now only load the font cache, load a batch of fonts and load the system fonts.
- Add
need_faux_bold
attribute toFontResult
- Implemented typing for all the package
- Fallback to freetype when fontTools isn't able to read a cmap (#44)
- Bump FindSystemFontsFilename version to 0.3.0 (38160c6)
General
- Add mypy and pytest verification workflow (#33)
v3.0.0rc2
v3.0.0c1
Users
- Add new command line option
--additional-fonts-recursive
(#30) - Support duplicate style name like VSFilter/libass (#31)
- Truncate font name to 31 characters like VSFilter if the user ask about it (#18)
- If two fonts have the same attributes, always collect the oldest font (#8)
- The collected fonts have appropriate filename capitalization (#34)
Developers
A big refactor have been done in #34. This break the compatibility with the version 2.1.4. I highly recommend you to look at this example.
- Distinct a font file from a font face.
There are now 2 kinds of font face. "Variable" is for variable font and "Normal" for the rest. - Know what is the language of a family name or a exact name
- From a FontFace, get the best name depending of the OS language via
ABCFontFace.get_best_family_name
/ABCFontFace.get_best_exact_name
. The user can also query a family name from a BCP47 tag viaABCFontFace.get_family_name_from_lang
/ABCFontFace.get_exact_name_from_lang
- Users can know implement their own ass document reader. They just need to extend the class ABCAssDocument
- Users can create their own strategy to find a font. They simply need to implement FontSelectionStrategy.
Also, the user can choose between 2 strategy (FontSelectionStrategyLibass and FontSelectionStrategyVSFilter) - Know if a font is a font collection (TTC/OTC file)
- Know what is the font type (opentype/truetype)
- Create a FontCollection class. It has the same responsabilities has the old FontLoader. The new FontLoader now only load the font cache, load a batch of fonts and load the system fonts.
- Add
need_faux_bold
attribute toFontResult
- Implemented typing for all the package
General
- Add mypy and pytest verification workflow (#33)
v2.1.4
v2.1.3
v2.1.2
Add --collect-draw-fonts
arguments
To know when use this argument, see: libass/libass#617