parent
971bb82e72
commit
d92aab4bf3
|
|
@ -1,7 +1,10 @@
|
||||||
# Squib CHANGELOG
|
# Squib CHANGELOG
|
||||||
Squib follows [semantic versioning](http://semver.org).
|
Squib follows [semantic versioning](http://semver.org).
|
||||||
|
|
||||||
## v0.16.1 / Unreleased
|
## v0.16.1 / 2021-07-22
|
||||||
|
|
||||||
|
Features:
|
||||||
|
* Added debug methods for checking font access. `Squib.system_fonts` and `Squib.print_system_fonts` (#334)
|
||||||
|
|
||||||
Bugs:
|
Bugs:
|
||||||
* The `rows` argument is always respected in `save_sheet` (#332).
|
* The `rows` argument is always respected in `save_sheet` (#332).
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ author = u'Andy Meneely'
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = u'v0.16'
|
version = u'v0.16'
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = u'v0.16.0'
|
release = u'v0.16.1'
|
||||||
|
|
||||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
# for a list of supported languages.
|
# for a list of supported languages.
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
@ -7,6 +7,8 @@ require_relative 'squib/version'
|
||||||
require_relative 'squib/commands/cli'
|
require_relative 'squib/commands/cli'
|
||||||
require_relative 'squib/deck'
|
require_relative 'squib/deck'
|
||||||
require_relative 'squib/card'
|
require_relative 'squib/card'
|
||||||
|
require_relative 'squib/system_fonts'
|
||||||
|
|
||||||
|
|
||||||
module Squib
|
module Squib
|
||||||
using Rainbow # we can colorize strings now!
|
using Rainbow # we can colorize strings now!
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -6,6 +6,6 @@ module Squib
|
||||||
# Most of the time this is in the alpha of the next release.
|
# Most of the time this is in the alpha of the next release.
|
||||||
# e.g. v0.0.5a is on its way to becoming v0.0.5
|
# e.g. v0.0.5a is on its way to becoming v0.0.5
|
||||||
#
|
#
|
||||||
VERSION = '0.17.0a'
|
VERSION = '0.16.1'
|
||||||
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