diff --git a/d2renderers/d2fonts/d2fonts.go b/d2renderers/d2fonts/d2fonts.go index 58a8d0460..6e30dfb61 100644 --- a/d2renderers/d2fonts/d2fonts.go +++ b/d2renderers/d2fonts/d2fonts.go @@ -37,15 +37,15 @@ func (f FontFamily) Font(size int, style FontStyle) Font { func (f Font) GetEncodedSubset(cutset string) string { // gofpdf subset only accepts .ttf fonts fontBuf := FontFaces[f] - subsetFont := gofpdf.UTF8CutFont(fontBuf, cutset) + fontBuf = gofpdf.UTF8CutFont(fontBuf, cutset) - subsetWoff, err := fontlib.Sfnt2Woff(subsetFont) + fontBuf, err := fontlib.Sfnt2Woff(fontBuf) if err != nil { // If subset fails, return full encoding return FontEncodings[f] } - return fmt.Sprintf("data:application/font-woff;base64,%v", base64.StdEncoding.EncodeToString(subsetWoff)) + return fmt.Sprintf("data:application/font-woff;base64,%v", base64.StdEncoding.EncodeToString(fontBuf)) } const ( diff --git a/d2renderers/d2sketch/testdata/class/sketch.exp.svg b/d2renderers/d2sketch/testdata/class/sketch.exp.svg index 12b9d3ce1..d797080eb 100644 --- a/d2renderers/d2sketch/testdata/class/sketch.exp.svg +++ b/d2renderers/d2sketch/testdata/class/sketch.exp.svg @@ -4,7 +4,7 @@ } @font-face { font-family: d2-3945613123-font-mono; - src: url("data:application/font-woff;base64,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"); + src: url("data:application/font-woff;base64,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"); }]]>