Added support for the 'use alternate font metrics' flag.
[redact.git] / lib / redact / part.rb
index 60822d11402f70ea7b4f879db24f3adf44d5c31d..0fd4139eeca2234f8525ccbe240c3df9ffc4d93e 100644 (file)
@@ -136,6 +136,11 @@ module Redact
 
                        @type = TYPE_TEXT
                        @effect = :none
+                       @use_alternate_font_metrics = false
+               end
+
+               def use_alternate_font_metrics=(b)
+                       @use_alternate_font_metrics = (b == true)
                end
 
                protected
@@ -157,7 +162,9 @@ module Redact
                                raise(RedactError, "invalid effect value - #{@effect}")
                        end
 
-                       super.merge!({"effect" => [effect, :char]})
+                       super.merge!(
+                       {"effect" => [effect, :char],
+                        "use_alternate_font_metrics" => [@use_alternate_font_metrics, :char]})
                end
        end
 
@@ -560,6 +567,7 @@ module Redact
                        @font_size = 0
                        @fit = [false, false]
                        @text_min = [false, false]
+                       @text_max = [false, false]
                        @text_align = [0.5, 0.5]
                        @text_id_source = -1
                        @text_id_text_source = -1
@@ -585,6 +593,10 @@ module Redact
                        @text_min = [x, y]
                end
 
+               def set_text_max(x = false, y = false)
+                       @text_max = [x, y]
+               end
+
                def set_text_align(x = 0.5, y = 0.5)
                        @text_align = [x, y]
                end
@@ -635,6 +647,8 @@ module Redact
                         "text.fit_y" => [@fit[1]],
                         "text.min_x" => [@text_min[0]],
                         "text.min_y" => [@text_min[1]],
+                        "text.max_x" => [@text_max[0]],
+                        "text.max_y" => [@text_max[1]],
                         "text.align.x" => [@text_align[0], :double],
                         "text.align.y" => [@text_align[1], :double],
                         "text.id_source" => [@text_id_source],