Class: Clef::Engraving::GlyphTable
- Inherits:
-
Object
- Object
- Clef::Engraving::GlyphTable
- Defined in:
- lib/clef/engraving/glyph_table.rb
Constant Summary collapse
- GLYPHS =
{ notehead_black: "\uE0A4", notehead_half: "\uE0A3", notehead_whole: "\uE0A2", stem: "\uE210", flag_8th_up: "\uE240", flag_8th_down: "\uE241", flag_16th_up: "\uE242", flag_16th_down: "\uE243", rest_whole: "\uE4E3", rest_half: "\uE4E4", rest_quarter: "\uE4E5", rest_8th: "\uE4E6", rest_16th: "\uE4E7", clef_treble: "\uE050", clef_bass: "\uE062", clef_alto: "\uE05C", accidental_sharp: "\uE262", accidental_flat: "\uE260", accidental_double_sharp: "\uE263", accidental_double_flat: "\uE264", accidental_natural: "\uE261", dynamic_p: "\uE520", dynamic_f: "\uE522", fermata: "\uE4C0" }.merge((0..9).to_h { |n| [:"time_#{n}", (0xE080 + n).chr(Encoding::UTF_8)] }).freeze
Instance Method Summary collapse
- #[](name) ⇒ String?
- #fetch(name) ⇒ String
-
#initialize(glyphs: GLYPHS) ⇒ GlyphTable
constructor
A new instance of GlyphTable.
- #key?(name) ⇒ Boolean
- #register(name, glyph) ⇒ String
Constructor Details
#initialize(glyphs: GLYPHS) ⇒ GlyphTable
Returns a new instance of GlyphTable.
34 35 36 |
# File 'lib/clef/engraving/glyph_table.rb', line 34 def initialize(glyphs: GLYPHS) @glyphs = glyphs.dup end |
Instance Method Details
#[](name) ⇒ String?
46 47 48 |
# File 'lib/clef/engraving/glyph_table.rb', line 46 def [](name) @glyphs[name] end |
#fetch(name) ⇒ String
40 41 42 |
# File 'lib/clef/engraving/glyph_table.rb', line 40 def fetch(name) @glyphs.fetch(name) end |
#key?(name) ⇒ Boolean
52 53 54 |
# File 'lib/clef/engraving/glyph_table.rb', line 52 def key?(name) @glyphs.key?(name) end |
#register(name, glyph) ⇒ String
59 60 61 62 63 64 |
# File 'lib/clef/engraving/glyph_table.rb', line 59 def register(name, glyph) raise ArgumentError, "glyph name must be a Symbol" unless name.is_a?(Symbol) raise ArgumentError, "glyph must be a String" unless glyph.is_a?(String) @glyphs[name] = glyph end |