mirror of
https://github.com/docusealco/docuseal
synced 2026-11-08 07:42:32 -05:00
fix pdf font width
This commit is contained in:
1 parent
e79306f8a3
commit
3dd0ba6b0b
1 file changed
+30
-1
@@ -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