Skip to content

Releases: moi15moi/FontCollector

v3.1.0

03 Oct 00:43
Compare
Choose a tag to compare

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

03 Oct 00:37
Compare
Choose a tag to compare
v3.1.0rc1 Pre-release
Pre-release

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

09 Jun 17:21
Compare
Choose a tag to compare

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 via ABCFontFace.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 to FontResult
  • 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

03 May 16:40
Compare
Choose a tag to compare
v3.0.0rc2 Pre-release
Pre-release
  • Fallback to freetype when fontTools isn't able to read a cmap (#44)

v3.0.0c1

29 Apr 17:46
Compare
Choose a tag to compare
v3.0.0c1 Pre-release
Pre-release

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 via ABCFontFace.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 to FontResult
  • Implemented typing for all the package

General

  • Add mypy and pytest verification workflow (#33)

v2.1.4

29 Oct 16:14
Compare
Choose a tag to compare
  • Update the build system AND add automatic package uploads to PyPI (#27)

v2.1.3

08 Oct 23:03
Compare
Choose a tag to compare
  • Use the same method as GDI for get_decoded_name (#25)
  • Get missing glyphs - Use freetype instead of fonttools + fixes (#26)
    • This introduce a new parameter support_only_ascii_char_for_symbol_font for Font::get_missing_glyphs. For more detail, see the documentation.

v2.1.2

28 Jul 00:24
c5b3a4f
Compare
Choose a tag to compare

Add --collect-draw-fonts arguments
To know when use this argument, see: libass/libass#617

v2.1.1

16 Jun 01:07
d44279d
Compare
Choose a tag to compare

Replace matplolib by FindSystemFontsFilename

v2.1.0

27 Mar 01:11
cea4426
Compare
Choose a tag to compare

Corrected bugs:

  • Correct the variable font algorithm to match the GDI implementation
  • Mimic how GDI decode an NameRecord