dragonfly_harfbuzz 0.0.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 12a1a1d9e43896d972f04db0af8fba629ff01c9a
4
- data.tar.gz: 57713f254cdf739f93cd407d6662aaef451df471
2
+ SHA256:
3
+ metadata.gz: df2c3ab44eceb11b1369967d4ba836e4e4a6b5c93a8aa1aaea2a4a76027cc74f
4
+ data.tar.gz: 3d3dca8871157110c99dae33bd081c1d3b137bd5d5c1f219e270849371abd62e
5
5
  SHA512:
6
- metadata.gz: 24c63ab26bbced5fb03be3071c8f0be576573852e2c95780e30068087dfead89dd74c57a1afa4b453cc3f3ddb44b2c2b4cd9e841fd1ebf1ae4aeef3131af668a
7
- data.tar.gz: e37a54bb7666077687d6f2bb2e0b9e9ead42f6af984a5c62f4c57c453f3f809711d1af2d4869705786460e9e2799a6950727d608e665e562c8440fc2e18080a4
6
+ metadata.gz: 12b1e43a879e9179f0ec66b7ff39927014fec014561eb1df12e7fc3778e411a4630f2305837e3c3d8c132885659b6c62de051b0f84fff3088d3d1d3b33c082bc
7
+ data.tar.gz: 72527b11a71864ca51f21f2fb30848df92e40b3fad9c0645e27cf08c541e233a5100102835f8a1866958d04a3349c2a7606c71a599e764b36041dd6d609d12d9
data/.travis.yml ADDED
@@ -0,0 +1,20 @@
1
+ language: ruby
2
+ cache: bundler
3
+ script: 'bundle exec rake'
4
+ sudo: required
5
+ dist: trusty
6
+ rvm:
7
+ - 2.5.1
8
+
9
+ before_install:
10
+ - gem update bundler
11
+ - sudo apt-get update
12
+ - wget --no-check-certificate http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.7.6.tar.bz2 && tar -xjf harfbuzz-1.7.6.tar.bz2 --no-same-owner
13
+ - cd harfbuzz-1.7.6 && sudo ./configure && sudo make && sudo make install && rm -rf harfbuzz*
14
+
15
+ notifications:
16
+ email:
17
+ recipients:
18
+ - tomas.celizna@gmail.com
19
+ on_failure: change
20
+ on_success: never
data/CHANGELOG.md ADDED
@@ -0,0 +1,6 @@
1
+ # CHANGELOG
2
+
3
+ ## 1.0.0
4
+
5
+ * add `SUPPORTED_FORMATS` and `SUPPORTED_OUTPUT_FORMATS` and raise errors when formats are not matching
6
+ * add more thorough tests for supported formats
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Dragonfly Harfbuzz
2
2
 
