thinreports 0.7.6 → 0.7.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +11 -1
- data/Gemfile +2 -9
- data/MIT-LICENSE +1 -1
- data/README.rdoc +25 -26
- data/lib/thinreports/core/format/base.rb +0 -5
- data/lib/thinreports/core/format/builder.rb +5 -5
- data/lib/thinreports/core/page.rb +5 -3
- data/lib/thinreports/core/shape.rb +2 -0
- data/lib/thinreports/core/shape/basic/internal.rb +5 -1
- data/lib/thinreports/core/shape/list/configuration.rb +9 -3
- data/lib/thinreports/core/shape/list/manager.rb +11 -4
- data/lib/thinreports/core/shape/list/page.rb +3 -1
- data/lib/thinreports/core/shape/list/page_state.rb +4 -1
- data/lib/thinreports/core/shape/manager/internal.rb +1 -1
- data/lib/thinreports/core/shape/page_number.rb +15 -0
- data/lib/thinreports/core/shape/page_number/format.rb +25 -0
- data/lib/thinreports/core/shape/page_number/interface.rb +27 -0
- data/lib/thinreports/core/shape/page_number/internal.rb +57 -0
- data/lib/thinreports/core/shape/style/text.rb +6 -2
- data/lib/thinreports/core/shape/text_block/format.rb +1 -0
- data/lib/thinreports/generator/pdf.rb +1 -1
- data/lib/thinreports/generator/pdf/document/draw_shape.rb +14 -4
- data/lib/thinreports/generator/pdf/document/graphics/attributes.rb +9 -0
- data/lib/thinreports/generator/pdf/document/graphics/text.rb +4 -1
- data/lib/thinreports/generator/pdf/document/page.rb +18 -3
- data/lib/thinreports/generator/pdf/drawer/base.rb +3 -8
- data/lib/thinreports/generator/pdf/drawer/list.rb +31 -12
- data/lib/thinreports/generator/pdf/drawer/list_section.rb +5 -5
- data/lib/thinreports/generator/pdf/drawer/page.rb +22 -10
- data/lib/thinreports/generator/pdf/prawn_ext.rb +18 -1
- data/lib/thinreports/layout/base.rb +4 -2
- data/lib/thinreports/layout/format.rb +1 -5
- data/lib/thinreports/report/base.rb +36 -6
- data/lib/thinreports/report/internal.rb +7 -5
- data/lib/thinreports/version.rb +1 -1
- data/tasks/doc.rake +0 -1
- data/test/case/character_spacing/character_spacing.rb +4 -3
- data/test/case/dynamic_image/dynamic_image.rb +34 -34
- data/test/case/dynamic_style/dynamic_style.rb +141 -141
- data/test/case/eudc/eudc.rb +16 -16
- data/test/case/helper.rb +39 -20
- data/test/case/hidden_shapes/hidden_shapes.rb +4 -8
- data/test/case/list_events/list_events.rb +26 -26
- data/test/case/list_manual_generation/list_manual_generation.rb +16 -16
- data/test/case/list_page_number/list_page_number.rb +17 -0
- data/test/case/list_page_number/list_page_number.tlf +1 -0
- data/test/case/page_number/page_number.rb +33 -0
- data/test/case/page_number/page_number.tlf +1 -0
- data/test/case/password_setting/password_setting.rb +10 -0
- data/test/case/password_setting/password_setting.tlf +1 -0
- data/test/case/single_line_tblock/single_line_tblock.rb +10 -12
- data/test/case/tblock_overflow/tblock_overflow.rb +16 -16
- data/test/case/tblock_styles/tblock_styles.rb +24 -24
- data/test/case/text_align/text_align.rb +5 -6
- data/test/case/typeB_page_size/B4_ISO.tlf +1 -0
- data/test/case/typeB_page_size/B4_JIS.tlf +1 -0
- data/test/case/typeB_page_size/typeB_page_size.rb +17 -0
- data/test/case/word_wrap/word_wrap.rb +26 -0
- data/test/case/word_wrap/word_wrap.tlf +1 -0
- data/test/unit/core/format/test_builder.rb +1 -2
- data/test/unit/core/shape/basic/test_internal.rb +9 -1
- data/test/unit/core/shape/list/test_configuration.rb +6 -1
- data/test/unit/core/shape/list/test_manager.rb +10 -0
- data/test/unit/core/shape/list/test_page_state.rb +1 -1
- data/test/unit/core/shape/page_number/test_format.rb +73 -0
- data/test/unit/core/shape/page_number/test_interface.rb +30 -0
- data/test/unit/core/shape/page_number/test_internal.rb +81 -0
- data/test/unit/core/shape/styles/test_text.rb +12 -1
- data/test/unit/core/shape/text_block/formatter/test_datetime.rb +19 -17
- data/test/unit/core/shape/text_block/test_format.rb +5 -0
- data/test/unit/core/test_events.rb +5 -3
- data/test/unit/core/test_shape.rb +5 -1
- data/test/unit/generator/pdf/document/graphics/test_attributes.rb +6 -0
- data/test/unit/generator/pdf/document/test_draw_shape.rb +6 -0
- data/test/unit/generator/pdf/document/test_page.rb +29 -3
- data/test/unit/generator/test_pdf.rb +1 -10
- data/test/unit/helper.rb +33 -11
- data/test/unit/layout/test_base.rb +1 -1
- data/test/unit/report/test_base.rb +47 -0
- data/test/unit/report/test_internal.rb +22 -0
- data/test/unit/tmp/.gitkeep +0 -0
- data/thinreports.gemspec +14 -13
- metadata +89 -53
- data/.yardopts +0 -1
- data/test/case/list_header_inheriting/list_header_inheriting.rb +0 -17
- data/test/case/list_header_inheriting/list_header_inheriting.tlf +0 -1
@@ -68,17 +68,19 @@ module ThinReports
|
|
68
68
|
@finalized
|
69
69
|
end
|
70
70
|
|
71
|
-
def load_layout(
|
72
|
-
return @default_layout if
|
71
|
+
def load_layout(id_or_filename)
|
72
|
+
return @default_layout if id_or_filename.nil?
|
73
73
|
|
74
|
-
case
|
74
|
+
layout = case id_or_filename
|
75
75
|
when Symbol
|
76
|
-
layout_registry[
|
76
|
+
layout_registry[id_or_filename]
|
77
77
|
when String
|
78
|
-
prepare_layout(
|
78
|
+
prepare_layout(id_or_filename)
|
79
79
|
else
|
80
80
|
raise ArgumentError, 'Invalid argument for layout.'
|
81
81
|
end
|
82
|
+
@default_layout = layout unless @default_layout
|
83
|
+
layout
|
82
84
|
end
|
83
85
|
|
84
86
|
private
|
data/lib/thinreports/version.rb
CHANGED
data/tasks/doc.rake
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
testcase :character_spacing, 'Sets the character spacing in the Editor' do
|
4
|
+
report = ThinReports::Report.new :layout => layout_filename
|
5
|
+
report.start_new_page
|
4
6
|
|
5
|
-
|
6
|
-
start_new_page
|
7
|
+
report.generate :filename => output_filename
|
7
8
|
end
|
@@ -2,40 +2,40 @@
|
|
2
2
|
|
3
3
|
require 'open-uri'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
matsukei_logo = open('http://www.matsukei.co.jp/common/image/logo.jpg')
|
10
|
-
|
11
|
-
ThinReports::Report.generate_file(:pdf, CaseRunner.output_file) do |r|
|
12
|
-
r.use_layout(CaseRunner.layout_file)
|
13
|
-
|
14
|
-
r.start_new_page
|
15
|
-
|
16
|
-
r.page.values(:pos_top_left => image50x50,
|
17
|
-
:pos_top_center => image50x50,
|
18
|
-
:pos_top_right => image50x50,
|
19
|
-
:pos_center_left => image50x50,
|
20
|
-
:pos_center_center => image50x50,
|
21
|
-
:pos_center_right => image50x50,
|
22
|
-
:pos_bottom_left => image50x50,
|
23
|
-
:pos_bottom_center => image50x50,
|
24
|
-
:pos_bottom_right => image50x50)
|
25
|
-
|
26
|
-
r.page.item(:overflow).src(image200x100)
|
27
|
-
|
28
|
-
# It cannot do as follows:
|
29
|
-
#
|
30
|
-
# r.page.item(:logo1).src(matsukei_logo)
|
31
|
-
# r.page.item(:logo2).value(matsukei_logo)
|
32
|
-
#
|
33
|
-
r.page.item(:logo1).src(matsukei_logo.path)
|
34
|
-
r.page.item(:logo2).value(matsukei_logo.path)
|
35
|
-
|
36
|
-
r.page.item(:thinreports_logo).src(open('http://www.thinreports.org/media/i/logo.png'))
|
5
|
+
testcase :dynamic_image, 'Show images dynamically' do
|
6
|
+
image50x50 = resource('img50x50.png')
|
7
|
+
image200x100 = resource('img200x100.png')
|
8
|
+
matsukei_logo = open('http://www.matsukei.co.jp/common/image/logo.jpg')
|
37
9
|
|
38
|
-
|
39
|
-
|
10
|
+
ThinReports::Report.generate :filename => output_filename do |r|
|
11
|
+
r.use_layout(layout_filename)
|
12
|
+
|
13
|
+
r.start_new_page
|
14
|
+
|
15
|
+
r.page.values(:pos_top_left => image50x50,
|
16
|
+
:pos_top_center => image50x50,
|
17
|
+
:pos_top_right => image50x50,
|
18
|
+
:pos_center_left => image50x50,
|
19
|
+
:pos_center_center => image50x50,
|
20
|
+
:pos_center_right => image50x50,
|
21
|
+
:pos_bottom_left => image50x50,
|
22
|
+
:pos_bottom_center => image50x50,
|
23
|
+
:pos_bottom_right => image50x50)
|
24
|
+
|
25
|
+
r.page.item(:overflow).src(image200x100)
|
26
|
+
|
27
|
+
# It cannot do as follows:
|
28
|
+
#
|
29
|
+
# r.page.item(:logo1).src(matsukei_logo)
|
30
|
+
# r.page.item(:logo2).value(matsukei_logo)
|
31
|
+
#
|
32
|
+
r.page.item(:logo1).src(matsukei_logo.path)
|
33
|
+
r.page.item(:logo2).value(matsukei_logo.path)
|
34
|
+
|
35
|
+
r.page.item(:thinreports_logo).src(open('http://www.thinreports.org/assets/images/thinreports-logo.png'))
|
36
|
+
|
37
|
+
r.page.list(:list) do |list|
|
38
|
+
3.times { list.add_row :in_list => image50x50 }
|
39
|
+
end
|
40
40
|
end
|
41
41
|
end
|
@@ -1,154 +1,154 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
:text_color2 => '赤色')
|
25
|
-
end
|
26
|
-
|
27
|
-
ThinReports::Report.generate_file(CaseRunner.output_file,
|
28
|
-
:layout => CaseRunner.layout_file) do |r|
|
29
|
-
# In case of using "dynamic_style.tlf"
|
30
|
-
|
31
|
-
# Create raw-page.
|
32
|
-
r.start_new_page
|
33
|
-
r.page.item(:title).value('Original Page')
|
34
|
-
|
35
|
-
setup_values.call(r.page)
|
36
|
-
|
37
|
-
# Create styled-page.
|
38
|
-
r.start_new_page
|
39
|
-
|
40
|
-
setup_values.call(r.page)
|
41
|
-
r.page.item(:title).value('Styled Page')
|
42
|
-
|
43
|
-
# The Basic Style
|
44
|
-
6.times do |i|
|
45
|
-
r.page.item("basic_show#{i + 1}").style(:visible, true)
|
46
|
-
r.page.item("basic_hide#{i + 1}").style(:visible, false)
|
47
|
-
end
|
48
|
-
|
49
|
-
# The Graphic Style
|
50
|
-
r.page.item(:graphic_bcolor1).style(:border_color, '#ff0000')
|
51
|
-
r.page.item(:graphic_bcolor2).style(:border_color, 'red')
|
52
|
-
# [WARNING] :stroke is deprecated.
|
53
|
-
r.page.item(:graphic_bcolor3).style(:stroke, 'ff0000')
|
54
|
-
# nil or 'none'.
|
55
|
-
r.page.item(:graphic_bcolor4).style(:border_color, nil)
|
56
|
-
|
57
|
-
r.page.item(:graphic_bwidth1).style(:border_width, 5)
|
58
|
-
r.page.item(:graphic_bwidth2).style(:border_width, 5)
|
59
|
-
r.page.item(:graphic_bwidth3).style(:border_width, 5)
|
60
|
-
r.page.item(:graphic_bwidth4).style(:border_width, 2)
|
61
|
-
r.page.item(:graphic_bwidth5).style(:border_width, 0)
|
62
|
-
|
63
|
-
r.page.item(:graphic_fcolor1).style(:fill_color, '#ff0000')
|
64
|
-
# [WARNING] :fill is deprecated.
|
65
|
-
r.page.item(:graphic_fcolor2).style(:fill, 'red')
|
66
|
-
# nil or 'none'
|
67
|
-
r.page.item(:graphic_fcolor3).style(:fill_color, 'none')
|
68
|
-
r.page.item(:graphic_fcolor4).style(:fill_color, 'ff0000')
|
69
|
-
|
70
|
-
# The Text Style
|
71
|
-
[1, 3].each do |i|
|
72
|
-
r.page.item("text_b#{i}").style(:bold, true)
|
73
|
-
r.page.item("text_i#{i}").style(:italic, true)
|
74
|
-
r.page.item("text_u#{i}").style(:underline, true)
|
75
|
-
r.page.item("text_l#{i}").style(:linethrough, true)
|
76
|
-
end
|
77
|
-
[2, 4].each do |i|
|
78
|
-
r.page.item("text_b#{i}").style(:bold, false)
|
79
|
-
r.page.item("text_i#{i}").style(:italic, false)
|
80
|
-
r.page.item("text_u#{i}").style(:underline, false)
|
81
|
-
r.page.item("text_l#{i}").style(:linethrough, false)
|
82
|
-
end
|
83
|
-
|
84
|
-
3.times do |i|
|
85
|
-
r.page.item("text_a#{i + 1}").style(:align, :right)
|
86
|
-
end
|
87
|
-
2.times do |i|
|
88
|
-
r.page.item("text_va#{i + 1}").style(:valign, :bottom)
|
89
|
-
end
|
90
|
-
|
91
|
-
2.times do |i|
|
92
|
-
r.page.item("text_color#{i + 1}").style(:color, 'ff0000')
|
93
|
-
end
|
94
|
-
|
95
|
-
# In case of using "dynamic_style_in_list.tlf"
|
96
|
-
r.start_new_page(:layout => CaseRunner.case_resource('dynamic_style_in_list.tlf'))
|
97
|
-
|
98
|
-
# Settings for Header.
|
99
|
-
r.page.list(:list).header do |header|
|
100
|
-
header.item(:rect).styles(:border_color => nil,
|
101
|
-
:fill_color => 'ff00ff')
|
102
|
-
header.item(:text).styles(:align => :center,
|
103
|
-
:valign => :center,
|
104
|
-
:bold => true)
|
105
|
-
header.item(:tblock).styles(:align => :center,
|
106
|
-
:valign => :center,
|
107
|
-
:color => 'red',
|
108
|
-
:linethrough => true)
|
3
|
+
testcase :dynamic_style, 'Change styles of the object dynamically' do |t|
|
4
|
+
image = t.resource('image.png')
|
5
|
+
setup_values = Proc.new do |page|
|
6
|
+
# The Basic Style
|
7
|
+
page.values(:basic_show5 => 'TextBlock',
|
8
|
+
:basic_show6 => image,
|
9
|
+
:basic_hide5 => 'TextBlock',
|
10
|
+
:basic_hide6 => image)
|
11
|
+
# The Text Style
|
12
|
+
page.values(:text_b3 => 'To bold',
|
13
|
+
:text_b4 => 'To normal',
|
14
|
+
:text_i3 => 'To italic',
|
15
|
+
:text_i4 => 'To normal',
|
16
|
+
:text_u3 => 'To underline',
|
17
|
+
:text_u4 => 'To none',
|
18
|
+
:text_l3 => 'To line-through',
|
19
|
+
:text_l4 => 'To none')
|
20
|
+
page.values(:text_a2 => 'To right align',
|
21
|
+
:text_a3 => "To right align\n右寄せ",
|
22
|
+
:text_va2 => "To bottom align\n下揃え",
|
23
|
+
:text_color2 => '赤色')
|
109
24
|
end
|
110
25
|
|
111
|
-
|
112
|
-
|
113
|
-
|
26
|
+
ThinReports::Report.generate(:filename => t.output_filename,
|
27
|
+
:layout => t.layout_filename) do |r|
|
28
|
+
# In case of using dynamic_style.tlf
|
114
29
|
|
115
|
-
#
|
116
|
-
r.
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
30
|
+
# Create raw-page.
|
31
|
+
r.start_new_page
|
32
|
+
r.page.item(:title).value('Original Page')
|
33
|
+
|
34
|
+
setup_values.call(r.page)
|
35
|
+
|
36
|
+
# Create styled-page.
|
37
|
+
r.start_new_page
|
38
|
+
|
39
|
+
setup_values.call(r.page)
|
40
|
+
r.page.item(:title).value('Styled Page')
|
41
|
+
|
42
|
+
# The Basic Style
|
43
|
+
6.times do |i|
|
44
|
+
r.page.item("basic_show#{i + 1}").style(:visible, true)
|
45
|
+
r.page.item("basic_hide#{i + 1}").style(:visible, false)
|
46
|
+
end
|
47
|
+
|
48
|
+
# The Graphic Style
|
49
|
+
r.page.item(:graphic_bcolor1).style(:border_color, '#ff0000')
|
50
|
+
r.page.item(:graphic_bcolor2).style(:border_color, 'red')
|
51
|
+
# [WARNING] :stroke is deprecated.
|
52
|
+
r.page.item(:graphic_bcolor3).style(:stroke, 'ff0000')
|
53
|
+
# nil or 'none'.
|
54
|
+
r.page.item(:graphic_bcolor4).style(:border_color, nil)
|
55
|
+
|
56
|
+
r.page.item(:graphic_bwidth1).style(:border_width, 5)
|
57
|
+
r.page.item(:graphic_bwidth2).style(:border_width, 5)
|
58
|
+
r.page.item(:graphic_bwidth3).style(:border_width, 5)
|
59
|
+
r.page.item(:graphic_bwidth4).style(:border_width, 2)
|
60
|
+
r.page.item(:graphic_bwidth5).style(:border_width, 0)
|
61
|
+
|
62
|
+
r.page.item(:graphic_fcolor1).style(:fill_color, '#ff0000')
|
63
|
+
# [WARNING] :fill is deprecated.
|
64
|
+
r.page.item(:graphic_fcolor2).style(:fill, 'red')
|
65
|
+
# nil or 'none'
|
66
|
+
r.page.item(:graphic_fcolor3).style(:fill_color, 'none')
|
67
|
+
r.page.item(:graphic_fcolor4).style(:fill_color, 'ff0000')
|
68
|
+
|
69
|
+
# The Text Style
|
70
|
+
[1, 3].each do |i|
|
71
|
+
r.page.item("text_b#{i}").style(:bold, true)
|
72
|
+
r.page.item("text_i#{i}").style(:italic, true)
|
73
|
+
r.page.item("text_u#{i}").style(:underline, true)
|
74
|
+
r.page.item("text_l#{i}").style(:linethrough, true)
|
75
|
+
end
|
76
|
+
[2, 4].each do |i|
|
77
|
+
r.page.item("text_b#{i}").style(:bold, false)
|
78
|
+
r.page.item("text_i#{i}").style(:italic, false)
|
79
|
+
r.page.item("text_u#{i}").style(:underline, false)
|
80
|
+
r.page.item("text_l#{i}").style(:linethrough, false)
|
81
|
+
end
|
82
|
+
|
83
|
+
3.times do |i|
|
84
|
+
r.page.item("text_a#{i + 1}").style(:align, :right)
|
85
|
+
end
|
86
|
+
2.times do |i|
|
87
|
+
r.page.item("text_va#{i + 1}").style(:valign, :bottom)
|
88
|
+
end
|
89
|
+
|
90
|
+
2.times do |i|
|
91
|
+
r.page.item("text_color#{i + 1}").style(:color, 'ff0000')
|
92
|
+
end
|
93
|
+
|
94
|
+
# In case of using "dynamic_style_in_list.tlf"
|
95
|
+
r.start_new_page(:layout => t.resource('dynamic_style_in_list.tlf'))
|
96
|
+
|
97
|
+
# Settings for Header.
|
98
|
+
r.page.list(:list).header do |header|
|
99
|
+
header.item(:rect).styles(:border_color => nil,
|
100
|
+
:fill_color => 'ff00ff')
|
101
|
+
header.item(:text).styles(:align => :center,
|
102
|
+
:valign => :center,
|
103
|
+
:bold => true)
|
104
|
+
header.item(:tblock).styles(:align => :center,
|
105
|
+
:valign => :center,
|
106
|
+
:color => 'red',
|
107
|
+
:linethrough => true)
|
108
|
+
end
|
109
|
+
|
110
|
+
1.step(10, 1) do |i|
|
111
|
+
# Flag of overflowed list-page.
|
112
|
+
is_overflowed = r.page.list(:list).overflow?
|
113
|
+
|
114
|
+
# Add details.
|
115
|
+
r.page.list(:list).add_row do |row|
|
116
|
+
case
|
117
|
+
when i % 2 == 0
|
118
|
+
row.item(:rect).styles(:border_color => 'ff0000',
|
119
|
+
:border_width => 3,
|
120
|
+
:fill_color => '0000ff')
|
121
|
+
row.item(:text).styles(:color => 'red',
|
126
122
|
:align => :left,
|
127
123
|
:valign => :center)
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
124
|
+
row.item(:tblock).styles(:color => 'blue',
|
125
|
+
:align => :left,
|
126
|
+
:valign => :center)
|
127
|
+
when i % 3 == 0
|
128
|
+
row.item(:rect).style(:visible, false)
|
129
|
+
row.item(:text).styles(:color => '0000ff',
|
134
130
|
:align => :right,
|
135
131
|
:valign => :bottom)
|
132
|
+
row.item(:tblock).styles(:color => 'ff0000',
|
133
|
+
:align => :right,
|
134
|
+
:valign => :bottom)
|
135
|
+
end
|
136
136
|
end
|
137
|
+
|
138
|
+
# Change header styles when list-page was overflowed.
|
139
|
+
if is_overflowed
|
140
|
+
r.page.list(:list).header do |header|
|
141
|
+
header.item(:rect).styles(:border_color => 'black',
|
142
|
+
:fill_color => '#ffffff')
|
143
|
+
header.item(:text).styles(:align => :left,
|
144
|
+
:valign => :top,
|
145
|
+
:bold => false)
|
146
|
+
header.item(:tblock).styles(:align => :left,
|
147
|
+
:valign => :top,
|
148
|
+
:color => '#000000',
|
149
|
+
:linethrough => false)
|
150
|
+
end
|
151
|
+
end
|
137
152
|
end
|
138
|
-
|
139
|
-
# Change header styles when list-page was overflowed.
|
140
|
-
if is_overflowed
|
141
|
-
r.page.list(:list).header do |header|
|
142
|
-
header.item(:rect).styles(:border_color => 'black',
|
143
|
-
:fill_color => '#ffffff')
|
144
|
-
header.item(:text).styles(:align => :left,
|
145
|
-
:valign => :top,
|
146
|
-
:bold => false)
|
147
|
-
header.item(:tblock).styles(:align => :left,
|
148
|
-
:valign => :top,
|
149
|
-
:color => '#000000',
|
150
|
-
:linethrough => false)
|
151
|
-
end
|
152
|
-
end
|
153
153
|
end
|
154
154
|
end
|
data/test/case/eudc/eudc.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
end
|
8
|
-
|
9
|
-
ThinReports::Report.generate_file(:pdf, CaseRunner.output_file) do
|
10
|
-
use_layout(CaseRunner.layout_file)
|
3
|
+
testcase :eudc, 'Show External Characters' do |t|
|
4
|
+
ThinReports.configure do |config|
|
5
|
+
config.generator.pdf.eudc_fonts = t.resource('eudc.ttf')
|
6
|
+
end
|
11
7
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
8
|
+
ThinReports::Report.generate(:filename => t.output_filename) do
|
9
|
+
use_layout t.layout_filename
|
10
|
+
|
11
|
+
start_new_page
|
12
|
+
|
13
|
+
page.item(:eudc).value('日本で生まれ世界が育てた言語 Ruby')
|
14
|
+
page.values(:eudc_bold => '太字',
|
15
|
+
:eudc_italic => '斜体',
|
16
|
+
:eudc_bold_italic => '太字斜体')
|
17
|
+
end
|
19
18
|
|
20
|
-
ThinReports.config.generator.pdf.eudc_fonts = []
|
19
|
+
ThinReports.config.generator.pdf.eudc_fonts = []
|
20
|
+
end
|