class Fontist::SystemFont
Public Class Methods
expand_paths(paths)
click to toggle source
# File lib/fontist/system_font.rb, line 36 def self.expand_paths(paths) paths.map do |path| require "etc" passwd = Etc.getpwuid username = passwd ? passwd.name : Etc.getlogin username ? path.gsub("{username}", username) : path end end
find(font)
click to toggle source
# File lib/fontist/system_font.rb, line 50 def self.find(font) new(font: font).find end
find_styles(font, style)
click to toggle source
# File lib/fontist/system_font.rb, line 54 def self.find_styles(font, style) new(font: font, style: style).find_styles end
font_paths()
click to toggle source
# File lib/fontist/system_font.rb, line 10 def self.font_paths system_font_paths + fontist_font_paths end
fontist_font_paths()
click to toggle source
# File lib/fontist/system_font.rb, line 46 def self.fontist_font_paths Dir.glob(Fontist.fonts_path.join("**")) end
load_system_font_paths()
click to toggle source
# File lib/fontist/system_font.rb, line 18 def self.load_system_font_paths os = Fontist::Utils::System.user_os.to_s templates = system_config["system"][os]["paths"] patterns = expand_paths(templates) Dir.glob(patterns) # File::FNM_CASEFOLD is officially ignored -- see https://ruby-doc.org/core-3.1.1/Dir.html#method-c-glob # "Case sensitivity depends on your system" end
new(font:, style: nil)
click to toggle source
# File lib/fontist/system_font.rb, line 5 def initialize(font:, style: nil) @font = font @style = style end
reset_system_font_paths_cache()
click to toggle source
# File lib/fontist/system_font.rb, line 32 def self.reset_system_font_paths_cache @system_font_paths = nil end
system_config()
click to toggle source
# File lib/fontist/system_font.rb, line 28 def self.system_config YAML.load_file(Fontist.system_file_path) end
system_font_paths()
click to toggle source
# File lib/fontist/system_font.rb, line 14 def self.system_font_paths @system_font_paths ||= load_system_font_paths end
Public Instance Methods
find()
click to toggle source
# File lib/fontist/system_font.rb, line 58 def find styles = find_styles return unless styles styles.map { |x| x[:path] } end
find_styles()
click to toggle source
# File lib/fontist/system_font.rb, line 65 def find_styles find_by_index end