From 27761ec8afb93a3e7348d4f422789f78aeddc550 Mon Sep 17 00:00:00 2001 From: Pepijn Van Eeckhoudt Date: Sun, 1 Dec 2024 12:15:54 +0100 Subject: [PATCH] Add option to interpret size option as icon height rather than font size --- lib/prawn/icon/interface.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/prawn/icon/interface.rb b/lib/prawn/icon/interface.rb index 1f50996..598eb7d 100644 --- a/lib/prawn/icon/interface.rb +++ b/lib/prawn/icon/interface.rb @@ -225,7 +225,17 @@ def format_hash def render @pdf.font(@data.path) do - @pdf.text @unicode, @options + opts = @options.dup + + size_mode = opts.delete(:size_mode) || :font_size + if size_mode == :icon_size + requested_size = @options[:size] || @pdf.font_size + actual_height = @pdf.font.height_at(requested_size) + adjusted_size = requested_size / actual_height * requested_size + opts[:size] = adjusted_size + end + + @pdf.text @unicode, opts end end