fix pdf font width
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# fix NoMethodError: undefined method `field_value' for #<HexaPDF::Type::AcroForm::Field
|
||||
module HexaPDF
|
||||
module Type
|
||||
# fix NoMethodError: undefined method `field_value' for #<HexaPDF::Type::AcroForm::Field
|
||||
module AcroForm
|
||||
class Field
|
||||
def field_value
|
||||
@@ -10,5 +10,34 @@ module HexaPDF
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# comparison of Integer with HexaPDF::PDFArray failed
|
||||
class CIDFont < Font
|
||||
private
|
||||
|
||||
def widths
|
||||
cache(:widths) do
|
||||
result = {}
|
||||
index = 0
|
||||
array = self[:W] || []
|
||||
|
||||
while index < array.size
|
||||
entry = array[index]
|
||||
value = array[index + 1]
|
||||
|
||||
if value.is_a?(Array) || value.is_a?(HexaPDF::PDFArray)
|
||||
value.each_with_index { |width, i| result[entry + i] = width }
|
||||
index += 2
|
||||
else
|
||||
width = array[index + 2]
|
||||
entry.upto(value) { |cid| result[cid] = width }
|
||||
index += 3
|
||||
end
|
||||
end
|
||||
|
||||
result
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user