Class: Pdfrb::Model::Type::FontDescriptor

Inherits:
Cos::Dictionary show all
Defined in:
lib/pdfrb/model/type/font_descriptor.rb

Overview

Font descriptor (s9.8). Carries metrics + embedded font file.

Instance Attribute Summary

Attributes inherited from Object

#document, #gen, #oid, #value

Instance Method Summary collapse

Methods inherited from Cos::Dictionary

#[], #[]=, arlington_available?, arlington_default, arlington_key_to_symbol, arlington_loaded_for?, arlington_mark_loaded, arlington_object, arlington_one_type_to_ruby, arlington_required?, arlington_types_to_ruby, arlington_version, define_field, define_field_from_arlington, #delete, #each, each_field, #each_raw, #empty?, field, #initialize, #key?, #keys, lookup_type, own_fields, #pdf_type, register_type, type_map, #validate

Methods inherited from Object

#==, define_type, #deref, #indirect?, #initialize, #must_be_indirect?, #pdf_type, pdf_type

Constructor Details

This class inherits a constructor from Pdfrb::Model::Cos::Dictionary

Instance Method Details

#all_cap?Boolean

Returns:

  • (Boolean)


53
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 53

def all_cap?; flags&.anybits?(0x10000); end

#ascentObject



17
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 17

def ascent; self[:Ascent]; end

#avg_widthObject



23
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 23

def avg_width; self[:AvgWidth]; end

#cap_heightObject



19
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 19

def cap_height; self[:CapHeight]; end

#char_setObject



26
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 26

def char_set; self[:CharSet]; end

#descentObject



18
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 18

def descent; self[:Descent]; end

#embedded?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 32

def embedded?
  !!(font_file || font_file2 || font_file3)
end

#family_nameObject



11
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 11

def family_name; self[:FontFamily]; end

#fixed_pitch?Boolean

Returns:

  • (Boolean)


47
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 47

def fixed_pitch?; flags&.anybits?(1); end

#flagsObject



14
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 14

def flags; self[:Flags]; end

#font_bboxObject



15
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 15

def font_bbox; self[:FontBBox]; end

#font_fileObject



28
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 28

def font_file; self[:FontFile]; end

#font_file2Object



29
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 29

def font_file2; self[:FontFile2]; end

#font_file3Object



30
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 30

def font_file3; self[:FontFile3]; end

#font_file_referenceObject



36
37
38
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 36

def font_file_reference
  font_file2 || font_file3 || font_file
end

#font_nameObject



10
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 10

def font_name; self[:FontName]; end

#font_stretchObject



12
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 12

def font_stretch; self[:FontStretch]; end

#font_weightObject



13
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 13

def font_weight; self[:FontWeight]; end

#force_bold?Boolean

Returns:

  • (Boolean)


55
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 55

def force_bold?; flags&.anybits?(0x40000); end

#italic?Boolean

Returns:

  • (Boolean)


52
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 52

def italic?; flags&.anybits?(64); end

#italic_angleObject



16
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 16

def italic_angle; self[:ItalicAngle]; end

#max_widthObject



24
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 24

def max_width; self[:MaxWidth]; end

#missing_widthObject



25
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 25

def missing_width; self[:MissingWidth]; end

#nonsymbolic?Boolean

Returns:

  • (Boolean)


51
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 51

def nonsymbolic?; flags&.anybits?(32); end

#resolved_font_fileObject



40
41
42
43
44
45
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 40

def resolved_font_file
  ref = font_file_reference
  return nil unless ref && document

  document.object(ref)
end

#script?Boolean

Returns:

  • (Boolean)


50
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 50

def script?; flags&.anybits?(8); end

#serif?Boolean

Returns:

  • (Boolean)


48
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 48

def serif?; flags&.anybits?(2); end

#small_cap?Boolean

Returns:

  • (Boolean)


54
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 54

def small_cap?; flags&.anybits?(0x20000); end

#stem_hObject



22
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 22

def stem_h; self[:StemH]; end

#stem_vObject



21
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 21

def stem_v; self[:StemV]; end

#symbolic?Boolean

Returns:

  • (Boolean)


49
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 49

def symbolic?; flags&.anybits?(4); end

#x_heightObject



20
# File 'lib/pdfrb/model/type/font_descriptor.rb', line 20

def x_height; self[:XHeight]; end