OSDN Git Service

binding with libharu.
[putex/putex.git] / src / texsourc / lib / libhpdf / if / ruby / demo / ttfont_demo.rb
1 #
2 # << Haru Free PDF Library 2.0.2 >> -- ttfont_demo.rb
3 #
4 # http://libharu.org/
5 #
6 # Copyright (c) 1999-2006 Takeshi Kanno
7 #
8 # Permission to use, copy, modify, distribute and sell this software
9 # and its documentation for any purpose is hereby granted without fee,
10 # provided that the above copyright notice appear in all copies and
11 # that both that copyright notice and this permission notice appear
12 # in supporting documentation.
13 # It is provided "as is" without express or implied warranty.
14 #
15
16 require "hpdf"
17
18 SAMP_TXT = "The quick brown fox jumps over the lazy dog."
19
20 font_name = ARGV.shift
21 flg = ARGV.shift
22
23 if !font_name
24    print 'usage: ttfont_demo.rb [path to font file] -E(embedding font).'
25    exit(1)
26 end
27
28 pdf = HPDFDoc.new
29
30 pdf.set_compression_mode(HPDFDoc::HPDF_COMP_ALL)
31
32 # Add a new page object. #
33 page = pdf.add_page
34
35 title_font = pdf.get_font("Helvetica", nil)
36
37 if (flg == "-E")
38   embed = HPDFDoc::HPDF_TRUE
39 else
40   embed = HPDFDoc::HPDF_FALSE
41 end
42
43 detail_font_name = pdf.load_ttfont_from_file(font_name, embed)
44 print font_name, ' load OK.[', detail_font_name, ']'
45
46 detail_font = pdf.get_font(detail_font_name, nil)
47
48 page.set_font_and_size(title_font, 10)
49
50 page.begin_text
51
52 # Move the position of the text to top of the page. #
53 page.move_text_pos(10, 190)
54 page.show_text(detail_font_name)
55
56 if (embed)
57   page.show_text("(Embedded Subset)")
58 end
59
60 page.set_font_and_size(detail_font, 15)
61 page.move_text_pos(10, -20)
62 page.show_text("abcdefghijklmnopqrstuvwxyz")
63 page.move_text_pos(0, -20)
64 page.show_text("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
65 page.move_text_pos(0, -20)
66 page.show_text("1234567890")
67 page.move_text_pos(0, -20)
68
69 page.set_font_and_size(detail_font, 10)
70 page.show_text(SAMP_TXT)
71 page.move_text_pos(0, -18)
72
73 page.set_font_and_size(detail_font, 16)
74 page.show_text(SAMP_TXT)
75 page.move_text_pos(0, -27)
76
77 page.set_font_and_size(detail_font, 23)
78 page.show_text(SAMP_TXT)
79 page.move_text_pos(0, -36)
80
81 page.set_font_and_size(detail_font, 30)
82 page.show_text(SAMP_TXT)
83 page.move_text_pos(0, -36)
84
85 tw = page.text_width(SAMP_TXT)
86 page_height = 210
87 page_width = tw + 40
88
89 page.set_width(page_width)
90 page.set_height(page_height)
91
92 # Finish to print text. #
93 page.end_text
94
95 page.set_line_width(0.5)
96
97 page.move_to(10, page_height - 25)
98 page.line_to(page_width - 10, page_height - 25)
99 page.stroke
100
101 page.move_to(10, page_height - 85)
102 page.line_to(page_width - 10, page_height - 85)
103 page.stroke
104
105 pdf.save_to_file($0 + ".pdf")
106