prawn-format 0.1.1 → 0.2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +2 -2
- data/lib/prawn/format.rb +19 -1
- data/lib/prawn/format/effects/link.rb +6 -2
- data/lib/prawn/format/instructions/text.rb +1 -1
- data/lib/prawn/format/version.rb +1 -7
- data/prawn-format.gemspec +10 -12
- metadata +8 -16
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ rescue LoadError
|
|
6
6
|
abort "You'll need to have `echoe' installed to use Prawn::Format's Rakefile"
|
7
7
|
end
|
8
8
|
|
9
|
-
version = Prawn::Format::
|
9
|
+
version = Prawn::Format::VERSION.dup
|
10
10
|
if ENV['SNAPSHOT'].to_i == 1
|
11
11
|
version << "." << Time.now.utc.strftime("%Y%m%d%H%M%S")
|
12
12
|
end
|
@@ -20,7 +20,7 @@ Echoe.new('prawn-format', version) do |p|
|
|
20
20
|
p.url = "http://rubyforge.org/projects/prawn"
|
21
21
|
p.project = "prawn"
|
22
22
|
|
23
|
-
p.runtime_dependencies
|
23
|
+
p.runtime_dependencies << "prawn-core"
|
24
24
|
|
25
25
|
p.need_zip = true
|
26
26
|
p.include_rakefile = true
|
data/lib/prawn/format.rb
CHANGED
@@ -9,6 +9,9 @@ module Prawn
|
|
9
9
|
mod.send :alias_method, :text_without_formatting, :text
|
10
10
|
mod.send :alias_method, :text, :text_with_formatting
|
11
11
|
|
12
|
+
mod.send :alias_method, :width_of_without_formatting, :width_of
|
13
|
+
mod.send :alias_method, :width_of, :width_of_with_formatting
|
14
|
+
|
12
15
|
mod.send :alias_method, :height_of_without_formatting, :height_of
|
13
16
|
mod.send :alias_method, :height_of, :height_of_with_formatting
|
14
17
|
end
|
@@ -33,6 +36,16 @@ module Prawn
|
|
33
36
|
end
|
34
37
|
end
|
35
38
|
|
39
|
+
# Overloaded version of #width_of. Call via #width_of, rather than
|
40
|
+
# #width_of_with_formatting (see above, where it aliased to #width_of).
|
41
|
+
def width_of_with_formatting(string, options={}) #:nodoc:
|
42
|
+
if unformatted?(string, options)
|
43
|
+
width_of_without_formatting(string, options)
|
44
|
+
else
|
45
|
+
formatted_width(string, options)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
36
49
|
DEFAULT_TAGS = {
|
37
50
|
:a => { :meta => { :name => :anchor, :href => :target }, :color => "0000ff", :text_decoration => :underline },
|
38
51
|
:b => { :font_weight => :bold },
|
@@ -200,10 +213,15 @@ module Prawn
|
|
200
213
|
end
|
201
214
|
|
202
215
|
def formatted_height(string, line_width, size=font_size, options={})
|
203
|
-
helper = layout(string, options.merge(:size =>
|
216
|
+
helper = layout(string, options.merge(:size => size))
|
204
217
|
lines = helper.word_wrap(line_width)
|
205
218
|
return lines.inject(0) { |s, line| s + line.height }
|
206
219
|
end
|
220
|
+
|
221
|
+
def formatted_width(string, options={})
|
222
|
+
helper = layout(string, options)
|
223
|
+
helper.next.width
|
224
|
+
end
|
207
225
|
end
|
208
226
|
end
|
209
227
|
|
@@ -6,7 +6,7 @@ module Prawn
|
|
6
6
|
|
7
7
|
class Link
|
8
8
|
def initialize(target, x)
|
9
|
-
@target = target
|
9
|
+
@target = target
|
10
10
|
@x = x
|
11
11
|
end
|
12
12
|
|
@@ -16,7 +16,11 @@ module Prawn
|
|
16
16
|
y = draw_state[:real_y] + draw_state[:dy]
|
17
17
|
|
18
18
|
rect = [x1, y + draw_state[:line].descent, x2, y + draw_state[:line].ascent]
|
19
|
-
|
19
|
+
if @target.match(/^#/)
|
20
|
+
document.link_annotation(rect, :Dest => @target.sub(/^#/,""), :Border => [0,0,0])
|
21
|
+
else
|
22
|
+
document.link_annotation(rect, :Border => [0,0,0], :A => { :Type => :Action, :S => :URI, :URI => Prawn::LiteralString.new(@target) } )
|
23
|
+
end #new
|
20
24
|
end
|
21
25
|
|
22
26
|
def wrap(document, draw_state)
|
@@ -57,7 +57,7 @@ module Prawn
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def width(type=:all)
|
60
|
-
@width ||= @state.font.
|
60
|
+
@width ||= @state.font.compute_width_of(@text, :size => @state.font_size, :kerning => @state.kerning?)
|
61
61
|
|
62
62
|
case type
|
63
63
|
when :discardable then discardable? ? @width : 0
|
data/lib/prawn/format/version.rb
CHANGED
data/prawn-format.gemspec
CHANGED
@@ -1,39 +1,37 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
1
3
|
Gem::Specification.new do |s|
|
2
4
|
s.name = %q{prawn-format}
|
3
|
-
s.version = "0.
|
5
|
+
s.version = "0.2.0.1"
|
4
6
|
|
5
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
6
8
|
s.authors = ["Jamis Buck"]
|
7
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-06-15}
|
8
10
|
s.description = %q{an extension of Prawn that allows inline formatting}
|
9
11
|
s.email = %q{jamis@jamisbuck.org}
|
10
12
|
s.extra_rdoc_files = ["lib/prawn/format/effects/link.rb", "lib/prawn/format/effects/underline.rb", "lib/prawn/format/instructions/base.rb", "lib/prawn/format/instructions/tag_close.rb", "lib/prawn/format/instructions/tag_open.rb", "lib/prawn/format/instructions/text.rb", "lib/prawn/format/layout_builder.rb", "lib/prawn/format/lexer.rb", "lib/prawn/format/line.rb", "lib/prawn/format/parser.rb", "lib/prawn/format/state.rb", "lib/prawn/format/text_object.rb", "lib/prawn/format/version.rb", "lib/prawn/format.rb"]
|
11
13
|
s.files = ["examples/basic-formatting.rb", "examples/christmas-carol.txt", "examples/document.rb", "examples/flowing.rb", "examples/style-classes.rb", "examples/syntax-highlighting.rb", "examples/tags.rb", "lib/prawn/format/effects/link.rb", "lib/prawn/format/effects/underline.rb", "lib/prawn/format/instructions/base.rb", "lib/prawn/format/instructions/tag_close.rb", "lib/prawn/format/instructions/tag_open.rb", "lib/prawn/format/instructions/text.rb", "lib/prawn/format/layout_builder.rb", "lib/prawn/format/lexer.rb", "lib/prawn/format/line.rb", "lib/prawn/format/parser.rb", "lib/prawn/format/state.rb", "lib/prawn/format/text_object.rb", "lib/prawn/format/version.rb", "lib/prawn/format.rb", "manual/html.rb", "manual/include/basics.rb", "manual/include/breaks.rb", "manual/include/custom-tags.rb", "manual/include/custom-tags2.rb", "manual/include/indent.rb", "manual/include/options.rb", "manual/include/style-classes.rb", "manual/manual.txt", "manual/pdf.rb", "Rakefile", "spec/layout_builder_spec.rb", "spec/lexer_spec.rb", "spec/parser_spec.rb", "spec/spec_helper.rb", "Manifest", "prawn-format.gemspec"]
|
12
|
-
s.has_rdoc = true
|
13
14
|
s.homepage = %q{http://rubyforge.org/projects/prawn}
|
14
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Prawn-format"]
|
15
16
|
s.require_paths = ["lib"]
|
16
17
|
s.rubyforge_project = %q{prawn}
|
17
|
-
s.rubygems_version = %q{1.
|
18
|
+
s.rubygems_version = %q{1.3.4}
|
18
19
|
s.summary = %q{an extension of Prawn that allows inline formatting}
|
19
20
|
s.test_files = ["spec/layout_builder_spec.rb", "spec/lexer_spec.rb", "spec/parser_spec.rb"]
|
20
21
|
|
21
22
|
if s.respond_to? :specification_version then
|
22
23
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
23
|
-
s.specification_version =
|
24
|
+
s.specification_version = 3
|
24
25
|
|
25
|
-
if
|
26
|
-
s.add_runtime_dependency(%q<prawn>, [">= 0
|
27
|
-
s.add_runtime_dependency(%q<prawn>, ["< 0.5"])
|
26
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
27
|
+
s.add_runtime_dependency(%q<prawn-core>, [">= 0"])
|
28
28
|
s.add_development_dependency(%q<echoe>, [">= 0"])
|
29
29
|
else
|
30
|
-
s.add_dependency(%q<prawn>, [">= 0
|
31
|
-
s.add_dependency(%q<prawn>, ["< 0.5"])
|
30
|
+
s.add_dependency(%q<prawn-core>, [">= 0"])
|
32
31
|
s.add_dependency(%q<echoe>, [">= 0"])
|
33
32
|
end
|
34
33
|
else
|
35
|
-
s.add_dependency(%q<prawn>, [">= 0
|
36
|
-
s.add_dependency(%q<prawn>, ["< 0.5"])
|
34
|
+
s.add_dependency(%q<prawn-core>, [">= 0"])
|
37
35
|
s.add_dependency(%q<echoe>, [">= 0"])
|
38
36
|
end
|
39
37
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prawn-format
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamis Buck
|
@@ -9,28 +9,18 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-06-15 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name: prawn
|
16
|
+
name: prawn-core
|
17
17
|
type: :runtime
|
18
18
|
version_requirement:
|
19
19
|
version_requirements: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: "0
|
24
|
-
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: prawn
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - <
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: "0.5"
|
23
|
+
version: "0"
|
34
24
|
version:
|
35
25
|
- !ruby/object:Gem::Dependency
|
36
26
|
name: echoe
|
@@ -104,6 +94,8 @@ files:
|
|
104
94
|
- prawn-format.gemspec
|
105
95
|
has_rdoc: true
|
106
96
|
homepage: http://rubyforge.org/projects/prawn
|
97
|
+
licenses: []
|
98
|
+
|
107
99
|
post_install_message:
|
108
100
|
rdoc_options:
|
109
101
|
- --line-numbers
|
@@ -127,9 +119,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
119
|
requirements: []
|
128
120
|
|
129
121
|
rubyforge_project: prawn
|
130
|
-
rubygems_version: 1.
|
122
|
+
rubygems_version: 1.3.4
|
131
123
|
signing_key:
|
132
|
-
specification_version:
|
124
|
+
specification_version: 3
|
133
125
|
summary: an extension of Prawn that allows inline formatting
|
134
126
|
test_files:
|
135
127
|
- spec/layout_builder_spec.rb
|