Class: Prawn::Font::Metrics

Inherits:
Object
  • Object
show all
Includes:
Wrapping
Defined in:
lib/prawn/font/metrics.rb

Overview

:nodoc:

Direct Known Subclasses

Adobe, TTF

Defined Under Namespace

Classes: Adobe, TTF

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Wrapping

#naive_wrap

Class Method Details

.[](font) ⇒ Object



20
21
22
# File 'lib/prawn/font/metrics.rb', line 20

def self.[](font)
  data[font] ||= (font.match(/\.ttf$/i) ? TTF : Adobe).new(font)
end

.dataObject



24
25
26
# File 'lib/prawn/font/metrics.rb', line 24

def self.data
  @data ||= {}
end

Instance Method Details

#font_height(size) ⇒ Object



33
34
35
# File 'lib/prawn/font/metrics.rb', line 33

def font_height(size)
  (ascender - descender + line_gap) * size / 1000.0
end

#string_height(string, options = {}) ⇒ Object



28
29
30
31
# File 'lib/prawn/font/metrics.rb', line 28

def string_height(string,options={}) 
  string = naive_wrap(string, options[:line_width], options[:font_size])
  string.lines.to_a.length * font_height(options[:font_size])
end