X-Git-Url: http://git.code-monkey.de/?p=redact.git;a=blobdiff_plain;f=lib%2Fredact%2Fpart.rb;h=0150a354cc185da8851d24e5ebfddb293498b691;hp=706761a6675f1651b239ccc0b1a9afafa511d4c6;hb=eb3e06dccf913ce26dd7c002eccbe12a44c32600;hpb=db4c1244950c92cdc640621cbd97d9b5a947cf27 diff --git a/lib/redact/part.rb b/lib/redact/part.rb index 706761a..0150a35 100644 --- a/lib/redact/part.rb +++ b/lib/redact/part.rb @@ -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