3
+ [![Build Status](https://travis-ci.org/tomasc/dragonfly_harfbuzz.svg)](https://travis-ci.org/tomasc/dragonfly_harfbuzz) [![Gem Version](https://badge.fury.io/rb/dragonfly_harfbuzz.svg)](http://badge.fury.io/rb/dragonfly_harfbuzz) [![Coverage Status](https://img.shields.io/coveralls/tomasc/dragonfly_harfbuzz.svg)](https://coveralls.io/r/tomasc/dragonfly_harfbuzz)
4
+
3
5
  [Harfbuzz](http://fontforge.github.io) renderer wrapped by [Dragonfly](http://markevans.github.io/dragonfly) processors.
4
6
 
5
7
  ## Installation
@@ -20,7 +22,7 @@ You will also need Harfbuzz installed.
20
22
 
21
23
  Using [Homebrew](http://brew.sh):
22
24
 
23
- $ brew install harfbuzz
25
+ $ brew install --with-cairo harfbuzz
24
26
 
25
27
  Or build from source. See [Harfbuzz](http://harfbuzz.org) website for instructions.
26
28
 
@@ -43,6 +45,15 @@ font.hb_view('my text', :svg, { font_size: 36 })
43
45
 
44
46
  See tests and `hb-view --help-all` for more details on options.
45
47
 
48
+ ## Supported Formats
49
+
50
+ List of supported formats is available as:
51
+
52
+ ```ruby
53
+ DragonflyHarfbuzz::SUPPORTED_FORMATS # => ["otf"]
54
+ DragonflyHarfbuzz::SUPPORTED_OUTPUT_FORMATS # => ["ansi", "png", "svg", "pdf", "ps", "eps"]
55
+ ```
56
+
46
57
  ## Options
47
58
 
48
59
  Additionally (for `<svg>` only) you can pass the following options: `markup_svg: Boolean`, `split_paths: Boolean` and `flatten_svg: Boolean`. `markup_svg` returns an `<svg>` that is organized into word and characters and marked up with additional data attributes. `flatten_svg` uses the result of `markup_svg` and further cleans up the `<svg>`, replacing the `<symbol>`, `<use>` elements with nested `<svg>`s. This is handy if you want to do some more precise animation/manipulation of the resulting `<svg>`. `split_paths` is a feature of the `markup_svg` and controls whether the paths of each character are split up into smaller components.
@@ -1,29 +1,31 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+
2
+ lib = File.expand_path('lib', __dir__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'dragonfly_harfbuzz/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "dragonfly_harfbuzz"
7
+ spec.name = 'dragonfly_harfbuzz'
8
8
  spec.version = DragonflyHarfbuzz::VERSION
9
- spec.authors = ["Tomas Celizna"]
10
- spec.email = ["tomas.celizna@gmail.com"]
11
- spec.summary = %q{Harfbuzz renderer wrapped by Dragonfly processors.}
12
- spec.homepage = "https://github.com/tomasc/dragonfly_harfbuzz"
13
- spec.license = "MIT"
9
+ spec.authors = ['Tomas Celizna']
10
+ spec.email = ['tomas.celizna@gmail.com']
11
+ spec.summary = 'Harfbuzz renderer wrapped by Dragonfly processors.'
12
+ spec.homepage = 'https://github.com/tomasc/dragonfly_harfbuzz'
13
+ spec.license = 'MIT'
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0")
16
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
- spec.require_paths = ["lib"]
18
+ spec.require_paths = ['lib']
19
19
 
20
- spec.add_dependency "dragonfly", "~> 1.0"
21
- spec.add_dependency "ox"
22
- spec.add_dependency "savage"
20
+ spec.add_dependency 'activesupport'
21
+ spec.add_dependency 'dragonfly', '~> 1.0'
22
+ spec.add_dependency 'ox'
23
+ spec.add_dependency 'savage'
23
24
 
24
- spec.add_development_dependency "bundler", "~> 1.9"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "guard"
27
- spec.add_development_dependency "guard-minitest"
28
- spec.add_development_dependency "minitest"
25
+ spec.add_development_dependency 'bundler', '~> 1.9'
26
+ spec.add_development_dependency 'rake', '~> 10.0'
27
+ spec.add_development_dependency 'guard'
28
+ spec.add_development_dependency 'guard-minitest'
29
+ spec.add_development_dependency 'minitest'
30
+ spec.add_development_dependency 'minitest-reporters'
29
31
  end
@@ -4,10 +4,8 @@ module DragonflyHarfbuzz
4
4
  class DomAttrsService < Struct.new :svg, :font_size, :margin
5
5
  attr_accessor :ox_doc
6
6
 
7
- # =====================================================================
8
-
9
- def self.call *args
10
- self.new(*args).call
7
+ def self.call(*args)
8
+ new(*args).call
11
9
  end
12
10
 
13
11
  def call
@@ -17,7 +15,7 @@ module DragonflyHarfbuzz
17
15
  Ox.dump(ox_doc)
18
16
  end
19
17
 
20
- private # =============================================================
18
+ private
21
19
 
22
20
  def ox_doc
23
21
  @ox_doc ||= Ox.parse(svg)
@@ -32,7 +32,7 @@ module DragonflyHarfbuzz
32
32
  Ox.dump(@ox_doc)
33
33
  end
34
34
 
35
- private # =============================================================
35
+ private
36
36
 
37
37
  def add_lines_to_doc(lines)
38
38
  @ox_doc.nodes.clear
@@ -6,14 +6,10 @@ module DragonflyHarfbuzz
6
6
  attr_accessor :ox_doc
7
7
  attr_accessor :text
8
8
 
9
- # =====================================================================
10
-
11
9
  def self.call(*args)
12
10
  new(*args).call
13
11
  end
14
12
 
15
- # =====================================================================
16
-
17
13
  def initialize(text, svg, options = {})
18
14
  @text = text
19
15
  @svg = svg
@@ -43,7 +39,7 @@ module DragonflyHarfbuzz
43
39
  Ox.dump(ox_doc)
44
40
  end
45
41
 
46
- private # =============================================================
42
+ private
47
43
 
48
44
  def lines
49
45
  text.split(/\n+/)
@@ -57,8 +53,6 @@ module DragonflyHarfbuzz
57
53
  @options.fetch(:split_paths, true)
58
54
  end
59
55
 
60
- # ---------------------------------------------------------------------
61
-
62
56
  # FIXME: fix issues with negative paths ('O', 'd', etc.)
63
57
  def split_paths
64
58
  symbols = ox_doc.locate('svg/defs/g/symbol')
@@ -77,8 +71,6 @@ module DragonflyHarfbuzz
77
71
  end
78
72
  end
79
73
 
80
- # ---------------------------------------------------------------------
81
-
82
74
  def marked_up_word(word, word_index, line, line_group)
83
75
  word_group = Ox::Element.new('g').tap do |prop|
84
76
  prop[:word] = word
@@ -2,11 +2,11 @@ require 'dragonfly_harfbuzz/processors/hb_view'
2
2
 
3
3
  module DragonflyHarfbuzz
4
4
  class Plugin
5
-
6
- def call app, opts={}
5
+ def call(app, options={})
7
6
  app.add_processor :hb_view, Processors::HbView.new
8
- end
9
7
 
8
+ app.add_mime_type 'otf', 'font/otf'
9
+ end
10
10
  end
11
11
  end
12
12
 
@@ -3,45 +3,54 @@ require 'shellwords'
3
3
  module DragonflyHarfbuzz
4
4
  module Processors
5
5
  class HbView
6
- def call(content, str, opts = {})
7
- format = opts.fetch(:format, :svg)
8
- flatten_svg = opts.fetch(:flatten_svg, false)
9
- markup_svg = opts.fetch(:markup_svg, flatten_svg)
10
- split_paths = opts.fetch(:split_paths, true)
6
+ def call(content, str, options = {})
7
+ options = options.each_with_object({}) { |(k, v), memo| memo[k.to_s] = v } # stringify keys
8
+
9
+ raise UnsupportedFormat unless SUPPORTED_FORMATS.include?(content.ext)
10
+
11
+ format = options.fetch('format', 'svg').to_s
12
+
13
+ raise UnsupportedOutputFormat unless SUPPORTED_OUTPUT_FORMATS.include?(format)
14
+
15
+ flatten_svg = options.fetch('flatten_svg', false)
16
+ markup_svg = options.fetch('markup_svg', flatten_svg)
17
+ split_paths = options.fetch('split_paths', true)
11
18
 
12
19
  content.shell_update(ext: format) do |old_path, new_path|
13
- args = %W(
20
+ args = %W[
14
21
  --font-file=#{old_path}
15
22
  --output-file=#{new_path}
16
23
  --output-format=#{format}
17
- )
24
+ ]
18
25
 
19
- opts.reject { |k, _v| %w(format markup_svg flatten_svg split_paths).include?(k.to_s) }.each do |k, v|
20
- args << "--#{k.to_s.tr('_', '-')}=#{Shellwords.escape(v)}"
26
+ args << "--text='#{str}'" unless options.has_key?('unicodes')
27
+
28
+ options.reject { |k, _| %w[format markup_svg flatten_svg split_paths].include?(k.to_s) }.each do |k, v|
29
+ args << "--#{k.to_s.tr('_', '-')}=#{Shellwords.escape(v)}" if v.present?
21
30
  end
22
31
 
23
- "hb-view #{Shellwords.escape(str)} #{args.join(' ')}"
32
+ "#{hb_view_command} #{args.join(' ')}"
24
33
  end
25
34
 
26
- if format
27
- content.meta['format'] = format.to_s
28
- content.ext = format
29
- end
35
+ content.meta['format'] = format
36
+ content.ext = format
30
37
 
31
- if format.to_s =~ /svg/i
32
- content.update(DragonflyHarfbuzz::MarkupSvgService.call(str, content.data, split_paths: split_paths)) if markup_svg
33
- content.update(DragonflyHarfbuzz::FlattenSvgService.call(content.data)) if flatten_svg
34
- content.update(DragonflyHarfbuzz::DomAttrsService.call(content.data, opts[:font_size], opts[:margin]))
38
+ if format =~ /svg/i
39
+ content.update(MarkupSvgService.call(str, content.data, split_paths: split_paths), 'name' => "temp.#{format}") if markup_svg
40
+ content.update(FlattenSvgService.call(content.data), 'name' => "temp.#{format}") if flatten_svg
41
+ content.update(DomAttrsService.call(content.data, options[:font_size], options[:margin]), 'name' => "temp.#{format}")
35
42
  end
43
+ end
36
44
 
37
- content
45
+ def update_url(attrs, str = '', options = {})
46
+ format = options.fetch('format', 'svg').to_s
47
+ attrs.ext = format
38
48
  end
39
49
 
40
- # ---------------------------------------------------------------------
50
+ private
41
51
 
42
- def update_url(attrs, _args = '', opts = {})
43
- format = opts['format']
44
- attrs.ext = format if format
52
+ def hb_view_command
53
+ 'hb-view'
45
54
  end
46
55
  end
47
56
  end
@@ -1,3 +1,3 @@
1
1
  module DragonflyHarfbuzz
2
- VERSION = "0.0.4"
2
+ VERSION = '1.0.0'.freeze
3
3
  end
@@ -1,12 +1,17 @@
1
1
  require 'dragonfly'
2
+ require 'active_support/core_ext/object/blank'
2
3
 
3
- require "dragonfly_harfbuzz/dom_attrs_service"
4
- require "dragonfly_harfbuzz/flatten_svg_service"
5
- require "dragonfly_harfbuzz/markup_svg_service"
4
+ require 'dragonfly_harfbuzz/dom_attrs_service'
5
+ require 'dragonfly_harfbuzz/flatten_svg_service'
6
+ require 'dragonfly_harfbuzz/markup_svg_service'
6
7
 
7
- require "dragonfly_harfbuzz/plugin"
8
- require "dragonfly_harfbuzz/version"
8
+ require 'dragonfly_harfbuzz/plugin'
9
+ require 'dragonfly_harfbuzz/version'
9
10
 
10
- Dragonfly.app.configure do
11
- plugin :harfbuzz
11
+ module DragonflyHarfbuzz
12
+ class UnsupportedFormat < RuntimeError; end
13
+ class UnsupportedOutputFormat < RuntimeError; end
14
+
15
+ SUPPORTED_FORMATS = %w[otf ttf].freeze
16
+ SUPPORTED_OUTPUT_FORMATS = %w[png svg pdf ps eps].freeze
12
17
  end
File without changes
Binary file
@@ -1,19 +1,19 @@
1
- require 'minitest_helper'
1
+ require 'test_helper'
2
2
 
3
3
  module DragonflyHarfbuzz
4
4
  describe FlattenSvgService do
5
5
  let(:app) { test_app.configure_with(:harfbuzz) }
6
6
  let(:processor) { DragonflyHarfbuzz::Processors::HbView.new }
7
- let(:font) { Dragonfly::Content.new(app, SAMPLES_DIR.join('Inconsolata.otf')) }
7
+ let(:content) { Dragonfly::Content.new(app, SAMPLES_DIR.join('sample.otf')) }
8
8
  let(:string) { 'foo foo' }
9
- let(:svg) { processor.call(font, string) }
9
+ let(:svg) { processor.call(content, string) }
10
10
  let(:call) { DragonflyHarfbuzz::FlattenSvgService.call(string, svg) }
11
11
 
12
12
  let(:f_markup) { '<svg character="f" class="character" overflow="visible" x="1552" y="229.504">' }
13
13
 
14
- it 'supports :flatten_svg' do
15
- processor.call(font, string, flatten_svg: true)
16
- font.data.sub(f_markup, '').wont_include f_markup
14
+ describe 'flatten_svg' do
15
+ before { processor.call(content, string, flatten_svg: true) }
16
+ it { content.data.sub(f_markup, '').wont_include f_markup }
17
17
  end
18
18
  end
19
19
  end
@@ -1,18 +1,10 @@
1
- require 'minitest_helper'
1
+ require 'test_helper'
2
2
 
3
- module DragonflyHarfbuzz
4
- describe Plugin do
5
-
6
- let(:app) { test_app.configure_with(:harfbuzz) }
7
- let(:font) { app.fetch_file(SAMPLES_DIR.join('Inconsolata.otf')) }
8
-
9
- # ---------------------------------------------------------------------
10
-
11
- describe 'processors' do
12
- it 'adds #hb_view' do
13
- font.must_respond_to :hb_view
14
- end
15
- end
3
+ describe DragonflyHarfbuzz::Plugin do
4
+ let(:app) { test_app.configure_with(:harfbuzz) }
5
+ let(:content) { app.fetch_file(SAMPLES_DIR.join('sample.otf')) }
16
6
 
7
+ describe 'processors' do
8
+ it { content.must_respond_to :hb_view }
17
9
  end
18
10
  end
@@ -1,45 +1,50 @@
1
- require 'minitest_helper'
1
+ require 'test_helper'
2
2
 
3
- module DragonflyHarfbuzz
4
- module Processors
5
- describe HbView do
3
+ describe DragonflyHarfbuzz::Processors::HbView do
4
+ let(:app) { test_app.configure_with(:harfbuzz) }
5
+ let(:content) { Dragonfly::Content.new(app, SAMPLES_DIR.join('sample.otf')) }
6
+ let(:processor) { DragonflyHarfbuzz::Processors::HbView.new }
6
7
 
7
- let(:app) { test_app.configure_with(:harfbuzz) }
8
- let(:processor) { DragonflyHarfbuzz::Processors::HbView.new }
9
- let(:font) { Dragonfly::Content.new(app, SAMPLES_DIR.join('Inconsolata.otf')) }
10
- let(:string) { 'FOO' }
8
+ let(:string) { 'FOO' }
11
9
 
12
- it 'renders SVG by default' do
13
- processor.call(font, string)
14
- font.meta['format'].must_equal 'svg'
10
+ describe 'SUPPORTED_FORMATS' do
11
+ DragonflyHarfbuzz::SUPPORTED_FORMATS.each do |format|
12
+ unless File.exists?(SAMPLES_DIR.join("sample.#{format}"))
13
+ it(format) { skip "sample.#{format} does not exist, skipping" }
14
+ next
15
15
  end
16
16
 
17
- describe 'options' do
18
- it 'passes options to command line ' do
19
- processor.call(font, string, { foreground: '#ff00ff' })
20
- font.data.must_include 'fill:rgb(100%,0%,100%);'
21
- end
22
-
23
- it 'supports :markup_svg' do
24
- processor.call(font, string, { markup_svg: true })
25
-
26
- font.data.must_include "word=\"#{string}\""
17
+ let(:content) { app.fetch_file SAMPLES_DIR.join("sample.#{format}") }
27
18
 
28
- font.data.must_include 'character="F"'
29
- font.data.must_include 'character="O"'
30
- font.data.must_include 'character="O"'
31
-
32
- font.data.must_include 'class="character"'
33
- font.data.must_include 'class="word"'
19
+ DragonflyHarfbuzz::SUPPORTED_OUTPUT_FORMATS.each do |output_format|
20
+ it("#{format} to #{output_format}") do
21
+ result = content.hb_view(string, format: output_format)
22
+ result.ext.must_equal output_format
23
+ result.mime_type.must_equal Rack::Mime.mime_type(".#{output_format}")
24
+ result.size.must_be :>, 0
25
+ result.tempfile.path.must_match /\.#{output_format}\z/
34
26
  end
27
+ end
28
+ end
29
+ end
35
30
 
36
- it 'supports :flatten_svg' do
37
- processor.call(font, string, { flatten_svg: true })
31
+ describe 'foreground' do
32
+ before { processor.call(content, string, foreground: '#ff00ff') }
33
+ it { content.data.must_include 'fill:rgb(100%,0%,100%);' }
34
+ end
38
35
 
39
- font.data.wont_include "#glyph0-1"
40
- end
41
- end
36
+ describe 'markup_svg' do
37
+ before { processor.call(content, string, markup_svg: true) }
38
+ it { content.data.must_include "word=\"#{string}\"" }
39
+ it { content.data.must_include 'character="F"' }
40
+ it { content.data.must_include 'character="O"' }
41
+ it { content.data.must_include 'character="O"' }
42
+ it { content.data.must_include 'class="character"' }
43
+ it { content.data.must_include 'class="word"' }
44
+ end
42
45
 
43
- end
46
+ describe 'flatten_svg' do
47
+ before { processor.call(content, string, flatten_svg: true) }
48
+ it { content.data.wont_include '#glyph0-1' }
44
49
  end
45
50
  end
@@ -0,0 +1,20 @@
1
+ $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
2
+ require 'bundler/setup'
3
+
4
+ require 'minitest'
5
+ require 'minitest/autorun'
6
+ require 'minitest/reporters'
7
+ require 'minitest/spec'
8
+
9
+ require 'dragonfly_harfbuzz'
10
+
11
+ SAMPLES_DIR = Pathname.new(File.expand_path('../samples', __dir__))
12
+
13
+ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
14
+
15
+ def test_app(name = nil)
16
+ Dragonfly::App.instance(name).tap do |app|
17
+ app.datastore = Dragonfly::MemoryDataStore.new
18
+ app.secret = 'test secret'
19
+ end
20
+ end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dragonfly_harfbuzz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomas Celizna
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-11 00:00:00.000000000 Z
11
+ date: 2018-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: dragonfly
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - ">="
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: minitest-reporters
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  description:
126
154
  email:
127
155
  - tomas.celizna@gmail.com
@@ -130,6 +158,8 @@ extensions: []
130
158
  extra_rdoc_files: []
131
159
  files:
132
160
  - ".gitignore"
161
+ - ".travis.yml"
162
+ - CHANGELOG.md
133
163
  - Gemfile
134
164
  - Guardfile
135
165
  - LICENSE.txt
@@ -143,11 +173,12 @@ files:
143
173
  - lib/dragonfly_harfbuzz/plugin.rb
144
174
  - lib/dragonfly_harfbuzz/processors/hb_view.rb
145
175
  - lib/dragonfly_harfbuzz/version.rb
146
- - samples/Inconsolata.otf
176
+ - samples/sample.otf
177
+ - samples/sample.ttf
147
178
  - test/dragonfly_harfbuzz/flatten_svg_service_test.rb
148
179
  - test/dragonfly_harfbuzz/plugin_test.rb
149
180
  - test/dragonfly_harfbuzz/processors/hb_view_test.rb
150
- - test/minitest_helper.rb
181
+ - test/test_helper.rb
151
182
  homepage: https://github.com/tomasc/dragonfly_harfbuzz
152
183
  licenses:
153
184
  - MIT
@@ -168,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
199
  version: '0'
169
200
  requirements: []
170
201
  rubyforge_project:
171
- rubygems_version: 2.4.5.1
202
+ rubygems_version: 2.7.6
172
203
  signing_key:
173
204
  specification_version: 4
174
205
  summary: Harfbuzz renderer wrapped by Dragonfly processors.
@@ -176,4 +207,4 @@ test_files:
176
207
  - test/dragonfly_harfbuzz/flatten_svg_service_test.rb
177
208
  - test/dragonfly_harfbuzz/plugin_test.rb
178
209
  - test/dragonfly_harfbuzz/processors/hb_view_test.rb
179
- - test/minitest_helper.rb
210
+ - test/test_helper.rb
@@ -1,21 +0,0 @@
1
- $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
2
- require "bundler/setup"
3
-
4
- require "minitest"
5
- require "minitest/autorun"
6
- require "minitest/spec"
7
-
8
- require "dragonfly_harfbuzz"
9
-
10
- # ---------------------------------------------------------------------
11
-
12
- SAMPLES_DIR = Pathname.new(File.expand_path('../../samples', __FILE__))
13
-
14
- # ---------------------------------------------------------------------
15
-
16
- def test_app name=nil
17
- app = Dragonfly::App.instance(name)
18
- app.datastore = Dragonfly::MemoryDataStore.new
19
- app.secret = "test secret"
20
- app
21
- end