Asset Managment

Quill exports a binary blob of all the assets it finds in a project's assets directory. By default, it outputs it to gui_assets.bin. The assets bin should be passed to ink_load_assets_bin prior to loading the main gui.bin using ink_load_gui_bin.

Asset Types#

Supported Image Formats#

  • png
  • .9.png (n-patch format)
  • jpeg, jpg
  • gif (supports animated gifs)
  • svg (subset)

Images may have a single channel, 3 channels (RGB), or 4 channels (RGBA). In single channel images white is fully opaque and black is fully transparent.

Supported Font Formats#

  • ttf
  • otf

Icon Fonts#

Icon fonts are recognized by Quill when it finds a css and font file with the same name. For example, icomoon.ttf and icomoon.css. Quill uses the following regular expression when parsing css files to find glyphs:

(?mxs)^\.(?P<prefix>\w+)-(?P<name>[\w-]+?):.*?\{.*?content:.*?\\(?P<sym>[0-9A-Fa-f]{4}).*?;.*?\}$

Which matches content like this:

.icon-link:before {
  content: "\e90c";
}

SVG#

Only the subset of SVG compatible with icon fonts is supported, that is close looped paths that consist only of lines and cubic bezier curves.

Translations#

Translations are xml files with one or more <translation> root elements.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<translation lang="en">
    <key>NEW_MESSAGES {{n}}</key>
    <other>You have {{n}} unread messages.</other>
</translation>

See Localization for more details on writing translation files.

N-Patch images#

N-patch files use the same image format as Android, which means you can use assets created by tools like AndroidAssetStudio. Single channel n-patch images should use black for the border and white for control points.