Looking through the documentation and the code in I found the font_path argument that either defaults to a supplied font or can be passed a path to a different font. I've tried several different variations of passing a font to it and even modified writer.py directly to use a different font. Neither of those had any effect on the font that appears below the barcode. Can you provide an example of changing the font?
Changing font functionality #104
I encountered this as well behavior as well. It only applies if you are writing SVGs though. If you write raster files (PNGs, JPGs, etc), the font_path option does exactly what you expect.
Looking at the SVGWriter class in class in barcode/writer.py it's pretty obvious why:
class SVGWriter(BaseWriter):
# ...
def _create_text(self, xpos, ypos):
# ...
attributes = {
"x": SIZE.format(xpos),
"y": SIZE.format(ypos),
#
# the 'font-family' attribute used by XHTML docs to render font is not set
#
"style": "fill:{};font-size:{}pt;text-anchor:middle;".format(
self.foreground,
self.font_size,
),
}
As hacky workaround since in my use case I needed bunch of arbitrarily scalable barcodes with non-ambiguous font (a lot of fonts 0 and capitol O look identical), I just had it write the font_path option as the XHTML font-family option:
class SVGWriter(BaseWriter):
# ...
def _create_text(self, xpos, ypos):
# ...
attributes = {
"x": SIZE.format(xpos),
"y": SIZE.format(ypos),
"style": "fill:{};font-size:{}pt;text-anchor:middle;font-family:'{}'".format(
self.foreground,
self.font_size,
self.font_path
),
}
CAUTION: I am not clear on how that would interact with the SVG sizing system in the package so I didn't commit and PR this change. I wanted to take a closer look and do this more smartly if need be. Regardless, I am more than happy to work with the team on giving SVG barcodes font customizability.
inconsistencies in the API between various barcodes or writers
Automatically merge this PR once CI passes.
Further design discussions and PRs are welcome.
things that need to be documented better
waiting for a reply from the reporter
No due date set.
No dependencies set.
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?