|  |  | @ -382,7 +382,10 @@ module Submissions | 
			
		
	
		
		
			
				
					
					|  |  |  |           when ->(type) { type == 'cells' && !area['cell_w'].to_f.zero? } |  |  |  |           when ->(type) { type == 'cells' && !area['cell_w'].to_f.zero? } | 
			
		
	
		
		
			
				
					
					|  |  |  |             cell_width = area['cell_w'] * width |  |  |  |             cell_width = area['cell_w'] * width | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             TextUtils.maybe_rtl_reverse(value).chars.each_with_index do |char, index| |  |  |  |             chars = TextUtils.maybe_rtl_reverse(value).chars | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             chars = chars.reverse if field.dig('preferences', 'align') == 'right' | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             chars.each_with_index do |char, index| | 
			
		
	
		
		
			
				
					
					|  |  |  |               next if char.blank? |  |  |  |               next if char.blank? | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |               text = HexaPDF::Layout::TextFragment.create(char, font:, |  |  |  |               text = HexaPDF::Layout::TextFragment.create(char, font:, | 
			
		
	
	
		
		
			
				
					|  |  | @ -409,9 +412,15 @@ module Submissions | 
			
		
	
		
		
			
				
					
					|  |  |  |                 line_height = layouter.fit([text], cell_width, height).lines.first.height |  |  |  |                 line_height = layouter.fit([text], cell_width, height).lines.first.height | 
			
		
	
		
		
			
				
					
					|  |  |  |               end |  |  |  |               end | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               x = | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if field.dig('preferences', 'align') == 'right' | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   ((area['x'] + area['w']) * width) - (cell_width * (index + 1)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 else | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                   (area['x'] * width) + (cell_width * index) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |               cell_layouter.fit([text], cell_width, [line_height, area['h'] * height].max) |  |  |  |               cell_layouter.fit([text], cell_width, [line_height, area['h'] * height].max) | 
			
		
	
		
		
			
				
					
					|  |  |  |                            .draw(canvas, ((area['x'] * width) + (cell_width * index)), |  |  |  |                            .draw(canvas, x, height - (area['y'] * height)) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                  height - (area['y'] * height)) |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             end |  |  |  |             end | 
			
		
	
		
		
			
				
					
					|  |  |  |           else |  |  |  |           else | 
			
		
	
		
		
			
				
					
					|  |  |  |             if field['type'] == 'date' |  |  |  |             if field['type'] == 'date' | 
			
		
	
	
		
		
			
				
					|  |  | 
 |