diff --git a/fontmanager.go b/fontmanager.go index 2d092b1..3b02414 100644 --- a/fontmanager.go +++ b/fontmanager.go @@ -122,18 +122,30 @@ func (fm *fontManager) loadBuildInFont() error { if err != nil { return err } - // Get the font - font, err := parseFontContent(string(fontStr)) + // Load the font + err = fm.loadBinDataFont(string(fontStr), name) if err != nil { return err } - // Register the font object in the fontLib - fm.fontLib[name] = font } return nil } +// Load a bindata font +func (fm *fontManager) loadBinDataFont(fontStr string, fontName string) error { + + // Get the font + font, err := parseFontContent(fontStr) + if err != nil { + return err + } + // Register the font object in the fontLib + fm.fontLib[fontName] = font + + return nil +} + // Parse a font from a content string // Used to load fonts from disk and the builtin fonts func parseFontContent(cont string) (*font, error) { diff --git a/render.go b/render.go index 2006bd6..0bd066a 100644 --- a/render.go +++ b/render.go @@ -39,6 +39,11 @@ func (ar *AsciiRender) LoadFont(fontPath string) error { return ar.fontMgr.loadFontList(fontPath) } +// LoadBinDataFont loads provided bindata font string +func (ar *AsciiRender) LoadBinDataFont(fontStr string, fontName string) error { + return ar.fontMgr.loadBinDataFont(fontStr, fontName) +} + // Render renders a string with the default options // Calls the RenderOpts method with a new RenderOptions object func (ar *AsciiRender) Render(str string) (string, error) {