Class: Pdfrb::Model::Type::FontEncoding
Overview
Font Encoding dict (s9.6.1). Base encoding + per-glyph differences
table for Type 1 fonts.
Instance Attribute Summary
Attributes inherited from Object
#document, #gen, #oid, #value
Instance Method Summary
collapse
#[], #[]=, arlington_available?, arlington_default, arlington_key_to_symbol, arlington_loaded_for?, arlington_mark_loaded, arlington_object, arlington_one_type_to_ruby, arlington_required?, arlington_types_to_ruby, arlington_version, define_field, define_field_from_arlington, #delete, #each, each_field, #each_raw, #empty?, field, #initialize, #key?, #keys, lookup_type, own_fields, #pdf_type, register_type, type_map, #validate
Methods inherited from Object
#==, define_type, #deref, #indirect?, #initialize, #must_be_indirect?, #pdf_type, pdf_type
Instance Method Details
#base_encoding ⇒ Object
9
|
# File 'lib/pdfrb/model/type/font_encoding.rb', line 9
def base_encoding; self[:BaseEncoding]&.to_sym; end
|
#differences ⇒ Object
10
|
# File 'lib/pdfrb/model/type/font_encoding.rb', line 10
def differences; self[:Differences]; end
|
#each_difference(&block) ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/pdfrb/model/type/font_encoding.rb', line 21
def each_difference(&block)
return enum_for(:each_difference) unless block
return unless differences.is_a?(Array)
current_code = nil
differences.each do |entry|
if entry.is_a?(Integer)
current_code = entry
else
yield current_code, entry
current_code = current_code ? current_code + 1 : nil
end
end
end
|
#glyph_for(char_code) ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/pdfrb/model/type/font_encoding.rb', line 37
def glyph_for(char_code)
result = nil
each_difference do |code, name|
result = name if code == char_code
end
result
end
|
#has_differences? ⇒ Boolean
17
18
19
|
# File 'lib/pdfrb/model/type/font_encoding.rb', line 17
def has_differences?
!!differences && (!differences.is_a?(Array) || !differences.empty?)
end
|
#mac_expert? ⇒ Boolean
14
|
# File 'lib/pdfrb/model/type/font_encoding.rb', line 14
def mac_expert?; base_encoding == :MacExpertEncoding; end
|
#mac_roman? ⇒ Boolean
13
|
# File 'lib/pdfrb/model/type/font_encoding.rb', line 13
def mac_roman?; base_encoding == :MacRomanEncoding; end
|
#standard? ⇒ Boolean
15
|
# File 'lib/pdfrb/model/type/font_encoding.rb', line 15
def standard?; base_encoding == :StandardEncoding; end
|
#win_ansi? ⇒ Boolean
12
|
# File 'lib/pdfrb/model/type/font_encoding.rb', line 12
def win_ansi?; base_encoding == :WinAnsiEncoding; end
|