Method: PDF::Reader::WidthCalculator::BuiltIn#initialize

Defined in:
lib/pdf/reader/width_calculator/built_in.rb

#initialize(font) ⇒ BuiltIn

Returns a new instance of BuiltIn.



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/pdf/reader/width_calculator/built_in.rb', line 24

def initialize(font)
  @font = font
  @@all_metrics ||= PDF::Reader::SynchronizedCache.new

  basefont = extract_basefont(font.basefont)
  metrics_path = File.join(File.dirname(__FILE__), "..","afm","#{basefont}.afm")

  if File.file?(metrics_path)
    @metrics = @@all_metrics[metrics_path] ||= AFM::Font.new(metrics_path)
  else
    raise ArgumentError, "No built-in metrics for #{font.basefont}"
  end
end