From 5cb99b114890dc1ef96e06b70f26fe5cfae63db7 Mon Sep 17 00:00:00 2001 From: Claudio Felber Date: Sat, 27 Jun 2015 18:20:22 +0200 Subject: Add SetFontLoader() method to load fonts from arbitrary locations --- def.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'def.go') diff --git a/def.go b/def.go index df21e05..33eca47 100644 --- a/def.go +++ b/def.go @@ -18,6 +18,7 @@ package gofpdf import ( "bytes" + "io" ) // Version of FPDF from which this package is derived @@ -132,6 +133,15 @@ type InitType struct { FontDirStr string } +// FontLoader is used to read fonts (JSON font specification and zlib compressed font binaries) +// from arbitrary locations (e.g. files, zip files, embedded font resources). +// +// Open provides an io.Reader for the specified font file (.json or .z). The file name +// does never include a path. Open returns an error if the specified file cannot be opened. +type FontLoader interface { + Open(name string) (io.Reader, error) +} + // Fpdf is the principal structure for creating a single PDF document type Fpdf struct { page int // current page number @@ -160,6 +170,7 @@ type Fpdf struct { lasth float64 // height of last printed cell lineWidth float64 // line width in user unit fontpath string // path containing fonts + fontLoader FontLoader // used to load font files from arbitrary locations coreFonts map[string]bool // array of core font names fonts map[string]fontDefType // array of used fonts fontFiles map[string]fontFileType // array of font files -- cgit v1.2.1-24-ge1ad