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

2 lines
156 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,AAEAAAAQAQAABAAAR0RFRtAP0mwAAa6sAAACTkdQT1PzoxZcAAGw/AAAEl5HU1VCl5SSWgABw1wAAA/AT1MvMpim1oUAAW8kAAAAYFNUQVTmOcx+AAHTHAAAAERjbWFwD8kmVQABb4QAADFMZ2FzcAAAABAAAa6kAAAACGdseWas8+6JAAABDAABVUpoZWFkGyPaIQABYqAAAAA2aGhlYQYzAJUAAW8AAAAAJGhtdHjWIs2BAAFi2AAADChsb2NhXOCuVQABVngAAAwobWF4cAZHAmoAAVZYAAAAIG5hbWUDBm0qAAGg2AAADaxwb3N0/7gAMwABroQAAAAgcHJlcGgGjIUAAaDQAAAABwAFACMAAAI1ApQAAwAJAAwAEgAVAABzESERJTMnJyMHBzcnFzM3NyMfAhEjAhL+paQoKAQpfF9fpQQrH5gfdV4ClP1sW01iYg25unBfOzupuQFzAAACAAkAAAJPAowADQARAABzEzMTIwMmJicjBgYHAyc1IRUJy7DLnFQMHAwEDBoNVRABOAKM/XQBSjFuMzNuMf62m3NzAAMASgAAAjICjAARABoAIwAAcxEzMhYWFRQGBxUWFhUUBgYjAzMyNjU0JiMjETMyNjU0JiMjSttEbD82OkZIQnFHW0E2MDE0Qk88Ojo8TwKMHUY/LFIPBAxLQkJVKQGGKyUkH/5aLCwrJgABADb/9AI6ApgAHgAARSIuAjU0NjYzMhYXByYmIyIGBhUUFhYzMjY3FwYGAWQ9bVQwU41XPmQhURc3JC5IKipLMSQ6GFEobAwqVX1SbJlRMyBbFhkzXkFDXzIgGlkvMQACAEYAAAI0AowACgAVAABzETMyFhYVFAYGIyczMjY2NTQmJiMjRrRfjU5NilopGDRMKytMNBgCjESPcHCSR3coXE5OWSUAAQBcAAACFgKMAAsAAHMRIRUhFTMVIxUhFVwBsP7k8fEBJgKMfIN7lnwAAQBpAAACGgKMAAkAAHMRIRUhFTMVIxVpAbH+4vT0Aox8l3z9AAABACz/9AIjApgAIQAARSImJjU0NjYzMhYXByYmIyIGBhUUFhYzMjY3NSM1MxEGBgFXU4hQUIlUQl4fURUyJypEJyJGMxMjCl/jIW0MS5VubZlQMyBbFRozXkFDXzIKCnB4/tQfMAABAEAAAAIYAowACwAAcxEzFTM1MxEjESMRQJOyk5OyAoz8/P10ARD+8AABAEoAAAIOAowACwAAczUzESM1IRUjETMVSpiYAcSYmHwBlHx8/mx8AAABADv/9AIEAowAEgAARSImJzcWFjMyNjURIzUhERQGBgERNnUrVRxAIDIz/wGSL2kMMDxbIyU0QwEne/5SQGpAAAACAEQAAAJSAowACAAMAABzETMRMxMzARUzAzcTRJUDwaP+mdaYV+QCjP71AQv+JrIBL3P+XgABAGsAAAIgAowABQAAcxEzESEVa5MBIgKM/fB8AAABADoAAAIeAowAHQAAcxEzFxczNzczESM1ND4CNyMHByMnJyMeAxUVOppAFgQWQJp8BAYHAgMyMkgzLwMCBwYEAoznWlrn/XTKG1FYUBqunZ2uGlBYURvKAAABAEIAAAIWAowAEwAAcxEzExczJiY1NTMRIwMnIxYWFRVCl4k4BAUQjZeJOAQFEAKM/ryQNIA55/10AUWONX065wACACb/9AIyApgADwAfAABFIiYmNTQ2NjMyFhYVFAYGJzI2NjU0JiYjIgYGFRQWFgEsTnZCQnZOTnZCQnZOIjIbGzIiIjIbGzIMTpdwbZVNTZVtcJdOfzFfRkRcMDBcREZfMQAAAgBLAAACMQKMAAwAFQAAcxEzMhYWFRQGBiMjFREzMjY1NCYjI0vnR3NFRnRFVEs9Oz07SwKMJ1xPTGIv3QFSNjI0KQADACb/TgJHApgADwAfAC4AAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTQmJiMiBgYVFBYWEyImJzceAjMyNjcXBgYBLE52QkJ2Tk52QkJ2TiIyGxsyIiIyGxsy3WGDHpUKJzMbDxsKGhAwDE6XcG2VTU2VbXCXTngwYUxEXDAwXERMYTD+4mZQDx4jDggFbgkMAAADAEYAAAJIAowADAAVABkAAHMRMzIWFhUUBgYjIxURMzI2NTQmIyMTNxMjRudFckVFckVUSDo9PTpIOWbQpQKMJVlNS14t6wFgMTAwJv76X/6QAAABADL/9AInApgALQAARSImJzcWFjMyNjU0JiYnJy4CNTQ2NjMyFhcHJiYjIgYVFBYWFxceAhUUBgYBKkKBNVUlWS8vLRguH1QkQCc9a0c7cixLIkQwJC4cMB9PLD4iO3EMMC5lHiYgGRcbFQ0kDi9FMDZXNSwqXRkbHh0TGhQMIhAvRC42XDgAAQAfAAACOQKMAAcAAHMRIzUhFSMR4sMCGsMCEHx8/fAAAAEAQP/0AhgCjAAXAABFIi4CNREzERQWFjMyNjY1ETMRFA4CAS48WTsekxQoHx8pFI4cO1gMI0NhQAGR/mAnNhwcNicBoP5vQGFDIwABAA8AAAJJAowADQAAcwMzExYWFzM2NjcTMwPUxZxODxcOBBAXDk2WxAKM/tA2ZTY2ZTYBMP10AAEABAAAAlQCjAAlAABzAzMTFBYWFTM+Ajc3MxceAhczPgI3EzMDIycmJicjBgYHB1tXmRQCAQQECwwFLF4pBgoMBAQBAQEBEo9QniYGCgIDAwgGJgKM/qUcNTUeHjU2G7a2GzQ3Hh43NBsBW/10yh9AHR1AH8oAAAEAEgAAAkYCjAAZAABzEwMzFxYWFzM2Njc3MwMTIycmJicjBgYHBxK+s6U/CxgPBAsWCzqes76kRw0ZDgQMGAxEAU8BPXsWNB8fNBZ7/rz+uIUaMx4eMxqFAAEAEAAAAkgCjAAPAABzNQMzFxYWFzM2Njc3MwMV4tKeQg8dDwQQHw5CmtLcAbCdJUknJ0klnf5Q3AABADgAAAIjAowACQAAczUBITUhFQEhFTgBMf7sAcr+zwE1WQG4e1n+SXwAAAIAPf/0AhcB/AAeACoAAFciJiY1NDY3LgIjIgYGByc+AjMyFhYVESMnIwYGJzI2NzUOAhUUFhbgMkkol7ADGC0iGDAzHDQiS1EqRmQ2eAsEJVoCIToaSVEgER8MKEQqU1gKFyARCxUOYBQeETFjTP7kOBwochsUUgQWIhYPFgoAAgBI//QCKQK9ABUAJAAARSImJyMHIxEzFQczNjYzMhYWFRQGBicyNjY1NCYmIyIGBxUWFgFSIkceBAxzkwUDHUckP1kwPWJZGywaFCcgGC0XFS0MIiA2Ar2sThsePnFMVXk/eB5BMy07HhUZyREQAAEAQ//0AiMB/AAdAABFIiYmNTQ2NjMyFhcHJiYjIgYGFRQWFjMyNjcXBgYBV059SVCDTDtgH0QdNRwqQiQjPyknQRs7LG0MPXVSUnU9JR5bFBMiQCsrQCIcE10lJAACAC//9AIQAr0AFAAiAABFIiY1NDY2MzIWFzMnNTMRIycjBgY1MjY3NSYmIyIGBhUUFgEAXnM9YjUpPBgEB5N4CwMbSRkrExQpFhsuGzIMi3lRdD8cGU2p/UMzGyR4FRnJEg8ePS9JRQAAAQA3//QCIwH8ACQAAEUiJiY1NDY2MzIWFhUUBgchNSEHNCYjIgYGFRQWFjMyNjcXBgYBSk19SUp2Qk1oNQUC/ogBFRczMSQ2HiREMCI9ITEraAw9dVJRdT4/a0QUJQljHDw9IEIyM0EgEhFZGx8AAAIAUgAAAkkCyQAQABUAAHMRNDY2MzIWFwcmJiMiBhURATU3IRXVL2FOK0wfHBgzHS8u/uqIATkB/TldNhEKbAkKKi3+AgF9bQZzAAADADT/LQI8AfwAMgBCAFMAAEUiJiY1NDY3NSYmNTQ2NzUmJjU0NjYzMhczFSMWFhUUBgYjIiYnBgYVFBYzMzIWFRQGBgMyNjY1NCYmIyIGBhUUFhYTMjY2NTQmIyMiJicGBhUUFgEVQWU7JyYVHSEaGyY7YTguJMlkCQ03XDoOJBIMCikrXGJnSIVSFSIUF