Sha256: 670ece6e0b10186add30e5902bf32c5ea2ea4c6649de095c4233f8dba5d03c58
Contents?: true
Size: 895 Bytes
Versions: 5
Compression:
Stored size: 895 Bytes
Contents
# coding: utf-8 # typed: true # frozen_string_literal: true class PDF::Reader module WidthCalculator # Calculates the width of a glyph in a Type One or Type Three class TypeOneOrThree def initialize(font) @font = font if @font.font_descriptor @missing_width = @font.font_descriptor.missing_width else @missing_width = 0 end end def glyph_width(code_point) return 0 if code_point.nil? || code_point < 0 return 0 if @font.widths.nil? || @font.widths.count == 0 # in ruby a negative index is valid, and will go from the end of the array # which is undesireable in this case. if @font.first_char <= code_point @font.widths.fetch(code_point - @font.first_char, @missing_width).to_f else @missing_width.to_f end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems