Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -88,20 +88,42 @@ func resolveAssetPath(fileName string, relativeDirs []string) (string, error) {
|
||||
}
|
||||
|
||||
func registerDejavuFonts(pdf *gofpdf.Fpdf, regularFamily, boldFamily string) error {
|
||||
regularFont, err := resolvePdfAssetPath("DejaVuSans.ttf")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
boldFont, err := resolvePdfAssetPath("DejaVuSans-Bold.ttf")
|
||||
|
||||
regPath, err := resolvePdfAssetPath("DejaVuSans.ttf")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
pdf.AddUTF8Font(regularFamily, "", regularFont)
|
||||
pdf.AddUTF8Font(boldFamily, "", boldFont)
|
||||
|
||||
if err := pdf.Error(); err != nil {
|
||||
return fmt.Errorf("font init failed: %w", err)
|
||||
boldPath, err := resolvePdfAssetPath("DejaVuSans-Bold.ttf")
|
||||
if err != nil {
|
||||
return 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
|
||||
}
|
||||
|
||||
func mustReadFile(path string) []byte {
|
||||
b, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
panic("FONT READ ERROR: " + err.Error())
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user