Class: HarfBuzz::Subset::Input

Inherits:
Object
  • Object
show all
Defined in:
lib/harfbuzz/subset.rb

Overview

Wraps hb_subset_input_t — specifies what to include in a subset

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeInput

Creates a new subset input

Raises:



33
34
35
36
37
38
39
40
# File 'lib/harfbuzz/subset.rb', line 33

def initialize
  raise UnavailableError, "libharfbuzz-subset is not available" unless C.available?

  @ptr = C.hb_subset_input_create_or_fail
  raise AllocationError, "Failed to create subset input" if @ptr.null?

  HarfBuzz::Subset::Input.define_finalizer(self, @ptr)
end

Instance Attribute Details

#ptrObject (readonly)

Returns the value of attribute ptr.



28
29
30
# File 'lib/harfbuzz/subset.rb', line 28

def ptr
  @ptr
end

Class Method Details

.define_finalizer(obj, ptr) ⇒ Object



68
69
70
71
# File 'lib/harfbuzz/subset.rb', line 68

def self.define_finalizer(obj, ptr)
  destroy = C.method(:hb_subset_input_destroy)
  ObjectSpace.define_finalizer(obj, proc { destroy.call(ptr) })
end

Instance Method Details

#flagsInteger

Returns Current flags bitmask.

Returns:

  • (Integer)

    Current flags bitmask



55
56
57
# File 'lib/harfbuzz/subset.rb', line 55

def flags
  C.hb_subset_input_get_flags(@ptr)
end

#flags=(flags) ⇒ Object

Parameters:

  • flags (Integer)

    New flags bitmask



60
61
62
# File 'lib/harfbuzz/subset.rb', line 60

def flags=(flags)
  C.hb_subset_input_set_flags(@ptr, flags)
end

#glyph_setHarfBuzz::Set

Returns the set of glyph IDs to include (borrowed reference)

Returns:



50
51
52
# File 'lib/harfbuzz/subset.rb', line 50

def glyph_set
  HarfBuzz::Set.wrap_borrowed(C.hb_subset_input_glyph_set(@ptr))
end

#inspectObject



64
65
66
# File 'lib/harfbuzz/subset.rb', line 64

def inspect
  "#<HarfBuzz::Subset::Input flags=#{flags}>"
end

#unicode_setHarfBuzz::Set

Returns the set of Unicode codepoints to include (borrowed reference)

Returns:



44
45
46
# File 'lib/harfbuzz/subset.rb', line 44

def unicode_set
  HarfBuzz::Set.wrap_borrowed(C.hb_subset_input_unicode_set(@ptr))
end