| Class | PDF::Writer::Object::Font |
| In: |
lib/pdf/writer/object/font.rb
|
| Parent: | PDF::Writer::Object |
| Details | = | %w{FirstChar LastChar Widths FontDescriptor SubType} |
| encoding | [R] | Valid values: WinAnsiEncoding, MacRomanEncoding, MacExpertEncoding, none, nil, or an instance of PDF::Writer::Object::FontEncoding. |
| font_id | [R] | |
| subtype | [R] | The type of the font: Type1 and TrueType are the only values supported by |
# File lib/pdf/writer/object/font.rb, line 15
15: def initialize(parent, name, encoding = 'WinAnsiEncoding', subtype = 'Type1')
16: super(parent)
17:
18: @name = name
19: @subtype = subtype
20: @font_id = @parent.__send__(:generate_font_id)
21:
22: if encoding.kind_of?(PDF::Writer::Object::FontEncoding)
23: @encoding = encoding
24: elsif encoding == 'none' or encoding.nil?
25: @encoding = nil
26: else
27: @encoding = encoding
28: end
29:
30: @parent.pages << self
31:
32: @firstchar = nil
33: @lastchar = nil
34: @widths = nil
35: @fontdescriptor = nil
36: end
# File lib/pdf/writer/object/font.rb, line 58
58: def to_s
59: res = "\n#{@oid} 0 obj\n<< /Type /Font\n/Subtype /#{@subtype}\n"
60: res << "/Name /F#{@font_id}\n/BaseFont /#{@name}\n"
61: if @encoding.kind_of?(PDF::Writer::Object::FontEncoding)
62: res << "/Encoding #{@encoding.oid} 0 R\n"
63: elsif @encoding
64: res << "/Encoding /#{@encoding}\n" if @encoding
65: end
66: res << "/FirstChar #{@firstchar}\n" unless @firstchar.nil?
67: res << "/LastChar #{@lastchar}\n" unless @lastchar.nil?
68: res << "/Widths #{@widths} 0 R\n" unless @widths.nil?
69: res << "/FontDescriptor #{@fontdescriptor} 0 R\n" unless @fontdescriptor.nil?
70: res << ">>\nendobj"
71: end