github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/util/font.go (about)

     1  package util
     2  
     3  import (
     4  	"io/ioutil"
     5  
     6  	"github.com/golang/freetype/truetype"
     7  	"github.com/mundipagg/boleto-api/log"
     8  
     9  	"github.com/golang/freetype"
    10  )
    11  
    12  type font struct {
    13  	FtFont *truetype.Font
    14  }
    15  
    16  var fnt font
    17  
    18  func GetFont() font {
    19  
    20  	if (font{}) == fnt {
    21  		fontBytes, err := ioutil.ReadFile("./boleto/Arial.ttf")
    22  		if err != nil {
    23  			l := log.CreateLog()
    24  			l.Fatal(err.Error(), " An error has occurred load font")
    25  		}
    26  
    27  		f, err := freetype.ParseFont(fontBytes)
    28  		if err != nil {
    29  			l := log.CreateLog()
    30  			l.Fatal(err.Error(), " An error has occurred load font")
    31  		}
    32  
    33  		fnt = font{
    34  			FtFont: f,
    35  		}
    36  	}
    37  
    38  	return fnt
    39  }