code: function loadFont(png, options) {
  
    if(!options)
      options = {};
  
    if(typeof options.fontColor == 'undefined')
      options.fontColor = [0,0,0,255];
  
    if(typeof options.toUpper == 'undefined')
      options.toUpper = true;
  
    if(typeof options.chars == 'undefined')
      options.chars = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.!?_-";
  
    if(typeof options.delimiters  == 'undefined')
      options.delimiters = [ [255,0,0,255], [0,255,0,255] ];
  
    var font = {
      toUpper: options.toUpper,
      height: png.height - 1,
      spaceBetweenChars: getCharWidth(png,0, options.delimiters[0]),
      chars: {}
    };
  
    var x = font.spaceBetweenChars;
    for (var i = 0; i < options.chars.length; i++) {
      var key = options.chars[i].toString();
      var delimiter = options.delimiters[(i+1)%options.delimiters.length];
      var char = loadFontChar(png, x, options.fontColor, delimiter);
      font.chars[key] = char;
  
      console.log("{Font} Loaded \'"+key+"\' char from position (x:"+x+") with delimiter color ("+JSON.stringify(delimiter)+") -> width:"+char.width+", pixels:" + char.pixels.length);
  
      x+=char.width;
    }
  
    console.log("{Font} Successfuly loaded ("+options.chars.length+" chars)");
  
    return font;
  }
docs: /*
  Loads a font from an image with all characters.
  
  @param {Object} png The png image object.
  @param {Object} options The options used to load the font (fontColor: foreground color of characters, toUpper: only contains upper case characters, chars: a string containing all the draw characters in the right order, delimiters: array of bottom delimiters color)
  @return {Object} The font object containing all the loading characters and properties.