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 {
|
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
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user