d2/d2renderers/d2fonts/encoded/SourceCodePro-Italic.txt

2 lines
132 KiB
Text
Raw Normal View History

d2renderers: d2fonts: add bold + italic styles for Source Code Pro 👋 I've been playing around with changing the entire font of a diagram to something fixed-width, starting by hand-editing `main.go` I noticed that if I switched over the family to Source Code Pro, d2 crashed with the following stack: ``` [23:38:30] info: compiling GetUniqueColumnName-fix.d2... panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x1c4 pc=0x16b562c] goroutine 43 [running]: github.com/golang/freetype/truetype.(*Font).Bounds(0xc000669670?, 0x0?) /Users/kevin/dev/go/pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/truetype/truetype.go:378 +0xc github.com/golang/freetype/truetype.NewFace(0x0, 0xc0003276c0) /Users/kevin/dev/go/pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/truetype/face.go:199 +0x325 oss.terrastruct.com/d2/lib/textmeasure.(*Ruler).addFontSize(0xc00037c000, {{0x1bb9a34, 0xd}, {0x1b82732, 0x4}, 0x1f}) /Users/kevin/dev/d2/lib/textmeasure/textmeasure.go:141 +0x112 oss.terrastruct.com/d2/lib/textmeasure.(*Ruler).MeasurePrecise(0xc00037c000, {{0x1bb9a34, 0xd}, {0x1b82732, 0x4}, 0x1f}, {0xc000582100, 0x1f}) /Users/kevin/dev/d2/lib/textmeasure/textmeasure.go:157 +0xde oss.terrastruct.com/d2/lib/textmeasure.(*Ruler).Measure(...) /Users/kevin/dev/d2/lib/textmeasure/textmeasure.go:151 oss.terrastruct.com/d2/d2graph.GetTextDimensions({0x0, 0x0, 0xc000657860?}, 0xc00037c000, 0xc000620280, 0xc000092020) ``` Which I tracked down to these missing styles, which appear to matter even if they aren't used. I acquired the `ttf` files from https://fonts.google.com/specimen/Source+Code+Pro I created the encoded fonts on my Mac with: ``` base64 -i SourceCodePro-Italic.ttf -o ../encoded/SourceCodePro-Italic.txt ``` Hopefully this is correct! Open to all feedback, especially since I think this is the first change I've ever made to a go program :) Signed-off-by: Kevin David <kevin-david@github.com>
2023-01-23 05:13:08 +00:00
data:application/font-woff;base64,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