Closed airibarne closed 3 weeks ago
Utilitzarem el Font Manager de Matplotlib (que ja està instal·lat), amb from matplotlib.font_manager import findSystemFonts
.
font.py
amb una classe Font
i una funció find
.Font
s'inicialitza a partir d'un Path
(que serà dels que torna el findSystemFonts
) i omple tres atributs: family
, style
i path
a partir d'aquest argument.find
té un argument que és la família, i utilitza findSystemFonts
per tornar un diccionari str: Font
on les keys són els estils? Algo així.Llavors, la funcionalitat quedaria que a la classe PDF
se li pot passar un argument font_family
i intenta setejar-la. Només petaria quan realment no tenim cap font de la familia instal·lada. Igual si tenim només e.g. la font bàsica però no la bold faria un warning però no petaria. L'argument font_family
s'haurà d'exposar via CLI.
We usually use Roboto as our default font, so we'd need some support for this font (and others in the general case).
An initial approach would be to access system fonts, which can be discovered with something like Matplotlib's Font Manager.
With this approach, a use would need to have installed the font to use in the PC before generating the documentation.
Another approach would be to include some functionality to download fonts, which is a bit of overkill. A third but less general approach would be to include Roboto ttf files and making it be the only font available, which is way better than the current standard font.