From 157aff3575e05946317098493519bb770b328972 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 18 Aug 2016 11:53:32 -0400 Subject: Allow default compression mode to be set. Go 1.7 introduces a new compression/flate routine that results in different compressed streams than before. Consequently, PDFs generated with go 1.7 are not generally binary-equivalent with those generated with previous versions. Turning off compression for test files removes this variability. However, it does not help with PDFs that contain images. For now, those reference PDFs have been removed to allow tests to proceed. --- ttfparser.go | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) (limited to 'ttfparser.go') diff --git a/ttfparser.go b/ttfparser.go index 3df633c..669ab4d 100644 --- a/ttfparser.go +++ b/ttfparser.go @@ -89,28 +89,8 @@ func TtfParse(fileStr string) (TtfRec TtfType, err error) { t.Skip(4) // length t.tables[tag] = offset } - if err = t.ParseHead(); err != nil { - return - } - if err = t.ParseHhea(); err != nil { - return - } - if err = t.ParseMaxp(); err != nil { - return - } - if err = t.ParseHmtx(); err != nil { - return - } - if err = t.ParseCmap(); err != nil { - return - } - if err = t.ParseName(); err != nil { - return - } - if err = t.ParseOS2(); err != nil { - return - } - if err = t.ParsePost(); err != nil { + err = t.ParseComponents() + if err != nil { return } t.f.Close() @@ -118,6 +98,32 @@ func TtfParse(fileStr string) (TtfRec TtfType, err error) { return } +func (t *ttfParser) ParseComponents() (err error) { + err = t.ParseHead() + if err == nil { + err = t.ParseHhea() + if err == nil { + err = t.ParseMaxp() + if err == nil { + err = t.ParseHmtx() + if err == nil { + err = t.ParseCmap() + if err == nil { + err = t.ParseName() + if err == nil { + err = t.ParseOS2() + if err == nil { + err = t.ParsePost() + } + } + } + } + } + } + } + return +} + func (t *ttfParser) ParseHead() (err error) { err = t.Seek("head") t.Skip(3 * 4) // version, fontRevision, checkSumAdjustment -- cgit v1.2.1-24-ge1ad