Skip to content

Instantly share code, notes, and snippets.

@DataKinds
Last active December 24, 2016 00:31
Show Gist options
  • Save DataKinds/76c73a302c14e11fd8c8e435b94e63da to your computer and use it in GitHub Desktop.
Save DataKinds/76c73a302c14e11fd8c8e435b94e63da to your computer and use it in GitHub Desktop.
the ultimate font generator
#!/bin/ruby
`mkdir mean-letters`
`mkdir final-letters`
('a'..'z').each do |letter|
puts "layering #{letter}"
`convert letters/#{letter}/* -evaluate-sequence mean mean-letters/#{letter}.png`
`convert mean-letters/#{letter}.png -threshold 65% final-letters/#{letter}.png`
end
#!/bin/ruby
`mkdir letters`
def font_list
`fc-list`.lines.map{|l|l[/(.+): (.+):(.+)$/,1]}
end
letter_threads = []
('a'..'z').each do |letter|
letter_threads << Thread.new(letter) do |letter|
`mkdir letters/#{letter}`
font_list.each_with_index do |font_path, font_index|
puts "#{letter} #{(100*font_index/font_list.length).floor}% rendering #{font_path}"
font_name = font_path.split(?/).last
`convert -background white -fill black -font "#{font_path}" -pointsize 256 -size 400x400 -gravity center label:#{letter} "letters/#{letter}/#{font_name}.png"`
end
end
end
letter_threads.map{|thread|thread.join}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment