Module: Pdfrb::FontLoader::FromFile

Defined in:
lib/pdfrb/font_loader/from_file.rb

Class Method Summary collapse

Class Method Details

.call(document, path, **_opts) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/pdfrb/font_loader/from_file.rb', line 8

def call(document, path, **_opts)
  return nil unless path.is_a?(String) && File.file?(path)

  data = File.binread(path)
  magic = data&.byteslice(0, 4)
  return nil unless magic
  return nil unless ["\x00\x01\x00\x00".b, "true".b, "OTTO".b].include?(magic)

  Pdfrb::Font::TrueType::Wrapper.embed(document, data, resource_name: :F1)
end