Class: Shellfie::FontResolver
- Inherits:
-
Object
- Object
- Shellfie::FontResolver
- Defined in:
- lib/shellfie/font_resolver.rb
Constant Summary collapse
- FONT_FILES =
{ "Monaco" => "/System/Library/Fonts/Monaco.ttf", "SF Mono" => "/System/Library/Fonts/SFNSMono.ttf", "SF Mono Italic" => "/System/Library/Fonts/SFNSMonoItalic.ttf", "Menlo" => "/System/Library/Fonts/Menlo.ttc", "Courier" => "/System/Library/Fonts/Courier.ttc", "Courier New" => "/System/Library/Fonts/Supplemental/Courier New.ttf", "DejaVu-Sans-Mono" => "/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf", "DejaVu Sans Mono" => "/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf" }.freeze
Instance Method Summary collapse
-
#initialize(command_provider) ⇒ FontResolver
constructor
A new instance of FontResolver.
- #resolve(font_config, italic:) ⇒ Object
Constructor Details
#initialize(command_provider) ⇒ FontResolver
Returns a new instance of FontResolver.
16 17 18 |
# File 'lib/shellfie/font_resolver.rb', line 16 def initialize(command_provider) @command_provider = command_provider end |
Instance Method Details
#resolve(font_config, italic:) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/shellfie/font_resolver.rb', line 20 def resolve(font_config, italic:) candidates = [] candidates << font_config[:italic_family] if italic candidates << font_config[:family] candidates << font_config[:fallback_family] candidates << font_config[:emoji_family] candidates << "Menlo" candidates << "DejaVu-Sans-Mono" candidates << "Courier" candidates.compact.flat_map { |candidate| font_candidates(candidate.to_s) } .find { |candidate| font_available?(candidate) } end |