Fixed fontdir handling.
authorTilman Sauerbeck <tilman@code-monkey.de>
Wed, 8 Jun 2005 18:02:12 +0000 (18:02 +0000)
committerTilman Sauerbeck <tilman@code-monkey.de>
Wed, 8 Jun 2005 18:02:12 +0000 (18:02 +0000)
ChangeLog
lib/redact/part.rb
lib/redact/redact.rb

index 02d29b8c2f4c6e75ce13323cc5a0db3f4cb47c28..de6f586f7ee92e88f35cf90f1ef6654cd0993f65 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,5 @@
 --
-$Id: ChangeLog 44 2005-06-08 17:35:49Z tilman $
+$Id: ChangeLog 45 2005-06-08 18:02:12Z tilman $
 ++
 
 2005-06-08 Tilman Sauerbeck (tilman at code-monkey de)
@@ -8,6 +8,7 @@ $Id: ChangeLog 44 2005-06-08 17:35:49Z tilman $
           Redact::OPTIONS
         * lib/redact/redact.rb, TODO: Added support for the --image_dir
           and --font_dir command line switches
+        * lib/redact/{redact,app}.rb: Fixed fontdir handling
 
 2005-05-29 Tilman Sauerbeck (tilman at code-monkey de)
         * Rakefile: Use FileUtils.mkdir_p to create the destination
index 706761a6675f1651b239ccc0b1a9afafa511d4c6..0150a354cc185da8851d24e5ebfddb293498b691 100644 (file)
@@ -1,5 +1,5 @@
 #--
-# $Id: part.rb 32 2005-04-24 09:18:07Z tilman $
+# $Id: part.rb 45 2005-06-08 18:02:12Z tilman $
 #
 # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
 #
@@ -525,13 +525,17 @@ module Redact
                        f = f.to_str.strip
                        md = f.match(/.*\.ttf$/)
                        unless md.nil?
-                               found = EDJE.font_dir.find { |font| font.filename == f }
+                               f2 = find_font(f)
+                               raise(RedactError, "cannot find font - #{f}") if f2.nil?
+
+                               found = EDJE.font_dir.find { |font| font.filename == f2 }
                                if found.nil?
-                                       EDJE.font_dir << FontDirectoryEntry.new(f)
+                                       EDJE.font_dir << FontDirectoryEntry.new(f2)
+                                       @font = EDJE.font_dir.last.filename
                                end
+                       else
+                               @font = f
                        end
-
-                       @font = f
                end
 
                def outline_color=(c)
@@ -566,5 +570,15 @@ module Redact
                         "text.id_source" => [@text_id_source],
                         "text.id_text_source" => [@text_id_text_source]})
                end
+
+               private
+               def find_font(file)
+                       [".", OPTIONS.font_dir].each do |d|
+                               f2 = File.join(d, file)
+                               return Pathname.new(f2).cleanpath.to_s if File.file?(f2)
+                       end
+
+                       nil
+               end
        end
 end
index d0da5d7859b655ad2d47d78eb78e28827a4b5fc4..6b505f28cee7daf61c92aa53a9362b2a10bb38e4 100644 (file)
@@ -1,5 +1,5 @@
 #--
-# $Id: redact.rb 44 2005-06-08 17:35:49Z tilman $
+# $Id: redact.rb 45 2005-06-08 18:02:12Z tilman $
 #
 # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
 #
@@ -145,7 +145,7 @@ module Redact
                attr_reader :filename
 
                def initialize(filename)
-                       @filename = find_font(filename.to_str).freeze
+                       @filename = filename.to_str.dup.freeze
                end
 
                protected
@@ -156,16 +156,6 @@ module Redact
                def to_eet_properties
                        {"entry" => [@filename]}
                end
-
-               private
-               def find_font(file)
-                       [".", OPTIONS.font_dir].each do |d|
-                               f2 = File.join(d, file)
-                               return f2 if File.file?(f2)
-                       end
-
-                       nil
-               end
        end
 
        class ImageDirectory < Array # :nodoc: