Class: PDF::Reader::WidthCalculator::TypeZero
- Inherits:
-
Object
- Object
- PDF::Reader::WidthCalculator::TypeZero
- Defined in:
- lib/pdf/reader/width_calculator/type_zero.rb
Overview
Type0 (or Composite) fonts are a “root font” that rely on a “descendant font” to do the heavy lifting. The “descendant font” is a CID-Keyed font. see Section 9.7.1, PDF 32000-1:2008, pp 267 so if we are calculating a Type0 font width, we just pass off to the descendant font
Instance Method Summary collapse
- #glyph_height(code_point) ⇒ Object
- #glyph_width(code_point) ⇒ Object
-
#initialize(font) ⇒ TypeZero
constructor
A new instance of TypeZero.
Constructor Details
#initialize(font) ⇒ TypeZero
Returns a new instance of TypeZero.
12 13 14 15 |
# File 'lib/pdf/reader/width_calculator/type_zero.rb', line 12 def initialize(font) @font = font @descendant_font = @font.descendantfonts.first end |
Instance Method Details
#glyph_height(code_point) ⇒ Object
23 24 25 26 27 |
# File 'lib/pdf/reader/width_calculator/type_zero.rb', line 23 def glyph_height(code_point) return 0 if code_point.nil? || code_point < 0 @descendant_font.glyph_height(code_point).to_f end |
#glyph_width(code_point) ⇒ Object
17 18 19 20 21 |
# File 'lib/pdf/reader/width_calculator/type_zero.rb', line 17 def glyph_width(code_point) return 0 if code_point.nil? || code_point < 0 @descendant_font.glyph_width(code_point).to_f end |