- CONFIGURATION PARAMETERS
- SEE ALSO
- COPYRIGHT AND LICENSE
Dancer2::Plugin::FontSubset - Generate font subsets on-the-fly
plugins: FontSubset: fonts_dir: fonts font_base_url: /font use_cache: 0
In the app:
package MyApp; use Dancer2; use Dancer2::Plugin::FontSubset; ...
in the template:
Dancer2::Plugin::FontSubset generate subsets of the glyphs of given fonts, a little like what Google Font provides. Currently, Dancer2::Plugin::FontSubset only works for a subset TTF fonts. Always test that any given font will work well with the plugin before throwing it in a production system.
to use this plugin, put your fonts in the directory
public/fonts. The original font file can be accessed via the url
/fonts/thefont.tff (natch), and its subsets via the route
/font/thefont.ttf?t=abc, where the characters to be included in the subset are passed via the t parameter. For example, the url required to generate the font subset required to render 'Hello world' would be
/font/thefont.ttf?t=%20Helowrd (including the whitespace (%20) is important, as it is often a glyph by its own right).
A JQuery utility script is also available at
/font/subset.js. If the script is loaded by a page, it will find all elements having the subfont class, generate the characters required and query the application for the subset of whichever font provided in the data-font attribute. In other words,
is all that is required to have the
h1 element of this document rendered using the appropriate subset of the
To improve performance you can enable caching, which will use Dancer2::Plugin::Cache::CHI to cache the generated font subsets.
The system directory containing the fonts, relative to
public_dir. Defaults to
The root route for the subset fonts. Defaults to
Boolean indicating if caching should be used. Defaults to false. If set to true, the application will also use Dancer2::Plugin::Cache::CHI.
Dancer::Plugin::FontSubset - the original Dancer 1 plugin.
Yanick Champoux <email@example.com>
This software is copyright (c) 2018 by Yanick Champoux.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.