8 changed files with 78 additions and 3 deletions
@ -0,0 +1,20 @@
|
||||
print_system_fonts |
||||
================== |
||||
|
||||
Returns an array of font names that Squib knows about. These are what Squib considers "system" fonts. For debugging purposes. |
||||
|
||||
This is a module function, so it can be called anywhere with ``Squib.print_system_fonts`` |
||||
|
||||
|
||||
Options |
||||
------- |
||||
|
||||
None. |
||||
|
||||
|
||||
Examples |
||||
-------- |
||||
|
||||
.. literalinclude:: ../../samples/system_font_debug/_list_fonts.rb |
||||
:language: ruby |
||||
:linenos: |
||||
@ -0,0 +1,19 @@
|
||||
system_fonts |
||||
============ |
||||
|
||||
Returns an array of font names that Squib knows about. These are what Squib considers "system" fonts. For debugging purposes. |
||||
|
||||
This is a module function, so it can be called anywhere with ``Squib.system_fonts`` |
||||
|
||||
Options |
||||
------- |
||||
|
||||
None. |
||||
|
||||
|
||||
Examples |
||||
-------- |
||||
|
||||
.. literalinclude:: ../../samples/system_font_debug/_list_fonts.rb |
||||
:language: ruby |
||||
:linenos: |
||||
@ -0,0 +1,17 @@
|
||||
require 'pango' |
||||
module Squib |
||||
|
||||
# List all system fonts that Cairo/Pango can see |
||||
# Wow this call was convoluted... |
||||
# Returns array of strings with the names of fonts |
||||
module_function def system_fonts |
||||
cc = Cairo::Context.new(Cairo::ImageSurface.new(0,0)) # empty image |
||||
cc.create_pango_layout.context.families.map {|f| f.name } |
||||
end |
||||
|
||||
# Prints out the system fonts in sorted order |
||||
module_function def print_system_fonts |
||||
puts "== DEBUG: Squib knows about these fonts ==" |
||||
puts system_fonts.sort |
||||
end |
||||
end |
||||
@ -0,0 +1,14 @@
|
||||
# require 'squib' |
||||
require_relative '../../lib/squib' |
||||
|
||||
# Per issue #334, sometimes Pango doesn't find the font file you want |
||||
# Pango requires fonts to be installed on the system, but sometimes the |
||||
# font name is not obvious. e.g. "Foo Regular" might be actually named "Foo" |
||||
# Use these methods to debug this problem |
||||
|
||||
# Usually you would just run this method to see what fonts are installed |
||||
# This is commented out to make our test cases |
||||
# Squib.print_system_fonts |
||||
|
||||
Squib.system_fonts.include? 'Open Sans' # checks if we have Open Sans installed |
||||
# Note: does nothing since it's just a check |
||||
Loading…
Reference in new issue