Merge remote-tracking branch 'origin/master'

This commit is contained in:
2026-02-16 14:18:49 +03:00
parent f6e1e7d00e
commit 9ce85ff6b8

View File

@@ -88,20 +88,42 @@ func resolveAssetPath(fileName string, relativeDirs []string) (string, error) {
} }
func registerDejavuFonts(pdf *gofpdf.Fpdf, regularFamily, boldFamily string) error { func registerDejavuFonts(pdf *gofpdf.Fpdf, regularFamily, boldFamily string) error {
regularFont, err := resolvePdfAssetPath("DejaVuSans.ttf")
if err != nil { regPath, err := resolvePdfAssetPath("DejaVuSans.ttf")
return err
}
boldFont, err := resolvePdfAssetPath("DejaVuSans-Bold.ttf")
if err != nil { if err != nil {
return err return err
} }
pdf.AddUTF8Font(regularFamily, "", regularFont) boldPath, err := resolvePdfAssetPath("DejaVuSans-Bold.ttf")
pdf.AddUTF8Font(boldFamily, "", boldFont) if err != nil {
return err
if err := pdf.Error(); err != nil {
return fmt.Errorf("font init failed: %w", err)
} }
// Load fonts from bytes
pdf.AddUTF8FontFromBytes(
regularFamily,
"",
mustReadFile(regPath),
)
pdf.AddUTF8FontFromBytes(
boldFamily,
"B",
mustReadFile(boldPath),
)
// Check internal PDF error
if pdf.Error() != nil {
return fmt.Errorf("font init failed: %w", pdf.Error())
}
return nil return nil
} }
func mustReadFile(path string) []byte {
b, err := os.ReadFile(path)
if err != nil {
panic("FONT READ ERROR: " + err.Error())
}
return b
}