Skip to content

v3.0.0

Compare
Choose a tag to compare
@moi15moi moi15moi released this 09 Jun 17:21
· 17 commits to main since this 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
  • 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)