summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/image/font/opentype
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/image/font/opentype')
-rw-r--r--vendor/golang.org/x/image/font/opentype/face.go103
-rw-r--r--vendor/golang.org/x/image/font/opentype/face_test.go90
-rw-r--r--vendor/golang.org/x/image/font/opentype/opentype.go7
3 files changed, 0 insertions, 200 deletions
diff --git a/vendor/golang.org/x/image/font/opentype/face.go b/vendor/golang.org/x/image/font/opentype/face.go
deleted file mode 100644
index 88c28da88..000000000
--- a/vendor/golang.org/x/image/font/opentype/face.go
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package opentype
-
-import (
- "image"
-
- "golang.org/x/image/font"
- "golang.org/x/image/font/sfnt"
- "golang.org/x/image/math/fixed"
-)
-
-// FaceOptions describes the possible options given to NewFace when
-// creating a new font.Face from a sfnt.Font.
-type FaceOptions struct {
- Size float64 // Size is the font size in points
- DPI float64 // DPI is the dots per inch resolution
- Hinting font.Hinting // Hinting selects how to quantize a vector font's glyph nodes
-}
-
-func defaultFaceOptions() *FaceOptions {
- return &FaceOptions{
- Size: 12,
- DPI: 72,
- Hinting: font.HintingNone,
- }
-}
-
-// Face implements the font.Face interface for sfnt.Font values.
-type Face struct {
- f *sfnt.Font
- hinting font.Hinting
- scale fixed.Int26_6
-
- buf sfnt.Buffer
-}
-
-// NewFace returns a new font.Face for the given sfnt.Font.
-// if opts is nil, sensible defaults will be used.
-func NewFace(f *sfnt.Font, opts *FaceOptions) (font.Face, error) {
- if opts == nil {
- opts = defaultFaceOptions()
- }
- face := &Face{
- f: f,
- hinting: opts.Hinting,
- scale: fixed.Int26_6(0.5 + (opts.Size * opts.DPI * 64 / 72)),
- }
- return face, nil
-}
-
-// Close satisfies the font.Face interface.
-func (f *Face) Close() error {
- return nil
-}
-
-// Metrics satisfies the font.Face interface.
-func (f *Face) Metrics() font.Metrics {
- m, err := f.f.Metrics(&f.buf, f.scale, f.hinting)
- if err != nil {
- return font.Metrics{}
- }
- return m
-}
-
-// Kern satisfies the font.Face interface.
-func (f *Face) Kern(r0, r1 rune) fixed.Int26_6 {
- x0 := f.index(r0)
- x1 := f.index(r1)
- k, err := f.f.Kern(&f.buf, x0, x1, fixed.Int26_6(f.f.UnitsPerEm()), f.hinting)
- if err != nil {
- return 0
- }
- return k
-}
-
-// Glyph satisfies the font.Face interface.
-func (f *Face) Glyph(dot fixed.Point26_6, r rune) (dr image.Rectangle, mask image.Image, maskp image.Point, advance fixed.Int26_6, ok bool) {
- panic("not implemented")
-}
-
-// GlyphBounds satisfies the font.Face interface.
-func (f *Face) GlyphBounds(r rune) (bounds fixed.Rectangle26_6, advance fixed.Int26_6, ok bool) {
- advance, ok = f.GlyphAdvance(r)
- if !ok {
- return bounds, advance, ok
- }
- panic("not implemented")
-}
-
-// GlyphAdvance satisfies the font.Face interface.
-func (f *Face) GlyphAdvance(r rune) (advance fixed.Int26_6, ok bool) {
- idx := f.index(r)
- advance, err := f.f.GlyphAdvance(&f.buf, idx, f.scale, f.hinting)
- return advance, err == nil
-}
-
-func (f *Face) index(r rune) sfnt.GlyphIndex {
- x, _ := f.f.GlyphIndex(&f.buf, r)
- return x
-}
diff --git a/vendor/golang.org/x/image/font/opentype/face_test.go b/vendor/golang.org/x/image/font/opentype/face_test.go
deleted file mode 100644
index 224b0f2fa..000000000
--- a/vendor/golang.org/x/image/font/opentype/face_test.go
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package opentype
-
-import (
- "testing"
-
- "golang.org/x/image/font"
- "golang.org/x/image/font/gofont/goregular"
- "golang.org/x/image/font/sfnt"
- "golang.org/x/image/math/fixed"
-)
-
-var (
- regular font.Face
-)
-
-func init() {
- font, err := sfnt.Parse(goregular.TTF)
- if err != nil {
- panic(err)
- }
-
- regular, err = NewFace(font, defaultFaceOptions())
- if err != nil {
- panic(err)
- }
-}
-
-func TestFaceGlyphAdvance(t *testing.T) {
- for _, test := range []struct {
- r rune
- want fixed.Int26_6
- }{
- {' ', 213},
- {'A', 512},
- {'Á', 512},
- {'Æ', 768},
- {'i', 189},
- {'x', 384},
- } {
- got, ok := regular.GlyphAdvance(test.r)
- if !ok {
- t.Errorf("could not get glyph advance width for %q", test.r)
- continue
- }
-
- if got != test.want {
- t.Errorf("%q: glyph advance width=%d. want=%d", test.r, got, test.want)
- continue
- }
- }
-}
-
-func TestFaceKern(t *testing.T) {
- // FIXME(sbinet) there is no kerning with gofont/goregular
- for _, test := range []struct {
- r1, r2 rune
- want fixed.Int26_6
- }{
- {'A', 'A', 0},
- {'A', 'V', 0},
- {'V', 'A', 0},
- {'A', 'v', 0},
- {'W', 'a', 0},
- {'W', 'i', 0},
- {'Y', 'i', 0},
- {'f', '(', 0},
- {'f', 'f', 0},
- {'f', 'i', 0},
- {'T', 'a', 0},
- {'T', 'e', 0},
- } {
- got := regular.Kern(test.r1, test.r2)
- if got != test.want {
- t.Errorf("(%q, %q): glyph kerning=%d. want=%d", test.r1, test.r2, got, test.want)
- continue
- }
- }
-}
-
-func TestFaceMetrics(t *testing.T) {
- want := font.Metrics{Height: 768, Ascent: 726, Descent: 162}
- got := regular.Metrics()
- if got != want {
- t.Fatalf("metrics failed. got=%#v. want=%#v", got, want)
- }
-}
diff --git a/vendor/golang.org/x/image/font/opentype/opentype.go b/vendor/golang.org/x/image/font/opentype/opentype.go
deleted file mode 100644
index 452e952b8..000000000
--- a/vendor/golang.org/x/image/font/opentype/opentype.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package opentype implements the font.Face interface based on SFNT
-// font file formats.
-package opentype // import "golang.org/x/image/font/opentype"