first commit
14
build/node_modules/jimp/.editorconfig
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# See http://editorconfig.org/ for valid options and editor plugins.
|
||||
|
||||
# Prevents EditorConfig from searching higher in the tree
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespace = false
|
||||
insert_final_newline = true
|
||||
|
||||
[package.json]
|
||||
indent_size = 2
|
||||
31
build/node_modules/jimp/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# IDE files
|
||||
.project
|
||||
.idea
|
||||
*.iml
|
||||
|
||||
# Test directory
|
||||
test/
|
||||
21
build/node_modules/jimp/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Oliver Moran
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
499
build/node_modules/jimp/README.md
generated
vendored
Executable file
@@ -0,0 +1,499 @@
|
||||
<hr>
|
||||
|
||||
**Can you help maintain this project?**
|
||||
|
||||
Collaborators wanted: https://github.com/oliver-moran/jimp/issues/219
|
||||
|
||||
<hr>
|
||||
|
||||
# Jimp #
|
||||
|
||||
The "JavaScript Image Manipulation Program" :-)
|
||||
|
||||
An image processing library for Node written entirely in JavaScript, with zero external or native dependencies.
|
||||
|
||||
Installation: `npm install --save jimp`
|
||||
|
||||
Example usage:
|
||||
|
||||
```js
|
||||
var Jimp = require("jimp");
|
||||
|
||||
// open a file called "lenna.png"
|
||||
Jimp.read("lenna.png", function (err, lenna) {
|
||||
if (err) throw err;
|
||||
lenna.resize(256, 256) // resize
|
||||
.quality(60) // set JPEG quality
|
||||
.greyscale() // set greyscale
|
||||
.write("lena-small-bw.jpg"); // save
|
||||
});
|
||||
```
|
||||
|
||||
Using promises:
|
||||
|
||||
```js
|
||||
Jimp.read("lenna.png").then(function (lenna) {
|
||||
lenna.resize(256, 256) // resize
|
||||
.quality(60) // set JPEG quality
|
||||
.greyscale() // set greyscale
|
||||
.write("lena-small-bw.jpg"); // save
|
||||
}).catch(function (err) {
|
||||
console.error(err);
|
||||
});
|
||||
```
|
||||
|
||||
## Basic usage ##
|
||||
|
||||
The static `Jimp.read` method takes the path to a PNG, JPEG or BMP file and (optionally) a Node-style callback and returns a Promise:
|
||||
|
||||
```js
|
||||
Jimp.read("./path/to/image.jpg", function (err, image) {
|
||||
// do stuff with the image (if no exception)
|
||||
});
|
||||
|
||||
Jimp.read("./path/to/image.jpg").then(function (image) {
|
||||
// do stuff with the image
|
||||
}).catch(function (err) {
|
||||
// handle an exception
|
||||
});
|
||||
```
|
||||
|
||||
The method can also read a PNG, JPEG or BMP buffer or from a URL:
|
||||
|
||||
```js
|
||||
Jimp.read(lenna.buffer, function (err, image) {
|
||||
// do stuff with the image (if no exception)
|
||||
});
|
||||
|
||||
Jimp.read("http://www.example.com/path/to/lenna.jpg", function (err, image) {
|
||||
// do stuff with the image (if no exception)
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
### Basic methods ###
|
||||
|
||||
Once the callback is filed or the promise fulfilled, the following methods can be called on the image:
|
||||
|
||||
```js
|
||||
/* Resize */
|
||||
image.contain( w, h[, alignBits || mode, mode] ); // scale the image to the given width and height, some parts of the image may be letter boxed
|
||||
image.cover( w, h[, alignBits || mode, mode] ); // scale the image to the given width and height, some parts of the image may be clipped
|
||||
image.resize( w, h[, mode] ); // resize the image. Jimp.AUTO can be passed as one of the values.
|
||||
image.scale( f[, mode] ); // scale the image by the factor f
|
||||
image.scaleToFit( w, h[, mode] ); // scale the image to the largest size that fits inside the given width and height
|
||||
|
||||
// An optional resize mode can be passed with all resize methods.
|
||||
|
||||
/* Crop */
|
||||
image.autocrop([tolerance, frames]); // automatically crop same-color borders from image (if any), frames must be a Boolean
|
||||
image.crop( x, y, w, h ); // crop to the given region
|
||||
|
||||
/* Composing */
|
||||
image.blit( src, x, y[, srcx, srcy, srcw, srch] );
|
||||
// blit the image with another Jimp image at x, y, optionally cropped.
|
||||
image.composite( src, x, y ); // composites another Jimp image over this image at x, y
|
||||
image.mask( src, x, y ); // masks the image with another Jimp image at x, y using average pixel value
|
||||
image.convolute( kernel ); // applies a convolution kernel matrix to the image or a region
|
||||
|
||||
/* Flip and rotate */
|
||||
image.flip( horz, vert ); // flip the image horizontally or vertically
|
||||
image.mirror( horz, vert ); // an alias for flip
|
||||
image.rotate( deg[, mode] ); // rotate the image clockwise by a number of degrees. Optionally, a resize mode can be passed. If `false` is passed as the second parameter, the image width and height will not be resized.
|
||||
image.exifRotate(); // JPEG images with EXIF orientation data will be automatically re-orientated as appropriate.
|
||||
|
||||
/* Colour */
|
||||
image.brightness( val ); // adjust the brighness by a value -1 to +1
|
||||
image.contrast( val ); // adjust the contrast by a value -1 to +1
|
||||
image.dither565(); // ordered dithering of the image and reduce color space to 16-bits (RGB565)
|
||||
image.greyscale(); // remove colour from the image
|
||||
image.invert(); // invert the image colours
|
||||
image.normalize(); // normalize the channels in an image
|
||||
|
||||
/* Alpha channel */
|
||||
image.fade( f ); // an alternative to opacity, fades the image by a factor 0 - 1. 0 will haven no effect. 1 will turn the image
|
||||
image.opacity( f ); // multiply the alpha channel by each pixel by the factor f, 0 - 1
|
||||
image.opaque(); // set the alpha channel on every pixel to fully opaque
|
||||
image.background( hex ); // set the default new pixel colour (e.g. 0xFFFFFFFF or 0x00000000) for by some operations (e.g. image.contain and
|
||||
|
||||
/* Blurs */
|
||||
image.gaussian( r ); // Gaussian blur the image by r pixels (VERY slow)
|
||||
image.blur( r ); // fast blur the image by r pixels
|
||||
|
||||
/* Effects */
|
||||
image.posterize( n ); // apply a posterization effect with n level
|
||||
image.sepia(); // apply a sepia wash to the image
|
||||
image.pixelate( size[, x, y, w, h ]); // apply a pixelation effect to the image or a region
|
||||
|
||||
/* 3D */
|
||||
image.displace( map, offset ); // displaces the image pixels based on the provided displacement map. Useful for making stereoscopic 3D images.
|
||||
```
|
||||
|
||||
Some of these methods are irreversable, so it can be useful to perform them on a clone of the original image:
|
||||
|
||||
```js
|
||||
image.clone(); // returns a clone of the image
|
||||
```
|
||||
|
||||
(Contributions of more methods are welcome!)
|
||||
|
||||
### Resize modes ###
|
||||
|
||||
The default resizing algorithm uses a bilinear method as follows:
|
||||
|
||||
```js
|
||||
image.resize(250, 250); // resize the image to 250 x 250
|
||||
image.resize(Jimp.AUTO, 250); // resize the height to 250 and scale the width accordingly
|
||||
image.resize(250, Jimp.AUTO); // resize the width to 250 and scale the height accordingly
|
||||
```
|
||||
|
||||
Optionally, the following constants can be passed to choose a particular resizing algorithm:
|
||||
|
||||
```js
|
||||
Jimp.RESIZE_NEAREST_NEIGHBOR;
|
||||
Jimp.RESIZE_BILINEAR;
|
||||
Jimp.RESIZE_BICUBIC;
|
||||
Jimp.RESIZE_HERMITE;
|
||||
Jimp.RESIZE_BEZIER;
|
||||
```
|
||||
|
||||
For example:
|
||||
|
||||
```js
|
||||
image.resize(250, 250, Jimp.RESIZE_BEZIER);
|
||||
```
|
||||
|
||||
### Align modes ###
|
||||
|
||||
The following constants can be passed to image.cover and image.contain methods:
|
||||
|
||||
```js
|
||||
Jimp.HORIZONTAL_ALIGN_LEFT;
|
||||
Jimp.HORIZONTAL_ALIGN_CENTER;
|
||||
Jimp.HORIZONTAL_ALIGN_RIGHT;
|
||||
|
||||
Jimp.VERTICAL_ALIGN_TOP;
|
||||
Jimp.VERTICAL_ALIGN_MIDDLE;
|
||||
Jimp.VERTICAL_ALIGN_BOTTOM;
|
||||
```
|
||||
|
||||
For example:
|
||||
|
||||
```js
|
||||
image.contain(250, 250, Jimp.HORIZONTAL_ALIGN_LEFT | Jimp.VERTICAL_ALIGN_TOP);
|
||||
```
|
||||
|
||||
Default align modes are :
|
||||
|
||||
```js
|
||||
Jimp.HORIZONTAL_ALIGN_CENTER | Jimp.VERTICAL_ALIGN_MIDDLE;
|
||||
```
|
||||
|
||||
### Writing text ###
|
||||
|
||||
Jimp supports basic typography using BMFont format (.fnt) [bitmap fonts](https://en.wikipedia.org/wiki/Bitmap_fonts):
|
||||
|
||||
```js
|
||||
Jimp.loadFont( path ).then(function (font) { // load font from .fnt file
|
||||
image.print(font, x, y, str); // print a message on an image
|
||||
image.print(font, x, y, str, width); // print a message on an image with text wrapped at width
|
||||
});
|
||||
|
||||
Jimp.loadFont( path, cb ); // using a callback pattern
|
||||
```
|
||||
|
||||
BMFont fonts are raster based and fixed in size and colour. Jimp comes with a set of fonts that can be used on images:
|
||||
|
||||
```js
|
||||
Jimp.FONT_SANS_8_BLACK; // Open Sans, 8px, black
|
||||
Jimp.FONT_SANS_16_BLACK; // Open Sans, 16px, black
|
||||
Jimp.FONT_SANS_32_BLACK; // Open Sans, 32px, black
|
||||
Jimp.FONT_SANS_64_BLACK; // Open Sans, 64px, black
|
||||
Jimp.FONT_SANS_128_BLACK; // Open Sans, 128px, black
|
||||
|
||||
Jimp.FONT_SANS_8_WHITE; // Open Sans, 8px, white
|
||||
Jimp.FONT_SANS_16_WHITE; // Open Sans, 16px, white
|
||||
Jimp.FONT_SANS_32_WHITE; // Open Sans, 32px, white
|
||||
Jimp.FONT_SANS_64_WHITE; // Open Sans, 64px, white
|
||||
Jimp.FONT_SANS_128_WHITE; // Open Sans, 128px, white
|
||||
```
|
||||
|
||||
These can be used as follows:
|
||||
|
||||
```js
|
||||
Jimp.loadFont(Jimp.FONT_SANS_32_BLACK).then(function (font) {
|
||||
image.print(font, 10, 10, "Hello world!");
|
||||
});
|
||||
```
|
||||
|
||||
Online tools are also available to convert TTF fonts to BMFont format (e.g. [Littera](http://kvazars.com/littera/)).
|
||||
|
||||
## Writing to files and buffers ##
|
||||
|
||||
### Writing to files ###
|
||||
|
||||
The image can be written to disk in PNG, JPEG or BMP format (determined by the file extension) using:
|
||||
|
||||
```js
|
||||
image.write( path, cb ); // Node-style callback will be fired when write is successful
|
||||
```
|
||||
|
||||
The original extension for an image (or "png") can accessed as using `image.getExtension()`. The following will save an image using its original format:
|
||||
|
||||
```js
|
||||
var file = "new_name." + image.getExtension();
|
||||
image.write(file)
|
||||
```
|
||||
|
||||
### Writing to Buffers ###
|
||||
|
||||
A PNG, JPEG or BMP binary Buffer of an image (e.g. for storage in a database) can to got using:
|
||||
|
||||
```js
|
||||
image.getBuffer( mime, cb ); // Node-style callback will be fired with result
|
||||
```
|
||||
|
||||
For convenience, supported MIME types are available as static properties:
|
||||
|
||||
```js
|
||||
Jimp.MIME_PNG; // "image/png"
|
||||
Jimp.MIME_JPEG; // "image/jpeg"
|
||||
Jimp.MIME_BMP; // "image/bmp"
|
||||
```
|
||||
|
||||
If `Jimp.AUTO` is passed as the MIME type then the original MIME type for the image (or "image/png") will be used. Alernatively, `image.getMIME()` will return the original MIME type of the image (or "image/png").
|
||||
|
||||
### Data URI ###
|
||||
|
||||
A Base64 data URI can be generated in the same way as a Buffer, using:
|
||||
|
||||
```js
|
||||
image.getBase64( mime, cb ); // Node-style callback will be fired with result
|
||||
```
|
||||
|
||||
### PNG and JPEG quality ###
|
||||
|
||||
The quality of JPEGs can be set with:
|
||||
|
||||
```js
|
||||
image.quality( n ); // set the quality of saved JPEG, 0 - 100
|
||||
```
|
||||
|
||||
The format of PNGs can be set with:
|
||||
|
||||
```js
|
||||
image.rgba( bool ); // set whether PNGs are saved as RGBA (true, default) or RGB (false)
|
||||
image.filterType( number ); // set the filter type for the saved PNG
|
||||
image.deflateLevel( number ); // set the deflate level for the saved PNG
|
||||
Jimp.deflateStrategy( number ); // set the deflate for the saved PNG (0-3)
|
||||
```
|
||||
|
||||
For convenience, supported filter types are available as static properties:
|
||||
|
||||
```js
|
||||
Jimp.PNG_FILTER_AUTO; // -1
|
||||
Jimp.PNG_FILTER_NONE; // 0
|
||||
Jimp.PNG_FILTER_SUB; // 1
|
||||
Jimp.PNG_FILTER_UP; // 2
|
||||
Jimp.PNG_FILTER_AVERAGE; // 3
|
||||
Jimp.PNG_FILTER_PAETH; // 4
|
||||
```
|
||||
|
||||
## Advanced usage ##
|
||||
|
||||
### Colour manipulation ##
|
||||
|
||||
Jimp supports advanced colour manipulation using a single method as follows:
|
||||
|
||||
```js
|
||||
image.color([
|
||||
{ apply: 'hue', params: [ -90 ] },
|
||||
{ apply: 'lighten', params: [ 50 ] },
|
||||
{ apply: 'xor', params: [ '#06D' ] }
|
||||
]);
|
||||
```
|
||||
|
||||
The method supports the following modifiers:
|
||||
|
||||
Modifier | Description
|
||||
----------------------- | -----------------------
|
||||
**lighten** {amount} | Lighten the color a given amount, from 0 to 100. Providing 100 will always return white (works through [TinyColor](https://github.com/bgrins/TinyColor))
|
||||
**brighten** {amount} | Brighten the color a given amount, from 0 to 100 (works through [TinyColor](https://github.com/bgrins/TinyColor))
|
||||
**darken** {amount} | Darken the color a given amount, from 0 to 100. Providing 100 will always return black (works through [TinyColor](https://github.com/bgrins/TinyColor))
|
||||
**desaturate** {amount} | Desaturate the color a given amount, from 0 to 100. Providing 100 will is the same as calling greyscale (works through [TinyColor](https://github.com/bgrins/TinyColor))
|
||||
**saturate** {amount} | Saturate the color a given amount, from 0 to 100 (works through [TinyColor](https://github.com/bgrins/TinyColor))
|
||||
**greyscale** {amount} | Completely desaturates a color into greyscale (works through [TinyColor](https://github.com/bgrins/TinyColor))
|
||||
**spin** {degree} | Spin the hue a given amount, from -360 to 360. Calling with 0, 360, or -360 will do nothing - since it sets the hue back to what it was before. (works through [TinyColor](https://github.com/bgrins/TinyColor))
|
||||
**hue** {degree} | Alias for **spin**
|
||||
**mix** {color, amount} | Mixes colors by their RGB component values. Amount is opacity of overlaying color
|
||||
**tint** {amount} | Same as applying **mix** with white color
|
||||
**shade** {amount} | Same as applying **mix** with black color
|
||||
**xor** {color} | Treats the two colors as bitfields and applies an XOR operation to the red, green, and blue components
|
||||
**red** {amount} | Modify Red component by a given amount
|
||||
**green** {amount} | Modify Green component by a given amount
|
||||
**blue** {amount} | Modify Blue component by a given amount
|
||||
|
||||
### Convolution matrix ###
|
||||
|
||||
Sum neighbor pixels weighted by the kernel matrix. You can find a nice explanation with examples at [GIMP's Convolution Matrix plugin](https://docs.gimp.org/en/plug-in-convmatrix.html)
|
||||
|
||||
Implement emboss effect:
|
||||
```js
|
||||
image.convolution([
|
||||
[-2,-1, 0],
|
||||
[-1, 1, 1],
|
||||
[ 0, 1, 2]
|
||||
])
|
||||
```
|
||||
|
||||
### Low-level manipulation ###
|
||||
|
||||
Jimp enables low-level manipulation of images in memory through the bitmap property of each Jimp object:
|
||||
|
||||
```js
|
||||
image.bitmap.data; // a Buffer of the raw bitmap data
|
||||
image.bitmap.width; // the width of the image
|
||||
image.bitmap.height // the height of the image
|
||||
```
|
||||
|
||||
This data can be manipulated directly but remember: garbage in, garbage out.
|
||||
|
||||
A helper method is available to scan a region of the bitmap:
|
||||
|
||||
```js
|
||||
image.scan(x, y, w, h, f); // scan a given region of the bitmap and call the function f on every pixel
|
||||
```
|
||||
|
||||
Example usage:
|
||||
|
||||
```js
|
||||
image.scan(0, 0, image.bitmap.width, image.bitmap.height, function (x, y, idx) {
|
||||
// x, y is the position of this pixel on the image
|
||||
// idx is the position start position of this rgba tuple in the bitmap Buffer
|
||||
// this is the image
|
||||
|
||||
var red = this.bitmap.data[ idx + 0 ];
|
||||
var green = this.bitmap.data[ idx + 1 ];
|
||||
var blue = this.bitmap.data[ idx + 2 ];
|
||||
var alpha = this.bitmap.data[ idx + 3 ];
|
||||
|
||||
// rgba values run from 0 - 255
|
||||
// e.g. this.bitmap.data[idx] = 0; // removes red from this pixel
|
||||
});
|
||||
```
|
||||
A helper to locate a particular pixel within the raw bitmap buffer:
|
||||
|
||||
```js
|
||||
image.getPixelIndex(x, y); // returns the index within image.bitmap.data
|
||||
```
|
||||
|
||||
One of the following may be optionally passed as a third parameter to indicate a strategy for x, y positions that are outside of boundaries of the image:
|
||||
|
||||
```js
|
||||
Jimp.EDGE_EXTEND = 1;
|
||||
Jimp.EDGE_WRAP = 2;
|
||||
Jimp.EDGE_CROP = 3;
|
||||
```
|
||||
|
||||
Alternatively, you can manipulate individual pixels using the following these functions:
|
||||
|
||||
```js
|
||||
image.getPixelColor(x, y); // returns the colour of that pixel e.g. 0xFFFFFFFF
|
||||
image.setPixelColor(hex, x, y); // sets the colour of that pixel
|
||||
```
|
||||
|
||||
Two static helper functions exist to convert RGBA values into single integer (hex) values:
|
||||
|
||||
```js
|
||||
Jimp.rgbaToInt(r, g, b, a); // e.g. converts 255, 255, 255, 255 to 0xFFFFFFFF
|
||||
Jimp.intToRGBA(hex); // e.g. converts 0xFFFFFFFF to {r: 255, g: 255, b: 255, a:255}
|
||||
```
|
||||
|
||||
### Creating new images ###
|
||||
|
||||
If you want to begin with an empty Jimp image, you can call the Jimp constructor passing the width and height of the image to create and (optionally) a Node-style callback:
|
||||
|
||||
```js
|
||||
var image = new Jimp(256, 256, function (err, image) {
|
||||
// this image is 256 x 256, every pixel is set to 0x00000000
|
||||
});
|
||||
```
|
||||
|
||||
You can optionally set the pixel colour as follows:
|
||||
|
||||
```js
|
||||
var image = new Jimp(256, 256, 0xFF0000FF, function (err, image) {
|
||||
// this image is 256 x 256, every pixel is set to 0xFF0000FF
|
||||
});
|
||||
```
|
||||
|
||||
## Comparing images ##
|
||||
|
||||
To generate a [perceptual hash](https://en.wikipedia.org/wiki/Perceptual_hashing) of a Jimp image, based on the [pHash](http://phash.org/) algorithm, use:
|
||||
|
||||
```js
|
||||
image.hash(); // aHgG4GgoFjA
|
||||
```
|
||||
|
||||
By default the hash is returned as base 64. The hash can be returned at another base by passing a number from 2 to 64 to the method:
|
||||
|
||||
```js
|
||||
image.hash(2); // 1010101011010000101010000100101010010000011001001001010011100100
|
||||
```
|
||||
|
||||
There are 18,446,744,073,709,551,615 unique hashes. The hamming distance between the binary representation of these hashes can be used to find similar-looking images.
|
||||
|
||||
To calculate the hamming distance between two Jimp images based on their perceptual hash use:
|
||||
|
||||
```js
|
||||
Jimp.distance(image1, image2); // returns a number 0-1, where 0 means the two images are perceived to be identical
|
||||
```
|
||||
|
||||
Jimp also allows the diffing of two Jimp images using [PixelMatch](https://github.com/mapbox/pixelmatch) as follows:
|
||||
|
||||
```js
|
||||
var diff = Jimp.diff(image1, image2, threshold); // threshold ranges 0-1 (default: 0.1)
|
||||
diff.image; // a Jimp image showing differences
|
||||
diff.percent; // the proportion of different pixels (0-1), where 0 means the images are pixel identical
|
||||
```
|
||||
|
||||
Using a mix of hamming distance and pixel diffing to comare images, the following code has a 99% success rate of detecting the same image from a random sample (with 1% false positives). The test this figure is drawn from attempts to match each image from a sample of 120 PNGs against 120 corresponing JPEGs saved at a quality setting of 60.
|
||||
|
||||
```js
|
||||
var distance = Jimp.distance(png, jpeg); // perceived distance
|
||||
var diff = Jimp.diff(png, jpeg); // pixel difference
|
||||
|
||||
if (distance < 0.15 || diff.percent < 0.15) {
|
||||
// images match
|
||||
} else {
|
||||
// not a match
|
||||
}
|
||||
```
|
||||
|
||||
## Chaining or callbacks ##
|
||||
|
||||
Most instance methods can be chained together, for example as follows:
|
||||
|
||||
```js
|
||||
Jimp.read("lenna.png", function (err, image) {
|
||||
this.greyscale().scale(0.5).write("lena-half-bw.png");
|
||||
});
|
||||
```
|
||||
|
||||
Alternatively, methods can be passed Node-style callbacks:
|
||||
|
||||
```js
|
||||
Jimp.read("lenna.png", function (err, image) {
|
||||
image.greyscale(function(err, image) {
|
||||
image.scale(0.5, function (err, image) {
|
||||
image.write("lena-half-bw.png");
|
||||
});
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
The Node-style callback pattern allows Jimp to be used with frameworks that expect or build on the Node-style callback pattern.
|
||||
|
||||
## License ##
|
||||
|
||||
Jimp is licensed under the MIT license. Open Sans is licensed under the Apache license.
|
||||
2
build/node_modules/jimp/browser/.editorconfig
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# Exclude this directory
|
||||
root = true
|
||||
71
build/node_modules/jimp/browser/README.md
generated
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
# Jimp ... in a browser #
|
||||
|
||||
Browser support for Jimp was added by Phil Seaton. This enabled Jimp to be used in [Electron](http://electron.atom.io/) applications as well as web browsers.
|
||||
|
||||
Example usage:
|
||||
|
||||
```html
|
||||
<script src="jimp.min.js"></script>
|
||||
<script>
|
||||
Jimp.read("lenna.png").then(function (lenna) {
|
||||
lenna.resize(256, 256) // resize
|
||||
.quality(60) // set JPEG quality
|
||||
.greyscale() // set greyscale
|
||||
.getBase64(Jimp.MIME_JPEG, function (err, src) {
|
||||
var img = document.createElement("img");
|
||||
img.setAttribute("src", src);
|
||||
document.body.appendChild(img);
|
||||
});
|
||||
}).catch(function (err) {
|
||||
console.error(err);
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
See the [main documentation](https://github.com/oliver-moran/jimp) for the full API documenatinon.
|
||||
|
||||
## WebWorkers ##
|
||||
|
||||
For better performance, it recommended that Jimp methods are run on a separate thread using [`WebWorkers`](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers). The following shows how using two files (`index.html` and `jimp-worker.js`):
|
||||
|
||||
```js
|
||||
// index.html
|
||||
|
||||
var worker = new Worker("jimp-worker.js");
|
||||
worker.onmessage = function (e) {
|
||||
// append a new img element using the base 64 image
|
||||
var img = document.createElement("img");
|
||||
img.setAttribute("src", e.data);
|
||||
document.body.appendChild(img);
|
||||
};
|
||||
worker.postMessage("lenna.png"); // message the worker thread
|
||||
```
|
||||
|
||||
```js
|
||||
// jimp-worker.js
|
||||
|
||||
importScripts("jimp.min.js");
|
||||
|
||||
self.addEventListener("message", function(e) {
|
||||
Jimp.read(e.data).then(function (lenna) {
|
||||
lenna.resize(256, 256) // resize
|
||||
.quality(60) // set JPEG quality
|
||||
.greyscale() // set greyscale
|
||||
.getBase64(Jimp.MIME_JPEG, function (err, src) {
|
||||
self.postMessage(src); // message the main thread
|
||||
});
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
## CDN ##
|
||||
|
||||
CDN access to the minified library is available through the [RawGit CDN](https://rawgit.com/):
|
||||
|
||||
```html
|
||||
<script src="https://cdn.rawgit.com/oliver-moran/jimp/v0.2.28/browser/lib/jimp.min.js"></script>
|
||||
```
|
||||
|
||||
## License ##
|
||||
|
||||
Jimp is licensed under the MIT license.
|
||||
47
build/node_modules/jimp/browser/browserify-build.sh
generated
vendored
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This mechanism could offer simple variations on the build.
|
||||
# Features could be productively grouped for smaller file size
|
||||
# eg: I/O, Affine Transforms, Bitmap Operations, Gamma Curves, and Layers
|
||||
# Initial Build includes everything except file IO, which is browser-incompatible
|
||||
cd ${0%/*}
|
||||
echo "Browserifying index.js..."
|
||||
ENVIRONMENT=BROWSER \
|
||||
browserify --ignore-missing Buffer -t envify -t uglifyify ../index.js > tmp1.js
|
||||
echo "Translating for ES5..."
|
||||
babel tmp1.js -o tmp.js --presets es2015,stage-0
|
||||
|
||||
|
||||
# A TRUE hack. Use strict at the top seems to cause problems for ie10 interpreting this line from bmp-js:
|
||||
# https://github.com/shaozilee/bmp-js/blob/master/lib/decoder.js
|
||||
# module.exports = decode = function(bmpData) { ...
|
||||
# For some reason, babeljs misses this "error" but IE can parse the code fine without strict mode.
|
||||
echo "Removing Strict Mode."
|
||||
sed -E "s/^\"use strict\";|ret=Z_BUF_ERROR;//" tmp.js > tmp-nostrict.js
|
||||
|
||||
echo "Adding Web Worker wrapper functions..."
|
||||
cat tmp-nostrict.js src/jimp-wrapper.js > tmp.jimp.js
|
||||
echo "Minifying browser/jimp.min.js..."
|
||||
# uglifyjs tmp.jimp.js --compress warnings=false --mangle -o tmp.jimp.min.js
|
||||
npm run-script minify-jimp
|
||||
|
||||
|
||||
echo "Including the License and version number in the jimp.js and jimp.min.js"
|
||||
PACKAGE_VERSION=$(cat ../package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[", ]//g')
|
||||
{ echo "/*";
|
||||
echo "Jimp v$PACKAGE_VERSION";
|
||||
echo "https://github.com/oliver-moran/jimp";
|
||||
echo "Ported for the Web by Phil Seaton";
|
||||
echo "";
|
||||
cat ../LICENSE;
|
||||
echo "*/";
|
||||
echo ""; } > tmp.web_license.txt
|
||||
|
||||
(cat tmp.web_license.txt ; echo "var window = window || self;" ; cat tmp.jimp.js; ) > lib/jimp.js
|
||||
(cat tmp.web_license.txt ; echo "var window = window || self;" ; cat tmp.jimp.min.js; ) > lib/jimp.min.js
|
||||
|
||||
echo "Updating package version in README.md"
|
||||
sed -i.bak "s/v[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*/v$PACKAGE_VERSION/g" README.md; rm README.md.bak
|
||||
|
||||
echo "Cleaning up...."
|
||||
rm tmp*
|
||||
BIN
build/node_modules/jimp/browser/examples/dice.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 213 KiB |
24
build/node_modules/jimp/browser/examples/example1.html
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Jimp browser example 1</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Demonstrates loading a local file using Jimp on the main thread -->
|
||||
<script src="../lib/jimp.min.js"></script>
|
||||
<script>
|
||||
Jimp.read("https://upload.wikimedia.org/wikipedia/commons/0/01/Bot-Test.jpg").then(function (lenna) {
|
||||
lenna.resize(256, Jimp.AUTO) // resize
|
||||
.quality(60) // set JPEG quality
|
||||
.greyscale() // set greyscale
|
||||
.getBase64(Jimp.AUTO, function (err, src) {
|
||||
var img = document.createElement("img");
|
||||
img.setAttribute("src", src);
|
||||
document.body.appendChild(img);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
20
build/node_modules/jimp/browser/examples/example2.html
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Jimp browser example 2</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Demonstrates loading a relative file using Jimp on a WebWorker thread -->
|
||||
<script>
|
||||
var worker = new Worker("jimp-worker.js");
|
||||
worker.onmessage = function (e) {
|
||||
var img = document.createElement("img");
|
||||
img.setAttribute("src", e.data);
|
||||
document.body.appendChild(img);
|
||||
};
|
||||
worker.postMessage("lenna.png");
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
35
build/node_modules/jimp/browser/examples/example3.html
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Jimp browser example 3</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Demonstrates loading a local file using Jimp on a WebWorker thread -->
|
||||
<p><input type="file" onchange="newFiles(this);" /></p>
|
||||
<script>
|
||||
|
||||
function newFiles(element){
|
||||
for (var i=0; i<element.files.length; i++) {
|
||||
readFileAndProcess(element.files[i]);
|
||||
}
|
||||
|
||||
function readFileAndProcess(readfile){
|
||||
var reader = new FileReader();
|
||||
reader.addEventListener("load", function(){
|
||||
var worker = new Worker("jimp-worker.js");
|
||||
worker.onmessage = function (e) {
|
||||
var img = document.createElement("img");
|
||||
img.setAttribute("src", e.data);
|
||||
document.body.appendChild(img);
|
||||
};
|
||||
worker.postMessage(this.result);
|
||||
});
|
||||
reader.readAsArrayBuffer(readfile);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
13
build/node_modules/jimp/browser/examples/jimp-worker.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
importScripts("../lib/jimp.min.js");
|
||||
|
||||
self.addEventListener("message", function(e) {
|
||||
Jimp.read(e.data).then(function (lenna) {
|
||||
lenna.resize(256, Jimp.AUTO) // resize
|
||||
.quality(60) // set JPEG quality
|
||||
.greyscale() // set greyscale
|
||||
.getBase64(Jimp.AUTO, function (err, src) {
|
||||
self.postMessage(src);
|
||||
self.close();
|
||||
});
|
||||
});
|
||||
});
|
||||
BIN
build/node_modules/jimp/browser/examples/lenna.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 463 KiB |
43
build/node_modules/jimp/browser/examples/test.html
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Jimp browser example 1</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Demonstrates loading a local file using Jimp on the main thread -->
|
||||
<script src="../lib/jimp.min.js"></script>
|
||||
<script>
|
||||
|
||||
function dropShadow(x, y, b, a) {
|
||||
var img = new Jimp(this.bitmap.width + Math.abs(x*2) + (b*2), this.bitmap.height + Math.abs(y*2) + (b*2));
|
||||
var orig = this.clone();
|
||||
this.scan(0, 0, this.bitmap.width, this.bitmap.height, function (x, y, idx) {
|
||||
this.bitmap.data[ idx + 0 ] = 0;
|
||||
this.bitmap.data[ idx + 1 ] = 0;
|
||||
this.bitmap.data[ idx + 2 ] = 0;
|
||||
this.bitmap.data[ idx + 3 ] = this.bitmap.data[ idx + 3 ] * a;
|
||||
});
|
||||
// this.resize(this.bitmap.width + Math.abs(x) + b, this.bitmap.height + Math.abs(y) + b);
|
||||
|
||||
var x1 = Math.max(x * -1, 0) + b;
|
||||
var y1 = Math.max(y * -1, 0) + b;
|
||||
img.composite(this, x1, y1);
|
||||
img.blur(b);
|
||||
img.composite(orig, x1 - x, y1 - y);
|
||||
//img.autocrop();
|
||||
return img;
|
||||
}
|
||||
Jimp.read("dice.png").then(function (img) {
|
||||
console.log(img.getMIME(), img.getExtension());
|
||||
var img = dropShadow.call(img, 20, 20, 20, 0.3)
|
||||
img.getBase64(Jimp.AUTO, function (err, src) {
|
||||
var img = document.createElement("img");
|
||||
img.setAttribute("src", src);
|
||||
document.body.appendChild(img);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
128
build/node_modules/jimp/browser/lib/jimp.js
generated
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
/*
|
||||
Jimp v0.2.28
|
||||
https://github.com/oliver-moran/jimp
|
||||
Ported for the Web by Phil Seaton
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Oliver Moran
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
var window = window || self;
|
||||
// The MIT License (MIT)
|
||||
//
|
||||
// Copyright (c) 2015 Phil Seaton
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
if (!self.Buffer && !window.Buffer){
|
||||
throw new Error("Node's Buffer() not available");
|
||||
} else if (!self.Jimp && !window.Jimp) {
|
||||
throw new Error("Could not Jimp object");
|
||||
}
|
||||
|
||||
(function(){
|
||||
|
||||
function fetchImageDataFromUrl(url, cb) {
|
||||
// Fetch image data via xhr. Note that this will not work
|
||||
// without cross-domain allow-origin headers because of CORS restrictions
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open( "GET", url, true );
|
||||
xhr.responseType = "arraybuffer";
|
||||
xhr.onload = function() {
|
||||
if (xhr.status < 400) cb(this.response,null);
|
||||
else cb(null,"HTTP Status " + xhr.status + " for url "+url);
|
||||
};
|
||||
xhr.onerror = function(e){
|
||||
cb(null,e);
|
||||
};
|
||||
|
||||
xhr.send();
|
||||
};
|
||||
|
||||
function bufferFromArrayBuffer(arrayBuffer) {
|
||||
// Prepare a Buffer object from the arrayBuffer. Necessary in the browser > node conversion,
|
||||
// But this function is not useful when running in node directly
|
||||
var buffer = new Buffer(arrayBuffer.byteLength);
|
||||
var view = new Uint8Array(arrayBuffer);
|
||||
for (var i = 0; i < buffer.length; ++i) {
|
||||
buffer[i] = view[i];
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
function isArrayBuffer(test) {
|
||||
return Object.prototype.toString.call(test).toLowerCase().indexOf("arraybuffer") > -1;
|
||||
}
|
||||
|
||||
// delete the write method
|
||||
delete Jimp.prototype.write;
|
||||
|
||||
// Override the nodejs implementation of Jimp.read()
|
||||
delete Jimp.read;
|
||||
Jimp.read = function(src, cb) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
cb = cb || function(err, image) {
|
||||
if (err) reject(err);
|
||||
else resolve(image);
|
||||
};
|
||||
|
||||
if ("string" == typeof src) {
|
||||
// Download via xhr
|
||||
fetchImageDataFromUrl(src,function(arrayBuffer,error){
|
||||
if (arrayBuffer) {
|
||||
if (!isArrayBuffer(arrayBuffer)) {
|
||||
cb(new Error("Unrecognized data received for " + src));
|
||||
} else {
|
||||
new Jimp(bufferFromArrayBuffer(arrayBuffer),cb);
|
||||
}
|
||||
} else if (error) {
|
||||
cb(error);
|
||||
}
|
||||
});
|
||||
} else if (isArrayBuffer(src)) {
|
||||
// src is an ArrayBuffer already
|
||||
new Jimp(bufferFromArrayBuffer(src), cb);
|
||||
} else {
|
||||
// src is not a string or ArrayBuffer
|
||||
cb(new Error("Jimp expects a single ArrayBuffer or image URL"));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
30
build/node_modules/jimp/browser/lib/jimp.min.js
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
Jimp v0.2.28
|
||||
https://github.com/oliver-moran/jimp
|
||||
Ported for the Web by Phil Seaton
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Oliver Moran
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
var window = window || self;
|
||||
if(!self.Buffer&&!window.Buffer)throw new Error("Node's Buffer() not available");if(!self.Jimp&&!window.Jimp)throw new Error("Could not Jimp object");!function(){function e(e,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){n.status<400?r(this.response,null):r(null,"HTTP Status "+n.status+" for url "+e)},n.onerror=function(e){r(null,e)},n.send()}function r(e){for(var r=new Buffer(e.byteLength),n=new Uint8Array(e),t=0;t<r.length;++t)r[t]=n[t];return r}function n(e){return Object.prototype.toString.call(e).toLowerCase().indexOf("arraybuffer")>-1}delete Jimp.prototype.write,delete Jimp.read,Jimp.read=function(t,o){return new Promise(function(i,f){o=o||function(e,r){e?f(e):i(r)},"string"==typeof t?e(t,function(e,i){e?n(e)?new Jimp(r(e),o):o(new Error("Unrecognized data received for "+t)):i&&o(i)}):n(t)?new Jimp(r(t),o):o(new Error("Jimp expects a single ArrayBuffer or image URL"))})}}();
|
||||
99
build/node_modules/jimp/browser/src/jimp-wrapper.js
generated
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
// The MIT License (MIT)
|
||||
//
|
||||
// Copyright (c) 2015 Phil Seaton
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
if (!self.Buffer && !window.Buffer){
|
||||
throw new Error("Node's Buffer() not available");
|
||||
} else if (!self.Jimp && !window.Jimp) {
|
||||
throw new Error("Could not Jimp object");
|
||||
}
|
||||
|
||||
(function(){
|
||||
|
||||
function fetchImageDataFromUrl(url, cb) {
|
||||
// Fetch image data via xhr. Note that this will not work
|
||||
// without cross-domain allow-origin headers because of CORS restrictions
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open( "GET", url, true );
|
||||
xhr.responseType = "arraybuffer";
|
||||
xhr.onload = function() {
|
||||
if (xhr.status < 400) cb(this.response,null);
|
||||
else cb(null,"HTTP Status " + xhr.status + " for url "+url);
|
||||
};
|
||||
xhr.onerror = function(e){
|
||||
cb(null,e);
|
||||
};
|
||||
|
||||
xhr.send();
|
||||
};
|
||||
|
||||
function bufferFromArrayBuffer(arrayBuffer) {
|
||||
// Prepare a Buffer object from the arrayBuffer. Necessary in the browser > node conversion,
|
||||
// But this function is not useful when running in node directly
|
||||
var buffer = new Buffer(arrayBuffer.byteLength);
|
||||
var view = new Uint8Array(arrayBuffer);
|
||||
for (var i = 0; i < buffer.length; ++i) {
|
||||
buffer[i] = view[i];
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
function isArrayBuffer(test) {
|
||||
return Object.prototype.toString.call(test).toLowerCase().indexOf("arraybuffer") > -1;
|
||||
}
|
||||
|
||||
// delete the write method
|
||||
delete Jimp.prototype.write;
|
||||
|
||||
// Override the nodejs implementation of Jimp.read()
|
||||
delete Jimp.read;
|
||||
Jimp.read = function(src, cb) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
cb = cb || function(err, image) {
|
||||
if (err) reject(err);
|
||||
else resolve(image);
|
||||
};
|
||||
|
||||
if ("string" == typeof src) {
|
||||
// Download via xhr
|
||||
fetchImageDataFromUrl(src,function(arrayBuffer,error){
|
||||
if (arrayBuffer) {
|
||||
if (!isArrayBuffer(arrayBuffer)) {
|
||||
cb(new Error("Unrecognized data received for " + src));
|
||||
} else {
|
||||
new Jimp(bufferFromArrayBuffer(arrayBuffer),cb);
|
||||
}
|
||||
} else if (error) {
|
||||
cb(error);
|
||||
}
|
||||
});
|
||||
} else if (isArrayBuffer(src)) {
|
||||
// src is an ArrayBuffer already
|
||||
new Jimp(bufferFromArrayBuffer(src), cb);
|
||||
} else {
|
||||
// src is not a string or ArrayBuffer
|
||||
cb(new Error("Jimp expects a single ArrayBuffer or image URL"));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
14
build/node_modules/jimp/example.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
var Jimp = require("jimp");
|
||||
|
||||
var url = "https://upload.wikimedia.org/wikipedia/commons/0/01/Bot-Test.jpg";
|
||||
|
||||
Jimp.read(url).then(function (image) {
|
||||
image.greyscale().getBuffer(Jimp.MIME_JPEG, onBuffer);
|
||||
}).catch(function (err) {
|
||||
console.error(err);
|
||||
})
|
||||
|
||||
function onBuffer(err, buffer) {
|
||||
if (err) throw err;
|
||||
console.log(buffer);
|
||||
}
|
||||
201
build/node_modules/jimp/fonts/open-sans/Apache License.txt
generated
vendored
Executable file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
297
build/node_modules/jimp/fonts/open-sans/open-sans-128-black/open-sans-128-black.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-128-black" size="128" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="143" base="115" scaleW="4096" scaleH="431" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-128-black.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="25" width="14" height="92" xoffset="11" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="34" x="18" y="25" width="34" height="33" xoffset="6" yoffset="23" xadvance="45" page="0" chnl="15"/>
|
||||
<char id="35" x="54" y="23" width="69" height="95" xoffset="1" yoffset="22" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="36" x="125" y="16" width="61" height="114" xoffset="5" yoffset="15" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="37" x="188" y="23" width="99" height="97" xoffset="7" yoffset="22" xadvance="114" page="0" chnl="15"/>
|
||||
<char id="38" x="289" y="23" width="77" height="96" xoffset="6" yoffset="22" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="39" x="368" y="25" width="13" height="33" xoffset="6" yoffset="23" xadvance="24" page="0" chnl="15"/>
|
||||
<char id="40" x="383" y="23" width="31" height="120" xoffset="8" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="41" x="416" y="23" width="31" height="120" xoffset="8" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="42" x="449" y="23" width="42" height="39" xoffset="4" yoffset="22" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="43" x="493" y="41" width="61" height="61" xoffset="7" yoffset="39" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="44" x="556" y="103" width="14" height="31" xoffset="11" yoffset="102" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="45" x="572" y="77" width="35" height="12" xoffset="4" yoffset="76" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="46" x="609" y="103" width="13" height="13" xoffset="12" yoffset="102" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="47" x="624" y="23" width="36" height="95" xoffset="0" yoffset="22" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="48" x="662" y="24" width="60" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="49" x="724" y="24" width="34" height="92" xoffset="14" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="50" x="760" y="24" width="61" height="92" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="51" x="823" y="24" width="60" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="52" x="885" y="25" width="64" height="92" xoffset="2" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="53" x="951" y="26" width="61" height="92" xoffset="5" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="54" x="1014" y="24" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="55" x="1077" y="26" width="60" height="91" xoffset="6" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="56" x="1139" y="24" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="57" x="1202" y="24" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="58" x="1265" y="50" width="13" height="67" xoffset="12" yoffset="48" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="59" x="1280" y="50" width="14" height="85" xoffset="11" yoffset="48" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="60" x="1296" y="40" width="61" height="62" xoffset="7" yoffset="39" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="61" x="1359" y="52" width="61" height="39" xoffset="7" yoffset="50" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="62" x="1422" y="40" width="61" height="62" xoffset="7" yoffset="39" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="63" x="1485" y="23" width="59" height="94" xoffset="6" yoffset="22" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="64" x="1546" y="23" width="119" height="121" xoffset="7" yoffset="21" xadvance="130" page="0" chnl="15"/>
|
||||
<char id="65" x="1667" y="25" width="86" height="92" xoffset="0" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="66" x="1755" y="25" width="70" height="92" xoffset="9" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="67" x="1827" y="23" width="81" height="95" xoffset="6" yoffset="22" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="68" x="1910" y="25" width="76" height="92" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="69" x="1988" y="25" width="69" height="92" xoffset="10" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="70" x="2059" y="25" width="62" height="92" xoffset="11" yoffset="23" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="71" x="2123" y="23" width="85" height="95" xoffset="7" yoffset="22" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="72" x="2210" y="25" width="72" height="92" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="73" x="2284" y="25" width="12" height="92" xoffset="12" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="74" x="2298" y="25" width="51" height="94" xoffset="3" yoffset="23" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="75" x="2351" y="25" width="76" height="92" xoffset="9" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="76" x="2429" y="25" width="58" height="92" xoffset="9" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="77" x="2489" y="25" width="88" height="92" xoffset="10" yoffset="23" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="78" x="2579" y="25" width="73" height="92" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="79" x="2654" y="23" width="88" height="95" xoffset="6" yoffset="22" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="80" x="2744" y="25" width="70" height="92" xoffset="10" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="81" x="2816" y="23" width="90" height="101" xoffset="6" yoffset="22" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="82" x="2908" y="25" width="81" height="92" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="83" x="2991" y="23" width="73" height="95" xoffset="6" yoffset="22" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="84" x="3066" y="25" width="73" height="92" xoffset="3" yoffset="23" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="85" x="3141" y="25" width="72" height="94" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="86" x="3215" y="25" width="84" height="92" xoffset="1" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="87" x="3301" y="25" width="118" height="92" xoffset="2" yoffset="23" xadvance="121" page="0" chnl="15"/>
|
||||
<char id="88" x="3421" y="25" width="84" height="92" xoffset="1" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="89" x="3507" y="25" width="84" height="92" xoffset="0" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="90" x="3593" y="25" width="73" height="92" xoffset="3" yoffset="23" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="91" x="3668" y="25" width="25" height="117" xoffset="9" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="92" x="3695" y="23" width="36" height="95" xoffset="0" yoffset="22" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="93" x="3733" y="25" width="25" height="117" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="94" x="3760" y="23" width="54" height="50" xoffset="3" yoffset="22" xadvance="60" page="0" chnl="15"/>
|
||||
<char id="95" x="3816" y="134" width="75" height="8" xoffset="-2" yoffset="132" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="97" x="3893" y="48" width="61" height="70" xoffset="5" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="98" x="3956" y="25" width="58" height="93" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="99" x="4016" y="48" width="58" height="70" xoffset="5" yoffset="47" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="100" x="2" y="169" width="58" height="93" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="101" x="62" y="192" width="62" height="70" xoffset="5" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="102" x="126" y="167" width="39" height="94" xoffset="1" yoffset="22" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="103" x="167" y="192" width="59" height="95" xoffset="4" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="104" x="228" y="169" width="54" height="92" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="105" x="284" y="169" width="12" height="92" xoffset="9" yoffset="23" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="106" x="298" y="169" width="26" height="119" xoffset="-6" yoffset="23" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="107" x="326" y="169" width="55" height="92" xoffset="9" yoffset="23" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="108" x="383" y="169" width="12" height="92" xoffset="8" yoffset="23" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="109" x="397" y="192" width="90" height="68" xoffset="8" yoffset="47" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="110" x="489" y="192" width="54" height="68" xoffset="8" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="111" x="545" y="192" width="63" height="70" xoffset="4" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="112" x="610" y="192" width="58" height="94" xoffset="8" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="113" x="670" y="192" width="58" height="94" xoffset="5" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="114" x="730" y="192" width="36" height="68" xoffset="8" yoffset="47" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="115" x="768" y="192" width="55" height="70" xoffset="4" yoffset="47" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="116" x="825" y="171" width="33" height="91" xoffset="2" yoffset="25" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="117" x="860" y="194" width="54" height="68" xoffset="8" yoffset="48" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="118" x="916" y="194" width="61" height="67" xoffset="2" yoffset="48" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="119" x="979" y="194" width="91" height="67" xoffset="0" yoffset="48" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="120" x="1072" y="194" width="62" height="67" xoffset="1" yoffset="48" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="121" x="1136" y="194" width="61" height="94" xoffset="2" yoffset="48" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="122" x="1199" y="194" width="59" height="67" xoffset="3" yoffset="48" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="123" x="1260" y="167" width="37" height="120" xoffset="4" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="124" x="1299" y="167" width="10" height="120" xoffset="12" yoffset="22" xadvance="33" page="0" chnl="15"/>
|
||||
<char id="125" x="1311" y="167" width="37" height="120" xoffset="3" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="126" x="1350" y="205" width="64" height="21" xoffset="5" yoffset="59" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="161" x="1416" y="194" width="14" height="92" xoffset="15" yoffset="48" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="162" x="1432" y="169" width="58" height="118" xoffset="7" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="163" x="1492" y="167" width="66" height="95" xoffset="2" yoffset="22" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="164" x="1560" y="184" width="62" height="62" xoffset="5" yoffset="39" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="165" x="1624" y="169" width="71" height="92" xoffset="0" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="166" x="1697" y="167" width="10" height="120" xoffset="12" yoffset="22" xadvance="33" page="0" chnl="15"/>
|
||||
<char id="167" x="1709" y="167" width="61" height="120" xoffset="5" yoffset="22" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="168" x="1772" y="168" width="35" height="13" xoffset="4" yoffset="23" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="169" x="1809" y="167" width="95" height="95" xoffset="0" yoffset="22" xadvance="94" page="0" chnl="15"/>
|
||||
<char id="170" x="1906" y="167" width="42" height="47" xoffset="3" yoffset="22" xadvance="47" page="0" chnl="15"/>
|
||||
<char id="171" x="1950" y="199" width="54" height="57" xoffset="8" yoffset="53" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="172" x="2006" y="196" width="61" height="38" xoffset="7" yoffset="50" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="173" x="2069" y="221" width="35" height="12" xoffset="4" yoffset="76" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="174" x="2106" y="167" width="95" height="95" xoffset="0" yoffset="22" xadvance="94" page="0" chnl="15"/>
|
||||
<char id="175" x="2203" y="154" width="75" height="8" xoffset="-2" yoffset="9" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="176" x="2280" y="167" width="35" height="35" xoffset="8" yoffset="22" xadvance="51" page="0" chnl="15"/>
|
||||
<char id="177" x="2317" y="183" width="61" height="77" xoffset="5" yoffset="38" xadvance="70" page="0" chnl="15"/>
|
||||
<char id="178" x="2380" y="168" width="39" height="47" xoffset="2" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="179" x="2421" y="168" width="39" height="48" xoffset="2" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="180" x="2462" y="168" width="23" height="18" xoffset="14" yoffset="23" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="181" x="2487" y="194" width="54" height="92" xoffset="10" yoffset="48" xadvance="74" page="0" chnl="15"/>
|
||||
<char id="182" x="2543" y="169" width="69" height="117" xoffset="0" yoffset="23" xadvance="69" page="0" chnl="15"/>
|
||||
<char id="183" x="2614" y="208" width="13" height="13" xoffset="15" yoffset="62" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="184" x="2629" y="259" width="27" height="28" xoffset="7" yoffset="113" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="185" x="2658" y="168" width="23" height="47" xoffset="7" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="186" x="2683" y="167" width="41" height="47" xoffset="3" yoffset="22" xadvance="47" page="0" chnl="15"/>
|
||||
<char id="187" x="2726" y="199" width="54" height="57" xoffset="9" yoffset="53" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="188" x="2782" y="167" width="99" height="97" xoffset="7" yoffset="22" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="189" x="2883" y="167" width="98" height="97" xoffset="7" yoffset="22" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="190" x="2983" y="167" width="103" height="97" xoffset="2" yoffset="22" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="191" x="3088" y="194" width="59" height="94" xoffset="10" yoffset="48" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="192" x="3149" y="146" width="86" height="115" xoffset="0" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="193" x="3237" y="146" width="86" height="115" xoffset="0" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="194" x="3325" y="146" width="86" height="115" xoffset="0" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="195" x="3413" y="149" width="86" height="112" xoffset="0" yoffset="3" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="196" x="3501" y="150" width="86" height="110" xoffset="0" yoffset="5" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="197" x="3589" y="149" width="86" height="112" xoffset="0" yoffset="4" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="198" x="3677" y="169" width="121" height="92" xoffset="0" yoffset="23" xadvance="128" page="0" chnl="15"/>
|
||||
<char id="199" x="3800" y="167" width="81" height="120" xoffset="6" yoffset="22" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="200" x="3883" y="146" width="69" height="115" xoffset="10" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="201" x="3954" y="146" width="69" height="115" xoffset="10" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="202" x="4025" y="146" width="69" height="115" xoffset="10" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="203" x="2" y="294" width="69" height="110" xoffset="10" yoffset="5" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="204" x="73" y="290" width="24" height="115" xoffset="3" yoffset="0" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="205" x="99" y="290" width="23" height="115" xoffset="9" yoffset="0" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="206" x="124" y="290" width="40" height="115" xoffset="-2" yoffset="0" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="207" x="166" y="294" width="35" height="110" xoffset="0" yoffset="5" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="208" x="203" y="313" width="86" height="92" xoffset="0" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="209" x="291" y="293" width="73" height="112" xoffset="10" yoffset="3" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="210" x="366" y="290" width="88" height="117" xoffset="6" yoffset="0" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="211" x="456" y="290" width="88" height="117" xoffset="6" yoffset="0" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="212" x="546" y="290" width="88" height="117" xoffset="6" yoffset="0" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="213" x="636" y="293" width="88" height="114" xoffset="6" yoffset="3" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="214" x="726" y="294" width="88" height="112" xoffset="6" yoffset="5" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="215" x="816" y="332" width="55" height="55" xoffset="10" yoffset="42" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="216" x="873" y="309" width="90" height="99" xoffset="5" yoffset="20" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="217" x="965" y="290" width="72" height="117" xoffset="10" yoffset="0" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="218" x="1039" y="290" width="72" height="117" xoffset="10" yoffset="0" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="219" x="1113" y="290" width="72" height="117" xoffset="10" yoffset="0" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="220" x="1187" y="294" width="72" height="112" xoffset="10" yoffset="5" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="221" x="1261" y="290" width="84" height="115" xoffset="0" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="222" x="1347" y="313" width="70" height="92" xoffset="10" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="223" x="1419" y="311" width="65" height="95" xoffset="10" yoffset="22" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="224" x="1486" y="312" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="225" x="1549" y="312" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="226" x="1612" y="312" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="227" x="1675" y="314" width="61" height="92" xoffset="5" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="228" x="1738" y="312" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="229" x="1801" y="309" width="61" height="97" xoffset="5" yoffset="20" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="230" x="1864" y="336" width="105" height="70" xoffset="4" yoffset="47" xadvance="114" page="0" chnl="15"/>
|
||||
<char id="231" x="1971" y="336" width="58" height="93" xoffset="5" yoffset="47" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="232" x="2031" y="312" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="233" x="2095" y="312" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="234" x="2159" y="312" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="235" x="2223" y="312" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="236" x="2287" y="312" width="24" height="92" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="237" x="2313" y="312" width="23" height="92" xoffset="12" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="238" x="2338" y="312" width="40" height="92" xoffset="-1" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="239" x="2380" y="312" width="35" height="93" xoffset="1" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="240" x="2417" y="313" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="241" x="2481" y="314" width="54" height="91" xoffset="8" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="242" x="2537" y="312" width="63" height="94" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="243" x="2602" y="312" width="63" height="94" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="244" x="2667" y="312" width="63" height="94" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="245" x="2732" y="314" width="63" height="92" xoffset="4" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="246" x="2797" y="312" width="63" height="94" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="247" x="2862" y="334" width="61" height="51" xoffset="5" yoffset="44" xadvance="70" page="0" chnl="15"/>
|
||||
<char id="248" x="2925" y="334" width="63" height="76" xoffset="8" yoffset="44" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="249" x="2990" y="312" width="54" height="94" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="250" x="3046" y="312" width="54" height="94" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="251" x="3102" y="312" width="54" height="94" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="252" x="3158" y="312" width="54" height="94" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="253" x="3214" y="312" width="61" height="119" xoffset="2" yoffset="23" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="254" x="3277" y="313" width="58" height="117" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="255" x="3337" y="312" width="61" height="119" xoffset="2" yoffset="23" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="-7"/>
|
||||
<kerning first="32" second="84" amount="-2"/>
|
||||
<kerning first="32" second="89" amount="-2"/>
|
||||
<kerning first="49" second="49" amount="-9"/>
|
||||
<kerning first="65" second="32" amount="-7"/>
|
||||
<kerning first="65" second="84" amount="-9"/>
|
||||
<kerning first="65" second="86" amount="-9"/>
|
||||
<kerning first="65" second="87" amount="-5"/>
|
||||
<kerning first="65" second="89" amount="-9"/>
|
||||
<kerning first="65" second="118" amount="-2"/>
|
||||
<kerning first="65" second="119" amount="-2"/>
|
||||
<kerning first="65" second="121" amount="-2"/>
|
||||
<kerning first="70" second="44" amount="-14"/>
|
||||
<kerning first="70" second="46" amount="-14"/>
|
||||
<kerning first="70" second="65" amount="-7"/>
|
||||
<kerning first="76" second="32" amount="-5"/>
|
||||
<kerning first="76" second="84" amount="-9"/>
|
||||
<kerning first="76" second="86" amount="-9"/>
|
||||
<kerning first="76" second="87" amount="-9"/>
|
||||
<kerning first="76" second="89" amount="-9"/>
|
||||
<kerning first="76" second="121" amount="-5"/>
|
||||
<kerning first="80" second="32" amount="-2"/>
|
||||
<kerning first="80" second="44" amount="-16"/>
|
||||
<kerning first="80" second="46" amount="-16"/>
|
||||
<kerning first="80" second="65" amount="-9"/>
|
||||
<kerning first="82" second="84" amount="-2"/>
|
||||
<kerning first="82" second="86" amount="-2"/>
|
||||
<kerning first="82" second="87" amount="-2"/>
|
||||
<kerning first="82" second="89" amount="-2"/>
|
||||
<kerning first="84" second="32" amount="-2"/>
|
||||
<kerning first="84" second="44" amount="-14"/>
|
||||
<kerning first="84" second="173" amount="-7"/>
|
||||
<kerning first="84" second="46" amount="-14"/>
|
||||
<kerning first="84" second="58" amount="-14"/>
|
||||
<kerning first="84" second="59" amount="-14"/>
|
||||
<kerning first="84" second="65" amount="-9"/>
|
||||
<kerning first="84" second="79" amount="-2"/>
|
||||
<kerning first="84" second="97" amount="-14"/>
|
||||
<kerning first="84" second="99" amount="-14"/>
|
||||
<kerning first="84" second="101" amount="-14"/>
|
||||
<kerning first="84" second="105" amount="-5"/>
|
||||
<kerning first="84" second="111" amount="-14"/>
|
||||
<kerning first="84" second="114" amount="-5"/>
|
||||
<kerning first="84" second="115" amount="-14"/>
|
||||
<kerning first="84" second="117" amount="-5"/>
|
||||
<kerning first="84" second="119" amount="-7"/>
|
||||
<kerning first="84" second="121" amount="-7"/>
|
||||
<kerning first="86" second="44" amount="-12"/>
|
||||
<kerning first="86" second="173" amount="-7"/>
|
||||
<kerning first="86" second="46" amount="-12"/>
|
||||
<kerning first="86" second="58" amount="-5"/>
|
||||
<kerning first="86" second="59" amount="-5"/>
|
||||
<kerning first="86" second="65" amount="-9"/>
|
||||
<kerning first="86" second="97" amount="-9"/>
|
||||
<kerning first="86" second="101" amount="-7"/>
|
||||
<kerning first="86" second="105" amount="-2"/>
|
||||
<kerning first="86" second="111" amount="-7"/>
|
||||
<kerning first="86" second="114" amount="-5"/>
|
||||
<kerning first="86" second="117" amount="-5"/>
|
||||
<kerning first="86" second="121" amount="-5"/>
|
||||
<kerning first="87" second="44" amount="-7"/>
|
||||
<kerning first="87" second="173" amount="-2"/>
|
||||
<kerning first="87" second="46" amount="-7"/>
|
||||
<kerning first="87" second="58" amount="-2"/>
|
||||
<kerning first="87" second="59" amount="-2"/>
|
||||
<kerning first="87" second="65" amount="-5"/>
|
||||
<kerning first="87" second="97" amount="-5"/>
|
||||
<kerning first="87" second="101" amount="-2"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="-2"/>
|
||||
<kerning first="87" second="114" amount="-2"/>
|
||||
<kerning first="87" second="117" amount="-2"/>
|
||||
<kerning first="87" second="121" amount="-1"/>
|
||||
<kerning first="89" second="32" amount="-2"/>
|
||||
<kerning first="89" second="44" amount="-16"/>
|
||||
<kerning first="89" second="173" amount="-12"/>
|
||||
<kerning first="89" second="46" amount="-16"/>
|
||||
<kerning first="89" second="58" amount="-7"/>
|
||||
<kerning first="89" second="59" amount="-8"/>
|
||||
<kerning first="89" second="65" amount="-9"/>
|
||||
<kerning first="89" second="97" amount="-9"/>
|
||||
<kerning first="89" second="101" amount="-12"/>
|
||||
<kerning first="89" second="105" amount="-5"/>
|
||||
<kerning first="89" second="111" amount="-12"/>
|
||||
<kerning first="89" second="112" amount="-9"/>
|
||||
<kerning first="89" second="113" amount="-12"/>
|
||||
<kerning first="89" second="117" amount="-7"/>
|
||||
<kerning first="89" second="118" amount="-7"/>
|
||||
<kerning first="102" second="102" amount="-2"/>
|
||||
<kerning first="114" second="44" amount="-7"/>
|
||||
<kerning first="114" second="46" amount="-7"/>
|
||||
<kerning first="118" second="44" amount="-9"/>
|
||||
<kerning first="118" second="46" amount="-9"/>
|
||||
<kerning first="119" second="44" amount="-7"/>
|
||||
<kerning first="119" second="46" amount="-7"/>
|
||||
<kerning first="121" second="44" amount="-9"/>
|
||||
<kerning first="121" second="46" amount="-9"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-128-black/open-sans-128-black.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 111 KiB |
297
build/node_modules/jimp/fonts/open-sans/open-sans-128-white/open-sans-128-white.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-128-white" size="128" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="143" base="115" scaleW="4096" scaleH="431" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-128-white.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="25" width="14" height="92" xoffset="11" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="34" x="18" y="25" width="34" height="33" xoffset="6" yoffset="23" xadvance="45" page="0" chnl="15"/>
|
||||
<char id="35" x="54" y="23" width="69" height="95" xoffset="1" yoffset="22" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="36" x="125" y="16" width="61" height="114" xoffset="5" yoffset="15" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="37" x="188" y="23" width="99" height="97" xoffset="7" yoffset="22" xadvance="114" page="0" chnl="15"/>
|
||||
<char id="38" x="289" y="23" width="77" height="96" xoffset="6" yoffset="22" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="39" x="368" y="25" width="13" height="33" xoffset="6" yoffset="23" xadvance="24" page="0" chnl="15"/>
|
||||
<char id="40" x="383" y="23" width="31" height="120" xoffset="8" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="41" x="416" y="23" width="31" height="120" xoffset="8" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="42" x="449" y="23" width="42" height="39" xoffset="4" yoffset="22" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="43" x="493" y="41" width="61" height="61" xoffset="7" yoffset="39" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="44" x="556" y="103" width="14" height="31" xoffset="11" yoffset="102" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="45" x="572" y="77" width="35" height="12" xoffset="4" yoffset="76" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="46" x="609" y="103" width="13" height="13" xoffset="12" yoffset="102" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="47" x="624" y="23" width="36" height="95" xoffset="0" yoffset="22" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="48" x="662" y="24" width="60" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="49" x="724" y="24" width="34" height="92" xoffset="14" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="50" x="760" y="24" width="61" height="92" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="51" x="823" y="24" width="60" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="52" x="885" y="25" width="64" height="92" xoffset="2" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="53" x="951" y="26" width="61" height="92" xoffset="5" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="54" x="1014" y="24" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="55" x="1077" y="26" width="60" height="91" xoffset="6" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="56" x="1139" y="24" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="57" x="1202" y="24" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="58" x="1265" y="50" width="13" height="67" xoffset="12" yoffset="48" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="59" x="1280" y="50" width="14" height="85" xoffset="11" yoffset="48" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="60" x="1296" y="40" width="61" height="62" xoffset="7" yoffset="39" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="61" x="1359" y="52" width="61" height="39" xoffset="7" yoffset="50" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="62" x="1422" y="40" width="61" height="62" xoffset="7" yoffset="39" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="63" x="1485" y="23" width="59" height="94" xoffset="6" yoffset="22" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="64" x="1546" y="23" width="119" height="121" xoffset="7" yoffset="21" xadvance="130" page="0" chnl="15"/>
|
||||
<char id="65" x="1667" y="25" width="86" height="92" xoffset="0" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="66" x="1755" y="25" width="70" height="92" xoffset="9" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="67" x="1827" y="23" width="81" height="95" xoffset="6" yoffset="22" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="68" x="1910" y="25" width="76" height="92" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="69" x="1988" y="25" width="69" height="92" xoffset="10" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="70" x="2059" y="25" width="62" height="92" xoffset="11" yoffset="23" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="71" x="2123" y="23" width="85" height="95" xoffset="7" yoffset="22" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="72" x="2210" y="25" width="72" height="92" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="73" x="2284" y="25" width="12" height="92" xoffset="12" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="74" x="2298" y="25" width="51" height="94" xoffset="3" yoffset="23" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="75" x="2351" y="25" width="76" height="92" xoffset="9" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="76" x="2429" y="25" width="58" height="92" xoffset="9" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="77" x="2489" y="25" width="88" height="92" xoffset="10" yoffset="23" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="78" x="2579" y="25" width="73" height="92" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="79" x="2654" y="23" width="88" height="95" xoffset="6" yoffset="22" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="80" x="2744" y="25" width="70" height="92" xoffset="10" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="81" x="2816" y="23" width="90" height="101" xoffset="6" yoffset="22" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="82" x="2908" y="25" width="81" height="92" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="83" x="2991" y="23" width="73" height="95" xoffset="6" yoffset="22" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="84" x="3066" y="25" width="73" height="92" xoffset="3" yoffset="23" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="85" x="3141" y="25" width="72" height="94" xoffset="10" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="86" x="3215" y="25" width="84" height="92" xoffset="1" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="87" x="3301" y="25" width="118" height="92" xoffset="2" yoffset="23" xadvance="121" page="0" chnl="15"/>
|
||||
<char id="88" x="3421" y="25" width="84" height="92" xoffset="1" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="89" x="3507" y="25" width="84" height="92" xoffset="0" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="90" x="3593" y="25" width="73" height="92" xoffset="3" yoffset="23" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="91" x="3668" y="25" width="25" height="117" xoffset="9" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="92" x="3695" y="23" width="36" height="95" xoffset="0" yoffset="22" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="93" x="3733" y="25" width="25" height="117" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="94" x="3760" y="23" width="54" height="50" xoffset="3" yoffset="22" xadvance="60" page="0" chnl="15"/>
|
||||
<char id="95" x="3816" y="134" width="75" height="8" xoffset="-2" yoffset="132" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="97" x="3893" y="48" width="61" height="70" xoffset="5" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="98" x="3956" y="25" width="58" height="93" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="99" x="4016" y="48" width="58" height="70" xoffset="5" yoffset="47" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="100" x="2" y="169" width="58" height="93" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="101" x="62" y="192" width="62" height="70" xoffset="5" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="102" x="126" y="167" width="39" height="94" xoffset="1" yoffset="22" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="103" x="167" y="192" width="59" height="95" xoffset="4" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="104" x="228" y="169" width="54" height="92" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="105" x="284" y="169" width="12" height="92" xoffset="9" yoffset="23" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="106" x="298" y="169" width="26" height="119" xoffset="-6" yoffset="23" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="107" x="326" y="169" width="55" height="92" xoffset="9" yoffset="23" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="108" x="383" y="169" width="12" height="92" xoffset="8" yoffset="23" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="109" x="397" y="192" width="90" height="68" xoffset="8" yoffset="47" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="110" x="489" y="192" width="54" height="68" xoffset="8" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="111" x="545" y="192" width="63" height="70" xoffset="4" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="112" x="610" y="192" width="58" height="94" xoffset="8" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="113" x="670" y="192" width="58" height="94" xoffset="5" yoffset="47" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="114" x="730" y="192" width="36" height="68" xoffset="8" yoffset="47" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="115" x="768" y="192" width="55" height="70" xoffset="4" yoffset="47" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="116" x="825" y="171" width="33" height="91" xoffset="2" yoffset="25" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="117" x="860" y="194" width="54" height="68" xoffset="8" yoffset="48" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="118" x="916" y="194" width="61" height="67" xoffset="2" yoffset="48" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="119" x="979" y="194" width="91" height="67" xoffset="0" yoffset="48" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="120" x="1072" y="194" width="62" height="67" xoffset="1" yoffset="48" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="121" x="1136" y="194" width="61" height="94" xoffset="2" yoffset="48" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="122" x="1199" y="194" width="59" height="67" xoffset="3" yoffset="48" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="123" x="1260" y="167" width="37" height="120" xoffset="4" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="124" x="1299" y="167" width="10" height="120" xoffset="12" yoffset="22" xadvance="33" page="0" chnl="15"/>
|
||||
<char id="125" x="1311" y="167" width="37" height="120" xoffset="3" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="126" x="1350" y="205" width="64" height="21" xoffset="5" yoffset="59" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="161" x="1416" y="194" width="14" height="92" xoffset="15" yoffset="48" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="162" x="1432" y="169" width="58" height="118" xoffset="7" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="163" x="1492" y="167" width="66" height="95" xoffset="2" yoffset="22" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="164" x="1560" y="184" width="62" height="62" xoffset="5" yoffset="39" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="165" x="1624" y="169" width="71" height="92" xoffset="0" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="166" x="1697" y="167" width="10" height="120" xoffset="12" yoffset="22" xadvance="33" page="0" chnl="15"/>
|
||||
<char id="167" x="1709" y="167" width="61" height="120" xoffset="5" yoffset="22" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="168" x="1772" y="168" width="35" height="13" xoffset="4" yoffset="23" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="169" x="1809" y="167" width="95" height="95" xoffset="0" yoffset="22" xadvance="94" page="0" chnl="15"/>
|
||||
<char id="170" x="1906" y="167" width="42" height="47" xoffset="3" yoffset="22" xadvance="47" page="0" chnl="15"/>
|
||||
<char id="171" x="1950" y="199" width="54" height="57" xoffset="8" yoffset="53" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="172" x="2006" y="196" width="61" height="38" xoffset="7" yoffset="50" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="173" x="2069" y="221" width="35" height="12" xoffset="4" yoffset="76" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="174" x="2106" y="167" width="95" height="95" xoffset="0" yoffset="22" xadvance="94" page="0" chnl="15"/>
|
||||
<char id="175" x="2203" y="154" width="75" height="8" xoffset="-2" yoffset="9" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="176" x="2280" y="167" width="35" height="35" xoffset="8" yoffset="22" xadvance="51" page="0" chnl="15"/>
|
||||
<char id="177" x="2317" y="183" width="61" height="77" xoffset="5" yoffset="38" xadvance="70" page="0" chnl="15"/>
|
||||
<char id="178" x="2380" y="168" width="39" height="47" xoffset="2" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="179" x="2421" y="168" width="39" height="48" xoffset="2" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="180" x="2462" y="168" width="23" height="18" xoffset="14" yoffset="23" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="181" x="2487" y="194" width="54" height="92" xoffset="10" yoffset="48" xadvance="74" page="0" chnl="15"/>
|
||||
<char id="182" x="2543" y="169" width="69" height="117" xoffset="0" yoffset="23" xadvance="69" page="0" chnl="15"/>
|
||||
<char id="183" x="2614" y="208" width="13" height="13" xoffset="15" yoffset="62" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="184" x="2629" y="259" width="27" height="28" xoffset="7" yoffset="113" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="185" x="2658" y="168" width="23" height="47" xoffset="7" yoffset="22" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="186" x="2683" y="167" width="41" height="47" xoffset="3" yoffset="22" xadvance="47" page="0" chnl="15"/>
|
||||
<char id="187" x="2726" y="199" width="54" height="57" xoffset="9" yoffset="53" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="188" x="2782" y="167" width="99" height="97" xoffset="7" yoffset="22" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="189" x="2883" y="167" width="98" height="97" xoffset="7" yoffset="22" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="190" x="2983" y="167" width="103" height="97" xoffset="2" yoffset="22" xadvance="107" page="0" chnl="15"/>
|
||||
<char id="191" x="3088" y="194" width="59" height="94" xoffset="10" yoffset="48" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="192" x="3149" y="146" width="86" height="115" xoffset="0" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="193" x="3237" y="146" width="86" height="115" xoffset="0" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="194" x="3325" y="146" width="86" height="115" xoffset="0" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="195" x="3413" y="149" width="86" height="112" xoffset="0" yoffset="3" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="196" x="3501" y="150" width="86" height="110" xoffset="0" yoffset="5" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="197" x="3589" y="149" width="86" height="112" xoffset="0" yoffset="4" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="198" x="3677" y="169" width="121" height="92" xoffset="0" yoffset="23" xadvance="128" page="0" chnl="15"/>
|
||||
<char id="199" x="3800" y="167" width="81" height="120" xoffset="6" yoffset="22" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="200" x="3883" y="146" width="69" height="115" xoffset="10" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="201" x="3954" y="146" width="69" height="115" xoffset="10" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="202" x="4025" y="146" width="69" height="115" xoffset="10" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="203" x="2" y="294" width="69" height="110" xoffset="10" yoffset="5" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="204" x="73" y="290" width="24" height="115" xoffset="3" yoffset="0" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="205" x="99" y="290" width="23" height="115" xoffset="9" yoffset="0" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="206" x="124" y="290" width="40" height="115" xoffset="-2" yoffset="0" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="207" x="166" y="294" width="35" height="110" xoffset="0" yoffset="5" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="208" x="203" y="313" width="86" height="92" xoffset="0" yoffset="23" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="209" x="291" y="293" width="73" height="112" xoffset="10" yoffset="3" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="210" x="366" y="290" width="88" height="117" xoffset="6" yoffset="0" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="211" x="456" y="290" width="88" height="117" xoffset="6" yoffset="0" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="212" x="546" y="290" width="88" height="117" xoffset="6" yoffset="0" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="213" x="636" y="293" width="88" height="114" xoffset="6" yoffset="3" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="214" x="726" y="294" width="88" height="112" xoffset="6" yoffset="5" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="215" x="816" y="332" width="55" height="55" xoffset="10" yoffset="42" xadvance="75" page="0" chnl="15"/>
|
||||
<char id="216" x="873" y="309" width="90" height="99" xoffset="5" yoffset="20" xadvance="100" page="0" chnl="15"/>
|
||||
<char id="217" x="965" y="290" width="72" height="117" xoffset="10" yoffset="0" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="218" x="1039" y="290" width="72" height="117" xoffset="10" yoffset="0" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="219" x="1113" y="290" width="72" height="117" xoffset="10" yoffset="0" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="220" x="1187" y="294" width="72" height="112" xoffset="10" yoffset="5" xadvance="92" page="0" chnl="15"/>
|
||||
<char id="221" x="1261" y="290" width="84" height="115" xoffset="0" yoffset="0" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="222" x="1347" y="313" width="70" height="92" xoffset="10" yoffset="23" xadvance="85" page="0" chnl="15"/>
|
||||
<char id="223" x="1419" y="311" width="65" height="95" xoffset="10" yoffset="22" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="224" x="1486" y="312" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="225" x="1549" y="312" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="226" x="1612" y="312" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="227" x="1675" y="314" width="61" height="92" xoffset="5" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="228" x="1738" y="312" width="61" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="229" x="1801" y="309" width="61" height="97" xoffset="5" yoffset="20" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="230" x="1864" y="336" width="105" height="70" xoffset="4" yoffset="47" xadvance="114" page="0" chnl="15"/>
|
||||
<char id="231" x="1971" y="336" width="58" height="93" xoffset="5" yoffset="47" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="232" x="2031" y="312" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="233" x="2095" y="312" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="234" x="2159" y="312" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="235" x="2223" y="312" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="236" x="2287" y="312" width="24" height="92" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="237" x="2313" y="312" width="23" height="92" xoffset="12" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="238" x="2338" y="312" width="40" height="92" xoffset="-1" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="239" x="2380" y="312" width="35" height="93" xoffset="1" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="240" x="2417" y="313" width="62" height="94" xoffset="5" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="241" x="2481" y="314" width="54" height="91" xoffset="8" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="242" x="2537" y="312" width="63" height="94" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="243" x="2602" y="312" width="63" height="94" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="244" x="2667" y="312" width="63" height="94" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="245" x="2732" y="314" width="63" height="92" xoffset="4" yoffset="24" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="246" x="2797" y="312" width="63" height="94" xoffset="4" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="247" x="2862" y="334" width="61" height="51" xoffset="5" yoffset="44" xadvance="70" page="0" chnl="15"/>
|
||||
<char id="248" x="2925" y="334" width="63" height="76" xoffset="8" yoffset="44" xadvance="78" page="0" chnl="15"/>
|
||||
<char id="249" x="2990" y="312" width="54" height="94" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="250" x="3046" y="312" width="54" height="94" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="251" x="3102" y="312" width="54" height="94" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="252" x="3158" y="312" width="54" height="94" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="253" x="3214" y="312" width="61" height="119" xoffset="2" yoffset="23" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="254" x="3277" y="313" width="58" height="117" xoffset="8" yoffset="23" xadvance="71" page="0" chnl="15"/>
|
||||
<char id="255" x="3337" y="312" width="61" height="119" xoffset="2" yoffset="23" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="-7"/>
|
||||
<kerning first="32" second="84" amount="-2"/>
|
||||
<kerning first="32" second="89" amount="-2"/>
|
||||
<kerning first="49" second="49" amount="-9"/>
|
||||
<kerning first="65" second="32" amount="-7"/>
|
||||
<kerning first="65" second="84" amount="-9"/>
|
||||
<kerning first="65" second="86" amount="-9"/>
|
||||
<kerning first="65" second="87" amount="-5"/>
|
||||
<kerning first="65" second="89" amount="-9"/>
|
||||
<kerning first="65" second="118" amount="-2"/>
|
||||
<kerning first="65" second="119" amount="-2"/>
|
||||
<kerning first="65" second="121" amount="-2"/>
|
||||
<kerning first="70" second="44" amount="-14"/>
|
||||
<kerning first="70" second="46" amount="-14"/>
|
||||
<kerning first="70" second="65" amount="-7"/>
|
||||
<kerning first="76" second="32" amount="-5"/>
|
||||
<kerning first="76" second="84" amount="-9"/>
|
||||
<kerning first="76" second="86" amount="-9"/>
|
||||
<kerning first="76" second="87" amount="-9"/>
|
||||
<kerning first="76" second="89" amount="-9"/>
|
||||
<kerning first="76" second="121" amount="-5"/>
|
||||
<kerning first="80" second="32" amount="-2"/>
|
||||
<kerning first="80" second="44" amount="-16"/>
|
||||
<kerning first="80" second="46" amount="-16"/>
|
||||
<kerning first="80" second="65" amount="-9"/>
|
||||
<kerning first="82" second="84" amount="-2"/>
|
||||
<kerning first="82" second="86" amount="-2"/>
|
||||
<kerning first="82" second="87" amount="-2"/>
|
||||
<kerning first="82" second="89" amount="-2"/>
|
||||
<kerning first="84" second="32" amount="-2"/>
|
||||
<kerning first="84" second="44" amount="-14"/>
|
||||
<kerning first="84" second="173" amount="-7"/>
|
||||
<kerning first="84" second="46" amount="-14"/>
|
||||
<kerning first="84" second="58" amount="-14"/>
|
||||
<kerning first="84" second="59" amount="-14"/>
|
||||
<kerning first="84" second="65" amount="-9"/>
|
||||
<kerning first="84" second="79" amount="-2"/>
|
||||
<kerning first="84" second="97" amount="-14"/>
|
||||
<kerning first="84" second="99" amount="-14"/>
|
||||
<kerning first="84" second="101" amount="-14"/>
|
||||
<kerning first="84" second="105" amount="-5"/>
|
||||
<kerning first="84" second="111" amount="-14"/>
|
||||
<kerning first="84" second="114" amount="-5"/>
|
||||
<kerning first="84" second="115" amount="-14"/>
|
||||
<kerning first="84" second="117" amount="-5"/>
|
||||
<kerning first="84" second="119" amount="-7"/>
|
||||
<kerning first="84" second="121" amount="-7"/>
|
||||
<kerning first="86" second="44" amount="-12"/>
|
||||
<kerning first="86" second="173" amount="-7"/>
|
||||
<kerning first="86" second="46" amount="-12"/>
|
||||
<kerning first="86" second="58" amount="-5"/>
|
||||
<kerning first="86" second="59" amount="-5"/>
|
||||
<kerning first="86" second="65" amount="-9"/>
|
||||
<kerning first="86" second="97" amount="-9"/>
|
||||
<kerning first="86" second="101" amount="-7"/>
|
||||
<kerning first="86" second="105" amount="-2"/>
|
||||
<kerning first="86" second="111" amount="-7"/>
|
||||
<kerning first="86" second="114" amount="-5"/>
|
||||
<kerning first="86" second="117" amount="-5"/>
|
||||
<kerning first="86" second="121" amount="-5"/>
|
||||
<kerning first="87" second="44" amount="-7"/>
|
||||
<kerning first="87" second="173" amount="-2"/>
|
||||
<kerning first="87" second="46" amount="-7"/>
|
||||
<kerning first="87" second="58" amount="-2"/>
|
||||
<kerning first="87" second="59" amount="-2"/>
|
||||
<kerning first="87" second="65" amount="-5"/>
|
||||
<kerning first="87" second="97" amount="-5"/>
|
||||
<kerning first="87" second="101" amount="-2"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="-2"/>
|
||||
<kerning first="87" second="114" amount="-2"/>
|
||||
<kerning first="87" second="117" amount="-2"/>
|
||||
<kerning first="87" second="121" amount="-1"/>
|
||||
<kerning first="89" second="32" amount="-2"/>
|
||||
<kerning first="89" second="44" amount="-16"/>
|
||||
<kerning first="89" second="173" amount="-12"/>
|
||||
<kerning first="89" second="46" amount="-16"/>
|
||||
<kerning first="89" second="58" amount="-7"/>
|
||||
<kerning first="89" second="59" amount="-8"/>
|
||||
<kerning first="89" second="65" amount="-9"/>
|
||||
<kerning first="89" second="97" amount="-9"/>
|
||||
<kerning first="89" second="101" amount="-12"/>
|
||||
<kerning first="89" second="105" amount="-5"/>
|
||||
<kerning first="89" second="111" amount="-12"/>
|
||||
<kerning first="89" second="112" amount="-9"/>
|
||||
<kerning first="89" second="113" amount="-12"/>
|
||||
<kerning first="89" second="117" amount="-7"/>
|
||||
<kerning first="89" second="118" amount="-7"/>
|
||||
<kerning first="102" second="102" amount="-2"/>
|
||||
<kerning first="114" second="44" amount="-7"/>
|
||||
<kerning first="114" second="46" amount="-7"/>
|
||||
<kerning first="118" second="44" amount="-9"/>
|
||||
<kerning first="118" second="46" amount="-9"/>
|
||||
<kerning first="119" second="44" amount="-7"/>
|
||||
<kerning first="119" second="46" amount="-7"/>
|
||||
<kerning first="121" second="44" amount="-9"/>
|
||||
<kerning first="121" second="46" amount="-9"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-128-white/open-sans-128-white.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 119 KiB |
297
build/node_modules/jimp/fonts/open-sans/open-sans-16-black/open-sans-16-black.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-16-black" size="16" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="18" base="15" scaleW="1836" scaleH="20" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-16-black.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="4" width="2" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="34" x="6" y="4" width="5" height="4" xoffset="1" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="35" x="13" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="36" x="24" y="3" width="8" height="15" xoffset="1" yoffset="2" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="37" x="34" y="4" width="13" height="12" xoffset="1" yoffset="3" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="38" x="49" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="39" x="61" y="4" width="2" height="4" xoffset="1" yoffset="3" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="40" x="65" y="4" width="4" height="15" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="41" x="71" y="4" width="4" height="15" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="42" x="77" y="4" width="6" height="5" xoffset="1" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="43" x="85" y="6" width="8" height="8" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="44" x="95" y="14" width="2" height="4" xoffset="1" yoffset="13" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="45" x="99" y="11" width="5" height="2" xoffset="1" yoffset="9" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="46" x="106" y="14" width="2" height="2" xoffset="1" yoffset="13" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="47" x="110" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="48" x="117" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="49" x="127" y="4" width="5" height="12" xoffset="2" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="50" x="134" y="4" width="8" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="51" x="144" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="52" x="154" y="4" width="8" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="53" x="164" y="5" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="54" x="174" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="55" x="184" y="5" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="56" x="194" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="57" x="204" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="58" x="214" y="8" width="2" height="9" xoffset="1" yoffset="6" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="59" x="218" y="8" width="2" height="11" xoffset="1" yoffset="6" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="60" x="222" y="6" width="8" height="8" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="61" x="232" y="8" width="8" height="5" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="62" x="242" y="6" width="8" height="8" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="63" x="252" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="64" x="262" y="4" width="15" height="15" xoffset="1" yoffset="3" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="65" x="279" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="66" x="292" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="67" x="303" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="68" x="315" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="69" x="327" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="70" x="338" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="71" x="348" y="4" width="11" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="72" x="361" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="73" x="372" y="4" width="2" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="74" x="376" y="4" width="7" height="12" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="75" x="385" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="76" x="397" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="77" x="407" y="4" width="11" height="12" xoffset="1" yoffset="3" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="78" x="420" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="79" x="431" y="4" width="11" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="80" x="444" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="81" x="455" y="4" width="12" height="13" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="82" x="469" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="83" x="481" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="84" x="492" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="85" x="503" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="86" x="514" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="87" x="527" y="4" width="15" height="12" xoffset="0" yoffset="3" xadvance="15" page="0" chnl="15"/>
|
||||
<char id="88" x="544" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="89" x="557" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="90" x="570" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="91" x="581" y="4" width="3" height="15" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="92" x="586" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="93" x="593" y="4" width="3" height="15" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="94" x="598" y="4" width="7" height="7" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="95" x="607" y="18" width="10" height="1" xoffset="0" yoffset="17" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="97" x="619" y="7" width="8" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="98" x="629" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="99" x="639" y="7" width="8" height="9" xoffset="1" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="100" x="649" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="101" x="659" y="7" width="8" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="102" x="669" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="103" x="676" y="7" width="8" height="12" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="104" x="686" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="105" x="695" y="4" width="2" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="106" x="699" y="4" width="4" height="15" xoffset="-1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="107" x="705" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="108" x="714" y="4" width="2" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="109" x="718" y="7" width="12" height="9" xoffset="1" yoffset="6" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="110" x="732" y="7" width="7" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="111" x="741" y="7" width="8" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="112" x="751" y="7" width="8" height="12" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="113" x="761" y="7" width="8" height="12" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="114" x="771" y="7" width="5" height="9" xoffset="1" yoffset="6" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="115" x="778" y="7" width="7" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="116" x="787" y="5" width="4" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="117" x="793" y="8" width="7" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="118" x="802" y="8" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="119" x="812" y="8" width="12" height="9" xoffset="0" yoffset="6" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="120" x="826" y="8" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="121" x="836" y="8" width="8" height="12" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="122" x="846" y="8" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="123" x="856" y="4" width="5" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="124" x="863" y="4" width="2" height="15" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="125" x="867" y="4" width="5" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="126" x="874" y="9" width="8" height="3" xoffset="1" yoffset="7" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="161" x="884" y="8" width="2" height="12" xoffset="2" yoffset="6" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="162" x="888" y="4" width="8" height="15" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="163" x="898" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="164" x="909" y="6" width="8" height="8" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="165" x="919" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="166" x="930" y="4" width="2" height="15" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="167" x="934" y="4" width="8" height="15" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="168" x="944" y="4" width="5" height="2" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="169" x="951" y="4" width="12" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="170" x="965" y="4" width="6" height="6" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="171" x="973" y="8" width="7" height="7" xoffset="1" yoffset="7" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="172" x="982" y="8" width="8" height="5" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="173" x="992" y="11" width="5" height="2" xoffset="1" yoffset="9" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="174" x="999" y="4" width="12" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="175" x="1013" y="3" width="10" height="1" xoffset="0" yoffset="1" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="176" x="1025" y="4" width="5" height="5" xoffset="1" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="177" x="1032" y="6" width="8" height="10" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="178" x="1042" y="4" width="5" height="6" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="179" x="1049" y="4" width="5" height="6" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="180" x="1056" y="4" width="3" height="3" xoffset="2" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="181" x="1061" y="8" width="7" height="12" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="182" x="1070" y="4" width="9" height="15" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="183" x="1081" y="9" width="2" height="2" xoffset="2" yoffset="8" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="184" x="1085" y="16" width="4" height="4" xoffset="1" yoffset="14" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="185" x="1091" y="4" width="3" height="6" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="186" x="1096" y="4" width="5" height="6" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="187" x="1103" y="8" width="7" height="7" xoffset="1" yoffset="7" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="188" x="1112" y="4" width="13" height="12" xoffset="1" yoffset="3" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="189" x="1127" y="4" width="13" height="12" xoffset="1" yoffset="3" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="190" x="1142" y="4" width="13" height="12" xoffset="0" yoffset="3" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="191" x="1157" y="8" width="8" height="12" xoffset="1" yoffset="6" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="192" x="1167" y="2" width="11" height="15" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="193" x="1180" y="2" width="11" height="15" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="194" x="1193" y="2" width="11" height="15" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="195" x="1206" y="2" width="11" height="14" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="196" x="1219" y="2" width="11" height="14" xoffset="0" yoffset="1" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="197" x="1232" y="2" width="11" height="14" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="198" x="1245" y="4" width="15" height="12" xoffset="0" yoffset="3" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="199" x="1262" y="4" width="10" height="15" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="200" x="1274" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="201" x="1285" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="202" x="1296" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="203" x="1307" y="2" width="9" height="14" xoffset="1" yoffset="1" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="204" x="1318" y="2" width="3" height="15" xoffset="0" yoffset="0" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="205" x="1323" y="2" width="3" height="15" xoffset="1" yoffset="0" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="206" x="1328" y="2" width="5" height="15" xoffset="0" yoffset="0" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="207" x="1335" y="2" width="5" height="14" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="208" x="1342" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="209" x="1355" y="2" width="9" height="14" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="210" x="1366" y="2" width="11" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="211" x="1379" y="2" width="11" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="212" x="1392" y="2" width="11" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="213" x="1405" y="2" width="11" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="214" x="1418" y="2" width="11" height="14" xoffset="1" yoffset="1" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="215" x="1431" y="7" width="7" height="7" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="216" x="1440" y="4" width="12" height="13" xoffset="1" yoffset="2" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="217" x="1454" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="218" x="1465" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="219" x="1476" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="220" x="1487" y="2" width="9" height="14" xoffset="1" yoffset="1" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="221" x="1498" y="2" width="11" height="15" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="222" x="1511" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="223" x="1522" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="224" x="1532" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="225" x="1542" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="226" x="1552" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="227" x="1562" y="5" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="228" x="1572" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="229" x="1582" y="4" width="8" height="12" xoffset="1" yoffset="2" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="230" x="1592" y="7" width="13" height="9" xoffset="1" yoffset="6" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="231" x="1607" y="7" width="8" height="12" xoffset="1" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="232" x="1617" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="233" x="1627" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="234" x="1637" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="235" x="1647" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="236" x="1657" y="4" width="3" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="237" x="1662" y="4" width="3" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="238" x="1667" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="239" x="1674" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="240" x="1681" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="241" x="1691" y="5" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="242" x="1700" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="243" x="1710" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="244" x="1720" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="245" x="1730" y="5" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="246" x="1740" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="247" x="1750" y="7" width="8" height="7" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="248" x="1760" y="7" width="8" height="10" xoffset="1" yoffset="6" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="249" x="1770" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="250" x="1779" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="251" x="1788" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="252" x="1797" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="253" x="1806" y="4" width="8" height="15" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="254" x="1816" y="4" width="8" height="15" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="255" x="1826" y="4" width="8" height="15" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="-1"/>
|
||||
<kerning first="32" second="84" amount="0"/>
|
||||
<kerning first="32" second="89" amount="0"/>
|
||||
<kerning first="49" second="49" amount="-1"/>
|
||||
<kerning first="65" second="32" amount="-1"/>
|
||||
<kerning first="65" second="84" amount="-1"/>
|
||||
<kerning first="65" second="86" amount="-1"/>
|
||||
<kerning first="65" second="87" amount="-1"/>
|
||||
<kerning first="65" second="89" amount="-1"/>
|
||||
<kerning first="65" second="118" amount="0"/>
|
||||
<kerning first="65" second="119" amount="0"/>
|
||||
<kerning first="65" second="121" amount="0"/>
|
||||
<kerning first="70" second="44" amount="-2"/>
|
||||
<kerning first="70" second="46" amount="-2"/>
|
||||
<kerning first="70" second="65" amount="-1"/>
|
||||
<kerning first="76" second="32" amount="-1"/>
|
||||
<kerning first="76" second="84" amount="-1"/>
|
||||
<kerning first="76" second="86" amount="-1"/>
|
||||
<kerning first="76" second="87" amount="-1"/>
|
||||
<kerning first="76" second="89" amount="-1"/>
|
||||
<kerning first="76" second="121" amount="-1"/>
|
||||
<kerning first="80" second="32" amount="0"/>
|
||||
<kerning first="80" second="44" amount="-2"/>
|
||||
<kerning first="80" second="46" amount="-2"/>
|
||||
<kerning first="80" second="65" amount="-1"/>
|
||||
<kerning first="82" second="84" amount="0"/>
|
||||
<kerning first="82" second="86" amount="0"/>
|
||||
<kerning first="82" second="87" amount="0"/>
|
||||
<kerning first="82" second="89" amount="0"/>
|
||||
<kerning first="84" second="32" amount="0"/>
|
||||
<kerning first="84" second="44" amount="-2"/>
|
||||
<kerning first="84" second="173" amount="-1"/>
|
||||
<kerning first="84" second="46" amount="-2"/>
|
||||
<kerning first="84" second="58" amount="-2"/>
|
||||
<kerning first="84" second="59" amount="-2"/>
|
||||
<kerning first="84" second="65" amount="-1"/>
|
||||
<kerning first="84" second="79" amount="0"/>
|
||||
<kerning first="84" second="97" amount="-2"/>
|
||||
<kerning first="84" second="99" amount="-2"/>
|
||||
<kerning first="84" second="101" amount="-2"/>
|
||||
<kerning first="84" second="105" amount="-1"/>
|
||||
<kerning first="84" second="111" amount="-2"/>
|
||||
<kerning first="84" second="114" amount="-1"/>
|
||||
<kerning first="84" second="115" amount="-2"/>
|
||||
<kerning first="84" second="117" amount="-1"/>
|
||||
<kerning first="84" second="119" amount="-1"/>
|
||||
<kerning first="84" second="121" amount="-1"/>
|
||||
<kerning first="86" second="44" amount="-1"/>
|
||||
<kerning first="86" second="173" amount="-1"/>
|
||||
<kerning first="86" second="46" amount="-1"/>
|
||||
<kerning first="86" second="58" amount="-1"/>
|
||||
<kerning first="86" second="59" amount="-1"/>
|
||||
<kerning first="86" second="65" amount="-1"/>
|
||||
<kerning first="86" second="97" amount="-1"/>
|
||||
<kerning first="86" second="101" amount="-1"/>
|
||||
<kerning first="86" second="105" amount="0"/>
|
||||
<kerning first="86" second="111" amount="-1"/>
|
||||
<kerning first="86" second="114" amount="-1"/>
|
||||
<kerning first="86" second="117" amount="-1"/>
|
||||
<kerning first="86" second="121" amount="-1"/>
|
||||
<kerning first="87" second="44" amount="-1"/>
|
||||
<kerning first="87" second="173" amount="0"/>
|
||||
<kerning first="87" second="46" amount="-1"/>
|
||||
<kerning first="87" second="58" amount="0"/>
|
||||
<kerning first="87" second="59" amount="0"/>
|
||||
<kerning first="87" second="65" amount="-1"/>
|
||||
<kerning first="87" second="97" amount="-1"/>
|
||||
<kerning first="87" second="101" amount="0"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="0"/>
|
||||
<kerning first="87" second="114" amount="0"/>
|
||||
<kerning first="87" second="117" amount="0"/>
|
||||
<kerning first="87" second="121" amount="0"/>
|
||||
<kerning first="89" second="32" amount="0"/>
|
||||
<kerning first="89" second="44" amount="-2"/>
|
||||
<kerning first="89" second="173" amount="-1"/>
|
||||
<kerning first="89" second="46" amount="-2"/>
|
||||
<kerning first="89" second="58" amount="-1"/>
|
||||
<kerning first="89" second="59" amount="-1"/>
|
||||
<kerning first="89" second="65" amount="-1"/>
|
||||
<kerning first="89" second="97" amount="-1"/>
|
||||
<kerning first="89" second="101" amount="-1"/>
|
||||
<kerning first="89" second="105" amount="-1"/>
|
||||
<kerning first="89" second="111" amount="-1"/>
|
||||
<kerning first="89" second="112" amount="-1"/>
|
||||
<kerning first="89" second="113" amount="-1"/>
|
||||
<kerning first="89" second="117" amount="-1"/>
|
||||
<kerning first="89" second="118" amount="-1"/>
|
||||
<kerning first="102" second="102" amount="0"/>
|
||||
<kerning first="114" second="44" amount="-1"/>
|
||||
<kerning first="114" second="46" amount="-1"/>
|
||||
<kerning first="118" second="44" amount="-1"/>
|
||||
<kerning first="118" second="46" amount="-1"/>
|
||||
<kerning first="119" second="44" amount="-1"/>
|
||||
<kerning first="119" second="46" amount="-1"/>
|
||||
<kerning first="121" second="44" amount="-1"/>
|
||||
<kerning first="121" second="46" amount="-1"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-16-black/open-sans-16-black.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 8.7 KiB |
297
build/node_modules/jimp/fonts/open-sans/open-sans-16-white/open-sans-16-white.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-16-white" size="16" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="18" base="15" scaleW="1836" scaleH="20" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-16-white.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="4" width="2" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="34" x="6" y="4" width="5" height="4" xoffset="1" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="35" x="13" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="36" x="24" y="3" width="8" height="15" xoffset="1" yoffset="2" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="37" x="34" y="4" width="13" height="12" xoffset="1" yoffset="3" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="38" x="49" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="39" x="61" y="4" width="2" height="4" xoffset="1" yoffset="3" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="40" x="65" y="4" width="4" height="15" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="41" x="71" y="4" width="4" height="15" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="42" x="77" y="4" width="6" height="5" xoffset="1" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="43" x="85" y="6" width="8" height="8" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="44" x="95" y="14" width="2" height="4" xoffset="1" yoffset="13" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="45" x="99" y="11" width="5" height="2" xoffset="1" yoffset="9" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="46" x="106" y="14" width="2" height="2" xoffset="1" yoffset="13" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="47" x="110" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="48" x="117" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="49" x="127" y="4" width="5" height="12" xoffset="2" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="50" x="134" y="4" width="8" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="51" x="144" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="52" x="154" y="4" width="8" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="53" x="164" y="5" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="54" x="174" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="55" x="184" y="5" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="56" x="194" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="57" x="204" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="58" x="214" y="8" width="2" height="9" xoffset="1" yoffset="6" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="59" x="218" y="8" width="2" height="11" xoffset="1" yoffset="6" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="60" x="222" y="6" width="8" height="8" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="61" x="232" y="8" width="8" height="5" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="62" x="242" y="6" width="8" height="8" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="63" x="252" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="64" x="262" y="4" width="15" height="15" xoffset="1" yoffset="3" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="65" x="279" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="66" x="292" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="67" x="303" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="68" x="315" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="69" x="327" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="70" x="338" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="71" x="348" y="4" width="11" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="72" x="361" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="73" x="372" y="4" width="2" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="74" x="376" y="4" width="7" height="12" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="75" x="385" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="76" x="397" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="77" x="407" y="4" width="11" height="12" xoffset="1" yoffset="3" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="78" x="420" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="79" x="431" y="4" width="11" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="80" x="444" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="81" x="455" y="4" width="12" height="13" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="82" x="469" y="4" width="10" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="83" x="481" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="84" x="492" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="85" x="503" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="86" x="514" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="87" x="527" y="4" width="15" height="12" xoffset="0" yoffset="3" xadvance="15" page="0" chnl="15"/>
|
||||
<char id="88" x="544" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="89" x="557" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="90" x="570" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="91" x="581" y="4" width="3" height="15" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="92" x="586" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="93" x="593" y="4" width="3" height="15" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="94" x="598" y="4" width="7" height="7" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="95" x="607" y="18" width="10" height="1" xoffset="0" yoffset="17" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="97" x="619" y="7" width="8" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="98" x="629" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="99" x="639" y="7" width="8" height="9" xoffset="1" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="100" x="649" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="101" x="659" y="7" width="8" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="102" x="669" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="103" x="676" y="7" width="8" height="12" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="104" x="686" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="105" x="695" y="4" width="2" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="106" x="699" y="4" width="4" height="15" xoffset="-1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="107" x="705" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="108" x="714" y="4" width="2" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="109" x="718" y="7" width="12" height="9" xoffset="1" yoffset="6" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="110" x="732" y="7" width="7" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="111" x="741" y="7" width="8" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="112" x="751" y="7" width="8" height="12" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="113" x="761" y="7" width="8" height="12" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="114" x="771" y="7" width="5" height="9" xoffset="1" yoffset="6" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="115" x="778" y="7" width="7" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="116" x="787" y="5" width="4" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="117" x="793" y="8" width="7" height="9" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="118" x="802" y="8" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="119" x="812" y="8" width="12" height="9" xoffset="0" yoffset="6" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="120" x="826" y="8" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="121" x="836" y="8" width="8" height="12" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="122" x="846" y="8" width="8" height="9" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="123" x="856" y="4" width="5" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="124" x="863" y="4" width="2" height="15" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="125" x="867" y="4" width="5" height="15" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="126" x="874" y="9" width="8" height="3" xoffset="1" yoffset="7" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="161" x="884" y="8" width="2" height="12" xoffset="2" yoffset="6" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="162" x="888" y="4" width="8" height="15" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="163" x="898" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="164" x="909" y="6" width="8" height="8" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="165" x="919" y="4" width="9" height="12" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="166" x="930" y="4" width="2" height="15" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="167" x="934" y="4" width="8" height="15" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="168" x="944" y="4" width="5" height="2" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="169" x="951" y="4" width="12" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="170" x="965" y="4" width="6" height="6" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="171" x="973" y="8" width="7" height="7" xoffset="1" yoffset="7" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="172" x="982" y="8" width="8" height="5" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="173" x="992" y="11" width="5" height="2" xoffset="1" yoffset="9" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="174" x="999" y="4" width="12" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="175" x="1013" y="3" width="10" height="1" xoffset="0" yoffset="1" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="176" x="1025" y="4" width="5" height="5" xoffset="1" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="177" x="1032" y="6" width="8" height="10" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="178" x="1042" y="4" width="5" height="6" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="179" x="1049" y="4" width="5" height="6" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="180" x="1056" y="4" width="3" height="3" xoffset="2" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="181" x="1061" y="8" width="7" height="12" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="182" x="1070" y="4" width="9" height="15" xoffset="0" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="183" x="1081" y="9" width="2" height="2" xoffset="2" yoffset="8" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="184" x="1085" y="16" width="4" height="4" xoffset="1" yoffset="14" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="185" x="1091" y="4" width="3" height="6" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="186" x="1096" y="4" width="5" height="6" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="187" x="1103" y="8" width="7" height="7" xoffset="1" yoffset="7" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="188" x="1112" y="4" width="13" height="12" xoffset="1" yoffset="3" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="189" x="1127" y="4" width="13" height="12" xoffset="1" yoffset="3" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="190" x="1142" y="4" width="13" height="12" xoffset="0" yoffset="3" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="191" x="1157" y="8" width="8" height="12" xoffset="1" yoffset="6" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="192" x="1167" y="2" width="11" height="15" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="193" x="1180" y="2" width="11" height="15" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="194" x="1193" y="2" width="11" height="15" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="195" x="1206" y="2" width="11" height="14" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="196" x="1219" y="2" width="11" height="14" xoffset="0" yoffset="1" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="197" x="1232" y="2" width="11" height="14" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="198" x="1245" y="4" width="15" height="12" xoffset="0" yoffset="3" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="199" x="1262" y="4" width="10" height="15" xoffset="1" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="200" x="1274" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="201" x="1285" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="202" x="1296" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="203" x="1307" y="2" width="9" height="14" xoffset="1" yoffset="1" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="204" x="1318" y="2" width="3" height="15" xoffset="0" yoffset="0" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="205" x="1323" y="2" width="3" height="15" xoffset="1" yoffset="0" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="206" x="1328" y="2" width="5" height="15" xoffset="0" yoffset="0" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="207" x="1335" y="2" width="5" height="14" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="208" x="1342" y="4" width="11" height="12" xoffset="0" yoffset="3" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="209" x="1355" y="2" width="9" height="14" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="210" x="1366" y="2" width="11" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="211" x="1379" y="2" width="11" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="212" x="1392" y="2" width="11" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="213" x="1405" y="2" width="11" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="214" x="1418" y="2" width="11" height="14" xoffset="1" yoffset="1" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="215" x="1431" y="7" width="7" height="7" xoffset="1" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="216" x="1440" y="4" width="12" height="13" xoffset="1" yoffset="2" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="217" x="1454" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="218" x="1465" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="219" x="1476" y="2" width="9" height="15" xoffset="1" yoffset="0" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="220" x="1487" y="2" width="9" height="14" xoffset="1" yoffset="1" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="221" x="1498" y="2" width="11" height="15" xoffset="0" yoffset="0" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="222" x="1511" y="4" width="9" height="12" xoffset="1" yoffset="3" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="223" x="1522" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="224" x="1532" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="225" x="1542" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="226" x="1552" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="227" x="1562" y="5" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="228" x="1572" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="229" x="1582" y="4" width="8" height="12" xoffset="1" yoffset="2" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="230" x="1592" y="7" width="13" height="9" xoffset="1" yoffset="6" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="231" x="1607" y="7" width="8" height="12" xoffset="1" yoffset="6" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="232" x="1617" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="233" x="1627" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="234" x="1637" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="235" x="1647" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="236" x="1657" y="4" width="3" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="237" x="1662" y="4" width="3" height="12" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="238" x="1667" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="239" x="1674" y="4" width="5" height="12" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="240" x="1681" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="241" x="1691" y="5" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="242" x="1700" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="243" x="1710" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="244" x="1720" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="245" x="1730" y="5" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="246" x="1740" y="4" width="8" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="247" x="1750" y="7" width="8" height="7" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="248" x="1760" y="7" width="8" height="10" xoffset="1" yoffset="6" xadvance="10" page="0" chnl="15"/>
|
||||
<char id="249" x="1770" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="250" x="1779" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="251" x="1788" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="252" x="1797" y="4" width="7" height="12" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="253" x="1806" y="4" width="8" height="15" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="254" x="1816" y="4" width="8" height="15" xoffset="1" yoffset="3" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="255" x="1826" y="4" width="8" height="15" xoffset="0" yoffset="3" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="-1"/>
|
||||
<kerning first="32" second="84" amount="0"/>
|
||||
<kerning first="32" second="89" amount="0"/>
|
||||
<kerning first="49" second="49" amount="-1"/>
|
||||
<kerning first="65" second="32" amount="-1"/>
|
||||
<kerning first="65" second="84" amount="-1"/>
|
||||
<kerning first="65" second="86" amount="-1"/>
|
||||
<kerning first="65" second="87" amount="-1"/>
|
||||
<kerning first="65" second="89" amount="-1"/>
|
||||
<kerning first="65" second="118" amount="0"/>
|
||||
<kerning first="65" second="119" amount="0"/>
|
||||
<kerning first="65" second="121" amount="0"/>
|
||||
<kerning first="70" second="44" amount="-2"/>
|
||||
<kerning first="70" second="46" amount="-2"/>
|
||||
<kerning first="70" second="65" amount="-1"/>
|
||||
<kerning first="76" second="32" amount="-1"/>
|
||||
<kerning first="76" second="84" amount="-1"/>
|
||||
<kerning first="76" second="86" amount="-1"/>
|
||||
<kerning first="76" second="87" amount="-1"/>
|
||||
<kerning first="76" second="89" amount="-1"/>
|
||||
<kerning first="76" second="121" amount="-1"/>
|
||||
<kerning first="80" second="32" amount="0"/>
|
||||
<kerning first="80" second="44" amount="-2"/>
|
||||
<kerning first="80" second="46" amount="-2"/>
|
||||
<kerning first="80" second="65" amount="-1"/>
|
||||
<kerning first="82" second="84" amount="0"/>
|
||||
<kerning first="82" second="86" amount="0"/>
|
||||
<kerning first="82" second="87" amount="0"/>
|
||||
<kerning first="82" second="89" amount="0"/>
|
||||
<kerning first="84" second="32" amount="0"/>
|
||||
<kerning first="84" second="44" amount="-2"/>
|
||||
<kerning first="84" second="173" amount="-1"/>
|
||||
<kerning first="84" second="46" amount="-2"/>
|
||||
<kerning first="84" second="58" amount="-2"/>
|
||||
<kerning first="84" second="59" amount="-2"/>
|
||||
<kerning first="84" second="65" amount="-1"/>
|
||||
<kerning first="84" second="79" amount="0"/>
|
||||
<kerning first="84" second="97" amount="-2"/>
|
||||
<kerning first="84" second="99" amount="-2"/>
|
||||
<kerning first="84" second="101" amount="-2"/>
|
||||
<kerning first="84" second="105" amount="-1"/>
|
||||
<kerning first="84" second="111" amount="-2"/>
|
||||
<kerning first="84" second="114" amount="-1"/>
|
||||
<kerning first="84" second="115" amount="-2"/>
|
||||
<kerning first="84" second="117" amount="-1"/>
|
||||
<kerning first="84" second="119" amount="-1"/>
|
||||
<kerning first="84" second="121" amount="-1"/>
|
||||
<kerning first="86" second="44" amount="-1"/>
|
||||
<kerning first="86" second="173" amount="-1"/>
|
||||
<kerning first="86" second="46" amount="-1"/>
|
||||
<kerning first="86" second="58" amount="-1"/>
|
||||
<kerning first="86" second="59" amount="-1"/>
|
||||
<kerning first="86" second="65" amount="-1"/>
|
||||
<kerning first="86" second="97" amount="-1"/>
|
||||
<kerning first="86" second="101" amount="-1"/>
|
||||
<kerning first="86" second="105" amount="0"/>
|
||||
<kerning first="86" second="111" amount="-1"/>
|
||||
<kerning first="86" second="114" amount="-1"/>
|
||||
<kerning first="86" second="117" amount="-1"/>
|
||||
<kerning first="86" second="121" amount="-1"/>
|
||||
<kerning first="87" second="44" amount="-1"/>
|
||||
<kerning first="87" second="173" amount="0"/>
|
||||
<kerning first="87" second="46" amount="-1"/>
|
||||
<kerning first="87" second="58" amount="0"/>
|
||||
<kerning first="87" second="59" amount="0"/>
|
||||
<kerning first="87" second="65" amount="-1"/>
|
||||
<kerning first="87" second="97" amount="-1"/>
|
||||
<kerning first="87" second="101" amount="0"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="0"/>
|
||||
<kerning first="87" second="114" amount="0"/>
|
||||
<kerning first="87" second="117" amount="0"/>
|
||||
<kerning first="87" second="121" amount="0"/>
|
||||
<kerning first="89" second="32" amount="0"/>
|
||||
<kerning first="89" second="44" amount="-2"/>
|
||||
<kerning first="89" second="173" amount="-1"/>
|
||||
<kerning first="89" second="46" amount="-2"/>
|
||||
<kerning first="89" second="58" amount="-1"/>
|
||||
<kerning first="89" second="59" amount="-1"/>
|
||||
<kerning first="89" second="65" amount="-1"/>
|
||||
<kerning first="89" second="97" amount="-1"/>
|
||||
<kerning first="89" second="101" amount="-1"/>
|
||||
<kerning first="89" second="105" amount="-1"/>
|
||||
<kerning first="89" second="111" amount="-1"/>
|
||||
<kerning first="89" second="112" amount="-1"/>
|
||||
<kerning first="89" second="113" amount="-1"/>
|
||||
<kerning first="89" second="117" amount="-1"/>
|
||||
<kerning first="89" second="118" amount="-1"/>
|
||||
<kerning first="102" second="102" amount="0"/>
|
||||
<kerning first="114" second="44" amount="-1"/>
|
||||
<kerning first="114" second="46" amount="-1"/>
|
||||
<kerning first="118" second="44" amount="-1"/>
|
||||
<kerning first="118" second="46" amount="-1"/>
|
||||
<kerning first="119" second="44" amount="-1"/>
|
||||
<kerning first="119" second="46" amount="-1"/>
|
||||
<kerning first="121" second="44" amount="-1"/>
|
||||
<kerning first="121" second="46" amount="-1"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-16-white/open-sans-16-white.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 8.9 KiB |
297
build/node_modules/jimp/fonts/open-sans/open-sans-32-black/open-sans-32-black.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-32-black" size="32" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="36" base="29" scaleW="3233" scaleH="38" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-32-black.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="7" width="4" height="23" xoffset="3" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="34" x="8" y="7" width="9" height="8" xoffset="1" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="35" x="19" y="7" width="17" height="24" xoffset="0" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="36" x="38" y="5" width="16" height="29" xoffset="1" yoffset="4" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="37" x="56" y="7" width="25" height="24" xoffset="2" yoffset="5" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="38" x="83" y="7" width="20" height="24" xoffset="1" yoffset="5" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="39" x="105" y="7" width="4" height="8" xoffset="1" yoffset="6" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="40" x="111" y="7" width="8" height="30" xoffset="2" yoffset="5" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="41" x="121" y="7" width="8" height="30" xoffset="2" yoffset="5" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="42" x="131" y="7" width="11" height="10" xoffset="1" yoffset="5" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="43" x="144" y="11" width="15" height="15" xoffset="2" yoffset="10" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="44" x="161" y="27" width="4" height="8" xoffset="3" yoffset="25" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="45" x="167" y="20" width="9" height="3" xoffset="1" yoffset="19" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="46" x="178" y="27" width="4" height="4" xoffset="3" yoffset="25" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="47" x="184" y="7" width="9" height="24" xoffset="0" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="48" x="195" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="49" x="212" y="7" width="9" height="23" xoffset="3" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="50" x="223" y="7" width="16" height="23" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="51" x="241" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="52" x="258" y="7" width="16" height="23" xoffset="0" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="53" x="276" y="8" width="16" height="23" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="54" x="294" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="55" x="311" y="8" width="15" height="23" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="56" x="328" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="57" x="345" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="58" x="362" y="14" width="4" height="17" xoffset="3" yoffset="12" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="59" x="368" y="14" width="4" height="21" xoffset="3" yoffset="12" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="60" x="374" y="11" width="16" height="16" xoffset="2" yoffset="10" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="61" x="392" y="14" width="15" height="10" xoffset="2" yoffset="13" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="62" x="409" y="11" width="16" height="16" xoffset="2" yoffset="10" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="63" x="427" y="7" width="15" height="24" xoffset="1" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="64" x="444" y="7" width="30" height="30" xoffset="2" yoffset="5" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="65" x="476" y="7" width="22" height="23" xoffset="0" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="66" x="500" y="7" width="18" height="23" xoffset="2" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="67" x="520" y="7" width="21" height="24" xoffset="2" yoffset="5" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="68" x="543" y="7" width="19" height="23" xoffset="2" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="69" x="564" y="7" width="17" height="23" xoffset="3" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="70" x="583" y="7" width="16" height="23" xoffset="3" yoffset="6" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="71" x="601" y="7" width="22" height="24" xoffset="2" yoffset="5" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="72" x="625" y="7" width="18" height="23" xoffset="3" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="73" x="645" y="7" width="3" height="23" xoffset="3" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="74" x="650" y="7" width="13" height="24" xoffset="1" yoffset="6" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="75" x="665" y="7" width="19" height="23" xoffset="2" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="76" x="686" y="7" width="15" height="23" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="77" x="703" y="7" width="22" height="23" xoffset="2" yoffset="6" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="78" x="727" y="7" width="18" height="23" xoffset="2" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="79" x="747" y="7" width="22" height="24" xoffset="2" yoffset="5" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="80" x="771" y="7" width="18" height="23" xoffset="2" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="81" x="791" y="7" width="23" height="25" xoffset="1" yoffset="5" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="82" x="816" y="7" width="20" height="23" xoffset="3" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="83" x="838" y="7" width="19" height="24" xoffset="1" yoffset="5" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="84" x="859" y="7" width="19" height="23" xoffset="1" yoffset="6" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="85" x="880" y="7" width="18" height="24" xoffset="3" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="86" x="900" y="7" width="21" height="23" xoffset="0" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="87" x="923" y="7" width="30" height="23" xoffset="0" yoffset="6" xadvance="30" page="0" chnl="15"/>
|
||||
<char id="88" x="955" y="7" width="21" height="23" xoffset="0" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="89" x="978" y="7" width="21" height="23" xoffset="0" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="90" x="1001" y="7" width="18" height="23" xoffset="1" yoffset="6" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="91" x="1021" y="7" width="7" height="30" xoffset="2" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="92" x="1030" y="7" width="9" height="24" xoffset="0" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="93" x="1041" y="7" width="7" height="30" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="94" x="1050" y="7" width="14" height="13" xoffset="1" yoffset="5" xadvance="15" page="0" chnl="15"/>
|
||||
<char id="95" x="1066" y="35" width="19" height="2" xoffset="0" yoffset="33" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="97" x="1087" y="13" width="16" height="18" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="98" x="1105" y="7" width="15" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="99" x="1122" y="13" width="15" height="18" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="100" x="1139" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="101" x="1156" y="13" width="16" height="18" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="102" x="1174" y="7" width="10" height="24" xoffset="0" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="103" x="1186" y="13" width="15" height="24" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="104" x="1203" y="7" width="14" height="23" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="105" x="1219" y="7" width="3" height="23" xoffset="2" yoffset="6" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="106" x="1224" y="7" width="7" height="30" xoffset="-1" yoffset="6" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="107" x="1233" y="7" width="14" height="23" xoffset="2" yoffset="6" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="108" x="1249" y="7" width="3" height="23" xoffset="2" yoffset="6" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="109" x="1254" y="13" width="23" height="17" xoffset="2" yoffset="12" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="110" x="1279" y="13" width="14" height="17" xoffset="2" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="111" x="1295" y="13" width="16" height="18" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="112" x="1313" y="13" width="15" height="24" xoffset="2" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="113" x="1330" y="13" width="15" height="24" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="114" x="1347" y="13" width="9" height="17" xoffset="2" yoffset="12" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="115" x="1358" y="13" width="14" height="18" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="116" x="1374" y="8" width="8" height="23" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="117" x="1384" y="14" width="14" height="17" xoffset="2" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="118" x="1400" y="14" width="16" height="17" xoffset="0" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="119" x="1418" y="14" width="23" height="17" xoffset="0" yoffset="12" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="120" x="1443" y="14" width="16" height="17" xoffset="0" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="121" x="1461" y="14" width="16" height="24" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="122" x="1479" y="14" width="15" height="17" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="123" x="1496" y="7" width="9" height="30" xoffset="1" yoffset="5" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="124" x="1507" y="7" width="3" height="30" xoffset="3" yoffset="5" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="125" x="1512" y="7" width="9" height="30" xoffset="1" yoffset="5" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="126" x="1523" y="16" width="16" height="5" xoffset="1" yoffset="15" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="161" x="1541" y="14" width="4" height="23" xoffset="4" yoffset="12" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="162" x="1547" y="7" width="15" height="30" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="163" x="1564" y="7" width="17" height="24" xoffset="0" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="164" x="1583" y="11" width="16" height="16" xoffset="1" yoffset="10" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="165" x="1601" y="7" width="18" height="23" xoffset="0" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="166" x="1621" y="7" width="3" height="30" xoffset="3" yoffset="5" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="167" x="1626" y="7" width="15" height="30" xoffset="1" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="168" x="1643" y="7" width="9" height="4" xoffset="1" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="169" x="1654" y="7" width="24" height="24" xoffset="0" yoffset="5" xadvance="24" page="0" chnl="15"/>
|
||||
<char id="170" x="1680" y="7" width="11" height="12" xoffset="1" yoffset="5" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="171" x="1693" y="15" width="14" height="15" xoffset="2" yoffset="13" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="172" x="1709" y="14" width="15" height="10" xoffset="2" yoffset="13" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="173" x="1726" y="20" width="9" height="3" xoffset="1" yoffset="19" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="174" x="1737" y="7" width="24" height="24" xoffset="0" yoffset="5" xadvance="24" page="0" chnl="15"/>
|
||||
<char id="175" x="1763" y="4" width="19" height="2" xoffset="0" yoffset="2" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="176" x="1784" y="7" width="9" height="9" xoffset="2" yoffset="5" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="177" x="1795" y="11" width="15" height="20" xoffset="1" yoffset="9" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="178" x="1812" y="7" width="10" height="12" xoffset="0" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="179" x="1824" y="7" width="10" height="12" xoffset="1" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="180" x="1836" y="7" width="6" height="5" xoffset="3" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="181" x="1844" y="14" width="14" height="23" xoffset="3" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="182" x="1860" y="7" width="18" height="30" xoffset="0" yoffset="6" xadvance="17" page="0" chnl="15"/>
|
||||
<char id="183" x="1880" y="17" width="4" height="4" xoffset="4" yoffset="16" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="184" x="1886" y="30" width="7" height="7" xoffset="2" yoffset="28" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="185" x="1895" y="7" width="6" height="12" xoffset="2" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="186" x="1903" y="7" width="11" height="12" xoffset="1" yoffset="5" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="187" x="1916" y="15" width="14" height="15" xoffset="2" yoffset="13" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="188" x="1932" y="7" width="25" height="25" xoffset="2" yoffset="5" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="189" x="1959" y="7" width="25" height="25" xoffset="2" yoffset="5" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="190" x="1986" y="7" width="26" height="25" xoffset="1" yoffset="5" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="191" x="2014" y="14" width="15" height="24" xoffset="2" yoffset="12" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="192" x="2031" y="2" width="22" height="29" xoffset="0" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="193" x="2055" y="2" width="22" height="29" xoffset="0" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="194" x="2079" y="2" width="22" height="29" xoffset="0" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="195" x="2103" y="2" width="22" height="28" xoffset="0" yoffset="1" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="196" x="2127" y="3" width="22" height="28" xoffset="0" yoffset="1" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="197" x="2151" y="2" width="22" height="28" xoffset="0" yoffset="1" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="198" x="2175" y="7" width="31" height="23" xoffset="0" yoffset="6" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="199" x="2208" y="7" width="21" height="30" xoffset="2" yoffset="5" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="200" x="2231" y="2" width="17" height="29" xoffset="3" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="201" x="2250" y="2" width="17" height="29" xoffset="3" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="202" x="2269" y="2" width="17" height="29" xoffset="3" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="203" x="2288" y="3" width="17" height="28" xoffset="3" yoffset="1" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="204" x="2307" y="2" width="6" height="29" xoffset="1" yoffset="0" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="205" x="2315" y="2" width="6" height="29" xoffset="2" yoffset="0" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="206" x="2323" y="2" width="10" height="29" xoffset="0" yoffset="0" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="207" x="2335" y="3" width="9" height="28" xoffset="0" yoffset="1" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="208" x="2346" y="7" width="22" height="23" xoffset="0" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="209" x="2370" y="2" width="18" height="28" xoffset="2" yoffset="1" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="210" x="2390" y="2" width="22" height="29" xoffset="2" yoffset="0" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="211" x="2414" y="2" width="22" height="29" xoffset="2" yoffset="0" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="212" x="2438" y="2" width="22" height="29" xoffset="2" yoffset="0" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="213" x="2462" y="2" width="22" height="29" xoffset="2" yoffset="1" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="214" x="2486" y="3" width="22" height="28" xoffset="2" yoffset="1" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="215" x="2510" y="12" width="14" height="14" xoffset="3" yoffset="11" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="216" x="2526" y="6" width="23" height="25" xoffset="1" yoffset="5" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="217" x="2551" y="2" width="18" height="29" xoffset="3" yoffset="0" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="218" x="2571" y="2" width="18" height="29" xoffset="3" yoffset="0" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="219" x="2591" y="2" width="18" height="29" xoffset="3" yoffset="0" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="220" x="2611" y="3" width="18" height="28" xoffset="3" yoffset="1" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="221" x="2631" y="2" width="21" height="29" xoffset="0" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="222" x="2654" y="7" width="18" height="23" xoffset="2" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="223" x="2674" y="7" width="17" height="24" xoffset="2" yoffset="5" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="224" x="2693" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="225" x="2711" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="226" x="2729" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="227" x="2747" y="8" width="16" height="23" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="228" x="2765" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="229" x="2783" y="6" width="16" height="24" xoffset="1" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="230" x="2801" y="13" width="26" height="18" xoffset="1" yoffset="12" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="231" x="2829" y="13" width="15" height="24" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="232" x="2846" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="233" x="2864" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="234" x="2882" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="235" x="2900" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="236" x="2918" y="7" width="6" height="23" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="237" x="2926" y="7" width="6" height="23" xoffset="3" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="238" x="2934" y="7" width="10" height="23" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="239" x="2946" y="7" width="9" height="23" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="240" x="2957" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="241" x="2975" y="8" width="14" height="23" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="242" x="2991" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="243" x="3009" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="244" x="3027" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="245" x="3045" y="8" width="16" height="23" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="246" x="3063" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="247" x="3081" y="13" width="15" height="13" xoffset="1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="248" x="3098" y="13" width="16" height="19" xoffset="2" yoffset="11" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="249" x="3116" y="7" width="14" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="250" x="3132" y="7" width="14" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="251" x="3148" y="7" width="14" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="252" x="3164" y="7" width="14" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="253" x="3180" y="7" width="16" height="30" xoffset="1" yoffset="6" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="254" x="3198" y="7" width="15" height="30" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="255" x="3215" y="7" width="16" height="30" xoffset="1" yoffset="6" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="-2"/>
|
||||
<kerning first="32" second="84" amount="-1"/>
|
||||
<kerning first="32" second="89" amount="-1"/>
|
||||
<kerning first="49" second="49" amount="-2"/>
|
||||
<kerning first="65" second="32" amount="-2"/>
|
||||
<kerning first="65" second="84" amount="-2"/>
|
||||
<kerning first="65" second="86" amount="-2"/>
|
||||
<kerning first="65" second="87" amount="-1"/>
|
||||
<kerning first="65" second="89" amount="-2"/>
|
||||
<kerning first="65" second="118" amount="-1"/>
|
||||
<kerning first="65" second="119" amount="-1"/>
|
||||
<kerning first="65" second="121" amount="-1"/>
|
||||
<kerning first="70" second="44" amount="-4"/>
|
||||
<kerning first="70" second="46" amount="-4"/>
|
||||
<kerning first="70" second="65" amount="-2"/>
|
||||
<kerning first="76" second="32" amount="-1"/>
|
||||
<kerning first="76" second="84" amount="-2"/>
|
||||
<kerning first="76" second="86" amount="-2"/>
|
||||
<kerning first="76" second="87" amount="-2"/>
|
||||
<kerning first="76" second="89" amount="-2"/>
|
||||
<kerning first="76" second="121" amount="-1"/>
|
||||
<kerning first="80" second="32" amount="-1"/>
|
||||
<kerning first="80" second="44" amount="-4"/>
|
||||
<kerning first="80" second="46" amount="-4"/>
|
||||
<kerning first="80" second="65" amount="-2"/>
|
||||
<kerning first="82" second="84" amount="-1"/>
|
||||
<kerning first="82" second="86" amount="-1"/>
|
||||
<kerning first="82" second="87" amount="-1"/>
|
||||
<kerning first="82" second="89" amount="-1"/>
|
||||
<kerning first="84" second="32" amount="-1"/>
|
||||
<kerning first="84" second="44" amount="-4"/>
|
||||
<kerning first="84" second="173" amount="-2"/>
|
||||
<kerning first="84" second="46" amount="-4"/>
|
||||
<kerning first="84" second="58" amount="-4"/>
|
||||
<kerning first="84" second="59" amount="-4"/>
|
||||
<kerning first="84" second="65" amount="-2"/>
|
||||
<kerning first="84" second="79" amount="-1"/>
|
||||
<kerning first="84" second="97" amount="-4"/>
|
||||
<kerning first="84" second="99" amount="-4"/>
|
||||
<kerning first="84" second="101" amount="-4"/>
|
||||
<kerning first="84" second="105" amount="-1"/>
|
||||
<kerning first="84" second="111" amount="-4"/>
|
||||
<kerning first="84" second="114" amount="-1"/>
|
||||
<kerning first="84" second="115" amount="-4"/>
|
||||
<kerning first="84" second="117" amount="-1"/>
|
||||
<kerning first="84" second="119" amount="-2"/>
|
||||
<kerning first="84" second="121" amount="-2"/>
|
||||
<kerning first="86" second="44" amount="-3"/>
|
||||
<kerning first="86" second="173" amount="-2"/>
|
||||
<kerning first="86" second="46" amount="-3"/>
|
||||
<kerning first="86" second="58" amount="-1"/>
|
||||
<kerning first="86" second="59" amount="-1"/>
|
||||
<kerning first="86" second="65" amount="-2"/>
|
||||
<kerning first="86" second="97" amount="-2"/>
|
||||
<kerning first="86" second="101" amount="-2"/>
|
||||
<kerning first="86" second="105" amount="-1"/>
|
||||
<kerning first="86" second="111" amount="-2"/>
|
||||
<kerning first="86" second="114" amount="-1"/>
|
||||
<kerning first="86" second="117" amount="-1"/>
|
||||
<kerning first="86" second="121" amount="-1"/>
|
||||
<kerning first="87" second="44" amount="-2"/>
|
||||
<kerning first="87" second="173" amount="-1"/>
|
||||
<kerning first="87" second="46" amount="-2"/>
|
||||
<kerning first="87" second="58" amount="-1"/>
|
||||
<kerning first="87" second="59" amount="-1"/>
|
||||
<kerning first="87" second="65" amount="-1"/>
|
||||
<kerning first="87" second="97" amount="-1"/>
|
||||
<kerning first="87" second="101" amount="-1"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="-1"/>
|
||||
<kerning first="87" second="114" amount="-1"/>
|
||||
<kerning first="87" second="117" amount="-1"/>
|
||||
<kerning first="87" second="121" amount="0"/>
|
||||
<kerning first="89" second="32" amount="-1"/>
|
||||
<kerning first="89" second="44" amount="-4"/>
|
||||
<kerning first="89" second="173" amount="-3"/>
|
||||
<kerning first="89" second="46" amount="-4"/>
|
||||
<kerning first="89" second="58" amount="-2"/>
|
||||
<kerning first="89" second="59" amount="-2"/>
|
||||
<kerning first="89" second="65" amount="-2"/>
|
||||
<kerning first="89" second="97" amount="-2"/>
|
||||
<kerning first="89" second="101" amount="-3"/>
|
||||
<kerning first="89" second="105" amount="-1"/>
|
||||
<kerning first="89" second="111" amount="-3"/>
|
||||
<kerning first="89" second="112" amount="-2"/>
|
||||
<kerning first="89" second="113" amount="-3"/>
|
||||
<kerning first="89" second="117" amount="-2"/>
|
||||
<kerning first="89" second="118" amount="-2"/>
|
||||
<kerning first="102" second="102" amount="-1"/>
|
||||
<kerning first="114" second="44" amount="-2"/>
|
||||
<kerning first="114" second="46" amount="-2"/>
|
||||
<kerning first="118" second="44" amount="-2"/>
|
||||
<kerning first="118" second="46" amount="-2"/>
|
||||
<kerning first="119" second="44" amount="-2"/>
|
||||
<kerning first="119" second="46" amount="-2"/>
|
||||
<kerning first="121" second="44" amount="-2"/>
|
||||
<kerning first="121" second="46" amount="-2"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-32-black/open-sans-32-black.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 20 KiB |
297
build/node_modules/jimp/fonts/open-sans/open-sans-32-white/open-sans-32-white.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-32-white" size="32" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="36" base="29" scaleW="3233" scaleH="38" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-32-white.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="7" width="4" height="23" xoffset="3" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="34" x="8" y="7" width="9" height="8" xoffset="1" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="35" x="19" y="7" width="17" height="24" xoffset="0" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="36" x="38" y="5" width="16" height="29" xoffset="1" yoffset="4" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="37" x="56" y="7" width="25" height="24" xoffset="2" yoffset="5" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="38" x="83" y="7" width="20" height="24" xoffset="1" yoffset="5" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="39" x="105" y="7" width="4" height="8" xoffset="1" yoffset="6" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="40" x="111" y="7" width="8" height="30" xoffset="2" yoffset="5" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="41" x="121" y="7" width="8" height="30" xoffset="2" yoffset="5" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="42" x="131" y="7" width="11" height="10" xoffset="1" yoffset="5" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="43" x="144" y="11" width="15" height="15" xoffset="2" yoffset="10" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="44" x="161" y="27" width="4" height="8" xoffset="3" yoffset="25" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="45" x="167" y="20" width="9" height="3" xoffset="1" yoffset="19" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="46" x="178" y="27" width="4" height="4" xoffset="3" yoffset="25" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="47" x="184" y="7" width="9" height="24" xoffset="0" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="48" x="195" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="49" x="212" y="7" width="9" height="23" xoffset="3" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="50" x="223" y="7" width="16" height="23" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="51" x="241" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="52" x="258" y="7" width="16" height="23" xoffset="0" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="53" x="276" y="8" width="16" height="23" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="54" x="294" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="55" x="311" y="8" width="15" height="23" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="56" x="328" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="57" x="345" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="58" x="362" y="14" width="4" height="17" xoffset="3" yoffset="12" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="59" x="368" y="14" width="4" height="21" xoffset="3" yoffset="12" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="60" x="374" y="11" width="16" height="16" xoffset="2" yoffset="10" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="61" x="392" y="14" width="15" height="10" xoffset="2" yoffset="13" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="62" x="409" y="11" width="16" height="16" xoffset="2" yoffset="10" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="63" x="427" y="7" width="15" height="24" xoffset="1" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="64" x="444" y="7" width="30" height="30" xoffset="2" yoffset="5" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="65" x="476" y="7" width="22" height="23" xoffset="0" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="66" x="500" y="7" width="18" height="23" xoffset="2" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="67" x="520" y="7" width="21" height="24" xoffset="2" yoffset="5" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="68" x="543" y="7" width="19" height="23" xoffset="2" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="69" x="564" y="7" width="17" height="23" xoffset="3" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="70" x="583" y="7" width="16" height="23" xoffset="3" yoffset="6" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="71" x="601" y="7" width="22" height="24" xoffset="2" yoffset="5" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="72" x="625" y="7" width="18" height="23" xoffset="3" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="73" x="645" y="7" width="3" height="23" xoffset="3" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="74" x="650" y="7" width="13" height="24" xoffset="1" yoffset="6" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="75" x="665" y="7" width="19" height="23" xoffset="2" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="76" x="686" y="7" width="15" height="23" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="77" x="703" y="7" width="22" height="23" xoffset="2" yoffset="6" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="78" x="727" y="7" width="18" height="23" xoffset="2" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="79" x="747" y="7" width="22" height="24" xoffset="2" yoffset="5" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="80" x="771" y="7" width="18" height="23" xoffset="2" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="81" x="791" y="7" width="23" height="25" xoffset="1" yoffset="5" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="82" x="816" y="7" width="20" height="23" xoffset="3" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="83" x="838" y="7" width="19" height="24" xoffset="1" yoffset="5" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="84" x="859" y="7" width="19" height="23" xoffset="1" yoffset="6" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="85" x="880" y="7" width="18" height="24" xoffset="3" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="86" x="900" y="7" width="21" height="23" xoffset="0" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="87" x="923" y="7" width="30" height="23" xoffset="0" yoffset="6" xadvance="30" page="0" chnl="15"/>
|
||||
<char id="88" x="955" y="7" width="21" height="23" xoffset="0" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="89" x="978" y="7" width="21" height="23" xoffset="0" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="90" x="1001" y="7" width="18" height="23" xoffset="1" yoffset="6" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="91" x="1021" y="7" width="7" height="30" xoffset="2" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="92" x="1030" y="7" width="9" height="24" xoffset="0" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="93" x="1041" y="7" width="7" height="30" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="94" x="1050" y="7" width="14" height="13" xoffset="1" yoffset="5" xadvance="15" page="0" chnl="15"/>
|
||||
<char id="95" x="1066" y="35" width="19" height="2" xoffset="0" yoffset="33" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="97" x="1087" y="13" width="16" height="18" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="98" x="1105" y="7" width="15" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="99" x="1122" y="13" width="15" height="18" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="100" x="1139" y="7" width="15" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="101" x="1156" y="13" width="16" height="18" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="102" x="1174" y="7" width="10" height="24" xoffset="0" yoffset="5" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="103" x="1186" y="13" width="15" height="24" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="104" x="1203" y="7" width="14" height="23" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="105" x="1219" y="7" width="3" height="23" xoffset="2" yoffset="6" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="106" x="1224" y="7" width="7" height="30" xoffset="-1" yoffset="6" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="107" x="1233" y="7" width="14" height="23" xoffset="2" yoffset="6" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="108" x="1249" y="7" width="3" height="23" xoffset="2" yoffset="6" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="109" x="1254" y="13" width="23" height="17" xoffset="2" yoffset="12" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="110" x="1279" y="13" width="14" height="17" xoffset="2" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="111" x="1295" y="13" width="16" height="18" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="112" x="1313" y="13" width="15" height="24" xoffset="2" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="113" x="1330" y="13" width="15" height="24" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="114" x="1347" y="13" width="9" height="17" xoffset="2" yoffset="12" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="115" x="1358" y="13" width="14" height="18" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="116" x="1374" y="8" width="8" height="23" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="117" x="1384" y="14" width="14" height="17" xoffset="2" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="118" x="1400" y="14" width="16" height="17" xoffset="0" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="119" x="1418" y="14" width="23" height="17" xoffset="0" yoffset="12" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="120" x="1443" y="14" width="16" height="17" xoffset="0" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="121" x="1461" y="14" width="16" height="24" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="122" x="1479" y="14" width="15" height="17" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="123" x="1496" y="7" width="9" height="30" xoffset="1" yoffset="5" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="124" x="1507" y="7" width="3" height="30" xoffset="3" yoffset="5" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="125" x="1512" y="7" width="9" height="30" xoffset="1" yoffset="5" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="126" x="1523" y="16" width="16" height="5" xoffset="1" yoffset="15" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="161" x="1541" y="14" width="4" height="23" xoffset="4" yoffset="12" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="162" x="1547" y="7" width="15" height="30" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="163" x="1564" y="7" width="17" height="24" xoffset="0" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="164" x="1583" y="11" width="16" height="16" xoffset="1" yoffset="10" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="165" x="1601" y="7" width="18" height="23" xoffset="0" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="166" x="1621" y="7" width="3" height="30" xoffset="3" yoffset="5" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="167" x="1626" y="7" width="15" height="30" xoffset="1" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="168" x="1643" y="7" width="9" height="4" xoffset="1" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="169" x="1654" y="7" width="24" height="24" xoffset="0" yoffset="5" xadvance="24" page="0" chnl="15"/>
|
||||
<char id="170" x="1680" y="7" width="11" height="12" xoffset="1" yoffset="5" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="171" x="1693" y="15" width="14" height="15" xoffset="2" yoffset="13" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="172" x="1709" y="14" width="15" height="10" xoffset="2" yoffset="13" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="173" x="1726" y="20" width="9" height="3" xoffset="1" yoffset="19" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="174" x="1737" y="7" width="24" height="24" xoffset="0" yoffset="5" xadvance="24" page="0" chnl="15"/>
|
||||
<char id="175" x="1763" y="4" width="19" height="2" xoffset="0" yoffset="2" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="176" x="1784" y="7" width="9" height="9" xoffset="2" yoffset="5" xadvance="13" page="0" chnl="15"/>
|
||||
<char id="177" x="1795" y="11" width="15" height="20" xoffset="1" yoffset="9" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="178" x="1812" y="7" width="10" height="12" xoffset="0" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="179" x="1824" y="7" width="10" height="12" xoffset="1" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="180" x="1836" y="7" width="6" height="5" xoffset="3" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="181" x="1844" y="14" width="14" height="23" xoffset="3" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="182" x="1860" y="7" width="18" height="30" xoffset="0" yoffset="6" xadvance="17" page="0" chnl="15"/>
|
||||
<char id="183" x="1880" y="17" width="4" height="4" xoffset="4" yoffset="16" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="184" x="1886" y="30" width="7" height="7" xoffset="2" yoffset="28" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="185" x="1895" y="7" width="6" height="12" xoffset="2" yoffset="6" xadvance="11" page="0" chnl="15"/>
|
||||
<char id="186" x="1903" y="7" width="11" height="12" xoffset="1" yoffset="5" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="187" x="1916" y="15" width="14" height="15" xoffset="2" yoffset="13" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="188" x="1932" y="7" width="25" height="25" xoffset="2" yoffset="5" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="189" x="1959" y="7" width="25" height="25" xoffset="2" yoffset="5" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="190" x="1986" y="7" width="26" height="25" xoffset="1" yoffset="5" xadvance="27" page="0" chnl="15"/>
|
||||
<char id="191" x="2014" y="14" width="15" height="24" xoffset="2" yoffset="12" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="192" x="2031" y="2" width="22" height="29" xoffset="0" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="193" x="2055" y="2" width="22" height="29" xoffset="0" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="194" x="2079" y="2" width="22" height="29" xoffset="0" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="195" x="2103" y="2" width="22" height="28" xoffset="0" yoffset="1" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="196" x="2127" y="3" width="22" height="28" xoffset="0" yoffset="1" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="197" x="2151" y="2" width="22" height="28" xoffset="0" yoffset="1" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="198" x="2175" y="7" width="31" height="23" xoffset="0" yoffset="6" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="199" x="2208" y="7" width="21" height="30" xoffset="2" yoffset="5" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="200" x="2231" y="2" width="17" height="29" xoffset="3" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="201" x="2250" y="2" width="17" height="29" xoffset="3" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="202" x="2269" y="2" width="17" height="29" xoffset="3" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="203" x="2288" y="3" width="17" height="28" xoffset="3" yoffset="1" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="204" x="2307" y="2" width="6" height="29" xoffset="1" yoffset="0" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="205" x="2315" y="2" width="6" height="29" xoffset="2" yoffset="0" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="206" x="2323" y="2" width="10" height="29" xoffset="0" yoffset="0" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="207" x="2335" y="3" width="9" height="28" xoffset="0" yoffset="1" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="208" x="2346" y="7" width="22" height="23" xoffset="0" yoffset="6" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="209" x="2370" y="2" width="18" height="28" xoffset="2" yoffset="1" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="210" x="2390" y="2" width="22" height="29" xoffset="2" yoffset="0" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="211" x="2414" y="2" width="22" height="29" xoffset="2" yoffset="0" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="212" x="2438" y="2" width="22" height="29" xoffset="2" yoffset="0" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="213" x="2462" y="2" width="22" height="29" xoffset="2" yoffset="1" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="214" x="2486" y="3" width="22" height="28" xoffset="2" yoffset="1" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="215" x="2510" y="12" width="14" height="14" xoffset="3" yoffset="11" xadvance="19" page="0" chnl="15"/>
|
||||
<char id="216" x="2526" y="6" width="23" height="25" xoffset="1" yoffset="5" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="217" x="2551" y="2" width="18" height="29" xoffset="3" yoffset="0" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="218" x="2571" y="2" width="18" height="29" xoffset="3" yoffset="0" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="219" x="2591" y="2" width="18" height="29" xoffset="3" yoffset="0" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="220" x="2611" y="3" width="18" height="28" xoffset="3" yoffset="1" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="221" x="2631" y="2" width="21" height="29" xoffset="0" yoffset="0" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="222" x="2654" y="7" width="18" height="23" xoffset="2" yoffset="6" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="223" x="2674" y="7" width="17" height="24" xoffset="2" yoffset="5" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="224" x="2693" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="225" x="2711" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="226" x="2729" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="227" x="2747" y="8" width="16" height="23" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="228" x="2765" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="229" x="2783" y="6" width="16" height="24" xoffset="1" yoffset="5" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="230" x="2801" y="13" width="26" height="18" xoffset="1" yoffset="12" xadvance="28" page="0" chnl="15"/>
|
||||
<char id="231" x="2829" y="13" width="15" height="24" xoffset="1" yoffset="12" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="232" x="2846" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="233" x="2864" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="234" x="2882" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="235" x="2900" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="236" x="2918" y="7" width="6" height="23" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="237" x="2926" y="7" width="6" height="23" xoffset="3" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="238" x="2934" y="7" width="10" height="23" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="239" x="2946" y="7" width="9" height="23" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
<char id="240" x="2957" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="241" x="2975" y="8" width="14" height="23" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="242" x="2991" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="243" x="3009" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="244" x="3027" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="245" x="3045" y="8" width="16" height="23" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="246" x="3063" y="7" width="16" height="24" xoffset="1" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="247" x="3081" y="13" width="15" height="13" xoffset="1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="248" x="3098" y="13" width="16" height="19" xoffset="2" yoffset="11" xadvance="20" page="0" chnl="15"/>
|
||||
<char id="249" x="3116" y="7" width="14" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="250" x="3132" y="7" width="14" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="251" x="3148" y="7" width="14" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="252" x="3164" y="7" width="14" height="24" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="253" x="3180" y="7" width="16" height="30" xoffset="1" yoffset="6" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="254" x="3198" y="7" width="15" height="30" xoffset="2" yoffset="6" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="255" x="3215" y="7" width="16" height="30" xoffset="1" yoffset="6" xadvance="16" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="1" yoffset="6" xadvance="9" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="-2"/>
|
||||
<kerning first="32" second="84" amount="-1"/>
|
||||
<kerning first="32" second="89" amount="-1"/>
|
||||
<kerning first="49" second="49" amount="-2"/>
|
||||
<kerning first="65" second="32" amount="-2"/>
|
||||
<kerning first="65" second="84" amount="-2"/>
|
||||
<kerning first="65" second="86" amount="-2"/>
|
||||
<kerning first="65" second="87" amount="-1"/>
|
||||
<kerning first="65" second="89" amount="-2"/>
|
||||
<kerning first="65" second="118" amount="-1"/>
|
||||
<kerning first="65" second="119" amount="-1"/>
|
||||
<kerning first="65" second="121" amount="-1"/>
|
||||
<kerning first="70" second="44" amount="-4"/>
|
||||
<kerning first="70" second="46" amount="-4"/>
|
||||
<kerning first="70" second="65" amount="-2"/>
|
||||
<kerning first="76" second="32" amount="-1"/>
|
||||
<kerning first="76" second="84" amount="-2"/>
|
||||
<kerning first="76" second="86" amount="-2"/>
|
||||
<kerning first="76" second="87" amount="-2"/>
|
||||
<kerning first="76" second="89" amount="-2"/>
|
||||
<kerning first="76" second="121" amount="-1"/>
|
||||
<kerning first="80" second="32" amount="-1"/>
|
||||
<kerning first="80" second="44" amount="-4"/>
|
||||
<kerning first="80" second="46" amount="-4"/>
|
||||
<kerning first="80" second="65" amount="-2"/>
|
||||
<kerning first="82" second="84" amount="-1"/>
|
||||
<kerning first="82" second="86" amount="-1"/>
|
||||
<kerning first="82" second="87" amount="-1"/>
|
||||
<kerning first="82" second="89" amount="-1"/>
|
||||
<kerning first="84" second="32" amount="-1"/>
|
||||
<kerning first="84" second="44" amount="-4"/>
|
||||
<kerning first="84" second="173" amount="-2"/>
|
||||
<kerning first="84" second="46" amount="-4"/>
|
||||
<kerning first="84" second="58" amount="-4"/>
|
||||
<kerning first="84" second="59" amount="-4"/>
|
||||
<kerning first="84" second="65" amount="-2"/>
|
||||
<kerning first="84" second="79" amount="-1"/>
|
||||
<kerning first="84" second="97" amount="-4"/>
|
||||
<kerning first="84" second="99" amount="-4"/>
|
||||
<kerning first="84" second="101" amount="-4"/>
|
||||
<kerning first="84" second="105" amount="-1"/>
|
||||
<kerning first="84" second="111" amount="-4"/>
|
||||
<kerning first="84" second="114" amount="-1"/>
|
||||
<kerning first="84" second="115" amount="-4"/>
|
||||
<kerning first="84" second="117" amount="-1"/>
|
||||
<kerning first="84" second="119" amount="-2"/>
|
||||
<kerning first="84" second="121" amount="-2"/>
|
||||
<kerning first="86" second="44" amount="-3"/>
|
||||
<kerning first="86" second="173" amount="-2"/>
|
||||
<kerning first="86" second="46" amount="-3"/>
|
||||
<kerning first="86" second="58" amount="-1"/>
|
||||
<kerning first="86" second="59" amount="-1"/>
|
||||
<kerning first="86" second="65" amount="-2"/>
|
||||
<kerning first="86" second="97" amount="-2"/>
|
||||
<kerning first="86" second="101" amount="-2"/>
|
||||
<kerning first="86" second="105" amount="-1"/>
|
||||
<kerning first="86" second="111" amount="-2"/>
|
||||
<kerning first="86" second="114" amount="-1"/>
|
||||
<kerning first="86" second="117" amount="-1"/>
|
||||
<kerning first="86" second="121" amount="-1"/>
|
||||
<kerning first="87" second="44" amount="-2"/>
|
||||
<kerning first="87" second="173" amount="-1"/>
|
||||
<kerning first="87" second="46" amount="-2"/>
|
||||
<kerning first="87" second="58" amount="-1"/>
|
||||
<kerning first="87" second="59" amount="-1"/>
|
||||
<kerning first="87" second="65" amount="-1"/>
|
||||
<kerning first="87" second="97" amount="-1"/>
|
||||
<kerning first="87" second="101" amount="-1"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="-1"/>
|
||||
<kerning first="87" second="114" amount="-1"/>
|
||||
<kerning first="87" second="117" amount="-1"/>
|
||||
<kerning first="87" second="121" amount="0"/>
|
||||
<kerning first="89" second="32" amount="-1"/>
|
||||
<kerning first="89" second="44" amount="-4"/>
|
||||
<kerning first="89" second="173" amount="-3"/>
|
||||
<kerning first="89" second="46" amount="-4"/>
|
||||
<kerning first="89" second="58" amount="-2"/>
|
||||
<kerning first="89" second="59" amount="-2"/>
|
||||
<kerning first="89" second="65" amount="-2"/>
|
||||
<kerning first="89" second="97" amount="-2"/>
|
||||
<kerning first="89" second="101" amount="-3"/>
|
||||
<kerning first="89" second="105" amount="-1"/>
|
||||
<kerning first="89" second="111" amount="-3"/>
|
||||
<kerning first="89" second="112" amount="-2"/>
|
||||
<kerning first="89" second="113" amount="-3"/>
|
||||
<kerning first="89" second="117" amount="-2"/>
|
||||
<kerning first="89" second="118" amount="-2"/>
|
||||
<kerning first="102" second="102" amount="-1"/>
|
||||
<kerning first="114" second="44" amount="-2"/>
|
||||
<kerning first="114" second="46" amount="-2"/>
|
||||
<kerning first="118" second="44" amount="-2"/>
|
||||
<kerning first="118" second="46" amount="-2"/>
|
||||
<kerning first="119" second="44" amount="-2"/>
|
||||
<kerning first="119" second="46" amount="-2"/>
|
||||
<kerning first="121" second="44" amount="-2"/>
|
||||
<kerning first="121" second="46" amount="-2"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-32-white/open-sans-32-white.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 21 KiB |
297
build/node_modules/jimp/fonts/open-sans/open-sans-64-black/open-sans-64-black.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-64-black" size="64" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="72" base="58" scaleW="4093" scaleH="146" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-64-black.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="13" width="7" height="46" xoffset="6" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="34" x="11" y="13" width="17" height="17" xoffset="3" yoffset="12" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="35" x="30" y="12" width="34" height="48" xoffset="1" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="36" x="66" y="9" width="31" height="57" xoffset="2" yoffset="7" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="37" x="99" y="12" width="50" height="49" xoffset="4" yoffset="11" xadvance="57" page="0" chnl="15"/>
|
||||
<char id="38" x="151" y="12" width="39" height="48" xoffset="3" yoffset="11" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="39" x="192" y="13" width="7" height="17" xoffset="3" yoffset="12" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="40" x="201" y="12" width="15" height="60" xoffset="4" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="41" x="218" y="12" width="15" height="60" xoffset="4" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="42" x="235" y="12" width="21" height="20" xoffset="2" yoffset="11" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="43" x="258" y="21" width="31" height="31" xoffset="4" yoffset="20" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="44" x="291" y="52" width="7" height="16" xoffset="5" yoffset="51" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="45" x="300" y="39" width="18" height="6" xoffset="2" yoffset="38" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="46" x="320" y="52" width="7" height="7" xoffset="6" yoffset="51" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="47" x="329" y="12" width="18" height="48" xoffset="0" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="48" x="349" y="13" width="30" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="49" x="381" y="13" width="17" height="46" xoffset="7" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="50" x="400" y="13" width="31" height="46" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="51" x="433" y="13" width="30" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="52" x="465" y="13" width="32" height="46" xoffset="1" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="53" x="499" y="14" width="31" height="46" xoffset="3" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="54" x="532" y="13" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="55" x="565" y="14" width="30" height="46" xoffset="3" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="56" x="597" y="13" width="31" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="57" x="630" y="13" width="30" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="58" x="662" y="26" width="7" height="34" xoffset="6" yoffset="24" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="59" x="671" y="26" width="7" height="43" xoffset="5" yoffset="24" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="60" x="680" y="21" width="31" height="31" xoffset="4" yoffset="19" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="61" x="713" y="27" width="31" height="20" xoffset="4" yoffset="25" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="62" x="746" y="21" width="31" height="31" xoffset="4" yoffset="19" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="63" x="779" y="12" width="30" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="64" x="811" y="12" width="60" height="60" xoffset="3" yoffset="11" xadvance="65" page="0" chnl="15"/>
|
||||
<char id="65" x="873" y="13" width="43" height="46" xoffset="0" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="66" x="918" y="13" width="35" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="67" x="955" y="12" width="41" height="48" xoffset="3" yoffset="11" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="68" x="998" y="13" width="38" height="46" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="69" x="1038" y="13" width="35" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="70" x="1075" y="13" width="31" height="46" xoffset="5" yoffset="12" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="71" x="1108" y="12" width="43" height="48" xoffset="3" yoffset="11" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="72" x="1153" y="13" width="36" height="46" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="73" x="1191" y="13" width="6" height="46" xoffset="6" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="74" x="1199" y="13" width="26" height="47" xoffset="2" yoffset="12" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="75" x="1227" y="13" width="38" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="76" x="1267" y="13" width="29" height="46" xoffset="5" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="77" x="1298" y="13" width="44" height="46" xoffset="5" yoffset="12" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="78" x="1344" y="13" width="36" height="46" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="79" x="1382" y="12" width="44" height="48" xoffset="3" yoffset="11" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="80" x="1428" y="13" width="35" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="81" x="1465" y="12" width="45" height="51" xoffset="3" yoffset="11" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="82" x="1512" y="13" width="41" height="46" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="83" x="1555" y="12" width="37" height="48" xoffset="3" yoffset="11" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="84" x="1594" y="13" width="37" height="46" xoffset="2" yoffset="12" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="85" x="1633" y="13" width="36" height="47" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="86" x="1671" y="13" width="42" height="46" xoffset="0" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="87" x="1715" y="13" width="59" height="46" xoffset="1" yoffset="12" xadvance="60" page="0" chnl="15"/>
|
||||
<char id="88" x="1776" y="13" width="42" height="46" xoffset="0" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="89" x="1820" y="13" width="42" height="46" xoffset="0" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="90" x="1864" y="13" width="37" height="46" xoffset="1" yoffset="12" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="91" x="1903" y="13" width="13" height="59" xoffset="4" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="92" x="1918" y="12" width="18" height="48" xoffset="0" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="93" x="1938" y="13" width="13" height="59" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="94" x="1953" y="12" width="27" height="25" xoffset="2" yoffset="11" xadvance="30" page="0" chnl="15"/>
|
||||
<char id="95" x="1982" y="68" width="38" height="4" xoffset="-1" yoffset="66" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="97" x="2022" y="25" width="31" height="35" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="98" x="2055" y="13" width="29" height="47" xoffset="4" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="99" x="2086" y="25" width="29" height="35" xoffset="3" yoffset="23" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="100" x="2117" y="13" width="29" height="47" xoffset="2" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="101" x="2148" y="25" width="31" height="35" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="102" x="2181" y="12" width="20" height="47" xoffset="1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="103" x="2203" y="25" width="30" height="48" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="104" x="2235" y="13" width="27" height="46" xoffset="4" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="105" x="2264" y="13" width="6" height="46" xoffset="4" yoffset="12" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="106" x="2272" y="13" width="13" height="60" xoffset="-3" yoffset="12" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="107" x="2287" y="13" width="28" height="46" xoffset="4" yoffset="12" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="108" x="2317" y="13" width="6" height="46" xoffset="4" yoffset="12" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="109" x="2325" y="25" width="45" height="34" xoffset="4" yoffset="23" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="110" x="2372" y="25" width="27" height="34" xoffset="4" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="111" x="2401" y="25" width="31" height="35" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="112" x="2434" y="25" width="29" height="47" xoffset="4" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="113" x="2465" y="25" width="29" height="47" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="114" x="2496" y="25" width="18" height="34" xoffset="4" yoffset="23" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="115" x="2516" y="25" width="28" height="35" xoffset="2" yoffset="23" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="116" x="2546" y="14" width="17" height="46" xoffset="1" yoffset="13" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="117" x="2565" y="26" width="27" height="34" xoffset="4" yoffset="24" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="118" x="2594" y="26" width="31" height="34" xoffset="1" yoffset="24" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="119" x="2627" y="26" width="46" height="34" xoffset="0" yoffset="24" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="120" x="2675" y="26" width="31" height="34" xoffset="0" yoffset="24" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="121" x="2708" y="26" width="31" height="47" xoffset="1" yoffset="24" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="122" x="2741" y="26" width="30" height="34" xoffset="1" yoffset="24" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="123" x="2773" y="12" width="18" height="60" xoffset="2" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="124" x="2793" y="12" width="5" height="60" xoffset="6" yoffset="11" xadvance="17" page="0" chnl="15"/>
|
||||
<char id="125" x="2800" y="12" width="18" height="60" xoffset="1" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="126" x="2820" y="31" width="32" height="11" xoffset="3" yoffset="30" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="161" x="2854" y="26" width="7" height="46" xoffset="7" yoffset="24" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="162" x="2863" y="13" width="29" height="59" xoffset="3" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="163" x="2894" y="12" width="33" height="48" xoffset="1" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="164" x="2929" y="21" width="31" height="31" xoffset="2" yoffset="19" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="165" x="2962" y="13" width="36" height="46" xoffset="0" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="166" x="3000" y="12" width="5" height="60" xoffset="6" yoffset="11" xadvance="17" page="0" chnl="15"/>
|
||||
<char id="167" x="3007" y="12" width="30" height="60" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="168" x="3039" y="13" width="18" height="7" xoffset="2" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="169" x="3059" y="12" width="48" height="48" xoffset="0" yoffset="11" xadvance="47" page="0" chnl="15"/>
|
||||
<char id="170" x="3109" y="12" width="21" height="24" xoffset="1" yoffset="11" xadvance="24" page="0" chnl="15"/>
|
||||
<char id="171" x="3132" y="28" width="27" height="29" xoffset="4" yoffset="27" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="172" x="3161" y="27" width="31" height="19" xoffset="4" yoffset="25" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="173" x="3194" y="39" width="18" height="6" xoffset="2" yoffset="38" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="174" x="3214" y="12" width="48" height="48" xoffset="0" yoffset="11" xadvance="47" page="0" chnl="15"/>
|
||||
<char id="175" x="3264" y="6" width="38" height="4" xoffset="-1" yoffset="4" xadvance="35" page="0" chnl="15"/>
|
||||
<char id="176" x="3304" y="12" width="18" height="18" xoffset="4" yoffset="11" xadvance="26" page="0" chnl="15"/>
|
||||
<char id="177" x="3324" y="20" width="31" height="39" xoffset="2" yoffset="19" xadvance="35" page="0" chnl="15"/>
|
||||
<char id="178" x="3357" y="13" width="20" height="24" xoffset="1" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="179" x="3379" y="13" width="20" height="24" xoffset="1" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="180" x="3401" y="13" width="12" height="9" xoffset="7" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="181" x="3415" y="26" width="27" height="46" xoffset="5" yoffset="24" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="182" x="3444" y="13" width="35" height="59" xoffset="0" yoffset="12" xadvance="34" page="0" chnl="15"/>
|
||||
<char id="183" x="3481" y="33" width="7" height="7" xoffset="7" yoffset="31" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="184" x="3490" y="58" width="14" height="14" xoffset="3" yoffset="57" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="185" x="3506" y="13" width="12" height="24" xoffset="3" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="186" x="3520" y="12" width="21" height="24" xoffset="1" yoffset="11" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="187" x="3543" y="28" width="27" height="29" xoffset="4" yoffset="27" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="188" x="3572" y="12" width="49" height="49" xoffset="3" yoffset="11" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="189" x="3623" y="12" width="49" height="49" xoffset="3" yoffset="11" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="190" x="3674" y="12" width="52" height="49" xoffset="1" yoffset="11" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="191" x="3728" y="26" width="30" height="47" xoffset="5" yoffset="24" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="192" x="3760" y="2" width="43" height="58" xoffset="0" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="193" x="3805" y="2" width="43" height="58" xoffset="0" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="194" x="3850" y="2" width="43" height="58" xoffset="0" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="195" x="3895" y="3" width="43" height="56" xoffset="0" yoffset="2" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="196" x="3940" y="4" width="43" height="55" xoffset="0" yoffset="2" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="197" x="3985" y="3" width="43" height="56" xoffset="0" yoffset="2" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="198" x="4030" y="13" width="61" height="46" xoffset="0" yoffset="12" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="199" x="2" y="85" width="41" height="60" xoffset="3" yoffset="11" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="200" x="45" y="75" width="35" height="58" xoffset="5" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="201" x="82" y="75" width="35" height="58" xoffset="5" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="202" x="119" y="75" width="35" height="58" xoffset="5" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="203" x="156" y="77" width="35" height="55" xoffset="5" yoffset="2" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="204" x="193" y="75" width="12" height="58" xoffset="2" yoffset="0" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="205" x="207" y="75" width="12" height="58" xoffset="4" yoffset="0" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="206" x="221" y="75" width="20" height="58" xoffset="-1" yoffset="0" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="207" x="243" y="77" width="18" height="55" xoffset="0" yoffset="2" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="208" x="263" y="86" width="43" height="46" xoffset="0" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="209" x="308" y="76" width="36" height="56" xoffset="5" yoffset="2" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="210" x="346" y="75" width="44" height="59" xoffset="3" yoffset="0" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="211" x="392" y="75" width="44" height="59" xoffset="3" yoffset="0" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="212" x="438" y="75" width="44" height="59" xoffset="3" yoffset="0" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="213" x="484" y="76" width="44" height="57" xoffset="3" yoffset="2" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="214" x="530" y="77" width="44" height="56" xoffset="3" yoffset="2" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="215" x="576" y="96" width="28" height="28" xoffset="5" yoffset="21" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="216" x="606" y="84" width="45" height="50" xoffset="3" yoffset="10" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="217" x="653" y="75" width="36" height="59" xoffset="5" yoffset="0" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="218" x="691" y="75" width="36" height="59" xoffset="5" yoffset="0" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="219" x="729" y="75" width="36" height="59" xoffset="5" yoffset="0" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="220" x="767" y="77" width="36" height="56" xoffset="5" yoffset="2" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="221" x="805" y="75" width="42" height="58" xoffset="0" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="222" x="849" y="86" width="35" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="223" x="886" y="85" width="33" height="48" xoffset="5" yoffset="11" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="224" x="921" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="225" x="954" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="226" x="987" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="227" x="1020" y="87" width="31" height="46" xoffset="2" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="228" x="1053" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="229" x="1086" y="84" width="31" height="49" xoffset="2" yoffset="10" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="230" x="1119" y="98" width="53" height="35" xoffset="2" yoffset="23" xadvance="57" page="0" chnl="15"/>
|
||||
<char id="231" x="1174" y="98" width="29" height="47" xoffset="3" yoffset="23" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="232" x="1205" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="233" x="1238" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="234" x="1271" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="235" x="1304" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="236" x="1337" y="86" width="12" height="46" xoffset="1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="237" x="1351" y="86" width="12" height="46" xoffset="6" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="238" x="1365" y="86" width="20" height="46" xoffset="-1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="239" x="1387" y="86" width="18" height="46" xoffset="0" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="240" x="1407" y="86" width="31" height="47" xoffset="2" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="241" x="1440" y="87" width="27" height="46" xoffset="4" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="242" x="1469" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="243" x="1502" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="244" x="1535" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="245" x="1568" y="87" width="31" height="46" xoffset="2" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="246" x="1601" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="247" x="1634" y="97" width="31" height="26" xoffset="2" yoffset="22" xadvance="35" page="0" chnl="15"/>
|
||||
<char id="248" x="1667" y="97" width="31" height="38" xoffset="4" yoffset="22" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="249" x="1700" y="86" width="27" height="47" xoffset="4" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="250" x="1729" y="86" width="27" height="47" xoffset="4" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="251" x="1758" y="86" width="27" height="47" xoffset="4" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="252" x="1787" y="86" width="27" height="47" xoffset="4" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="253" x="1816" y="86" width="31" height="60" xoffset="1" yoffset="11" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="254" x="1849" y="86" width="29" height="59" xoffset="4" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="255" x="1880" y="86" width="31" height="60" xoffset="1" yoffset="11" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="-4"/>
|
||||
<kerning first="32" second="84" amount="-1"/>
|
||||
<kerning first="32" second="89" amount="-1"/>
|
||||
<kerning first="49" second="49" amount="-5"/>
|
||||
<kerning first="65" second="32" amount="-4"/>
|
||||
<kerning first="65" second="84" amount="-5"/>
|
||||
<kerning first="65" second="86" amount="-5"/>
|
||||
<kerning first="65" second="87" amount="-2"/>
|
||||
<kerning first="65" second="89" amount="-5"/>
|
||||
<kerning first="65" second="118" amount="-1"/>
|
||||
<kerning first="65" second="119" amount="-1"/>
|
||||
<kerning first="65" second="121" amount="-1"/>
|
||||
<kerning first="70" second="44" amount="-7"/>
|
||||
<kerning first="70" second="46" amount="-7"/>
|
||||
<kerning first="70" second="65" amount="-4"/>
|
||||
<kerning first="76" second="32" amount="-2"/>
|
||||
<kerning first="76" second="84" amount="-5"/>
|
||||
<kerning first="76" second="86" amount="-5"/>
|
||||
<kerning first="76" second="87" amount="-5"/>
|
||||
<kerning first="76" second="89" amount="-5"/>
|
||||
<kerning first="76" second="121" amount="-2"/>
|
||||
<kerning first="80" second="32" amount="-1"/>
|
||||
<kerning first="80" second="44" amount="-8"/>
|
||||
<kerning first="80" second="46" amount="-8"/>
|
||||
<kerning first="80" second="65" amount="-5"/>
|
||||
<kerning first="82" second="84" amount="-1"/>
|
||||
<kerning first="82" second="86" amount="-1"/>
|
||||
<kerning first="82" second="87" amount="-1"/>
|
||||
<kerning first="82" second="89" amount="-1"/>
|
||||
<kerning first="84" second="32" amount="-1"/>
|
||||
<kerning first="84" second="44" amount="-7"/>
|
||||
<kerning first="84" second="173" amount="-4"/>
|
||||
<kerning first="84" second="46" amount="-7"/>
|
||||
<kerning first="84" second="58" amount="-7"/>
|
||||
<kerning first="84" second="59" amount="-7"/>
|
||||
<kerning first="84" second="65" amount="-5"/>
|
||||
<kerning first="84" second="79" amount="-1"/>
|
||||
<kerning first="84" second="97" amount="-7"/>
|
||||
<kerning first="84" second="99" amount="-7"/>
|
||||
<kerning first="84" second="101" amount="-7"/>
|
||||
<kerning first="84" second="105" amount="-2"/>
|
||||
<kerning first="84" second="111" amount="-7"/>
|
||||
<kerning first="84" second="114" amount="-2"/>
|
||||
<kerning first="84" second="115" amount="-7"/>
|
||||
<kerning first="84" second="117" amount="-2"/>
|
||||
<kerning first="84" second="119" amount="-4"/>
|
||||
<kerning first="84" second="121" amount="-4"/>
|
||||
<kerning first="86" second="44" amount="-6"/>
|
||||
<kerning first="86" second="173" amount="-4"/>
|
||||
<kerning first="86" second="46" amount="-6"/>
|
||||
<kerning first="86" second="58" amount="-2"/>
|
||||
<kerning first="86" second="59" amount="-2"/>
|
||||
<kerning first="86" second="65" amount="-5"/>
|
||||
<kerning first="86" second="97" amount="-5"/>
|
||||
<kerning first="86" second="101" amount="-4"/>
|
||||
<kerning first="86" second="105" amount="-1"/>
|
||||
<kerning first="86" second="111" amount="-4"/>
|
||||
<kerning first="86" second="114" amount="-2"/>
|
||||
<kerning first="86" second="117" amount="-2"/>
|
||||
<kerning first="86" second="121" amount="-2"/>
|
||||
<kerning first="87" second="44" amount="-4"/>
|
||||
<kerning first="87" second="173" amount="-1"/>
|
||||
<kerning first="87" second="46" amount="-4"/>
|
||||
<kerning first="87" second="58" amount="-1"/>
|
||||
<kerning first="87" second="59" amount="-1"/>
|
||||
<kerning first="87" second="65" amount="-2"/>
|
||||
<kerning first="87" second="97" amount="-2"/>
|
||||
<kerning first="87" second="101" amount="-1"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="-1"/>
|
||||
<kerning first="87" second="114" amount="-1"/>
|
||||
<kerning first="87" second="117" amount="-1"/>
|
||||
<kerning first="87" second="121" amount="-1"/>
|
||||
<kerning first="89" second="32" amount="-1"/>
|
||||
<kerning first="89" second="44" amount="-8"/>
|
||||
<kerning first="89" second="173" amount="-6"/>
|
||||
<kerning first="89" second="46" amount="-8"/>
|
||||
<kerning first="89" second="58" amount="-4"/>
|
||||
<kerning first="89" second="59" amount="-4"/>
|
||||
<kerning first="89" second="65" amount="-5"/>
|
||||
<kerning first="89" second="97" amount="-5"/>
|
||||
<kerning first="89" second="101" amount="-6"/>
|
||||
<kerning first="89" second="105" amount="-2"/>
|
||||
<kerning first="89" second="111" amount="-6"/>
|
||||
<kerning first="89" second="112" amount="-5"/>
|
||||
<kerning first="89" second="113" amount="-6"/>
|
||||
<kerning first="89" second="117" amount="-4"/>
|
||||
<kerning first="89" second="118" amount="-4"/>
|
||||
<kerning first="102" second="102" amount="-1"/>
|
||||
<kerning first="114" second="44" amount="-4"/>
|
||||
<kerning first="114" second="46" amount="-4"/>
|
||||
<kerning first="118" second="44" amount="-5"/>
|
||||
<kerning first="118" second="46" amount="-5"/>
|
||||
<kerning first="119" second="44" amount="-4"/>
|
||||
<kerning first="119" second="46" amount="-4"/>
|
||||
<kerning first="121" second="44" amount="-5"/>
|
||||
<kerning first="121" second="46" amount="-5"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-64-black/open-sans-64-black.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 47 KiB |
297
build/node_modules/jimp/fonts/open-sans/open-sans-64-white/open-sans-64-white.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-64-white" size="64" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="72" base="58" scaleW="4093" scaleH="146" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-64-white.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="13" width="7" height="46" xoffset="6" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="34" x="11" y="13" width="17" height="17" xoffset="3" yoffset="12" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="35" x="30" y="12" width="34" height="48" xoffset="1" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="36" x="66" y="9" width="31" height="57" xoffset="2" yoffset="7" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="37" x="99" y="12" width="50" height="49" xoffset="4" yoffset="11" xadvance="57" page="0" chnl="15"/>
|
||||
<char id="38" x="151" y="12" width="39" height="48" xoffset="3" yoffset="11" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="39" x="192" y="13" width="7" height="17" xoffset="3" yoffset="12" xadvance="12" page="0" chnl="15"/>
|
||||
<char id="40" x="201" y="12" width="15" height="60" xoffset="4" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="41" x="218" y="12" width="15" height="60" xoffset="4" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="42" x="235" y="12" width="21" height="20" xoffset="2" yoffset="11" xadvance="25" page="0" chnl="15"/>
|
||||
<char id="43" x="258" y="21" width="31" height="31" xoffset="4" yoffset="20" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="44" x="291" y="52" width="7" height="16" xoffset="5" yoffset="51" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="45" x="300" y="39" width="18" height="6" xoffset="2" yoffset="38" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="46" x="320" y="52" width="7" height="7" xoffset="6" yoffset="51" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="47" x="329" y="12" width="18" height="48" xoffset="0" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="48" x="349" y="13" width="30" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="49" x="381" y="13" width="17" height="46" xoffset="7" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="50" x="400" y="13" width="31" height="46" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="51" x="433" y="13" width="30" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="52" x="465" y="13" width="32" height="46" xoffset="1" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="53" x="499" y="14" width="31" height="46" xoffset="3" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="54" x="532" y="13" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="55" x="565" y="14" width="30" height="46" xoffset="3" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="56" x="597" y="13" width="31" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="57" x="630" y="13" width="30" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="58" x="662" y="26" width="7" height="34" xoffset="6" yoffset="24" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="59" x="671" y="26" width="7" height="43" xoffset="5" yoffset="24" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="60" x="680" y="21" width="31" height="31" xoffset="4" yoffset="19" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="61" x="713" y="27" width="31" height="20" xoffset="4" yoffset="25" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="62" x="746" y="21" width="31" height="31" xoffset="4" yoffset="19" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="63" x="779" y="12" width="30" height="47" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="64" x="811" y="12" width="60" height="60" xoffset="3" yoffset="11" xadvance="65" page="0" chnl="15"/>
|
||||
<char id="65" x="873" y="13" width="43" height="46" xoffset="0" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="66" x="918" y="13" width="35" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="67" x="955" y="12" width="41" height="48" xoffset="3" yoffset="11" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="68" x="998" y="13" width="38" height="46" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="69" x="1038" y="13" width="35" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="70" x="1075" y="13" width="31" height="46" xoffset="5" yoffset="12" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="71" x="1108" y="12" width="43" height="48" xoffset="3" yoffset="11" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="72" x="1153" y="13" width="36" height="46" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="73" x="1191" y="13" width="6" height="46" xoffset="6" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="74" x="1199" y="13" width="26" height="47" xoffset="2" yoffset="12" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="75" x="1227" y="13" width="38" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="76" x="1267" y="13" width="29" height="46" xoffset="5" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="77" x="1298" y="13" width="44" height="46" xoffset="5" yoffset="12" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="78" x="1344" y="13" width="36" height="46" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="79" x="1382" y="12" width="44" height="48" xoffset="3" yoffset="11" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="80" x="1428" y="13" width="35" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="81" x="1465" y="12" width="45" height="51" xoffset="3" yoffset="11" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="82" x="1512" y="13" width="41" height="46" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="83" x="1555" y="12" width="37" height="48" xoffset="3" yoffset="11" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="84" x="1594" y="13" width="37" height="46" xoffset="2" yoffset="12" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="85" x="1633" y="13" width="36" height="47" xoffset="5" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="86" x="1671" y="13" width="42" height="46" xoffset="0" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="87" x="1715" y="13" width="59" height="46" xoffset="1" yoffset="12" xadvance="60" page="0" chnl="15"/>
|
||||
<char id="88" x="1776" y="13" width="42" height="46" xoffset="0" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="89" x="1820" y="13" width="42" height="46" xoffset="0" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="90" x="1864" y="13" width="37" height="46" xoffset="1" yoffset="12" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="91" x="1903" y="13" width="13" height="59" xoffset="4" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="92" x="1918" y="12" width="18" height="48" xoffset="0" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="93" x="1938" y="13" width="13" height="59" xoffset="1" yoffset="12" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="94" x="1953" y="12" width="27" height="25" xoffset="2" yoffset="11" xadvance="30" page="0" chnl="15"/>
|
||||
<char id="95" x="1982" y="68" width="38" height="4" xoffset="-1" yoffset="66" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="97" x="2022" y="25" width="31" height="35" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="98" x="2055" y="13" width="29" height="47" xoffset="4" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="99" x="2086" y="25" width="29" height="35" xoffset="3" yoffset="23" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="100" x="2117" y="13" width="29" height="47" xoffset="2" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="101" x="2148" y="25" width="31" height="35" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="102" x="2181" y="12" width="20" height="47" xoffset="1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="103" x="2203" y="25" width="30" height="48" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="104" x="2235" y="13" width="27" height="46" xoffset="4" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="105" x="2264" y="13" width="6" height="46" xoffset="4" yoffset="12" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="106" x="2272" y="13" width="13" height="60" xoffset="-3" yoffset="12" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="107" x="2287" y="13" width="28" height="46" xoffset="4" yoffset="12" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="108" x="2317" y="13" width="6" height="46" xoffset="4" yoffset="12" xadvance="14" page="0" chnl="15"/>
|
||||
<char id="109" x="2325" y="25" width="45" height="34" xoffset="4" yoffset="23" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="110" x="2372" y="25" width="27" height="34" xoffset="4" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="111" x="2401" y="25" width="31" height="35" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="112" x="2434" y="25" width="29" height="47" xoffset="4" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="113" x="2465" y="25" width="29" height="47" xoffset="2" yoffset="23" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="114" x="2496" y="25" width="18" height="34" xoffset="4" yoffset="23" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="115" x="2516" y="25" width="28" height="35" xoffset="2" yoffset="23" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="116" x="2546" y="14" width="17" height="46" xoffset="1" yoffset="13" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="117" x="2565" y="26" width="27" height="34" xoffset="4" yoffset="24" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="118" x="2594" y="26" width="31" height="34" xoffset="1" yoffset="24" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="119" x="2627" y="26" width="46" height="34" xoffset="0" yoffset="24" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="120" x="2675" y="26" width="31" height="34" xoffset="0" yoffset="24" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="121" x="2708" y="26" width="31" height="47" xoffset="1" yoffset="24" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="122" x="2741" y="26" width="30" height="34" xoffset="1" yoffset="24" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="123" x="2773" y="12" width="18" height="60" xoffset="2" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="124" x="2793" y="12" width="5" height="60" xoffset="6" yoffset="11" xadvance="17" page="0" chnl="15"/>
|
||||
<char id="125" x="2800" y="12" width="18" height="60" xoffset="1" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="126" x="2820" y="31" width="32" height="11" xoffset="3" yoffset="30" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="161" x="2854" y="26" width="7" height="46" xoffset="7" yoffset="24" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="162" x="2863" y="13" width="29" height="59" xoffset="3" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="163" x="2894" y="12" width="33" height="48" xoffset="1" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="164" x="2929" y="21" width="31" height="31" xoffset="2" yoffset="19" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="165" x="2962" y="13" width="36" height="46" xoffset="0" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="166" x="3000" y="12" width="5" height="60" xoffset="6" yoffset="11" xadvance="17" page="0" chnl="15"/>
|
||||
<char id="167" x="3007" y="12" width="30" height="60" xoffset="3" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="168" x="3039" y="13" width="18" height="7" xoffset="2" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="169" x="3059" y="12" width="48" height="48" xoffset="0" yoffset="11" xadvance="47" page="0" chnl="15"/>
|
||||
<char id="170" x="3109" y="12" width="21" height="24" xoffset="1" yoffset="11" xadvance="24" page="0" chnl="15"/>
|
||||
<char id="171" x="3132" y="28" width="27" height="29" xoffset="4" yoffset="27" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="172" x="3161" y="27" width="31" height="19" xoffset="4" yoffset="25" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="173" x="3194" y="39" width="18" height="6" xoffset="2" yoffset="38" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="174" x="3214" y="12" width="48" height="48" xoffset="0" yoffset="11" xadvance="47" page="0" chnl="15"/>
|
||||
<char id="175" x="3264" y="6" width="38" height="4" xoffset="-1" yoffset="4" xadvance="35" page="0" chnl="15"/>
|
||||
<char id="176" x="3304" y="12" width="18" height="18" xoffset="4" yoffset="11" xadvance="26" page="0" chnl="15"/>
|
||||
<char id="177" x="3324" y="20" width="31" height="39" xoffset="2" yoffset="19" xadvance="35" page="0" chnl="15"/>
|
||||
<char id="178" x="3357" y="13" width="20" height="24" xoffset="1" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="179" x="3379" y="13" width="20" height="24" xoffset="1" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="180" x="3401" y="13" width="12" height="9" xoffset="7" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="181" x="3415" y="26" width="27" height="46" xoffset="5" yoffset="24" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="182" x="3444" y="13" width="35" height="59" xoffset="0" yoffset="12" xadvance="34" page="0" chnl="15"/>
|
||||
<char id="183" x="3481" y="33" width="7" height="7" xoffset="7" yoffset="31" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="184" x="3490" y="58" width="14" height="14" xoffset="3" yoffset="57" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="185" x="3506" y="13" width="12" height="24" xoffset="3" yoffset="11" xadvance="21" page="0" chnl="15"/>
|
||||
<char id="186" x="3520" y="12" width="21" height="24" xoffset="1" yoffset="11" xadvance="23" page="0" chnl="15"/>
|
||||
<char id="187" x="3543" y="28" width="27" height="29" xoffset="4" yoffset="27" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="188" x="3572" y="12" width="49" height="49" xoffset="3" yoffset="11" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="189" x="3623" y="12" width="49" height="49" xoffset="3" yoffset="11" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="190" x="3674" y="12" width="52" height="49" xoffset="1" yoffset="11" xadvance="53" page="0" chnl="15"/>
|
||||
<char id="191" x="3728" y="26" width="30" height="47" xoffset="5" yoffset="24" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="192" x="3760" y="2" width="43" height="58" xoffset="0" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="193" x="3805" y="2" width="43" height="58" xoffset="0" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="194" x="3850" y="2" width="43" height="58" xoffset="0" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="195" x="3895" y="3" width="43" height="56" xoffset="0" yoffset="2" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="196" x="3940" y="4" width="43" height="55" xoffset="0" yoffset="2" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="197" x="3985" y="3" width="43" height="56" xoffset="0" yoffset="2" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="198" x="4030" y="13" width="61" height="46" xoffset="0" yoffset="12" xadvance="64" page="0" chnl="15"/>
|
||||
<char id="199" x="2" y="85" width="41" height="60" xoffset="3" yoffset="11" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="200" x="45" y="75" width="35" height="58" xoffset="5" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="201" x="82" y="75" width="35" height="58" xoffset="5" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="202" x="119" y="75" width="35" height="58" xoffset="5" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="203" x="156" y="77" width="35" height="55" xoffset="5" yoffset="2" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="204" x="193" y="75" width="12" height="58" xoffset="2" yoffset="0" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="205" x="207" y="75" width="12" height="58" xoffset="4" yoffset="0" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="206" x="221" y="75" width="20" height="58" xoffset="-1" yoffset="0" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="207" x="243" y="77" width="18" height="55" xoffset="0" yoffset="2" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="208" x="263" y="86" width="43" height="46" xoffset="0" yoffset="12" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="209" x="308" y="76" width="36" height="56" xoffset="5" yoffset="2" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="210" x="346" y="75" width="44" height="59" xoffset="3" yoffset="0" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="211" x="392" y="75" width="44" height="59" xoffset="3" yoffset="0" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="212" x="438" y="75" width="44" height="59" xoffset="3" yoffset="0" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="213" x="484" y="76" width="44" height="57" xoffset="3" yoffset="2" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="214" x="530" y="77" width="44" height="56" xoffset="3" yoffset="2" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="215" x="576" y="96" width="28" height="28" xoffset="5" yoffset="21" xadvance="37" page="0" chnl="15"/>
|
||||
<char id="216" x="606" y="84" width="45" height="50" xoffset="3" yoffset="10" xadvance="50" page="0" chnl="15"/>
|
||||
<char id="217" x="653" y="75" width="36" height="59" xoffset="5" yoffset="0" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="218" x="691" y="75" width="36" height="59" xoffset="5" yoffset="0" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="219" x="729" y="75" width="36" height="59" xoffset="5" yoffset="0" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="220" x="767" y="77" width="36" height="56" xoffset="5" yoffset="2" xadvance="46" page="0" chnl="15"/>
|
||||
<char id="221" x="805" y="75" width="42" height="58" xoffset="0" yoffset="0" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="222" x="849" y="86" width="35" height="46" xoffset="5" yoffset="12" xadvance="43" page="0" chnl="15"/>
|
||||
<char id="223" x="886" y="85" width="33" height="48" xoffset="5" yoffset="11" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="224" x="921" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="225" x="954" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="226" x="987" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="227" x="1020" y="87" width="31" height="46" xoffset="2" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="228" x="1053" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="229" x="1086" y="84" width="31" height="49" xoffset="2" yoffset="10" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="230" x="1119" y="98" width="53" height="35" xoffset="2" yoffset="23" xadvance="57" page="0" chnl="15"/>
|
||||
<char id="231" x="1174" y="98" width="29" height="47" xoffset="3" yoffset="23" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="232" x="1205" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="233" x="1238" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="234" x="1271" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="235" x="1304" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="236" x="1337" y="86" width="12" height="46" xoffset="1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="237" x="1351" y="86" width="12" height="46" xoffset="6" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="238" x="1365" y="86" width="20" height="46" xoffset="-1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="239" x="1387" y="86" width="18" height="46" xoffset="0" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
<char id="240" x="1407" y="86" width="31" height="47" xoffset="2" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="241" x="1440" y="87" width="27" height="46" xoffset="4" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="242" x="1469" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="243" x="1502" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="244" x="1535" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="245" x="1568" y="87" width="31" height="46" xoffset="2" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="246" x="1601" y="86" width="31" height="47" xoffset="2" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="247" x="1634" y="97" width="31" height="26" xoffset="2" yoffset="22" xadvance="35" page="0" chnl="15"/>
|
||||
<char id="248" x="1667" y="97" width="31" height="38" xoffset="4" yoffset="22" xadvance="39" page="0" chnl="15"/>
|
||||
<char id="249" x="1700" y="86" width="27" height="47" xoffset="4" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="250" x="1729" y="86" width="27" height="47" xoffset="4" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="251" x="1758" y="86" width="27" height="47" xoffset="4" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="252" x="1787" y="86" width="27" height="47" xoffset="4" yoffset="11" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="253" x="1816" y="86" width="31" height="60" xoffset="1" yoffset="11" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="254" x="1849" y="86" width="29" height="59" xoffset="4" yoffset="12" xadvance="36" page="0" chnl="15"/>
|
||||
<char id="255" x="1880" y="86" width="31" height="60" xoffset="1" yoffset="11" xadvance="32" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="1" yoffset="11" xadvance="18" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="-4"/>
|
||||
<kerning first="32" second="84" amount="-1"/>
|
||||
<kerning first="32" second="89" amount="-1"/>
|
||||
<kerning first="49" second="49" amount="-5"/>
|
||||
<kerning first="65" second="32" amount="-4"/>
|
||||
<kerning first="65" second="84" amount="-5"/>
|
||||
<kerning first="65" second="86" amount="-5"/>
|
||||
<kerning first="65" second="87" amount="-2"/>
|
||||
<kerning first="65" second="89" amount="-5"/>
|
||||
<kerning first="65" second="118" amount="-1"/>
|
||||
<kerning first="65" second="119" amount="-1"/>
|
||||
<kerning first="65" second="121" amount="-1"/>
|
||||
<kerning first="70" second="44" amount="-7"/>
|
||||
<kerning first="70" second="46" amount="-7"/>
|
||||
<kerning first="70" second="65" amount="-4"/>
|
||||
<kerning first="76" second="32" amount="-2"/>
|
||||
<kerning first="76" second="84" amount="-5"/>
|
||||
<kerning first="76" second="86" amount="-5"/>
|
||||
<kerning first="76" second="87" amount="-5"/>
|
||||
<kerning first="76" second="89" amount="-5"/>
|
||||
<kerning first="76" second="121" amount="-2"/>
|
||||
<kerning first="80" second="32" amount="-1"/>
|
||||
<kerning first="80" second="44" amount="-8"/>
|
||||
<kerning first="80" second="46" amount="-8"/>
|
||||
<kerning first="80" second="65" amount="-5"/>
|
||||
<kerning first="82" second="84" amount="-1"/>
|
||||
<kerning first="82" second="86" amount="-1"/>
|
||||
<kerning first="82" second="87" amount="-1"/>
|
||||
<kerning first="82" second="89" amount="-1"/>
|
||||
<kerning first="84" second="32" amount="-1"/>
|
||||
<kerning first="84" second="44" amount="-7"/>
|
||||
<kerning first="84" second="173" amount="-4"/>
|
||||
<kerning first="84" second="46" amount="-7"/>
|
||||
<kerning first="84" second="58" amount="-7"/>
|
||||
<kerning first="84" second="59" amount="-7"/>
|
||||
<kerning first="84" second="65" amount="-5"/>
|
||||
<kerning first="84" second="79" amount="-1"/>
|
||||
<kerning first="84" second="97" amount="-7"/>
|
||||
<kerning first="84" second="99" amount="-7"/>
|
||||
<kerning first="84" second="101" amount="-7"/>
|
||||
<kerning first="84" second="105" amount="-2"/>
|
||||
<kerning first="84" second="111" amount="-7"/>
|
||||
<kerning first="84" second="114" amount="-2"/>
|
||||
<kerning first="84" second="115" amount="-7"/>
|
||||
<kerning first="84" second="117" amount="-2"/>
|
||||
<kerning first="84" second="119" amount="-4"/>
|
||||
<kerning first="84" second="121" amount="-4"/>
|
||||
<kerning first="86" second="44" amount="-6"/>
|
||||
<kerning first="86" second="173" amount="-4"/>
|
||||
<kerning first="86" second="46" amount="-6"/>
|
||||
<kerning first="86" second="58" amount="-2"/>
|
||||
<kerning first="86" second="59" amount="-2"/>
|
||||
<kerning first="86" second="65" amount="-5"/>
|
||||
<kerning first="86" second="97" amount="-5"/>
|
||||
<kerning first="86" second="101" amount="-4"/>
|
||||
<kerning first="86" second="105" amount="-1"/>
|
||||
<kerning first="86" second="111" amount="-4"/>
|
||||
<kerning first="86" second="114" amount="-2"/>
|
||||
<kerning first="86" second="117" amount="-2"/>
|
||||
<kerning first="86" second="121" amount="-2"/>
|
||||
<kerning first="87" second="44" amount="-4"/>
|
||||
<kerning first="87" second="173" amount="-1"/>
|
||||
<kerning first="87" second="46" amount="-4"/>
|
||||
<kerning first="87" second="58" amount="-1"/>
|
||||
<kerning first="87" second="59" amount="-1"/>
|
||||
<kerning first="87" second="65" amount="-2"/>
|
||||
<kerning first="87" second="97" amount="-2"/>
|
||||
<kerning first="87" second="101" amount="-1"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="-1"/>
|
||||
<kerning first="87" second="114" amount="-1"/>
|
||||
<kerning first="87" second="117" amount="-1"/>
|
||||
<kerning first="87" second="121" amount="-1"/>
|
||||
<kerning first="89" second="32" amount="-1"/>
|
||||
<kerning first="89" second="44" amount="-8"/>
|
||||
<kerning first="89" second="173" amount="-6"/>
|
||||
<kerning first="89" second="46" amount="-8"/>
|
||||
<kerning first="89" second="58" amount="-4"/>
|
||||
<kerning first="89" second="59" amount="-4"/>
|
||||
<kerning first="89" second="65" amount="-5"/>
|
||||
<kerning first="89" second="97" amount="-5"/>
|
||||
<kerning first="89" second="101" amount="-6"/>
|
||||
<kerning first="89" second="105" amount="-2"/>
|
||||
<kerning first="89" second="111" amount="-6"/>
|
||||
<kerning first="89" second="112" amount="-5"/>
|
||||
<kerning first="89" second="113" amount="-6"/>
|
||||
<kerning first="89" second="117" amount="-4"/>
|
||||
<kerning first="89" second="118" amount="-4"/>
|
||||
<kerning first="102" second="102" amount="-1"/>
|
||||
<kerning first="114" second="44" amount="-4"/>
|
||||
<kerning first="114" second="46" amount="-4"/>
|
||||
<kerning first="118" second="44" amount="-5"/>
|
||||
<kerning first="118" second="46" amount="-5"/>
|
||||
<kerning first="119" second="44" amount="-4"/>
|
||||
<kerning first="119" second="46" amount="-4"/>
|
||||
<kerning first="121" second="44" amount="-5"/>
|
||||
<kerning first="121" second="46" amount="-5"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-64-white/open-sans-64-white.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 50 KiB |
297
build/node_modules/jimp/fonts/open-sans/open-sans-8-black/open-sans-8-black.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-8-black" size="8" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="9" base="7" scaleW="1148" scaleH="11" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-8-black.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="3" width="1" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="34" x="5" y="3" width="2" height="2" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="35" x="9" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="36" x="16" y="2" width="4" height="7" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="37" x="22" y="3" width="7" height="6" xoffset="0" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="38" x="31" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="39" x="38" y="3" width="1" height="2" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="40" x="41" y="3" width="2" height="8" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="41" x="45" y="3" width="2" height="8" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="42" x="49" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="43" x="54" y="4" width="4" height="4" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="44" x="60" y="8" width="1" height="2" xoffset="1" yoffset="6" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="45" x="63" y="6" width="3" height="1" xoffset="0" yoffset="5" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="46" x="68" y="8" width="1" height="1" xoffset="1" yoffset="6" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="47" x="71" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="48" x="76" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="49" x="82" y="3" width="2" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="50" x="86" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="51" x="92" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="52" x="98" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="53" x="104" y="3" width="4" height="6" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="54" x="110" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="55" x="116" y="3" width="4" height="6" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="56" x="122" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="57" x="128" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="58" x="134" y="5" width="1" height="4" xoffset="1" yoffset="3" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="59" x="137" y="5" width="1" height="6" xoffset="1" yoffset="3" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="60" x="140" y="4" width="4" height="4" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="61" x="146" y="5" width="4" height="3" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="62" x="152" y="4" width="4" height="4" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="63" x="158" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="64" x="164" y="3" width="8" height="8" xoffset="0" yoffset="1" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="65" x="174" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="66" x="182" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="67" x="189" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="68" x="196" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="69" x="203" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="70" x="210" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="71" x="216" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="72" x="224" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="73" x="231" y="3" width="1" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="74" x="234" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="75" x="240" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="76" x="247" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="77" x="253" y="3" width="6" height="6" xoffset="1" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="78" x="261" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="79" x="268" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="80" x="276" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="81" x="283" y="3" width="6" height="7" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="82" x="291" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="83" x="298" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="84" x="305" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="85" x="312" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="86" x="319" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="87" x="327" y="3" width="8" height="6" xoffset="0" yoffset="1" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="88" x="337" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="89" x="344" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="90" x="352" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="91" x="359" y="3" width="2" height="8" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="92" x="363" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="93" x="368" y="3" width="2" height="8" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="94" x="372" y="3" width="4" height="3" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="95" x="378" y="10" width="5" height="1" xoffset="0" yoffset="8" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="97" x="385" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="98" x="391" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="99" x="397" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="100" x="403" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="101" x="409" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="102" x="415" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="103" x="420" y="4" width="4" height="6" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="104" x="426" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="105" x="432" y="3" width="1" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="106" x="435" y="3" width="2" height="8" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="107" x="439" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="108" x="445" y="3" width="1" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="109" x="448" y="4" width="6" height="5" xoffset="1" yoffset="3" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="110" x="456" y="4" width="4" height="5" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="111" x="462" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="112" x="468" y="4" width="4" height="6" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="113" x="474" y="4" width="4" height="6" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="114" x="480" y="4" width="3" height="5" xoffset="1" yoffset="3" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="115" x="485" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="116" x="491" y="3" width="2" height="6" xoffset="0" yoffset="2" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="117" x="495" y="5" width="4" height="5" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="118" x="501" y="5" width="4" height="4" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="119" x="507" y="5" width="6" height="4" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="120" x="515" y="5" width="4" height="4" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="121" x="521" y="5" width="4" height="6" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="122" x="527" y="5" width="4" height="4" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="123" x="533" y="3" width="3" height="8" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="124" x="538" y="3" width="1" height="8" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="125" x="541" y="3" width="3" height="8" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="126" x="546" y="5" width="4" height="2" xoffset="0" yoffset="4" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="161" x="552" y="5" width="1" height="6" xoffset="1" yoffset="3" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="162" x="555" y="3" width="4" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="163" x="561" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="164" x="567" y="4" width="4" height="4" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="165" x="573" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="166" x="580" y="3" width="1" height="8" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="167" x="583" y="3" width="4" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="168" x="589" y="3" width="3" height="1" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="169" x="594" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="170" x="602" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="171" x="607" y="5" width="4" height="4" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="172" x="613" y="5" width="4" height="3" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="173" x="619" y="6" width="3" height="1" xoffset="0" yoffset="5" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="174" x="624" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="175" x="632" y="2" width="5" height="1" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="176" x="639" y="3" width="3" height="3" xoffset="1" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="177" x="644" y="4" width="4" height="5" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="178" x="650" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="179" x="655" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="180" x="660" y="3" width="2" height="1" xoffset="1" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="181" x="664" y="5" width="4" height="6" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="182" x="670" y="3" width="5" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="183" x="677" y="5" width="1" height="1" xoffset="1" yoffset="4" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="184" x="680" y="9" width="2" height="2" xoffset="0" yoffset="7" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="185" x="684" y="3" width="2" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="186" x="688" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="187" x="693" y="5" width="4" height="4" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="188" x="699" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="189" x="707" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="190" x="715" y="3" width="7" height="6" xoffset="0" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="191" x="724" y="5" width="4" height="6" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="192" x="730" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="193" x="738" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="194" x="746" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="195" x="754" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="196" x="762" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="197" x="770" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="198" x="778" y="3" width="8" height="6" xoffset="0" yoffset="1" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="199" x="788" y="3" width="5" height="8" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="200" x="795" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="201" x="802" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="202" x="809" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="203" x="816" y="2" width="5" height="7" xoffset="1" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="204" x="823" y="2" width="2" height="8" xoffset="0" yoffset="0" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="205" x="827" y="2" width="2" height="8" xoffset="1" yoffset="0" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="206" x="831" y="2" width="3" height="8" xoffset="0" yoffset="0" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="207" x="836" y="2" width="3" height="7" xoffset="0" yoffset="0" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="208" x="841" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="209" x="849" y="2" width="5" height="7" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="210" x="856" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="211" x="864" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="212" x="872" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="213" x="880" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="214" x="888" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="215" x="896" y="4" width="4" height="4" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="216" x="902" y="3" width="6" height="7" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="217" x="910" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="218" x="917" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="219" x="924" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="220" x="931" y="2" width="5" height="7" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="221" x="938" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="222" x="946" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="223" x="953" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="224" x="959" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="225" x="965" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="226" x="971" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="227" x="977" y="3" width="4" height="6" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="228" x="983" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="229" x="989" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="230" x="995" y="4" width="7" height="5" xoffset="0" yoffset="3" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="231" x="1004" y="4" width="4" height="6" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="232" x="1010" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="233" x="1016" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="234" x="1022" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="235" x="1028" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="236" x="1034" y="3" width="2" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="237" x="1038" y="3" width="2" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="238" x="1042" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="239" x="1047" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="240" x="1052" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="241" x="1058" y="3" width="4" height="6" xoffset="1" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="242" x="1064" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="243" x="1070" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="244" x="1076" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="245" x="1082" y="3" width="4" height="6" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="246" x="1088" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="247" x="1094" y="4" width="4" height="4" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="248" x="1100" y="4" width="4" height="5" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="249" x="1106" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="250" x="1112" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="251" x="1118" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="252" x="1124" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="253" x="1130" y="3" width="4" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="254" x="1136" y="3" width="4" height="8" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="255" x="1142" y="3" width="4" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="0"/>
|
||||
<kerning first="32" second="84" amount="0"/>
|
||||
<kerning first="32" second="89" amount="0"/>
|
||||
<kerning first="49" second="49" amount="-1"/>
|
||||
<kerning first="65" second="32" amount="0"/>
|
||||
<kerning first="65" second="84" amount="-1"/>
|
||||
<kerning first="65" second="86" amount="-1"/>
|
||||
<kerning first="65" second="87" amount="0"/>
|
||||
<kerning first="65" second="89" amount="-1"/>
|
||||
<kerning first="65" second="118" amount="0"/>
|
||||
<kerning first="65" second="119" amount="0"/>
|
||||
<kerning first="65" second="121" amount="0"/>
|
||||
<kerning first="70" second="44" amount="-1"/>
|
||||
<kerning first="70" second="46" amount="-1"/>
|
||||
<kerning first="70" second="65" amount="0"/>
|
||||
<kerning first="76" second="32" amount="0"/>
|
||||
<kerning first="76" second="84" amount="-1"/>
|
||||
<kerning first="76" second="86" amount="-1"/>
|
||||
<kerning first="76" second="87" amount="-1"/>
|
||||
<kerning first="76" second="89" amount="-1"/>
|
||||
<kerning first="76" second="121" amount="0"/>
|
||||
<kerning first="80" second="32" amount="0"/>
|
||||
<kerning first="80" second="44" amount="-1"/>
|
||||
<kerning first="80" second="46" amount="-1"/>
|
||||
<kerning first="80" second="65" amount="-1"/>
|
||||
<kerning first="82" second="84" amount="0"/>
|
||||
<kerning first="82" second="86" amount="0"/>
|
||||
<kerning first="82" second="87" amount="0"/>
|
||||
<kerning first="82" second="89" amount="0"/>
|
||||
<kerning first="84" second="32" amount="0"/>
|
||||
<kerning first="84" second="44" amount="-1"/>
|
||||
<kerning first="84" second="173" amount="0"/>
|
||||
<kerning first="84" second="46" amount="-1"/>
|
||||
<kerning first="84" second="58" amount="-1"/>
|
||||
<kerning first="84" second="59" amount="-1"/>
|
||||
<kerning first="84" second="65" amount="-1"/>
|
||||
<kerning first="84" second="79" amount="0"/>
|
||||
<kerning first="84" second="97" amount="-1"/>
|
||||
<kerning first="84" second="99" amount="-1"/>
|
||||
<kerning first="84" second="101" amount="-1"/>
|
||||
<kerning first="84" second="105" amount="0"/>
|
||||
<kerning first="84" second="111" amount="-1"/>
|
||||
<kerning first="84" second="114" amount="0"/>
|
||||
<kerning first="84" second="115" amount="-1"/>
|
||||
<kerning first="84" second="117" amount="0"/>
|
||||
<kerning first="84" second="119" amount="0"/>
|
||||
<kerning first="84" second="121" amount="0"/>
|
||||
<kerning first="86" second="44" amount="-1"/>
|
||||
<kerning first="86" second="173" amount="0"/>
|
||||
<kerning first="86" second="46" amount="-1"/>
|
||||
<kerning first="86" second="58" amount="0"/>
|
||||
<kerning first="86" second="59" amount="0"/>
|
||||
<kerning first="86" second="65" amount="-1"/>
|
||||
<kerning first="86" second="97" amount="-1"/>
|
||||
<kerning first="86" second="101" amount="0"/>
|
||||
<kerning first="86" second="105" amount="0"/>
|
||||
<kerning first="86" second="111" amount="0"/>
|
||||
<kerning first="86" second="114" amount="0"/>
|
||||
<kerning first="86" second="117" amount="0"/>
|
||||
<kerning first="86" second="121" amount="0"/>
|
||||
<kerning first="87" second="44" amount="0"/>
|
||||
<kerning first="87" second="173" amount="0"/>
|
||||
<kerning first="87" second="46" amount="0"/>
|
||||
<kerning first="87" second="58" amount="0"/>
|
||||
<kerning first="87" second="59" amount="0"/>
|
||||
<kerning first="87" second="65" amount="0"/>
|
||||
<kerning first="87" second="97" amount="0"/>
|
||||
<kerning first="87" second="101" amount="0"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="0"/>
|
||||
<kerning first="87" second="114" amount="0"/>
|
||||
<kerning first="87" second="117" amount="0"/>
|
||||
<kerning first="87" second="121" amount="0"/>
|
||||
<kerning first="89" second="32" amount="0"/>
|
||||
<kerning first="89" second="44" amount="-1"/>
|
||||
<kerning first="89" second="173" amount="-1"/>
|
||||
<kerning first="89" second="46" amount="-1"/>
|
||||
<kerning first="89" second="58" amount="0"/>
|
||||
<kerning first="89" second="59" amount="-1"/>
|
||||
<kerning first="89" second="65" amount="-1"/>
|
||||
<kerning first="89" second="97" amount="-1"/>
|
||||
<kerning first="89" second="101" amount="-1"/>
|
||||
<kerning first="89" second="105" amount="0"/>
|
||||
<kerning first="89" second="111" amount="-1"/>
|
||||
<kerning first="89" second="112" amount="-1"/>
|
||||
<kerning first="89" second="113" amount="-1"/>
|
||||
<kerning first="89" second="117" amount="0"/>
|
||||
<kerning first="89" second="118" amount="0"/>
|
||||
<kerning first="102" second="102" amount="0"/>
|
||||
<kerning first="114" second="44" amount="0"/>
|
||||
<kerning first="114" second="46" amount="0"/>
|
||||
<kerning first="118" second="44" amount="-1"/>
|
||||
<kerning first="118" second="46" amount="-1"/>
|
||||
<kerning first="119" second="44" amount="0"/>
|
||||
<kerning first="119" second="46" amount="0"/>
|
||||
<kerning first="121" second="44" amount="-1"/>
|
||||
<kerning first="121" second="46" amount="-1"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-8-black/open-sans-8-black.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 3.4 KiB |
297
build/node_modules/jimp/fonts/open-sans/open-sans-8-white/open-sans-8-white.fnt
generated
vendored
Executable file
@@ -0,0 +1,297 @@
|
||||
<font>
|
||||
<info face="open-sans-8-white" size="8" bold="0" italic="0" charset="" unicode="" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="9" base="7" scaleW="1148" scaleH="11" pages="1" packed="0"/>
|
||||
<pages>
|
||||
<page id="0" file="open-sans-8-white.png"/>
|
||||
</pages>
|
||||
<chars count="188">
|
||||
<char id="33" x="2" y="3" width="1" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="34" x="5" y="3" width="2" height="2" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="35" x="9" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="36" x="16" y="2" width="4" height="7" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="37" x="22" y="3" width="7" height="6" xoffset="0" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="38" x="31" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="39" x="38" y="3" width="1" height="2" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="40" x="41" y="3" width="2" height="8" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="41" x="45" y="3" width="2" height="8" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="42" x="49" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="43" x="54" y="4" width="4" height="4" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="44" x="60" y="8" width="1" height="2" xoffset="1" yoffset="6" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="45" x="63" y="6" width="3" height="1" xoffset="0" yoffset="5" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="46" x="68" y="8" width="1" height="1" xoffset="1" yoffset="6" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="47" x="71" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="48" x="76" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="49" x="82" y="3" width="2" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="50" x="86" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="51" x="92" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="52" x="98" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="53" x="104" y="3" width="4" height="6" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="54" x="110" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="55" x="116" y="3" width="4" height="6" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="56" x="122" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="57" x="128" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="58" x="134" y="5" width="1" height="4" xoffset="1" yoffset="3" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="59" x="137" y="5" width="1" height="6" xoffset="1" yoffset="3" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="60" x="140" y="4" width="4" height="4" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="61" x="146" y="5" width="4" height="3" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="62" x="152" y="4" width="4" height="4" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="63" x="158" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="64" x="164" y="3" width="8" height="8" xoffset="0" yoffset="1" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="65" x="174" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="66" x="182" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="67" x="189" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="68" x="196" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="69" x="203" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="70" x="210" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="71" x="216" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="72" x="224" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="73" x="231" y="3" width="1" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="74" x="234" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="75" x="240" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="76" x="247" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="77" x="253" y="3" width="6" height="6" xoffset="1" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="78" x="261" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="79" x="268" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="80" x="276" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="81" x="283" y="3" width="6" height="7" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="82" x="291" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="83" x="298" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="84" x="305" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="85" x="312" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="86" x="319" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="87" x="327" y="3" width="8" height="6" xoffset="0" yoffset="1" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="88" x="337" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="89" x="344" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="90" x="352" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="91" x="359" y="3" width="2" height="8" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="92" x="363" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="93" x="368" y="3" width="2" height="8" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="94" x="372" y="3" width="4" height="3" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="95" x="378" y="10" width="5" height="1" xoffset="0" yoffset="8" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="97" x="385" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="98" x="391" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="99" x="397" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="100" x="403" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="101" x="409" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="102" x="415" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="103" x="420" y="4" width="4" height="6" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="104" x="426" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="105" x="432" y="3" width="1" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="106" x="435" y="3" width="2" height="8" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="107" x="439" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="108" x="445" y="3" width="1" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="109" x="448" y="4" width="6" height="5" xoffset="1" yoffset="3" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="110" x="456" y="4" width="4" height="5" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="111" x="462" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="112" x="468" y="4" width="4" height="6" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="113" x="474" y="4" width="4" height="6" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="114" x="480" y="4" width="3" height="5" xoffset="1" yoffset="3" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="115" x="485" y="4" width="4" height="5" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="116" x="491" y="3" width="2" height="6" xoffset="0" yoffset="2" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="117" x="495" y="5" width="4" height="5" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="118" x="501" y="5" width="4" height="4" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="119" x="507" y="5" width="6" height="4" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="120" x="515" y="5" width="4" height="4" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="121" x="521" y="5" width="4" height="6" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="122" x="527" y="5" width="4" height="4" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="123" x="533" y="3" width="3" height="8" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="124" x="538" y="3" width="1" height="8" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="125" x="541" y="3" width="3" height="8" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="126" x="546" y="5" width="4" height="2" xoffset="0" yoffset="4" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="161" x="552" y="5" width="1" height="6" xoffset="1" yoffset="3" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="162" x="555" y="3" width="4" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="163" x="561" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="164" x="567" y="4" width="4" height="4" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="165" x="573" y="3" width="5" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="166" x="580" y="3" width="1" height="8" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="167" x="583" y="3" width="4" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="168" x="589" y="3" width="3" height="1" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="169" x="594" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="170" x="602" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="171" x="607" y="5" width="4" height="4" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="172" x="613" y="5" width="4" height="3" xoffset="0" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="173" x="619" y="6" width="3" height="1" xoffset="0" yoffset="5" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="174" x="624" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="175" x="632" y="2" width="5" height="1" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="176" x="639" y="3" width="3" height="3" xoffset="1" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="177" x="644" y="4" width="4" height="5" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="178" x="650" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="179" x="655" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="180" x="660" y="3" width="2" height="1" xoffset="1" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="181" x="664" y="5" width="4" height="6" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="182" x="670" y="3" width="5" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="183" x="677" y="5" width="1" height="1" xoffset="1" yoffset="4" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="184" x="680" y="9" width="2" height="2" xoffset="0" yoffset="7" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="185" x="684" y="3" width="2" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="186" x="688" y="3" width="3" height="3" xoffset="0" yoffset="1" xadvance="3" page="0" chnl="15"/>
|
||||
<char id="187" x="693" y="5" width="4" height="4" xoffset="1" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="188" x="699" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="189" x="707" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="190" x="715" y="3" width="7" height="6" xoffset="0" yoffset="1" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="191" x="724" y="5" width="4" height="6" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="192" x="730" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="193" x="738" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="194" x="746" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="195" x="754" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="196" x="762" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="197" x="770" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="198" x="778" y="3" width="8" height="6" xoffset="0" yoffset="1" xadvance="8" page="0" chnl="15"/>
|
||||
<char id="199" x="788" y="3" width="5" height="8" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="200" x="795" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="201" x="802" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="202" x="809" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="203" x="816" y="2" width="5" height="7" xoffset="1" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="204" x="823" y="2" width="2" height="8" xoffset="0" yoffset="0" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="205" x="827" y="2" width="2" height="8" xoffset="1" yoffset="0" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="206" x="831" y="2" width="3" height="8" xoffset="0" yoffset="0" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="207" x="836" y="2" width="3" height="7" xoffset="0" yoffset="0" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="208" x="841" y="3" width="6" height="6" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="209" x="849" y="2" width="5" height="7" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="210" x="856" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="211" x="864" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="212" x="872" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="213" x="880" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="214" x="888" y="2" width="6" height="7" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="215" x="896" y="4" width="4" height="4" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="216" x="902" y="3" width="6" height="7" xoffset="0" yoffset="1" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="217" x="910" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="218" x="917" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="219" x="924" y="2" width="5" height="8" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="220" x="931" y="2" width="5" height="7" xoffset="1" yoffset="0" xadvance="6" page="0" chnl="15"/>
|
||||
<char id="221" x="938" y="2" width="6" height="8" xoffset="0" yoffset="0" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="222" x="946" y="3" width="5" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="223" x="953" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="224" x="959" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="225" x="965" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="226" x="971" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="227" x="977" y="3" width="4" height="6" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="228" x="983" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="229" x="989" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="230" x="995" y="4" width="7" height="5" xoffset="0" yoffset="3" xadvance="7" page="0" chnl="15"/>
|
||||
<char id="231" x="1004" y="4" width="4" height="6" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="232" x="1010" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="233" x="1016" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="234" x="1022" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="235" x="1028" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="236" x="1034" y="3" width="2" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="237" x="1038" y="3" width="2" height="6" xoffset="1" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="238" x="1042" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="239" x="1047" y="3" width="3" height="6" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
<char id="240" x="1052" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="241" x="1058" y="3" width="4" height="6" xoffset="1" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="242" x="1064" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="243" x="1070" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="244" x="1076" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="245" x="1082" y="3" width="4" height="6" xoffset="0" yoffset="2" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="246" x="1088" y="3" width="4" height="6" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="247" x="1094" y="4" width="4" height="4" xoffset="0" yoffset="3" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="248" x="1100" y="4" width="4" height="5" xoffset="1" yoffset="3" xadvance="5" page="0" chnl="15"/>
|
||||
<char id="249" x="1106" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="250" x="1112" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="251" x="1118" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="252" x="1124" y="3" width="4" height="6" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="253" x="1130" y="3" width="4" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="254" x="1136" y="3" width="4" height="8" xoffset="1" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="255" x="1142" y="3" width="4" height="8" xoffset="0" yoffset="1" xadvance="4" page="0" chnl="15"/>
|
||||
<char id="32" x="0" y="0" width="0" height="0" xoffset="0" yoffset="1" xadvance="2" page="0" chnl="15"/>
|
||||
</chars>
|
||||
<kernings count="97">
|
||||
<kerning first="32" second="65" amount="0"/>
|
||||
<kerning first="32" second="84" amount="0"/>
|
||||
<kerning first="32" second="89" amount="0"/>
|
||||
<kerning first="49" second="49" amount="-1"/>
|
||||
<kerning first="65" second="32" amount="0"/>
|
||||
<kerning first="65" second="84" amount="-1"/>
|
||||
<kerning first="65" second="86" amount="-1"/>
|
||||
<kerning first="65" second="87" amount="0"/>
|
||||
<kerning first="65" second="89" amount="-1"/>
|
||||
<kerning first="65" second="118" amount="0"/>
|
||||
<kerning first="65" second="119" amount="0"/>
|
||||
<kerning first="65" second="121" amount="0"/>
|
||||
<kerning first="70" second="44" amount="-1"/>
|
||||
<kerning first="70" second="46" amount="-1"/>
|
||||
<kerning first="70" second="65" amount="0"/>
|
||||
<kerning first="76" second="32" amount="0"/>
|
||||
<kerning first="76" second="84" amount="-1"/>
|
||||
<kerning first="76" second="86" amount="-1"/>
|
||||
<kerning first="76" second="87" amount="-1"/>
|
||||
<kerning first="76" second="89" amount="-1"/>
|
||||
<kerning first="76" second="121" amount="0"/>
|
||||
<kerning first="80" second="32" amount="0"/>
|
||||
<kerning first="80" second="44" amount="-1"/>
|
||||
<kerning first="80" second="46" amount="-1"/>
|
||||
<kerning first="80" second="65" amount="-1"/>
|
||||
<kerning first="82" second="84" amount="0"/>
|
||||
<kerning first="82" second="86" amount="0"/>
|
||||
<kerning first="82" second="87" amount="0"/>
|
||||
<kerning first="82" second="89" amount="0"/>
|
||||
<kerning first="84" second="32" amount="0"/>
|
||||
<kerning first="84" second="44" amount="-1"/>
|
||||
<kerning first="84" second="173" amount="0"/>
|
||||
<kerning first="84" second="46" amount="-1"/>
|
||||
<kerning first="84" second="58" amount="-1"/>
|
||||
<kerning first="84" second="59" amount="-1"/>
|
||||
<kerning first="84" second="65" amount="-1"/>
|
||||
<kerning first="84" second="79" amount="0"/>
|
||||
<kerning first="84" second="97" amount="-1"/>
|
||||
<kerning first="84" second="99" amount="-1"/>
|
||||
<kerning first="84" second="101" amount="-1"/>
|
||||
<kerning first="84" second="105" amount="0"/>
|
||||
<kerning first="84" second="111" amount="-1"/>
|
||||
<kerning first="84" second="114" amount="0"/>
|
||||
<kerning first="84" second="115" amount="-1"/>
|
||||
<kerning first="84" second="117" amount="0"/>
|
||||
<kerning first="84" second="119" amount="0"/>
|
||||
<kerning first="84" second="121" amount="0"/>
|
||||
<kerning first="86" second="44" amount="-1"/>
|
||||
<kerning first="86" second="173" amount="0"/>
|
||||
<kerning first="86" second="46" amount="-1"/>
|
||||
<kerning first="86" second="58" amount="0"/>
|
||||
<kerning first="86" second="59" amount="0"/>
|
||||
<kerning first="86" second="65" amount="-1"/>
|
||||
<kerning first="86" second="97" amount="-1"/>
|
||||
<kerning first="86" second="101" amount="0"/>
|
||||
<kerning first="86" second="105" amount="0"/>
|
||||
<kerning first="86" second="111" amount="0"/>
|
||||
<kerning first="86" second="114" amount="0"/>
|
||||
<kerning first="86" second="117" amount="0"/>
|
||||
<kerning first="86" second="121" amount="0"/>
|
||||
<kerning first="87" second="44" amount="0"/>
|
||||
<kerning first="87" second="173" amount="0"/>
|
||||
<kerning first="87" second="46" amount="0"/>
|
||||
<kerning first="87" second="58" amount="0"/>
|
||||
<kerning first="87" second="59" amount="0"/>
|
||||
<kerning first="87" second="65" amount="0"/>
|
||||
<kerning first="87" second="97" amount="0"/>
|
||||
<kerning first="87" second="101" amount="0"/>
|
||||
<kerning first="87" second="105" amount="0"/>
|
||||
<kerning first="87" second="111" amount="0"/>
|
||||
<kerning first="87" second="114" amount="0"/>
|
||||
<kerning first="87" second="117" amount="0"/>
|
||||
<kerning first="87" second="121" amount="0"/>
|
||||
<kerning first="89" second="32" amount="0"/>
|
||||
<kerning first="89" second="44" amount="-1"/>
|
||||
<kerning first="89" second="173" amount="-1"/>
|
||||
<kerning first="89" second="46" amount="-1"/>
|
||||
<kerning first="89" second="58" amount="0"/>
|
||||
<kerning first="89" second="59" amount="-1"/>
|
||||
<kerning first="89" second="65" amount="-1"/>
|
||||
<kerning first="89" second="97" amount="-1"/>
|
||||
<kerning first="89" second="101" amount="-1"/>
|
||||
<kerning first="89" second="105" amount="0"/>
|
||||
<kerning first="89" second="111" amount="-1"/>
|
||||
<kerning first="89" second="112" amount="-1"/>
|
||||
<kerning first="89" second="113" amount="-1"/>
|
||||
<kerning first="89" second="117" amount="0"/>
|
||||
<kerning first="89" second="118" amount="0"/>
|
||||
<kerning first="102" second="102" amount="0"/>
|
||||
<kerning first="114" second="44" amount="0"/>
|
||||
<kerning first="114" second="46" amount="0"/>
|
||||
<kerning first="118" second="44" amount="-1"/>
|
||||
<kerning first="118" second="46" amount="-1"/>
|
||||
<kerning first="119" second="44" amount="0"/>
|
||||
<kerning first="119" second="46" amount="0"/>
|
||||
<kerning first="121" second="44" amount="-1"/>
|
||||
<kerning first="121" second="46" amount="-1"/>
|
||||
</kernings>
|
||||
</font>
|
||||
BIN
build/node_modules/jimp/fonts/open-sans/open-sans-8-white/open-sans-8-white.png
generated
vendored
Executable file
|
After Width: | Height: | Size: 3.6 KiB |
2588
build/node_modules/jimp/index.js
generated
vendored
Executable file
133
build/node_modules/jimp/jimp.d.ts
generated
vendored
Normal file
@@ -0,0 +1,133 @@
|
||||
|
||||
declare namespace Jimp {
|
||||
type ImageCallback = (err: Error|null, image: Jimp) => any;
|
||||
|
||||
interface RGB {
|
||||
r: number;
|
||||
g: number;
|
||||
b: number;
|
||||
}
|
||||
interface RGBA {
|
||||
r: number;
|
||||
g: number;
|
||||
b: number;
|
||||
a: number;
|
||||
}
|
||||
|
||||
interface Jimp {
|
||||
bitmap: {data: Buffer, width: number, height: number};
|
||||
|
||||
clone(cb?: Jimp.ImageCallback): Jimp;
|
||||
quality(n: number, cb?: Jimp.ImageCallback): this;
|
||||
deflateLevel(l: number, cb?: Jimp.ImageCallback): this;
|
||||
deflateStrategy(s: number, cb?: Jimp.ImageCallback): this;
|
||||
filterType(f: number, cb?: Jimp.ImageCallback): this;
|
||||
|
||||
rgba(bool: boolean, cb?: Jimp.ImageCallback): this;
|
||||
background(hex: number, cb?: Jimp.ImageCallback): this;
|
||||
scan(x: number, y: number, w: number, h: number, f: (x:number, y:number, idx:number)=>any, cb?: Jimp.ImageCallback): this;
|
||||
getMIME(): string;
|
||||
getExtension(): string;
|
||||
getPixelIndex(x: number, y: number, cb?: (err:Error, i:number)=>any): number;
|
||||
getPixelColor(x: number, y: number, cb?: (err:Error, hex:number)=>any): number;
|
||||
setPixelColor(hex: number, x: number, y: number, cb?: Jimp.ImageCallback): this;
|
||||
hash(base?: number, cb?: (err:Error, hash: string)=>any): string;
|
||||
crop(x: number, y: number, w: number, h: number, cb?: Jimp.ImageCallback): this;
|
||||
autocrop(tolerance?: number, cropOnlyFrames?: boolean, cb?: Jimp.ImageCallback): this
|
||||
blit(src: Jimp, x: number, y: number, srcx?: number, srcy?: number, srcw?: number, srch?: number, cb?: Jimp.ImageCallback): this
|
||||
mask(src: Jimp, x: number, y: number, cb?: Jimp.ImageCallback): this
|
||||
composite(src: Jimp, x: number, y: number, cb?: Jimp.ImageCallback): this;
|
||||
brightness(val: number, cb?: Jimp.ImageCallback): this;
|
||||
contrast(val: number, cb?: Jimp.ImageCallback): this;
|
||||
posterize(n: number, cb?: Jimp.ImageCallback): this;
|
||||
histogram(): {r: number[], g: number[], b: number[]};
|
||||
normalize(cb?: Jimp.ImageCallback): this;
|
||||
invert(cb?: Jimp.ImageCallback): this;
|
||||
mirror(horizontal: boolean, vertical: boolean, cb?: Jimp.ImageCallback): this;
|
||||
gaussian(r: number, cb?: Jimp.ImageCallback): this;
|
||||
blur(r: number, cb?: Jimp.ImageCallback): this;
|
||||
|
||||
greyscale(cb?: Jimp.ImageCallback): this;
|
||||
grayscale(cb?: Jimp.ImageCallback): this;
|
||||
sepia(cb?: Jimp.ImageCallback): this;
|
||||
opacity(f: any, cb?: any):this;
|
||||
fade(f: any, cb?: any): this;
|
||||
opaque(cb: any): this;
|
||||
resize(w: number, h: number, mode?: string, cb?: Jimp.ImageCallback): this;
|
||||
cover(w: number, h: number, alignBits?: number, mode?: string, cb?: Jimp.ImageCallback): this;
|
||||
contain(w: number, h: number, alignBits?: number, mode?: string, cb?: Jimp.ImageCallback): this;
|
||||
scale(f: number, mode?: string, cb?: Jimp.ImageCallback): this;
|
||||
scaleToFit(w: number, h: number, mode?: any, cb?: Jimp.ImageCallback): this;
|
||||
rotate(deg: number, mode?: number|boolean, cb?: Jimp.ImageCallback): this;
|
||||
getBuffer(mime: string, cb:(err:Error, buffer:Buffer)=>any): this;
|
||||
|
||||
write(path: string, cb?: Jimp.ImageCallback): this;
|
||||
}
|
||||
|
||||
var Jimp: {
|
||||
|
||||
// used to auto resizing etc.
|
||||
AUTO: number;
|
||||
|
||||
// supported mime types
|
||||
MIME_PNG: string;
|
||||
MIME_JPEG: string;
|
||||
MIME_BMP: string;
|
||||
|
||||
// PNG filter types
|
||||
PNG_FILTER_AUTO: number;
|
||||
PNG_FILTER_NONE: number;
|
||||
PNG_FILTER_SUB: number;
|
||||
PNG_FILTER_UP: number;
|
||||
PNG_FILTER_AVERAGE: number;
|
||||
PNG_FILTER_PAETH: number;
|
||||
|
||||
// resize methods
|
||||
RESIZE_NEAREST_NEIGHBOR: string;
|
||||
RESIZE_BILINEAR: string;
|
||||
RESIZE_BICUBIC: string;
|
||||
RESIZE_HERMITE: string;
|
||||
RESIZE_BEZIER: string;
|
||||
|
||||
// Align modes for cover, contain, bit masks
|
||||
HORIZONTAL_ALIGN_LEFT: number;
|
||||
HORIZONTAL_ALIGN_CENTER: number;
|
||||
HORIZONTAL_ALIGN_RIGHT: number;
|
||||
|
||||
VERTICAL_ALIGN_TOP: number;
|
||||
VERTICAL_ALIGN_MIDDLE: number;
|
||||
VERTICAL_ALIGN_BOTTOM: number;
|
||||
|
||||
// Font locations
|
||||
FONT_SANS_8_BLACK: string;
|
||||
FONT_SANS_16_BLACK: string;
|
||||
FONT_SANS_32_BLACK: string;
|
||||
FONT_SANS_64_BLACK: string;
|
||||
FONT_SANS_128_BLACK: string;
|
||||
|
||||
FONT_SANS_8_WHITE: string;
|
||||
FONT_SANS_16_WHITE: string;
|
||||
FONT_SANS_32_WHITE: string;
|
||||
FONT_SANS_64_WHITE: string;
|
||||
FONT_SANS_128_WHITE: string;
|
||||
|
||||
(path: string, cb?: Jimp.ImageCallback): Jimp;
|
||||
(image: Jimp, cb?: Jimp.ImageCallback): Jimp;
|
||||
(data: Buffer, cb?: Jimp.ImageCallback): Jimp;
|
||||
(w: number, h: number, cb?: Jimp.ImageCallback): Jimp;
|
||||
|
||||
read(src: string|Buffer, cb?: Jimp.ImageCallback): Promise<Jimp>;
|
||||
|
||||
rgbaToInt(r: number, g: number, b: number, a: number, cb?: (err: Error, i: number)=>any): number;
|
||||
intToRgba(i: number, cb?: (err:Error, rgba: Jimp.RGBA)=>any): Jimp.RGBA;
|
||||
limit255(n: number): number;
|
||||
diff(img1: Jimp, img2: Jimp, threshold?: number): {percent: number, diff: Jimp};
|
||||
distance(img1: Jimp, img2: Jimp): number;
|
||||
|
||||
prototype: Jimp;
|
||||
};
|
||||
}
|
||||
|
||||
declare module "jimp" {
|
||||
export = Jimp.Jimp;
|
||||
}
|
||||
452
build/node_modules/jimp/node_modules/file-type/index.js
generated
vendored
Normal file
@@ -0,0 +1,452 @@
|
||||
'use strict';
|
||||
module.exports = function (buf) {
|
||||
if (!(buf && buf.length > 1)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (buf[0] === 0xFF && buf[1] === 0xD8 && buf[2] === 0xFF) {
|
||||
return {
|
||||
ext: 'jpg',
|
||||
mime: 'image/jpeg'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x89 && buf[1] === 0x50 && buf[2] === 0x4E && buf[3] === 0x47) {
|
||||
return {
|
||||
ext: 'png',
|
||||
mime: 'image/png'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x47 && buf[1] === 0x49 && buf[2] === 0x46) {
|
||||
return {
|
||||
ext: 'gif',
|
||||
mime: 'image/gif'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[8] === 0x57 && buf[9] === 0x45 && buf[10] === 0x42 && buf[11] === 0x50) {
|
||||
return {
|
||||
ext: 'webp',
|
||||
mime: 'image/webp'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x46 && buf[1] === 0x4C && buf[2] === 0x49 && buf[3] === 0x46) {
|
||||
return {
|
||||
ext: 'flif',
|
||||
mime: 'image/flif'
|
||||
};
|
||||
}
|
||||
|
||||
// needs to be before `tif` check
|
||||
if (((buf[0] === 0x49 && buf[1] === 0x49 && buf[2] === 0x2A && buf[3] === 0x0) || (buf[0] === 0x4D && buf[1] === 0x4D && buf[2] === 0x0 && buf[3] === 0x2A)) && buf[8] === 0x43 && buf[9] === 0x52) {
|
||||
return {
|
||||
ext: 'cr2',
|
||||
mime: 'image/x-canon-cr2'
|
||||
};
|
||||
}
|
||||
|
||||
if ((buf[0] === 0x49 && buf[1] === 0x49 && buf[2] === 0x2A && buf[3] === 0x0) || (buf[0] === 0x4D && buf[1] === 0x4D && buf[2] === 0x0 && buf[3] === 0x2A)) {
|
||||
return {
|
||||
ext: 'tif',
|
||||
mime: 'image/tiff'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x42 && buf[1] === 0x4D) {
|
||||
return {
|
||||
ext: 'bmp',
|
||||
mime: 'image/bmp'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x49 && buf[1] === 0x49 && buf[2] === 0xBC) {
|
||||
return {
|
||||
ext: 'jxr',
|
||||
mime: 'image/vnd.ms-photo'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x38 && buf[1] === 0x42 && buf[2] === 0x50 && buf[3] === 0x53) {
|
||||
return {
|
||||
ext: 'psd',
|
||||
mime: 'image/vnd.adobe.photoshop'
|
||||
};
|
||||
}
|
||||
|
||||
// needs to be before `zip` check
|
||||
if (buf[0] === 0x50 && buf[1] === 0x4B && buf[2] === 0x3 && buf[3] === 0x4 && buf[30] === 0x6D && buf[31] === 0x69 && buf[32] === 0x6D && buf[33] === 0x65 && buf[34] === 0x74 && buf[35] === 0x79 && buf[36] === 0x70 && buf[37] === 0x65 && buf[38] === 0x61 && buf[39] === 0x70 && buf[40] === 0x70 && buf[41] === 0x6C && buf[42] === 0x69 && buf[43] === 0x63 && buf[44] === 0x61 && buf[45] === 0x74 && buf[46] === 0x69 && buf[47] === 0x6F && buf[48] === 0x6E && buf[49] === 0x2F && buf[50] === 0x65 && buf[51] === 0x70 && buf[52] === 0x75 && buf[53] === 0x62 && buf[54] === 0x2B && buf[55] === 0x7A && buf[56] === 0x69 && buf[57] === 0x70) {
|
||||
return {
|
||||
ext: 'epub',
|
||||
mime: 'application/epub+zip'
|
||||
};
|
||||
}
|
||||
|
||||
// needs to be before `zip` check
|
||||
// assumes signed .xpi from addons.mozilla.org
|
||||
if (buf[0] === 0x50 && buf[1] === 0x4B && buf[2] === 0x3 && buf[3] === 0x4 && buf[30] === 0x4D && buf[31] === 0x45 && buf[32] === 0x54 && buf[33] === 0x41 && buf[34] === 0x2D && buf[35] === 0x49 && buf[36] === 0x4E && buf[37] === 0x46 && buf[38] === 0x2F && buf[39] === 0x6D && buf[40] === 0x6F && buf[41] === 0x7A && buf[42] === 0x69 && buf[43] === 0x6C && buf[44] === 0x6C && buf[45] === 0x61 && buf[46] === 0x2E && buf[47] === 0x72 && buf[48] === 0x73 && buf[49] === 0x61) {
|
||||
return {
|
||||
ext: 'xpi',
|
||||
mime: 'application/x-xpinstall'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x50 && buf[1] === 0x4B && (buf[2] === 0x3 || buf[2] === 0x5 || buf[2] === 0x7) && (buf[3] === 0x4 || buf[3] === 0x6 || buf[3] === 0x8)) {
|
||||
return {
|
||||
ext: 'zip',
|
||||
mime: 'application/zip'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[257] === 0x75 && buf[258] === 0x73 && buf[259] === 0x74 && buf[260] === 0x61 && buf[261] === 0x72) {
|
||||
return {
|
||||
ext: 'tar',
|
||||
mime: 'application/x-tar'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x52 && buf[1] === 0x61 && buf[2] === 0x72 && buf[3] === 0x21 && buf[4] === 0x1A && buf[5] === 0x7 && (buf[6] === 0x0 || buf[6] === 0x1)) {
|
||||
return {
|
||||
ext: 'rar',
|
||||
mime: 'application/x-rar-compressed'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x1F && buf[1] === 0x8B && buf[2] === 0x8) {
|
||||
return {
|
||||
ext: 'gz',
|
||||
mime: 'application/gzip'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x42 && buf[1] === 0x5A && buf[2] === 0x68) {
|
||||
return {
|
||||
ext: 'bz2',
|
||||
mime: 'application/x-bzip2'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x37 && buf[1] === 0x7A && buf[2] === 0xBC && buf[3] === 0xAF && buf[4] === 0x27 && buf[5] === 0x1C) {
|
||||
return {
|
||||
ext: '7z',
|
||||
mime: 'application/x-7z-compressed'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x78 && buf[1] === 0x01) {
|
||||
return {
|
||||
ext: 'dmg',
|
||||
mime: 'application/x-apple-diskimage'
|
||||
};
|
||||
}
|
||||
|
||||
if (
|
||||
(buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && (buf[3] === 0x18 || buf[3] === 0x20) && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70) ||
|
||||
(buf[0] === 0x33 && buf[1] === 0x67 && buf[2] === 0x70 && buf[3] === 0x35) ||
|
||||
(buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x1C && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x6D && buf[9] === 0x70 && buf[10] === 0x34 && buf[11] === 0x32 && buf[16] === 0x6D && buf[17] === 0x70 && buf[18] === 0x34 && buf[19] === 0x31 && buf[20] === 0x6D && buf[21] === 0x70 && buf[22] === 0x34 && buf[23] === 0x32 && buf[24] === 0x69 && buf[25] === 0x73 && buf[26] === 0x6F && buf[27] === 0x6D) ||
|
||||
(buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x1C && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x69 && buf[9] === 0x73 && buf[10] === 0x6F && buf[11] === 0x6D) ||
|
||||
(buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x1c && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x6D && buf[9] === 0x70 && buf[10] === 0x34 && buf[11] === 0x32 && buf[12] === 0x0 && buf[13] === 0x0 && buf[14] === 0x0 && buf[15] === 0x0)
|
||||
) {
|
||||
return {
|
||||
ext: 'mp4',
|
||||
mime: 'video/mp4'
|
||||
};
|
||||
}
|
||||
|
||||
if ((buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x1C && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x4D && buf[9] === 0x34 && buf[10] === 0x56)) {
|
||||
return {
|
||||
ext: 'm4v',
|
||||
mime: 'video/x-m4v'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x4D && buf[1] === 0x54 && buf[2] === 0x68 && buf[3] === 0x64) {
|
||||
return {
|
||||
ext: 'mid',
|
||||
mime: 'audio/midi'
|
||||
};
|
||||
}
|
||||
|
||||
// needs to be before the `webm` check
|
||||
if (buf[31] === 0x6D && buf[32] === 0x61 && buf[33] === 0x74 && buf[34] === 0x72 && buf[35] === 0x6f && buf[36] === 0x73 && buf[37] === 0x6B && buf[38] === 0x61) {
|
||||
return {
|
||||
ext: 'mkv',
|
||||
mime: 'video/x-matroska'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x1A && buf[1] === 0x45 && buf[2] === 0xDF && buf[3] === 0xA3) {
|
||||
return {
|
||||
ext: 'webm',
|
||||
mime: 'video/webm'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x14 && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70) {
|
||||
return {
|
||||
ext: 'mov',
|
||||
mime: 'video/quicktime'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x52 && buf[1] === 0x49 && buf[2] === 0x46 && buf[3] === 0x46 && buf[8] === 0x41 && buf[9] === 0x56 && buf[10] === 0x49) {
|
||||
return {
|
||||
ext: 'avi',
|
||||
mime: 'video/x-msvideo'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x30 && buf[1] === 0x26 && buf[2] === 0xB2 && buf[3] === 0x75 && buf[4] === 0x8E && buf[5] === 0x66 && buf[6] === 0xCF && buf[7] === 0x11 && buf[8] === 0xA6 && buf[9] === 0xD9) {
|
||||
return {
|
||||
ext: 'wmv',
|
||||
mime: 'video/x-ms-wmv'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x1 && buf[3].toString(16)[0] === 'b') {
|
||||
return {
|
||||
ext: 'mpg',
|
||||
mime: 'video/mpeg'
|
||||
};
|
||||
}
|
||||
|
||||
if ((buf[0] === 0x49 && buf[1] === 0x44 && buf[2] === 0x33) || (buf[0] === 0xFF && buf[1] === 0xfb)) {
|
||||
return {
|
||||
ext: 'mp3',
|
||||
mime: 'audio/mpeg'
|
||||
};
|
||||
}
|
||||
|
||||
if ((buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x4D && buf[9] === 0x34 && buf[10] === 0x41) || (buf[0] === 0x4D && buf[1] === 0x34 && buf[2] === 0x41 && buf[3] === 0x20)) {
|
||||
return {
|
||||
ext: 'm4a',
|
||||
mime: 'audio/m4a'
|
||||
};
|
||||
}
|
||||
|
||||
// needs to be before `ogg` check
|
||||
if (buf[28] === 0x4F && buf[29] === 0x70 && buf[30] === 0x75 && buf[31] === 0x73 && buf[32] === 0x48 && buf[33] === 0x65 && buf[34] === 0x61 && buf[35] === 0x64) {
|
||||
return {
|
||||
ext: 'opus',
|
||||
mime: 'audio/opus'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x4F && buf[1] === 0x67 && buf[2] === 0x67 && buf[3] === 0x53) {
|
||||
return {
|
||||
ext: 'ogg',
|
||||
mime: 'audio/ogg'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x66 && buf[1] === 0x4C && buf[2] === 0x61 && buf[3] === 0x43) {
|
||||
return {
|
||||
ext: 'flac',
|
||||
mime: 'audio/x-flac'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x52 && buf[1] === 0x49 && buf[2] === 0x46 && buf[3] === 0x46 && buf[8] === 0x57 && buf[9] === 0x41 && buf[10] === 0x56 && buf[11] === 0x45) {
|
||||
return {
|
||||
ext: 'wav',
|
||||
mime: 'audio/x-wav'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x23 && buf[1] === 0x21 && buf[2] === 0x41 && buf[3] === 0x4D && buf[4] === 0x52 && buf[5] === 0x0A) {
|
||||
return {
|
||||
ext: 'amr',
|
||||
mime: 'audio/amr'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x25 && buf[1] === 0x50 && buf[2] === 0x44 && buf[3] === 0x46) {
|
||||
return {
|
||||
ext: 'pdf',
|
||||
mime: 'application/pdf'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x4D && buf[1] === 0x5A) {
|
||||
return {
|
||||
ext: 'exe',
|
||||
mime: 'application/x-msdownload'
|
||||
};
|
||||
}
|
||||
|
||||
if ((buf[0] === 0x43 || buf[0] === 0x46) && buf[1] === 0x57 && buf[2] === 0x53) {
|
||||
return {
|
||||
ext: 'swf',
|
||||
mime: 'application/x-shockwave-flash'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x7B && buf[1] === 0x5C && buf[2] === 0x72 && buf[3] === 0x74 && buf[4] === 0x66) {
|
||||
return {
|
||||
ext: 'rtf',
|
||||
mime: 'application/rtf'
|
||||
};
|
||||
}
|
||||
|
||||
if (
|
||||
(buf[0] === 0x77 && buf[1] === 0x4F && buf[2] === 0x46 && buf[3] === 0x46) &&
|
||||
(
|
||||
(buf[4] === 0x00 && buf[5] === 0x01 && buf[6] === 0x00 && buf[7] === 0x00) ||
|
||||
(buf[4] === 0x4F && buf[5] === 0x54 && buf[6] === 0x54 && buf[7] === 0x4F)
|
||||
)
|
||||
) {
|
||||
return {
|
||||
ext: 'woff',
|
||||
mime: 'application/font-woff'
|
||||
};
|
||||
}
|
||||
|
||||
if (
|
||||
(buf[0] === 0x77 && buf[1] === 0x4F && buf[2] === 0x46 && buf[3] === 0x32) &&
|
||||
(
|
||||
(buf[4] === 0x00 && buf[5] === 0x01 && buf[6] === 0x00 && buf[7] === 0x00) ||
|
||||
(buf[4] === 0x4F && buf[5] === 0x54 && buf[6] === 0x54 && buf[7] === 0x4F)
|
||||
)
|
||||
) {
|
||||
return {
|
||||
ext: 'woff2',
|
||||
mime: 'application/font-woff'
|
||||
};
|
||||
}
|
||||
|
||||
if (
|
||||
(buf[34] === 0x4C && buf[35] === 0x50) &&
|
||||
(
|
||||
(buf[8] === 0x00 && buf[9] === 0x00 && buf[10] === 0x01) ||
|
||||
(buf[8] === 0x01 && buf[9] === 0x00 && buf[10] === 0x02) ||
|
||||
(buf[8] === 0x02 && buf[9] === 0x00 && buf[10] === 0x02)
|
||||
)
|
||||
) {
|
||||
return {
|
||||
ext: 'eot',
|
||||
mime: 'application/octet-stream'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x00 && buf[1] === 0x01 && buf[2] === 0x00 && buf[3] === 0x00 && buf[4] === 0x00) {
|
||||
return {
|
||||
ext: 'ttf',
|
||||
mime: 'application/font-sfnt'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x4F && buf[1] === 0x54 && buf[2] === 0x54 && buf[3] === 0x4F && buf[4] === 0x00) {
|
||||
return {
|
||||
ext: 'otf',
|
||||
mime: 'application/font-sfnt'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x00 && buf[1] === 0x00 && buf[2] === 0x01 && buf[3] === 0x00) {
|
||||
return {
|
||||
ext: 'ico',
|
||||
mime: 'image/x-icon'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x46 && buf[1] === 0x4C && buf[2] === 0x56 && buf[3] === 0x01) {
|
||||
return {
|
||||
ext: 'flv',
|
||||
mime: 'video/x-flv'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x25 && buf[1] === 0x21) {
|
||||
return {
|
||||
ext: 'ps',
|
||||
mime: 'application/postscript'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0xFD && buf[1] === 0x37 && buf[2] === 0x7A && buf[3] === 0x58 && buf[4] === 0x5A && buf[5] === 0x00) {
|
||||
return {
|
||||
ext: 'xz',
|
||||
mime: 'application/x-xz'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x53 && buf[1] === 0x51 && buf[2] === 0x4C && buf[3] === 0x69) {
|
||||
return {
|
||||
ext: 'sqlite',
|
||||
mime: 'application/x-sqlite3'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x4E && buf[1] === 0x45 && buf[2] === 0x53 && buf[3] === 0x1A) {
|
||||
return {
|
||||
ext: 'nes',
|
||||
mime: 'application/x-nintendo-nes-rom'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x43 && buf[1] === 0x72 && buf[2] === 0x32 && buf[3] === 0x34) {
|
||||
return {
|
||||
ext: 'crx',
|
||||
mime: 'application/x-google-chrome-extension'
|
||||
};
|
||||
}
|
||||
|
||||
if (
|
||||
(buf[0] === 0x4D && buf[1] === 0x53 && buf[2] === 0x43 && buf[3] === 0x46) ||
|
||||
(buf[0] === 0x49 && buf[1] === 0x53 && buf[2] === 0x63 && buf[3] === 0x28)
|
||||
) {
|
||||
return {
|
||||
ext: 'cab',
|
||||
mime: 'application/vnd.ms-cab-compressed'
|
||||
};
|
||||
}
|
||||
|
||||
// needs to be before `ar` check
|
||||
if (buf[0] === 0x21 && buf[1] === 0x3C && buf[2] === 0x61 && buf[3] === 0x72 && buf[4] === 0x63 && buf[5] === 0x68 && buf[6] === 0x3E && buf[7] === 0x0A && buf[8] === 0x64 && buf[9] === 0x65 && buf[10] === 0x62 && buf[11] === 0x69 && buf[12] === 0x61 && buf[13] === 0x6E && buf[14] === 0x2D && buf[15] === 0x62 && buf[16] === 0x69 && buf[17] === 0x6E && buf[18] === 0x61 && buf[19] === 0x72 && buf[20] === 0x79) {
|
||||
return {
|
||||
ext: 'deb',
|
||||
mime: 'application/x-deb'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x21 && buf[1] === 0x3C && buf[2] === 0x61 && buf[3] === 0x72 && buf[4] === 0x63 && buf[5] === 0x68 && buf[6] === 0x3E) {
|
||||
return {
|
||||
ext: 'ar',
|
||||
mime: 'application/x-unix-archive'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0xED && buf[1] === 0xAB && buf[2] === 0xEE && buf[3] === 0xDB) {
|
||||
return {
|
||||
ext: 'rpm',
|
||||
mime: 'application/x-rpm'
|
||||
};
|
||||
}
|
||||
|
||||
if (
|
||||
(buf[0] === 0x1F && buf[1] === 0xA0) ||
|
||||
(buf[0] === 0x1F && buf[1] === 0x9D)
|
||||
) {
|
||||
return {
|
||||
ext: 'Z',
|
||||
mime: 'application/x-compress'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0x4C && buf[1] === 0x5A && buf[2] === 0x49 && buf[3] === 0x50) {
|
||||
return {
|
||||
ext: 'lz',
|
||||
mime: 'application/x-lzip'
|
||||
};
|
||||
}
|
||||
|
||||
if (buf[0] === 0xD0 && buf[1] === 0xCF && buf[2] === 0x11 && buf[3] === 0xE0 && buf[4] === 0xA1 && buf[5] === 0xB1 && buf[6] === 0x1A && buf[7] === 0xE1) {
|
||||
return {
|
||||
ext: 'msi',
|
||||
mime: 'application/x-msi'
|
||||
};
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
21
build/node_modules/jimp/node_modules/file-type/license
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
138
build/node_modules/jimp/node_modules/file-type/package.json
generated
vendored
Normal file
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"file-type@3.9.0",
|
||||
"/Users/asciidisco/Desktop/asciidisco.com/build"
|
||||
]
|
||||
],
|
||||
"_from": "file-type@3.9.0",
|
||||
"_id": "file-type@3.9.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
|
||||
"_location": "/jimp/file-type",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "file-type@3.9.0",
|
||||
"name": "file-type",
|
||||
"escapedName": "file-type",
|
||||
"rawSpec": "3.9.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.9.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/jimp"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
|
||||
"_spec": "3.9.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/file-type/issues"
|
||||
},
|
||||
"description": "Detect the file type of a Buffer/Uint8Array",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"read-chunk": "^2.0.0",
|
||||
"xo": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/file-type#readme",
|
||||
"keywords": [
|
||||
"mime",
|
||||
"file",
|
||||
"type",
|
||||
"archive",
|
||||
"image",
|
||||
"img",
|
||||
"pic",
|
||||
"picture",
|
||||
"flash",
|
||||
"photo",
|
||||
"video",
|
||||
"type",
|
||||
"detect",
|
||||
"check",
|
||||
"is",
|
||||
"exif",
|
||||
"exe",
|
||||
"binary",
|
||||
"buffer",
|
||||
"uint8array",
|
||||
"jpg",
|
||||
"png",
|
||||
"gif",
|
||||
"webp",
|
||||
"flif",
|
||||
"cr2",
|
||||
"tif",
|
||||
"bmp",
|
||||
"jxr",
|
||||
"psd",
|
||||
"zip",
|
||||
"tar",
|
||||
"rar",
|
||||
"gz",
|
||||
"bz2",
|
||||
"7z",
|
||||
"dmg",
|
||||
"mp4",
|
||||
"m4v",
|
||||
"mid",
|
||||
"mkv",
|
||||
"webm",
|
||||
"mov",
|
||||
"avi",
|
||||
"mpg",
|
||||
"mp3",
|
||||
"m4a",
|
||||
"ogg",
|
||||
"opus",
|
||||
"flac",
|
||||
"wav",
|
||||
"amr",
|
||||
"pdf",
|
||||
"epub",
|
||||
"exe",
|
||||
"swf",
|
||||
"rtf",
|
||||
"woff",
|
||||
"woff2",
|
||||
"eot",
|
||||
"ttf",
|
||||
"otf",
|
||||
"ico",
|
||||
"flv",
|
||||
"ps",
|
||||
"xz",
|
||||
"sqlite",
|
||||
"xpi",
|
||||
"cab",
|
||||
"deb",
|
||||
"ar",
|
||||
"rpm",
|
||||
"Z",
|
||||
"lz",
|
||||
"msi"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "file-type",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/file-type.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava"
|
||||
},
|
||||
"version": "3.9.0"
|
||||
}
|
||||
149
build/node_modules/jimp/node_modules/file-type/readme.md
generated
vendored
Normal file
@@ -0,0 +1,149 @@
|
||||
# file-type [](https://travis-ci.org/sindresorhus/file-type)
|
||||
|
||||
> Detect the file type of a Buffer/Uint8Array
|
||||
|
||||
The file type is detected by checking the [magic number](http://en.wikipedia.org/wiki/Magic_number_(programming)#Magic_numbers_in_files) of the buffer.
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save file-type
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
##### Node.js
|
||||
|
||||
```js
|
||||
const readChunk = require('read-chunk'); // npm install read-chunk
|
||||
const fileType = require('file-type');
|
||||
const buffer = readChunk.sync('unicorn.png', 0, 262);
|
||||
|
||||
fileType(buffer);
|
||||
//=> {ext: 'png', mime: 'image/png'}
|
||||
```
|
||||
|
||||
or from a remote location:
|
||||
|
||||
```js
|
||||
const http = require('http');
|
||||
const fileType = require('file-type');
|
||||
const url = 'http://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif';
|
||||
|
||||
http.get(url, res => {
|
||||
res.once('data', chunk => {
|
||||
res.destroy();
|
||||
console.log(fileType(chunk));
|
||||
//=> {ext: 'gif', mime: 'image/gif'}
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
##### Browser
|
||||
|
||||
```js
|
||||
const xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', 'unicorn.png');
|
||||
xhr.responseType = 'arraybuffer';
|
||||
|
||||
xhr.onload = () => {
|
||||
fileType(new Uint8Array(this.response));
|
||||
//=> {ext: 'png', mime: 'image/png'}
|
||||
};
|
||||
|
||||
xhr.send();
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### fileType(buffer)
|
||||
|
||||
Returns an `Object` (or `null` when no match) with:
|
||||
|
||||
- `ext` - one of the [supported file types](#supported-file-types)
|
||||
- `mime` - the [MIME type](http://en.wikipedia.org/wiki/Internet_media_type)
|
||||
|
||||
#### buffer
|
||||
|
||||
Type: `Buffer` `Uint8Array`
|
||||
|
||||
It only needs the first 262 bytes.
|
||||
|
||||
|
||||
## Supported file types
|
||||
|
||||
- [`jpg`](https://en.wikipedia.org/wiki/JPEG)
|
||||
- [`png`](https://en.wikipedia.org/wiki/Portable_Network_Graphics)
|
||||
- [`gif`](https://en.wikipedia.org/wiki/GIF)
|
||||
- [`webp`](https://en.wikipedia.org/wiki/WebP)
|
||||
- [`flif`](https://en.wikipedia.org/wiki/Free_Lossless_Image_Format)
|
||||
- [`cr2`](http://fileinfo.com/extension/cr2)
|
||||
- [`tif`](https://en.wikipedia.org/wiki/Tagged_Image_File_Format)
|
||||
- [`bmp`](https://en.wikipedia.org/wiki/BMP_file_format)
|
||||
- [`jxr`](https://en.wikipedia.org/wiki/JPEG_XR)
|
||||
- [`psd`](https://en.wikipedia.org/wiki/Adobe_Photoshop#File_format)
|
||||
- [`zip`](https://en.wikipedia.org/wiki/Zip_(file_format))
|
||||
- [`tar`](https://en.wikipedia.org/wiki/Tar_(computing)#File_format)
|
||||
- [`rar`](https://en.wikipedia.org/wiki/RAR_(file_format))
|
||||
- [`gz`](https://en.wikipedia.org/wiki/Gzip)
|
||||
- [`bz2`](https://en.wikipedia.org/wiki/Bzip2)
|
||||
- [`7z`](https://en.wikipedia.org/wiki/7z)
|
||||
- [`dmg`](https://en.wikipedia.org/wiki/Apple_Disk_Image)
|
||||
- [`mp4`](https://en.wikipedia.org/wiki/MPEG-4_Part_14#Filename_extensions)
|
||||
- [`m4v`](https://en.wikipedia.org/wiki/M4V)
|
||||
- [`mid`](https://en.wikipedia.org/wiki/MIDI)
|
||||
- [`mkv`](https://en.wikipedia.org/wiki/Matroska)
|
||||
- [`webm`](https://en.wikipedia.org/wiki/WebM)
|
||||
- [`mov`](https://en.wikipedia.org/wiki/QuickTime_File_Format)
|
||||
- [`avi`](https://en.wikipedia.org/wiki/Audio_Video_Interleave)
|
||||
- [`wmv`](https://en.wikipedia.org/wiki/Windows_Media_Video)
|
||||
- [`mpg`](https://en.wikipedia.org/wiki/MPEG-1)
|
||||
- [`mp3`](https://en.wikipedia.org/wiki/MP3)
|
||||
- [`m4a`](https://en.wikipedia.org/wiki/MPEG-4_Part_14#.MP4_versus_.M4A)
|
||||
- [`ogg`](https://en.wikipedia.org/wiki/Ogg)
|
||||
- [`opus`](https://en.wikipedia.org/wiki/Opus_(audio_format))
|
||||
- [`flac`](https://en.wikipedia.org/wiki/FLAC)
|
||||
- [`wav`](https://en.wikipedia.org/wiki/WAV)
|
||||
- [`amr`](https://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec)
|
||||
- [`pdf`](https://en.wikipedia.org/wiki/Portable_Document_Format)
|
||||
- [`epub`](https://en.wikipedia.org/wiki/EPUB)
|
||||
- [`exe`](https://en.wikipedia.org/wiki/.exe)
|
||||
- [`swf`](https://en.wikipedia.org/wiki/SWF)
|
||||
- [`rtf`](https://en.wikipedia.org/wiki/Rich_Text_Format)
|
||||
- [`woff`](https://en.wikipedia.org/wiki/Web_Open_Font_Format)
|
||||
- [`woff2`](https://en.wikipedia.org/wiki/Web_Open_Font_Format)
|
||||
- [`eot`](https://en.wikipedia.org/wiki/Embedded_OpenType)
|
||||
- [`ttf`](https://en.wikipedia.org/wiki/TrueType)
|
||||
- [`otf`](https://en.wikipedia.org/wiki/OpenType)
|
||||
- [`ico`](https://en.wikipedia.org/wiki/ICO_(file_format))
|
||||
- [`flv`](https://en.wikipedia.org/wiki/Flash_Video)
|
||||
- [`ps`](https://en.wikipedia.org/wiki/Postscript)
|
||||
- [`xz`](https://en.wikipedia.org/wiki/Xz)
|
||||
- [`sqlite`](https://www.sqlite.org/fileformat2.html)
|
||||
- [`nes`](http://fileinfo.com/extension/nes)
|
||||
- [`crx`](https://developer.chrome.com/extensions/crx)
|
||||
- [`xpi`](https://en.wikipedia.org/wiki/XPInstall)
|
||||
- [`cab`](https://en.wikipedia.org/wiki/Cabinet_(file_format))
|
||||
- [`deb`](https://en.wikipedia.org/wiki/Deb_(file_format))
|
||||
- [`ar`](https://en.wikipedia.org/wiki/Ar_(Unix))
|
||||
- [`rpm`](http://fileinfo.com/extension/rpm)
|
||||
- [`Z`](http://fileinfo.com/extension/z)
|
||||
- [`lz`](https://en.wikipedia.org/wiki/Lzip)
|
||||
- [`msi`](https://en.wikipedia.org/wiki/Windows_Installer)
|
||||
|
||||
*SVG isn't included as it requires the whole file to be read, but you can get it [here](https://github.com/sindresorhus/is-svg).*
|
||||
|
||||
*PR welcome for additional commonly used file types.*
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [file-type-cli](https://github.com/sindresorhus/file-type-cli) - CLI for this module
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
782
build/node_modules/jimp/omggif.js
generated
vendored
Normal file
@@ -0,0 +1,782 @@
|
||||
// (c) Dean McNamee <dean@gmail.com>, 2013.
|
||||
//
|
||||
// https://github.com/deanm/omggif
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to
|
||||
// deal in the Software without restriction, including without limitation the
|
||||
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
// sell copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
// IN THE SOFTWARE.
|
||||
//
|
||||
// omggif is a JavaScript implementation of a GIF 89a encoder and decoder,
|
||||
// including animation and compression. It does not rely on any specific
|
||||
// underlying system, so should run in the browser, Node, or Plask.
|
||||
|
||||
function GifWriter(buf, width, height, gopts) {
|
||||
var p = 0;
|
||||
|
||||
var gopts = gopts === undefined ? { } : gopts;
|
||||
var loop_count = gopts.loop === undefined ? null : gopts.loop;
|
||||
var global_palette = gopts.palette === undefined ? null : gopts.palette;
|
||||
|
||||
if (width <= 0 || height <= 0 || width > 65535 || height > 65535)
|
||||
throw "Width/Height invalid."
|
||||
|
||||
function check_palette_and_num_colors(palette) {
|
||||
var num_colors = palette.length;
|
||||
if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors-1))
|
||||
throw "Invalid code/color length, must be power of 2 and 2 .. 256.";
|
||||
return num_colors;
|
||||
}
|
||||
|
||||
// - Header.
|
||||
buf[p++] = 0x47; buf[p++] = 0x49; buf[p++] = 0x46; // GIF
|
||||
buf[p++] = 0x38; buf[p++] = 0x39; buf[p++] = 0x61; // 89a
|
||||
|
||||
// Handling of Global Color Table (palette) and background index.
|
||||
var gp_num_colors_pow2 = 0;
|
||||
var background = 0;
|
||||
if (global_palette !== null) {
|
||||
var gp_num_colors = check_palette_and_num_colors(global_palette);
|
||||
while (gp_num_colors >>= 1) ++gp_num_colors_pow2;
|
||||
gp_num_colors = 1 << gp_num_colors_pow2;
|
||||
--gp_num_colors_pow2;
|
||||
if (gopts.background !== undefined) {
|
||||
background = gopts.background;
|
||||
if (background >= gp_num_colors) throw "Background index out of range.";
|
||||
// The GIF spec states that a background index of 0 should be ignored, so
|
||||
// this is probably a mistake and you really want to set it to another
|
||||
// slot in the palette. But actually in the end most browsers, etc end
|
||||
// up ignoring this almost completely (including for dispose background).
|
||||
if (background === 0)
|
||||
throw "Background index explicitly passed as 0.";
|
||||
}
|
||||
}
|
||||
|
||||
// - Logical Screen Descriptor.
|
||||
// NOTE(deanm): w/h apparently ignored by implementations, but set anyway.
|
||||
buf[p++] = width & 0xff; buf[p++] = width >> 8 & 0xff;
|
||||
buf[p++] = height & 0xff; buf[p++] = height >> 8 & 0xff;
|
||||
// NOTE: Indicates 0-bpp original color resolution (unused?).
|
||||
buf[p++] = (global_palette !== null ? 0x80 : 0) | // Global Color Table Flag.
|
||||
gp_num_colors_pow2; // NOTE: No sort flag (unused?).
|
||||
buf[p++] = background; // Background Color Index.
|
||||
buf[p++] = 0; // Pixel aspect ratio (unused?).
|
||||
|
||||
// - Global Color Table
|
||||
if (global_palette !== null) {
|
||||
for (var i = 0, il = global_palette.length; i < il; ++i) {
|
||||
var rgb = global_palette[i];
|
||||
buf[p++] = rgb >> 16 & 0xff;
|
||||
buf[p++] = rgb >> 8 & 0xff;
|
||||
buf[p++] = rgb & 0xff;
|
||||
}
|
||||
}
|
||||
|
||||
if (loop_count !== null) { // Netscape block for looping.
|
||||
if (loop_count < 0 || loop_count > 65535)
|
||||
throw "Loop count invalid."
|
||||
// Extension code, label, and length.
|
||||
buf[p++] = 0x21; buf[p++] = 0xff; buf[p++] = 0x0b;
|
||||
// NETSCAPE2.0
|
||||
buf[p++] = 0x4e; buf[p++] = 0x45; buf[p++] = 0x54; buf[p++] = 0x53;
|
||||
buf[p++] = 0x43; buf[p++] = 0x41; buf[p++] = 0x50; buf[p++] = 0x45;
|
||||
buf[p++] = 0x32; buf[p++] = 0x2e; buf[p++] = 0x30;
|
||||
// Sub-block
|
||||
buf[p++] = 0x03; buf[p++] = 0x01;
|
||||
buf[p++] = loop_count & 0xff; buf[p++] = loop_count >> 8 & 0xff;
|
||||
buf[p++] = 0x00; // Terminator.
|
||||
}
|
||||
|
||||
|
||||
var ended = false;
|
||||
|
||||
this.addFrame = function(x, y, w, h, indexed_pixels, opts) {
|
||||
if (ended === true) { --p; ended = false; } // Un-end.
|
||||
|
||||
opts = opts === undefined ? { } : opts;
|
||||
|
||||
// TODO(deanm): Bounds check x, y. Do they need to be within the virtual
|
||||
// canvas width/height, I imagine?
|
||||
if (x < 0 || y < 0 || x > 65535 || y > 65535)
|
||||
throw "x/y invalid."
|
||||
|
||||
if (w <= 0 || h <= 0 || w > 65535 || h > 65535)
|
||||
throw "Width/Height invalid."
|
||||
|
||||
if (indexed_pixels.length < w * h)
|
||||
throw "Not enough pixels for the frame size.";
|
||||
|
||||
var using_local_palette = true;
|
||||
var palette = opts.palette;
|
||||
if (palette === undefined || palette === null) {
|
||||
using_local_palette = false;
|
||||
palette = global_palette;
|
||||
}
|
||||
|
||||
if (palette === undefined || palette === null)
|
||||
throw "Must supply either a local or global palette.";
|
||||
|
||||
var num_colors = check_palette_and_num_colors(palette);
|
||||
|
||||
// Compute the min_code_size (power of 2), destroying num_colors.
|
||||
var min_code_size = 0;
|
||||
while (num_colors >>= 1) ++min_code_size;
|
||||
num_colors = 1 << min_code_size; // Now we can easily get it back.
|
||||
|
||||
var delay = opts.delay === undefined ? 0 : opts.delay;
|
||||
|
||||
// From the spec:
|
||||
// 0 - No disposal specified. The decoder is
|
||||
// not required to take any action.
|
||||
// 1 - Do not dispose. The graphic is to be left
|
||||
// in place.
|
||||
// 2 - Restore to background color. The area used by the
|
||||
// graphic must be restored to the background color.
|
||||
// 3 - Restore to previous. The decoder is required to
|
||||
// restore the area overwritten by the graphic with
|
||||
// what was there prior to rendering the graphic.
|
||||
// 4-7 - To be defined.
|
||||
// NOTE(deanm): Dispose background doesn't really work, apparently most
|
||||
// browsers ignore the background palette index and clear to transparency.
|
||||
var disposal = opts.disposal === undefined ? 0 : opts.disposal;
|
||||
if (disposal < 0 || disposal > 3) // 4-7 is reserved.
|
||||
throw "Disposal out of range.";
|
||||
|
||||
var use_transparency = false;
|
||||
var transparent_index = 0;
|
||||
if (opts.transparent !== undefined && opts.transparent !== null) {
|
||||
use_transparency = true;
|
||||
transparent_index = opts.transparent;
|
||||
if (transparent_index < 0 || transparent_index >= num_colors)
|
||||
throw "Transparent color index.";
|
||||
}
|
||||
|
||||
if (disposal !== 0 || use_transparency || delay !== 0) {
|
||||
// - Graphics Control Extension
|
||||
buf[p++] = 0x21; buf[p++] = 0xf9; // Extension / Label.
|
||||
buf[p++] = 4; // Byte size.
|
||||
|
||||
buf[p++] = disposal << 2 | (use_transparency === true ? 1 : 0);
|
||||
buf[p++] = delay & 0xff; buf[p++] = delay >> 8 & 0xff;
|
||||
buf[p++] = transparent_index; // Transparent color index.
|
||||
buf[p++] = 0; // Block Terminator.
|
||||
}
|
||||
|
||||
// - Image Descriptor
|
||||
buf[p++] = 0x2c; // Image Seperator.
|
||||
buf[p++] = x & 0xff; buf[p++] = x >> 8 & 0xff; // Left.
|
||||
buf[p++] = y & 0xff; buf[p++] = y >> 8 & 0xff; // Top.
|
||||
buf[p++] = w & 0xff; buf[p++] = w >> 8 & 0xff;
|
||||
buf[p++] = h & 0xff; buf[p++] = h >> 8 & 0xff;
|
||||
// NOTE: No sort flag (unused?).
|
||||
// TODO(deanm): Support interlace.
|
||||
buf[p++] = using_local_palette === true ? (0x80 | (min_code_size-1)) : 0;
|
||||
|
||||
// - Local Color Table
|
||||
if (using_local_palette === true) {
|
||||
for (var i = 0, il = palette.length; i < il; ++i) {
|
||||
var rgb = palette[i];
|
||||
buf[p++] = rgb >> 16 & 0xff;
|
||||
buf[p++] = rgb >> 8 & 0xff;
|
||||
buf[p++] = rgb & 0xff;
|
||||
}
|
||||
}
|
||||
|
||||
p = GifWriterOutputLZWCodeStream(
|
||||
buf, p, min_code_size < 2 ? 2 : min_code_size, indexed_pixels);
|
||||
};
|
||||
|
||||
this.end = function() {
|
||||
if (ended === false) {
|
||||
buf[p++] = 0x3b; // Trailer.
|
||||
ended = true;
|
||||
}
|
||||
return p;
|
||||
};
|
||||
}
|
||||
|
||||
// Main compression routine, palette indexes -> LZW code stream.
|
||||
// |index_stream| must have at least one entry.
|
||||
function GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {
|
||||
buf[p++] = min_code_size;
|
||||
var cur_subblock = p++; // Pointing at the length field.
|
||||
|
||||
var clear_code = 1 << min_code_size;
|
||||
var code_mask = clear_code - 1;
|
||||
var eoi_code = clear_code + 1;
|
||||
var next_code = eoi_code + 1;
|
||||
|
||||
var cur_code_size = min_code_size + 1; // Number of bits per code.
|
||||
var cur_shift = 0;
|
||||
// We have at most 12-bit codes, so we should have to hold a max of 19
|
||||
// bits here (and then we would write out).
|
||||
var cur = 0;
|
||||
|
||||
function emit_bytes_to_buffer(bit_block_size) {
|
||||
while (cur_shift >= bit_block_size) {
|
||||
buf[p++] = cur & 0xff;
|
||||
cur >>= 8; cur_shift -= 8;
|
||||
if (p === cur_subblock + 256) { // Finished a subblock.
|
||||
buf[cur_subblock] = 255;
|
||||
cur_subblock = p++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function emit_code(c) {
|
||||
cur |= c << cur_shift;
|
||||
cur_shift += cur_code_size;
|
||||
emit_bytes_to_buffer(8);
|
||||
}
|
||||
|
||||
// I am not an expert on the topic, and I don't want to write a thesis.
|
||||
// However, it is good to outline here the basic algorithm and the few data
|
||||
// structures and optimizations here that make this implementation fast.
|
||||
// The basic idea behind LZW is to build a table of previously seen runs
|
||||
// addressed by a short id (herein called output code). All data is
|
||||
// referenced by a code, which represents one or more values from the
|
||||
// original input stream. All input bytes can be referenced as the same
|
||||
// value as an output code. So if you didn't want any compression, you
|
||||
// could more or less just output the original bytes as codes (there are
|
||||
// some details to this, but it is the idea). In order to achieve
|
||||
// compression, values greater then the input range (codes can be up to
|
||||
// 12-bit while input only 8-bit) represent a sequence of previously seen
|
||||
// inputs. The decompressor is able to build the same mapping while
|
||||
// decoding, so there is always a shared common knowledge between the
|
||||
// encoding and decoder, which is also important for "timing" aspects like
|
||||
// how to handle variable bit width code encoding.
|
||||
//
|
||||
// One obvious but very important consequence of the table system is there
|
||||
// is always a unique id (at most 12-bits) to map the runs. 'A' might be
|
||||
// 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship
|
||||
// can be used for an effecient lookup strategy for the code mapping. We
|
||||
// need to know if a run has been seen before, and be able to map that run
|
||||
// to the output code. Since we start with known unique ids (input bytes),
|
||||
// and then from those build more unique ids (table entries), we can
|
||||
// continue this chain (almost like a linked list) to always have small
|
||||
// integer values that represent the current byte chains in the encoder.
|
||||
// This means instead of tracking the input bytes (AAAABCD) to know our
|
||||
// current state, we can track the table entry for AAAABC (it is guaranteed
|
||||
// to exist by the nature of the algorithm) and the next character D.
|
||||
// Therefor the tuple of (table_entry, byte) is guaranteed to also be
|
||||
// unique. This allows us to create a simple lookup key for mapping input
|
||||
// sequences to codes (table indices) without having to store or search
|
||||
// any of the code sequences. So if 'AAAA' has a table entry of 12, the
|
||||
// tuple of ('AAAA', K) for any input byte K will be unique, and can be our
|
||||
// key. This leads to a integer value at most 20-bits, which can always
|
||||
// fit in an SMI value and be used as a fast sparse array / object key.
|
||||
|
||||
// Output code for the current contents of the index buffer.
|
||||
var ib_code = index_stream[0] & code_mask; // Load first input index.
|
||||
var code_table = { }; // Key'd on our 20-bit "tuple".
|
||||
|
||||
emit_code(clear_code); // Spec says first code should be a clear code.
|
||||
|
||||
// First index already loaded, process the rest of the stream.
|
||||
for (var i = 1, il = index_stream.length; i < il; ++i) {
|
||||
var k = index_stream[i] & code_mask;
|
||||
var cur_key = ib_code << 8 | k; // (prev, k) unique tuple.
|
||||
var cur_code = code_table[cur_key]; // buffer + k.
|
||||
|
||||
// Check if we have to create a new code table entry.
|
||||
if (cur_code === undefined) { // We don't have buffer + k.
|
||||
// Emit index buffer (without k).
|
||||
// This is an inline version of emit_code, because this is the core
|
||||
// writing routine of the compressor (and V8 cannot inline emit_code
|
||||
// because it is a closure here in a different context). Additionally
|
||||
// we can call emit_byte_to_buffer less often, because we can have
|
||||
// 30-bits (from our 31-bit signed SMI), and we know our codes will only
|
||||
// be 12-bits, so can safely have 18-bits there without overflow.
|
||||
// emit_code(ib_code);
|
||||
cur |= ib_code << cur_shift;
|
||||
cur_shift += cur_code_size;
|
||||
while (cur_shift >= 8) {
|
||||
buf[p++] = cur & 0xff;
|
||||
cur >>= 8; cur_shift -= 8;
|
||||
if (p === cur_subblock + 256) { // Finished a subblock.
|
||||
buf[cur_subblock] = 255;
|
||||
cur_subblock = p++;
|
||||
}
|
||||
}
|
||||
|
||||
if (next_code === 4096) { // Table full, need a clear.
|
||||
emit_code(clear_code);
|
||||
next_code = eoi_code + 1;
|
||||
cur_code_size = min_code_size + 1;
|
||||
code_table = { };
|
||||
} else { // Table not full, insert a new entry.
|
||||
// Increase our variable bit code sizes if necessary. This is a bit
|
||||
// tricky as it is based on "timing" between the encoding and
|
||||
// decoder. From the encoders perspective this should happen after
|
||||
// we've already emitted the index buffer and are about to create the
|
||||
// first table entry that would overflow our current code bit size.
|
||||
if (next_code >= (1 << cur_code_size)) ++cur_code_size;
|
||||
code_table[cur_key] = next_code++; // Insert into code table.
|
||||
}
|
||||
|
||||
ib_code = k; // Index buffer to single input k.
|
||||
} else {
|
||||
ib_code = cur_code; // Index buffer to sequence in code table.
|
||||
}
|
||||
}
|
||||
|
||||
emit_code(ib_code); // There will still be something in the index buffer.
|
||||
emit_code(eoi_code); // End Of Information.
|
||||
|
||||
// Flush / finalize the sub-blocks stream to the buffer.
|
||||
emit_bytes_to_buffer(1);
|
||||
|
||||
// Finish the sub-blocks, writing out any unfinished lengths and
|
||||
// terminating with a sub-block of length 0. If we have already started
|
||||
// but not yet used a sub-block it can just become the terminator.
|
||||
if (cur_subblock + 1 === p) { // Started but unused.
|
||||
buf[cur_subblock] = 0;
|
||||
} else { // Started and used, write length and additional terminator block.
|
||||
buf[cur_subblock] = p - cur_subblock - 1;
|
||||
buf[p++] = 0;
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
function GifReader(buf) {
|
||||
var p = 0;
|
||||
|
||||
// - Header (GIF87a or GIF89a).
|
||||
if (buf[p++] !== 0x47 || buf[p++] !== 0x49 || buf[p++] !== 0x46 ||
|
||||
buf[p++] !== 0x38 || (buf[p++]+1 & 0xfd) !== 0x38 || buf[p++] !== 0x61) {
|
||||
throw "Invalid GIF 87a/89a header.";
|
||||
}
|
||||
|
||||
// - Logical Screen Descriptor.
|
||||
var width = buf[p++] | buf[p++] << 8;
|
||||
var height = buf[p++] | buf[p++] << 8;
|
||||
var pf0 = buf[p++]; // <Packed Fields>.
|
||||
var global_palette_flag = pf0 >> 7;
|
||||
var num_global_colors_pow2 = pf0 & 0x7;
|
||||
var num_global_colors = 1 << (num_global_colors_pow2 + 1);
|
||||
var background = buf[p++];
|
||||
buf[p++]; // Pixel aspect ratio (unused?).
|
||||
|
||||
var global_palette_offset = null;
|
||||
|
||||
if (global_palette_flag) {
|
||||
global_palette_offset = p;
|
||||
p += num_global_colors * 3; // Seek past palette.
|
||||
}
|
||||
|
||||
var no_eof = true;
|
||||
|
||||
var frames = [ ];
|
||||
|
||||
var delay = 0;
|
||||
var transparent_index = null;
|
||||
var disposal = 0; // 0 - No disposal specified.
|
||||
var loop_count = null;
|
||||
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
|
||||
while (no_eof && p < buf.length) {
|
||||
switch (buf[p++]) {
|
||||
case 0x21: // Graphics Control Extension Block
|
||||
switch (buf[p++]) {
|
||||
case 0xff: // Application specific block
|
||||
// Try if it's a Netscape block (with animation loop counter).
|
||||
if (buf[p ] !== 0x0b || // 21 FF already read, check block size.
|
||||
// NETSCAPE2.0
|
||||
buf[p+1 ] == 0x4e && buf[p+2 ] == 0x45 && buf[p+3 ] == 0x54 &&
|
||||
buf[p+4 ] == 0x53 && buf[p+5 ] == 0x43 && buf[p+6 ] == 0x41 &&
|
||||
buf[p+7 ] == 0x50 && buf[p+8 ] == 0x45 && buf[p+9 ] == 0x32 &&
|
||||
buf[p+10] == 0x2e && buf[p+11] == 0x30 &&
|
||||
// Sub-block
|
||||
buf[p+12] == 0x03 && buf[p+13] == 0x01 && buf[p+16] == 0) {
|
||||
p += 14;
|
||||
loop_count = buf[p++] | buf[p++] << 8;
|
||||
p++; // Skip terminator.
|
||||
} else { // We don't know what it is, just try to get past it.
|
||||
p += 12;
|
||||
while (true) { // Seek through subblocks.
|
||||
var block_size = buf[p++];
|
||||
if (block_size === 0) break;
|
||||
p += block_size;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xf9: // Graphics Control Extension
|
||||
if (buf[p++] !== 0x4 || buf[p+4] !== 0)
|
||||
throw "Invalid graphics extension block.";
|
||||
var pf1 = buf[p++];
|
||||
delay = buf[p++] | buf[p++] << 8;
|
||||
transparent_index = buf[p++];
|
||||
if ((pf1 & 1) === 0) transparent_index = null;
|
||||
disposal = pf1 >> 2 & 0x7;
|
||||
p++; // Skip terminator.
|
||||
break;
|
||||
|
||||
case 0xfe: // Comment Extension.
|
||||
while (true) { // Seek through subblocks.
|
||||
var block_size = buf[p++];
|
||||
if (block_size === 0) break;
|
||||
// console.log(buf.slice(p, p+block_size).toString('ascii'));
|
||||
p += block_size;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
throw "Unknown graphic control label: 0x" + buf[p-1].toString(16);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x2c: // Image Descriptor.
|
||||
var x = buf[p++] | buf[p++] << 8;
|
||||
var y = buf[p++] | buf[p++] << 8;
|
||||
var w = buf[p++] | buf[p++] << 8;
|
||||
var h = buf[p++] | buf[p++] << 8;
|
||||
var pf2 = buf[p++];
|
||||
var local_palette_flag = pf2 >> 7;
|
||||
var interlace_flag = pf2 >> 6 & 1;
|
||||
var num_local_colors_pow2 = pf2 & 0x7;
|
||||
var num_local_colors = 1 << (num_local_colors_pow2 + 1);
|
||||
var palette_offset = global_palette_offset;
|
||||
var has_local_palette = false;
|
||||
if (local_palette_flag) {
|
||||
var has_local_palette = true;
|
||||
palette_offset = p; // Override with local palette.
|
||||
p += num_local_colors * 3; // Seek past palette.
|
||||
}
|
||||
|
||||
var data_offset = p;
|
||||
|
||||
p++; // codesize
|
||||
while (true) {
|
||||
var block_size = buf[p++];
|
||||
if (block_size === 0) break;
|
||||
p += block_size;
|
||||
}
|
||||
|
||||
frames.push({x: x, y: y, width: w, height: h,
|
||||
has_local_palette: has_local_palette,
|
||||
palette_offset: palette_offset,
|
||||
data_offset: data_offset,
|
||||
data_length: p - data_offset,
|
||||
transparent_index: transparent_index,
|
||||
interlaced: !!interlace_flag,
|
||||
delay: delay,
|
||||
disposal: disposal});
|
||||
break;
|
||||
|
||||
case 0x3b: // Trailer Marker (end of file).
|
||||
no_eof = false;
|
||||
break;
|
||||
|
||||
default:
|
||||
throw "Unknown gif block: 0x" + buf[p-1].toString(16);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
this.numFrames = function() {
|
||||
return frames.length;
|
||||
};
|
||||
|
||||
this.loopCount = function() {
|
||||
return loop_count;
|
||||
};
|
||||
|
||||
this.frameInfo = function(frame_num) {
|
||||
if (frame_num < 0 || frame_num >= frames.length)
|
||||
throw "Frame index out of range.";
|
||||
return frames[frame_num];
|
||||
}
|
||||
|
||||
this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {
|
||||
var frame = this.frameInfo(frame_num);
|
||||
var num_pixels = frame.width * frame.height;
|
||||
var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.
|
||||
GifReaderLZWOutputIndexStream(
|
||||
buf, frame.data_offset, index_stream, num_pixels);
|
||||
var palette_offset = frame.palette_offset;
|
||||
|
||||
// NOTE(deanm): It seems to be much faster to compare index to 256 than
|
||||
// to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in
|
||||
// the profile, not sure if it's related to using a Uint8Array.
|
||||
var trans = frame.transparent_index;
|
||||
if (trans === null) trans = 256;
|
||||
|
||||
// We are possibly just blitting to a portion of the entire frame.
|
||||
// That is a subrect within the framerect, so the additional pixels
|
||||
// must be skipped over after we finished a scanline.
|
||||
var framewidth = frame.width;
|
||||
var framestride = width - framewidth;
|
||||
var xleft = framewidth; // Number of subrect pixels left in scanline.
|
||||
|
||||
// Output indicies of the top left and bottom right corners of the subrect.
|
||||
var opbeg = ((frame.y * width) + frame.x) * 4;
|
||||
var opend = ((frame.y + frame.height) * width + frame.x) * 4;
|
||||
var op = opbeg;
|
||||
|
||||
var scanstride = framestride * 4;
|
||||
|
||||
// Use scanstride to skip past the rows when interlacing. This is skipping
|
||||
// 7 rows for the first two passes, then 3 then 1.
|
||||
if (frame.interlaced === true) {
|
||||
scanstride += width * 4 * 7; // Pass 1.
|
||||
}
|
||||
|
||||
var interlaceskip = 8; // Tracking the row interval in the current pass.
|
||||
|
||||
for (var i = 0, il = index_stream.length; i < il; ++i) {
|
||||
var index = index_stream[i];
|
||||
|
||||
if (xleft === 0) { // Beginning of new scan line
|
||||
op += scanstride;
|
||||
xleft = framewidth;
|
||||
if (op >= opend) { // Catch the wrap to switch passes when interlacing.
|
||||
scanstride = framestride * 4 + width * 4 * (interlaceskip-1);
|
||||
// interlaceskip / 2 * 4 is interlaceskip << 1.
|
||||
op = opbeg + (framewidth + framestride) * (interlaceskip << 1);
|
||||
interlaceskip >>= 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (index === trans) {
|
||||
op += 4;
|
||||
} else {
|
||||
var r = buf[palette_offset + index * 3];
|
||||
var g = buf[palette_offset + index * 3 + 1];
|
||||
var b = buf[palette_offset + index * 3 + 2];
|
||||
pixels[op++] = b;
|
||||
pixels[op++] = g;
|
||||
pixels[op++] = r;
|
||||
pixels[op++] = 255;
|
||||
}
|
||||
--xleft;
|
||||
}
|
||||
};
|
||||
|
||||
// I will go to copy and paste hell one day...
|
||||
this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {
|
||||
var frame = this.frameInfo(frame_num);
|
||||
var num_pixels = frame.width * frame.height;
|
||||
var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.
|
||||
GifReaderLZWOutputIndexStream(
|
||||
buf, frame.data_offset, index_stream, num_pixels);
|
||||
var palette_offset = frame.palette_offset;
|
||||
|
||||
// NOTE(deanm): It seems to be much faster to compare index to 256 than
|
||||
// to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in
|
||||
// the profile, not sure if it's related to using a Uint8Array.
|
||||
var trans = frame.transparent_index;
|
||||
if (trans === null) trans = 256;
|
||||
|
||||
// We are possibly just blitting to a portion of the entire frame.
|
||||
// That is a subrect within the framerect, so the additional pixels
|
||||
// must be skipped over after we finished a scanline.
|
||||
var framewidth = frame.width;
|
||||
var framestride = width - framewidth;
|
||||
var xleft = framewidth; // Number of subrect pixels left in scanline.
|
||||
|
||||
// Output indicies of the top left and bottom right corners of the subrect.
|
||||
var opbeg = ((frame.y * width) + frame.x) * 4;
|
||||
var opend = ((frame.y + frame.height) * width + frame.x) * 4;
|
||||
var op = opbeg;
|
||||
|
||||
var scanstride = framestride * 4;
|
||||
|
||||
// Use scanstride to skip past the rows when interlacing. This is skipping
|
||||
// 7 rows for the first two passes, then 3 then 1.
|
||||
if (frame.interlaced === true) {
|
||||
scanstride += width * 4 * 7; // Pass 1.
|
||||
}
|
||||
|
||||
var interlaceskip = 8; // Tracking the row interval in the current pass.
|
||||
|
||||
for (var i = 0, il = index_stream.length; i < il; ++i) {
|
||||
var index = index_stream[i];
|
||||
|
||||
if (xleft === 0) { // Beginning of new scan line
|
||||
op += scanstride;
|
||||
xleft = framewidth;
|
||||
if (op >= opend) { // Catch the wrap to switch passes when interlacing.
|
||||
scanstride = framestride * 4 + width * 4 * (interlaceskip-1);
|
||||
// interlaceskip / 2 * 4 is interlaceskip << 1.
|
||||
op = opbeg + (framewidth + framestride) * (interlaceskip << 1);
|
||||
interlaceskip >>= 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (index === trans) {
|
||||
op += 4;
|
||||
} else {
|
||||
var r = buf[palette_offset + index * 3];
|
||||
var g = buf[palette_offset + index * 3 + 1];
|
||||
var b = buf[palette_offset + index * 3 + 2];
|
||||
pixels[op++] = r;
|
||||
pixels[op++] = g;
|
||||
pixels[op++] = b;
|
||||
pixels[op++] = 255;
|
||||
}
|
||||
--xleft;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {
|
||||
var min_code_size = code_stream[p++];
|
||||
|
||||
var clear_code = 1 << min_code_size;
|
||||
var eoi_code = clear_code + 1;
|
||||
var next_code = eoi_code + 1;
|
||||
|
||||
var cur_code_size = min_code_size + 1; // Number of bits per code.
|
||||
// NOTE: This shares the same name as the encoder, but has a different
|
||||
// meaning here. Here this masks each code coming from the code stream.
|
||||
var code_mask = (1 << cur_code_size) - 1;
|
||||
var cur_shift = 0;
|
||||
var cur = 0;
|
||||
|
||||
var op = 0; // Output pointer.
|
||||
|
||||
var subblock_size = code_stream[p++];
|
||||
|
||||
// TODO(deanm): Would using a TypedArray be any faster? At least it would
|
||||
// solve the fast mode / backing store uncertainty.
|
||||
// var code_table = Array(4096);
|
||||
var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.
|
||||
|
||||
var prev_code = null; // Track code-1.
|
||||
|
||||
while (true) {
|
||||
// Read up to two bytes, making sure we always 12-bits for max sized code.
|
||||
while (cur_shift < 16) {
|
||||
if (subblock_size === 0) break; // No more data to be read.
|
||||
|
||||
cur |= code_stream[p++] << cur_shift;
|
||||
cur_shift += 8;
|
||||
|
||||
if (subblock_size === 1) { // Never let it get to 0 to hold logic above.
|
||||
subblock_size = code_stream[p++]; // Next subblock.
|
||||
} else {
|
||||
--subblock_size;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(deanm): We should never really get here, we should have received
|
||||
// and EOI.
|
||||
if (cur_shift < cur_code_size)
|
||||
break;
|
||||
|
||||
var code = cur & code_mask;
|
||||
cur >>= cur_code_size;
|
||||
cur_shift -= cur_code_size;
|
||||
|
||||
// TODO(deanm): Maybe should check that the first code was a clear code,
|
||||
// at least this is what you're supposed to do. But actually our encoder
|
||||
// now doesn't emit a clear code first anyway.
|
||||
if (code === clear_code) {
|
||||
// We don't actually have to clear the table. This could be a good idea
|
||||
// for greater error checking, but we don't really do any anyway. We
|
||||
// will just track it with next_code and overwrite old entries.
|
||||
|
||||
next_code = eoi_code + 1;
|
||||
cur_code_size = min_code_size + 1;
|
||||
code_mask = (1 << cur_code_size) - 1;
|
||||
|
||||
// Don't update prev_code ?
|
||||
prev_code = null;
|
||||
continue;
|
||||
} else if (code === eoi_code) {
|
||||
break;
|
||||
}
|
||||
|
||||
// We have a similar situation as the decoder, where we want to store
|
||||
// variable length entries (code table entries), but we want to do in a
|
||||
// faster manner than an array of arrays. The code below stores sort of a
|
||||
// linked list within the code table, and then "chases" through it to
|
||||
// construct the dictionary entries. When a new entry is created, just the
|
||||
// last byte is stored, and the rest (prefix) of the entry is only
|
||||
// referenced by its table entry. Then the code chases through the
|
||||
// prefixes until it reaches a single byte code. We have to chase twice,
|
||||
// first to compute the length, and then to actually copy the data to the
|
||||
// output (backwards, since we know the length). The alternative would be
|
||||
// storing something in an intermediate stack, but that doesn't make any
|
||||
// more sense. I implemented an approach where it also stored the length
|
||||
// in the code table, although it's a bit tricky because you run out of
|
||||
// bits (12 + 12 + 8), but I didn't measure much improvements (the table
|
||||
// entries are generally not the long). Even when I created benchmarks for
|
||||
// very long table entries the complexity did not seem worth it.
|
||||
// The code table stores the prefix entry in 12 bits and then the suffix
|
||||
// byte in 8 bits, so each entry is 20 bits.
|
||||
|
||||
var chase_code = code < next_code ? code : prev_code;
|
||||
|
||||
// Chase what we will output, either {CODE} or {CODE-1}.
|
||||
var chase_length = 0;
|
||||
var chase = chase_code;
|
||||
while (chase > clear_code) {
|
||||
chase = code_table[chase] >> 8;
|
||||
++chase_length;
|
||||
}
|
||||
|
||||
var k = chase;
|
||||
|
||||
var op_end = op + chase_length + (chase_code !== code ? 1 : 0);
|
||||
if (op_end > output_length) {
|
||||
console.log("Warning, gif stream longer than expected.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Already have the first byte from the chase, might as well write it fast.
|
||||
output[op++] = k;
|
||||
|
||||
op += chase_length;
|
||||
var b = op; // Track pointer, writing backwards.
|
||||
|
||||
if (chase_code !== code) // The case of emitting {CODE-1} + k.
|
||||
output[op++] = k;
|
||||
|
||||
chase = chase_code;
|
||||
while (chase_length--) {
|
||||
chase = code_table[chase];
|
||||
output[--b] = chase & 0xff; // Write backwards.
|
||||
chase >>= 8; // Pull down to the prefix code.
|
||||
}
|
||||
|
||||
if (prev_code !== null && next_code < 4096) {
|
||||
code_table[next_code++] = prev_code << 8 | k;
|
||||
// TODO(deanm): Figure out this clearing vs code growth logic better. I
|
||||
// have an feeling that it should just happen somewhere else, for now it
|
||||
// is awkward between when we grow past the max and then hit a clear code.
|
||||
// For now just check if we hit the max 12-bits (then a clear code should
|
||||
// follow, also of course encoded in 12-bits).
|
||||
if (next_code >= code_mask+1 && cur_code_size < 12) {
|
||||
++cur_code_size;
|
||||
code_mask = code_mask << 1 | 1;
|
||||
}
|
||||
}
|
||||
|
||||
prev_code = code;
|
||||
}
|
||||
|
||||
if (op !== output_length) {
|
||||
console.log("Warning, gif stream shorter than expected.");
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
try { exports.GifWriter = GifWriter; exports.GifReader = GifReader } catch(e) { } // CommonJS.
|
||||
97
build/node_modules/jimp/package.json
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"jimp@0.2.28",
|
||||
"/Users/asciidisco/Desktop/asciidisco.com/build"
|
||||
]
|
||||
],
|
||||
"_from": "jimp@0.2.28",
|
||||
"_id": "jimp@0.2.28",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=",
|
||||
"_location": "/jimp",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "jimp@0.2.28",
|
||||
"name": "jimp",
|
||||
"escapedName": "jimp",
|
||||
"rawSpec": "0.2.28",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.2.28"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz",
|
||||
"_spec": "0.2.28",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build",
|
||||
"author": {
|
||||
"name": "Oliver Moran",
|
||||
"email": "oliver.moran@gmail.com"
|
||||
},
|
||||
"browser": "browser/lib/jimp.js",
|
||||
"bugs": {
|
||||
"url": "https://github.com/oliver-moran/jimp/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"bignumber.js": "^2.1.0",
|
||||
"bmp-js": "0.0.3",
|
||||
"es6-promise": "^3.0.2",
|
||||
"exif-parser": "^0.1.9",
|
||||
"file-type": "^3.1.0",
|
||||
"jpeg-js": "^0.2.0",
|
||||
"load-bmfont": "^1.2.3",
|
||||
"mime": "^1.3.4",
|
||||
"mkdirp": "0.5.1",
|
||||
"pixelmatch": "^4.0.0",
|
||||
"pngjs": "^3.0.0",
|
||||
"read-chunk": "^1.0.1",
|
||||
"request": "^2.65.0",
|
||||
"stream-to-buffer": "^0.1.0",
|
||||
"tinycolor2": "^1.1.2",
|
||||
"url-regex": "^3.0.0"
|
||||
},
|
||||
"description": "An image processing library written entirely in JavaScript (i.e. zero external or native dependencies).",
|
||||
"devDependencies": {
|
||||
"babel": "^6.0.14",
|
||||
"babel-cli": "^6.0.0",
|
||||
"babel-preset-es2015": "^6.0.14",
|
||||
"babel-preset-stage-0": "^6.0.14",
|
||||
"browserify": "^14.3.0",
|
||||
"envify": "^3.4.0",
|
||||
"express": "^4.13.4",
|
||||
"uglify-js": "^2.6.1",
|
||||
"uglifyify": "^3.0.1"
|
||||
},
|
||||
"homepage": "https://github.com/oliver-moran/jimp#readme",
|
||||
"keywords": [
|
||||
"image",
|
||||
"image processing",
|
||||
"image manipulation",
|
||||
"png",
|
||||
"jpg",
|
||||
"jpeg",
|
||||
"bmp",
|
||||
"resize",
|
||||
"scale",
|
||||
"crop"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "jimp",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/oliver-moran/jimp.git"
|
||||
},
|
||||
"scripts": {
|
||||
"minify-jimp": "uglifyjs browser/tmp.jimp.js --compress warnings=false --mangle -o browser/tmp.jimp.min.js",
|
||||
"prepublish": "./browser/browserify-build.sh",
|
||||
"start": "node server.js",
|
||||
"test": "./test/tests.sh"
|
||||
},
|
||||
"tonicExampleFilename": "example.js",
|
||||
"types": "./jimp.d.ts",
|
||||
"version": "0.2.28"
|
||||
}
|
||||
167
build/node_modules/jimp/phash.js
generated
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
/*
|
||||
|
||||
Copyright (c) 2011 Elliot Shepherd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
*/
|
||||
|
||||
// https://code.google.com/p/ironchef-team21/source/browse/ironchef_team21/src/ImagePHash.java
|
||||
|
||||
/*
|
||||
* pHash-like image hash.
|
||||
* Author: Elliot Shepherd (elliot@jarofworms.com
|
||||
* Based On: http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html
|
||||
*/
|
||||
|
||||
function ImagePHash(size, smallerSize) {
|
||||
this.size = this.size || size;
|
||||
this.smallerSize = this.smallerSize || smallerSize;
|
||||
initCoefficients(this.size);
|
||||
}
|
||||
|
||||
ImagePHash.prototype.size = 32;
|
||||
ImagePHash.prototype.smallerSize = 8;
|
||||
|
||||
ImagePHash.prototype.distance = function(s1, s2) {
|
||||
var counter = 0;
|
||||
for (var k = 0; k < s1.length; k++) {
|
||||
if (s1[k] != s2[k]) {
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
return (counter / s1.length);
|
||||
}
|
||||
|
||||
// Returns a 'binary string' (like. 001010111011100010) which is easy to do a hamming distance on.
|
||||
ImagePHash.prototype.getHash = function(img) {
|
||||
/* 1. Reduce size.
|
||||
* Like Average Hash, pHash starts with a small image.
|
||||
* However, the image is larger than 8x8; 32x32 is a good size.
|
||||
* This is really done to simplify the DCT computation and not
|
||||
* because it is needed to reduce the high frequencies.
|
||||
*/
|
||||
img = img.clone().resize(this.size, this.size);
|
||||
|
||||
/* 2. Reduce color.
|
||||
* The image is reduced to a grayscale just to further simplify
|
||||
* the number of computations.
|
||||
*/
|
||||
img.grayscale();
|
||||
|
||||
var vals = [];
|
||||
|
||||
for (var x = 0; x < img.bitmap.width; x++) {
|
||||
vals[x] = [];
|
||||
for (var y = 0; y < img.bitmap.height; y++) {
|
||||
vals[x][y] = intToRGBA(img.getPixelColor(x, y)).b;
|
||||
}
|
||||
}
|
||||
|
||||
/* 3. Compute the DCT.
|
||||
* The DCT separates the image into a collection of frequencies
|
||||
* and scalars. While JPEG uses an 8x8 DCT, this algorithm uses
|
||||
* a 32x32 DCT.
|
||||
*/
|
||||
var dctVals = applyDCT(vals, this.size);
|
||||
|
||||
/* 4. Reduce the DCT.
|
||||
* This is the magic step. While the DCT is 32x32, just keep the
|
||||
* top-left 8x8. Those represent the lowest frequencies in the
|
||||
* picture.
|
||||
*/
|
||||
/* 5. Compute the average value.
|
||||
* Like the Average Hash, compute the mean DCT value (using only
|
||||
* the 8x8 DCT low-frequency values and excluding the first term
|
||||
* since the DC coefficient can be significantly different from
|
||||
* the other values and will throw off the average).
|
||||
*/
|
||||
var total = 0;
|
||||
|
||||
for (var x = 0; x < this.smallerSize; x++) {
|
||||
for (var y = 0; y < this.smallerSize; y++) {
|
||||
total += dctVals[x][y];
|
||||
}
|
||||
}
|
||||
|
||||
var avg = total / (this.smallerSize * this.smallerSize);
|
||||
|
||||
/* 6. Further reduce the DCT.
|
||||
* This is the magic step. Set the 64 hash bits to 0 or 1
|
||||
* depending on whether each of the 64 DCT values is above or
|
||||
* below the average value. The result doesn't tell us the
|
||||
* actual low frequencies; it just tells us the very-rough
|
||||
* relative scale of the frequencies to the mean. The result
|
||||
* will not vary as long as the overall structure of the image
|
||||
* remains the same; this can survive gamma and color histogram
|
||||
* adjustments without a problem.
|
||||
*/
|
||||
var hash = "";
|
||||
|
||||
var count = 0;
|
||||
for (var x = 0; x < this.smallerSize; x++) {
|
||||
for (var y = 0; y < this.smallerSize; y++) {
|
||||
hash += (dctVals[x][y] > avg?"1":"0");
|
||||
}
|
||||
}
|
||||
|
||||
return hash;
|
||||
}
|
||||
|
||||
// DCT function stolen from http://stackoverflow.com/questions/4240490/problems-with-dct-and-idct-algorithm-in-java
|
||||
|
||||
function intToRGBA(i){
|
||||
var rgba = {}
|
||||
rgba.r = Math.floor(i / Math.pow(256, 3));
|
||||
rgba.g = Math.floor((i - (rgba.r * Math.pow(256, 3))) / Math.pow(256, 2));
|
||||
rgba.b = Math.floor((i - (rgba.r * Math.pow(256, 3)) - (rgba.g * Math.pow(256, 2))) / Math.pow(256, 1));
|
||||
rgba.a = Math.floor((i - (rgba.r * Math.pow(256, 3)) - (rgba.g * Math.pow(256, 2)) - (rgba.b * Math.pow(256, 1))) / Math.pow(256, 0));
|
||||
|
||||
return rgba;
|
||||
}
|
||||
|
||||
var c = [];
|
||||
function initCoefficients(size) {
|
||||
for (var i=1;i<size;i++) {
|
||||
c[i]=1;
|
||||
}
|
||||
c[0]=1/Math.sqrt(2.0);
|
||||
}
|
||||
|
||||
function applyDCT(f, size) {
|
||||
var N = size;
|
||||
|
||||
var F = [];
|
||||
for (var u=0;u<N;u++) {
|
||||
F[u] = [];
|
||||
for (var v=0;v<N;v++) {
|
||||
var sum = 0;
|
||||
for (var i=0;i<N;i++) {
|
||||
for (var j=0;j<N;j++) {
|
||||
sum+=Math.cos(((2*i+1)/(2.0*N))*u*Math.PI)*Math.cos(((2*j+1)/(2.0*N))*v*Math.PI)*(f[i][j]);
|
||||
}
|
||||
}
|
||||
sum*=((c[u]*c[v])/4);
|
||||
F[u][v] = sum;
|
||||
}
|
||||
}
|
||||
return F;
|
||||
}
|
||||
|
||||
module.exports = ImagePHash;
|
||||
363
build/node_modules/jimp/resize.js
generated
vendored
Normal file
@@ -0,0 +1,363 @@
|
||||
// JavaScript Image Resizer (c) 2012 - Grant Galitz
|
||||
// Released to public domain 29 July 2013: https://github.com/grantgalitz/JS-Image-Resizer/issues/4
|
||||
|
||||
function Resize(widthOriginal, heightOriginal, targetWidth, targetHeight, blendAlpha, interpolationPass, resizeCallback) {
|
||||
this.widthOriginal = Math.abs(parseInt(widthOriginal) || 0);
|
||||
this.heightOriginal = Math.abs(parseInt(heightOriginal) || 0);
|
||||
this.targetWidth = Math.abs(parseInt(targetWidth) || 0);
|
||||
this.targetHeight = Math.abs(parseInt(targetHeight) || 0);
|
||||
this.colorChannels = (!!blendAlpha) ? 4 : 3;
|
||||
this.interpolationPass = !!interpolationPass;
|
||||
this.resizeCallback = (typeof resizeCallback == "function") ? resizeCallback : function (returnedArray) {};
|
||||
this.targetWidthMultipliedByChannels = this.targetWidth * this.colorChannels;
|
||||
this.originalWidthMultipliedByChannels = this.widthOriginal * this.colorChannels;
|
||||
this.originalHeightMultipliedByChannels = this.heightOriginal * this.colorChannels;
|
||||
this.widthPassResultSize = this.targetWidthMultipliedByChannels * this.heightOriginal;
|
||||
this.finalResultSize = this.targetWidthMultipliedByChannels * this.targetHeight;
|
||||
this.initialize();
|
||||
}
|
||||
|
||||
Resize.prototype.initialize = function () {
|
||||
//Perform some checks:
|
||||
if (this.widthOriginal > 0 && this.heightOriginal > 0 && this.targetWidth > 0 && this.targetHeight > 0) {
|
||||
this.configurePasses();
|
||||
} else {
|
||||
throw (new Error("Invalid settings specified for the resizer."));
|
||||
}
|
||||
}
|
||||
|
||||
Resize.prototype.configurePasses = function () {
|
||||
if (this.widthOriginal == this.targetWidth) {
|
||||
//Bypass the width resizer pass:
|
||||
this.resizeWidth = this.bypassResizer;
|
||||
} else {
|
||||
//Setup the width resizer pass:
|
||||
this.ratioWeightWidthPass = this.widthOriginal / this.targetWidth;
|
||||
if (this.ratioWeightWidthPass < 1 && this.interpolationPass) {
|
||||
this.initializeFirstPassBuffers(true);
|
||||
this.resizeWidth = (this.colorChannels == 4) ? this.resizeWidthInterpolatedRGBA : this.resizeWidthInterpolatedRGB;
|
||||
} else {
|
||||
this.initializeFirstPassBuffers(false);
|
||||
this.resizeWidth = (this.colorChannels == 4) ? this.resizeWidthRGBA : this.resizeWidthRGB;
|
||||
}
|
||||
}
|
||||
if (this.heightOriginal == this.targetHeight) {
|
||||
//Bypass the height resizer pass:
|
||||
this.resizeHeight = this.bypassResizer;
|
||||
} else {
|
||||
//Setup the height resizer pass:
|
||||
this.ratioWeightHeightPass = this.heightOriginal / this.targetHeight;
|
||||
if (this.ratioWeightHeightPass < 1 && this.interpolationPass) {
|
||||
this.initializeSecondPassBuffers(true);
|
||||
this.resizeHeight = this.resizeHeightInterpolated;
|
||||
} else {
|
||||
this.initializeSecondPassBuffers(false);
|
||||
this.resizeHeight = (this.colorChannels == 4) ? this.resizeHeightRGBA : this.resizeHeightRGB;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Resize.prototype._resizeWidthInterpolatedRGBChannels = function (buffer, fourthChannel) {
|
||||
var channelsNum = fourthChannel ? 4 : 3;
|
||||
var ratioWeight = this.ratioWeightWidthPass;
|
||||
var weight = 0;
|
||||
var finalOffset = 0;
|
||||
var pixelOffset = 0;
|
||||
var firstWeight = 0;
|
||||
var secondWeight = 0;
|
||||
var outputBuffer = this.widthBuffer;
|
||||
//Handle for only one interpolation input being valid for start calculation:
|
||||
for (var targetPosition = 0; weight < 1 / 3; targetPosition += channelsNum, weight += ratioWeight) {
|
||||
for (finalOffset = targetPosition, pixelOffset = 0; finalOffset < this.widthPassResultSize; pixelOffset += this.originalWidthMultipliedByChannels, finalOffset += this.targetWidthMultipliedByChannels) {
|
||||
outputBuffer[finalOffset] = buffer[pixelOffset];
|
||||
outputBuffer[finalOffset + 1] = buffer[pixelOffset + 1];
|
||||
outputBuffer[finalOffset + 2] = buffer[pixelOffset + 2];
|
||||
if (!fourthChannel) continue;
|
||||
outputBuffer[finalOffset + 3] = buffer[pixelOffset + 3];
|
||||
}
|
||||
}
|
||||
//Adjust for overshoot of the last pass's counter:
|
||||
weight -= 1 / 3;
|
||||
for (var interpolationWidthSourceReadStop = this.widthOriginal - 1; weight < interpolationWidthSourceReadStop; targetPosition += channelsNum, weight += ratioWeight) {
|
||||
//Calculate weightings:
|
||||
secondWeight = weight % 1;
|
||||
firstWeight = 1 - secondWeight;
|
||||
//Interpolate:
|
||||
for (finalOffset = targetPosition, pixelOffset = Math.floor(weight) * channelsNum; finalOffset < this.widthPassResultSize; pixelOffset += this.originalWidthMultipliedByChannels, finalOffset += this.targetWidthMultipliedByChannels) {
|
||||
outputBuffer[finalOffset] = (buffer[pixelOffset] * firstWeight) + (buffer[pixelOffset + channelsNum] * secondWeight);
|
||||
outputBuffer[finalOffset + 1] = (buffer[pixelOffset + 1] * firstWeight) + (buffer[pixelOffset + channelsNum + 1] * secondWeight);
|
||||
outputBuffer[finalOffset + 2] = (buffer[pixelOffset + 2] * firstWeight) + (buffer[pixelOffset + channelsNum + 2] * secondWeight);
|
||||
if (!fourthChannel) continue;
|
||||
outputBuffer[finalOffset + 3] = (buffer[pixelOffset + 3] * firstWeight) + (buffer[pixelOffset + channelsNum + 3] * secondWeight);
|
||||
}
|
||||
}
|
||||
//Handle for only one interpolation input being valid for end calculation:
|
||||
for (interpolationWidthSourceReadStop = this.originalWidthMultipliedByChannels - channelsNum; targetPosition < this.targetWidthMultipliedByChannels; targetPosition += channelsNum) {
|
||||
for (finalOffset = targetPosition, pixelOffset = interpolationWidthSourceReadStop; finalOffset < this.widthPassResultSize; pixelOffset += this.originalWidthMultipliedByChannels, finalOffset += this.targetWidthMultipliedByChannels) {
|
||||
outputBuffer[finalOffset] = buffer[pixelOffset];
|
||||
outputBuffer[finalOffset + 1] = buffer[pixelOffset + 1];
|
||||
outputBuffer[finalOffset + 2] = buffer[pixelOffset + 2];
|
||||
if (!fourthChannel) continue;
|
||||
outputBuffer[finalOffset + 3] = buffer[pixelOffset + 3];
|
||||
}
|
||||
}
|
||||
return outputBuffer;
|
||||
}
|
||||
|
||||
Resize.prototype._resizeWidthRGBChannels = function (buffer, fourthChannel) {
|
||||
var channelsNum = fourthChannel ? 4 : 3;
|
||||
var ratioWeight = this.ratioWeightWidthPass;
|
||||
var ratioWeightDivisor = 1 / ratioWeight;
|
||||
var weight = 0;
|
||||
var amountToNext = 0;
|
||||
var actualPosition = 0;
|
||||
var currentPosition = 0;
|
||||
var line = 0;
|
||||
var pixelOffset = 0;
|
||||
var outputOffset = 0;
|
||||
var nextLineOffsetOriginalWidth = this.originalWidthMultipliedByChannels - channelsNum + 1;
|
||||
var nextLineOffsetTargetWidth = this.targetWidthMultipliedByChannels - channelsNum + 1;
|
||||
var output = this.outputWidthWorkBench;
|
||||
var outputBuffer = this.widthBuffer;
|
||||
var trustworthyColorsCount = this.outputWidthWorkBenchOpaquePixelsCount;
|
||||
var multiplier = 1;
|
||||
var r = 0;
|
||||
var g = 0;
|
||||
var b = 0;
|
||||
var a = 0;
|
||||
do {
|
||||
for (line = 0; line < this.originalHeightMultipliedByChannels;) {
|
||||
output[line++] = 0;
|
||||
output[line++] = 0;
|
||||
output[line++] = 0;
|
||||
if (!fourthChannel) continue;
|
||||
output[line++] = 0;
|
||||
trustworthyColorsCount[line / channelsNum - 1] = 0;
|
||||
}
|
||||
weight = ratioWeight;
|
||||
do {
|
||||
amountToNext = 1 + actualPosition - currentPosition;
|
||||
multiplier = Math.min(weight, amountToNext);
|
||||
for (line = 0, pixelOffset = actualPosition; line < this.originalHeightMultipliedByChannels; pixelOffset += nextLineOffsetOriginalWidth) {
|
||||
r = buffer[pixelOffset];
|
||||
g = buffer[++pixelOffset];
|
||||
b = buffer[++pixelOffset];
|
||||
a = fourthChannel ? buffer[++pixelOffset] : 255;
|
||||
// Ignore RGB values if pixel is completely transparent
|
||||
output[line++] += (a ? r : 0) * multiplier;
|
||||
output[line++] += (a ? g : 0) * multiplier;
|
||||
output[line++] += (a ? b : 0) * multiplier;
|
||||
if (!fourthChannel) continue;
|
||||
output[line++] += a * multiplier;
|
||||
trustworthyColorsCount[line / channelsNum - 1] += (a ? multiplier : 0);
|
||||
}
|
||||
if (weight >= amountToNext) {
|
||||
currentPosition = actualPosition = actualPosition + channelsNum;
|
||||
weight -= amountToNext;
|
||||
} else {
|
||||
currentPosition += weight;
|
||||
break;
|
||||
}
|
||||
} while (weight > 0 && actualPosition < this.originalWidthMultipliedByChannels);
|
||||
for (line = 0, pixelOffset = outputOffset; line < this.originalHeightMultipliedByChannels; pixelOffset += nextLineOffsetTargetWidth) {
|
||||
weight = fourthChannel ? trustworthyColorsCount[line / channelsNum] : 1;
|
||||
multiplier = fourthChannel ? (weight ? 1 / weight : 0) : ratioWeightDivisor;
|
||||
outputBuffer[pixelOffset] = output[line++] * multiplier;
|
||||
outputBuffer[++pixelOffset] = output[line++] * multiplier;
|
||||
outputBuffer[++pixelOffset] = output[line++] * multiplier;
|
||||
if (!fourthChannel) continue;
|
||||
outputBuffer[++pixelOffset] = output[line++] * ratioWeightDivisor;
|
||||
}
|
||||
outputOffset += channelsNum;
|
||||
} while (outputOffset < this.targetWidthMultipliedByChannels);
|
||||
return outputBuffer;
|
||||
}
|
||||
|
||||
Resize.prototype._resizeHeightRGBChannels = function(buffer, fourthChannel) {
|
||||
var ratioWeight = this.ratioWeightHeightPass;
|
||||
var ratioWeightDivisor = 1 / ratioWeight;
|
||||
var weight = 0;
|
||||
var amountToNext = 0;
|
||||
var actualPosition = 0;
|
||||
var currentPosition = 0;
|
||||
var pixelOffset = 0;
|
||||
var outputOffset = 0;
|
||||
var output = this.outputHeightWorkBench;
|
||||
var outputBuffer = this.heightBuffer;
|
||||
var trustworthyColorsCount = this.outputHeightWorkBenchOpaquePixelsCount;
|
||||
var caret = 0;
|
||||
var multiplier = 1;
|
||||
var r = 0;
|
||||
var g = 0;
|
||||
var b = 0;
|
||||
var a = 0;
|
||||
do {
|
||||
for (pixelOffset = 0; pixelOffset < this.targetWidthMultipliedByChannels;) {
|
||||
output[pixelOffset++] = 0;
|
||||
output[pixelOffset++] = 0;
|
||||
output[pixelOffset++] = 0;
|
||||
if (!fourthChannel) continue;
|
||||
output[pixelOffset++] = 0;
|
||||
trustworthyColorsCount[pixelOffset / 4 - 1] = 0;
|
||||
}
|
||||
weight = ratioWeight;
|
||||
do {
|
||||
amountToNext = 1 + actualPosition - currentPosition;
|
||||
multiplier = Math.min(weight, amountToNext);
|
||||
caret = actualPosition;
|
||||
for (pixelOffset = 0; pixelOffset < this.targetWidthMultipliedByChannels;) {
|
||||
r = buffer[caret++];
|
||||
g = buffer[caret++];
|
||||
b = buffer[caret++];
|
||||
a = fourthChannel ? buffer[caret++] : 255;
|
||||
// Ignore RGB values if pixel is completely transparent
|
||||
output[pixelOffset++] += (a ? r : 0) * multiplier;
|
||||
output[pixelOffset++] += (a ? g : 0) * multiplier;
|
||||
output[pixelOffset++] += (a ? b : 0) * multiplier;
|
||||
if (!fourthChannel) continue;
|
||||
output[pixelOffset++] += a * multiplier;
|
||||
trustworthyColorsCount[pixelOffset / 4 - 1] += (a ? multiplier : 0);
|
||||
}
|
||||
if (weight >= amountToNext) {
|
||||
currentPosition = actualPosition = caret;
|
||||
weight -= amountToNext;
|
||||
} else {
|
||||
currentPosition += weight;
|
||||
break;
|
||||
}
|
||||
} while (weight > 0 && actualPosition < this.widthPassResultSize);
|
||||
for (pixelOffset = 0; pixelOffset < this.targetWidthMultipliedByChannels;) {
|
||||
weight = fourthChannel ? trustworthyColorsCount[pixelOffset / 4] : 1;
|
||||
multiplier = fourthChannel ? (weight ? 1 / weight : 0) : ratioWeightDivisor;
|
||||
outputBuffer[outputOffset++] = Math.round(output[pixelOffset++] * multiplier);
|
||||
outputBuffer[outputOffset++] = Math.round(output[pixelOffset++] * multiplier);
|
||||
outputBuffer[outputOffset++] = Math.round(output[pixelOffset++] * multiplier);
|
||||
if (!fourthChannel) continue;
|
||||
outputBuffer[outputOffset++] = Math.round(output[pixelOffset++] * ratioWeightDivisor);
|
||||
}
|
||||
} while (outputOffset < this.finalResultSize);
|
||||
|
||||
return outputBuffer;
|
||||
}
|
||||
|
||||
Resize.prototype.resizeWidthInterpolatedRGB = function (buffer) {
|
||||
return this._resizeWidthInterpolatedRGBChannels(buffer, false);
|
||||
}
|
||||
|
||||
Resize.prototype.resizeWidthInterpolatedRGBA = function (buffer) {
|
||||
return this._resizeWidthInterpolatedRGBChannels(buffer, true);
|
||||
}
|
||||
|
||||
Resize.prototype.resizeWidthRGB = function (buffer) {
|
||||
return this._resizeWidthRGBChannels(buffer, false);
|
||||
}
|
||||
|
||||
Resize.prototype.resizeWidthRGBA = function (buffer) {
|
||||
return this._resizeWidthRGBChannels(buffer, true);
|
||||
}
|
||||
|
||||
Resize.prototype.resizeHeightInterpolated = function (buffer) {
|
||||
var ratioWeight = this.ratioWeightHeightPass;
|
||||
var weight = 0;
|
||||
var finalOffset = 0;
|
||||
var pixelOffset = 0;
|
||||
var pixelOffsetAccumulated = 0;
|
||||
var pixelOffsetAccumulated2 = 0;
|
||||
var firstWeight = 0;
|
||||
var secondWeight = 0;
|
||||
var outputBuffer = this.heightBuffer;
|
||||
//Handle for only one interpolation input being valid for start calculation:
|
||||
for (; weight < 1 / 3; weight += ratioWeight) {
|
||||
for (pixelOffset = 0; pixelOffset < this.targetWidthMultipliedByChannels;) {
|
||||
outputBuffer[finalOffset++] = Math.round(buffer[pixelOffset++]);
|
||||
}
|
||||
}
|
||||
//Adjust for overshoot of the last pass's counter:
|
||||
weight -= 1 / 3;
|
||||
for (var interpolationHeightSourceReadStop = this.heightOriginal - 1; weight < interpolationHeightSourceReadStop; weight += ratioWeight) {
|
||||
//Calculate weightings:
|
||||
secondWeight = weight % 1;
|
||||
firstWeight = 1 - secondWeight;
|
||||
//Interpolate:
|
||||
pixelOffsetAccumulated = Math.floor(weight) * this.targetWidthMultipliedByChannels;
|
||||
pixelOffsetAccumulated2 = pixelOffsetAccumulated + this.targetWidthMultipliedByChannels;
|
||||
for (pixelOffset = 0; pixelOffset < this.targetWidthMultipliedByChannels; ++pixelOffset) {
|
||||
outputBuffer[finalOffset++] = Math.round((buffer[pixelOffsetAccumulated++] * firstWeight) + (buffer[pixelOffsetAccumulated2++] * secondWeight));
|
||||
}
|
||||
}
|
||||
//Handle for only one interpolation input being valid for end calculation:
|
||||
while (finalOffset < this.finalResultSize) {
|
||||
for (pixelOffset = 0, pixelOffsetAccumulated = interpolationHeightSourceReadStop * this.targetWidthMultipliedByChannels; pixelOffset < this.targetWidthMultipliedByChannels; ++pixelOffset) {
|
||||
outputBuffer[finalOffset++] = Math.round(buffer[pixelOffsetAccumulated++]);
|
||||
}
|
||||
}
|
||||
return outputBuffer;
|
||||
}
|
||||
|
||||
Resize.prototype.resizeHeightRGB = function (buffer) {
|
||||
return this._resizeHeightRGBChannels(buffer, false);
|
||||
}
|
||||
|
||||
Resize.prototype.resizeHeightRGBA = function (buffer) {
|
||||
return this._resizeHeightRGBChannels(buffer, true);
|
||||
}
|
||||
|
||||
Resize.prototype.resize = function (buffer) {
|
||||
this.resizeCallback(this.resizeHeight(this.resizeWidth(buffer)));
|
||||
}
|
||||
|
||||
Resize.prototype.bypassResizer = function (buffer) {
|
||||
//Just return the buffer passsed:
|
||||
return buffer;
|
||||
}
|
||||
|
||||
Resize.prototype.initializeFirstPassBuffers = function (BILINEARAlgo) {
|
||||
//Initialize the internal width pass buffers:
|
||||
this.widthBuffer = this.generateFloatBuffer(this.widthPassResultSize);
|
||||
if (!BILINEARAlgo) {
|
||||
this.outputWidthWorkBench = this.generateFloatBuffer(this.originalHeightMultipliedByChannels);
|
||||
if (this.colorChannels > 3) {
|
||||
this.outputWidthWorkBenchOpaquePixelsCount = this.generateFloat64Buffer(this.heightOriginal);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Resize.prototype.initializeSecondPassBuffers = function (BILINEARAlgo) {
|
||||
//Initialize the internal height pass buffers:
|
||||
this.heightBuffer = this.generateUint8Buffer(this.finalResultSize);
|
||||
if (!BILINEARAlgo) {
|
||||
this.outputHeightWorkBench = this.generateFloatBuffer(this.targetWidthMultipliedByChannels);
|
||||
if (this.colorChannels > 3) {
|
||||
this.outputHeightWorkBenchOpaquePixelsCount = this.generateFloat64Buffer(this.targetWidth);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Resize.prototype.generateFloatBuffer = function (bufferLength) {
|
||||
//Generate a float32 typed array buffer:
|
||||
try {
|
||||
return new Float32Array(bufferLength);
|
||||
} catch (error) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
Resize.prototype.generateFloat64Buffer = function (bufferLength) {
|
||||
//Generate a float64 typed array buffer:
|
||||
try {
|
||||
return new Float64Array(bufferLength);
|
||||
} catch (error) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
Resize.prototype.generateUint8Buffer = function (bufferLength) {
|
||||
//Generate a uint8 typed array buffer:
|
||||
try {
|
||||
return new Uint8Array(bufferLength);
|
||||
} catch (error) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Resize;
|
||||
284
build/node_modules/jimp/resize2.js
generated
vendored
Normal file
@@ -0,0 +1,284 @@
|
||||
/**
|
||||
* Copyright (c) 2015 Guyon Roche
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:</p>
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
nearestNeighbor: function(src, dst, options) {
|
||||
|
||||
var wSrc = src.width;
|
||||
var hSrc = src.height;
|
||||
//console.log("wSrc="+wSrc + ", hSrc="+hSrc);
|
||||
|
||||
var wDst = dst.width;
|
||||
var hDst = dst.height;
|
||||
//console.log("wDst="+wDst + ", hDst="+hDst);
|
||||
|
||||
var bufSrc = src.data;
|
||||
var bufDst = dst.data;
|
||||
|
||||
for (var i = 0; i < hDst; i++) {
|
||||
for (var j = 0; j < wDst; j++) {
|
||||
var posDst = (i * wDst + j) * 4;
|
||||
|
||||
var iSrc = Math.round(i * hSrc / hDst);
|
||||
var jSrc = Math.round(j * wSrc / wDst);
|
||||
var posSrc = (iSrc * wSrc + jSrc) * 4;
|
||||
|
||||
bufDst[posDst++] = bufSrc[posSrc++];
|
||||
bufDst[posDst++] = bufSrc[posSrc++];
|
||||
bufDst[posDst++] = bufSrc[posSrc++];
|
||||
bufDst[posDst++] = bufSrc[posSrc++];
|
||||
}
|
||||
}
|
||||
},
|
||||
bilinearInterpolation: function(src, dst, options) {
|
||||
|
||||
var wSrc = src.width;
|
||||
var hSrc = src.height;
|
||||
//console.log("wSrc="+wSrc + ", hSrc="+hSrc);
|
||||
|
||||
var wDst = dst.width;
|
||||
var hDst = dst.height;
|
||||
//console.log("wDst="+wDst + ", hDst="+hDst);
|
||||
|
||||
var bufSrc = src.data;
|
||||
var bufDst = dst.data;
|
||||
|
||||
var interpolate = function(k, kMin, vMin, kMax, vMax) {
|
||||
// special case - k is integer
|
||||
if (kMin === kMax) {
|
||||
return vMin;
|
||||
}
|
||||
|
||||
return Math.round((k - kMin) * vMax + (kMax - k) * vMin);
|
||||
};
|
||||
var assign = function(pos, offset, x, xMin, xMax, y, yMin, yMax) {
|
||||
var posMin = (yMin * wSrc + xMin) * 4 + offset;
|
||||
var posMax = (yMin * wSrc + xMax) * 4 + offset;
|
||||
var vMin = interpolate(x, xMin, bufSrc[posMin], xMax, bufSrc[posMax]);
|
||||
|
||||
// special case, y is integer
|
||||
if (yMax === yMin) {
|
||||
bufDst[pos+offset] = vMin;
|
||||
} else {
|
||||
posMin = (yMax * wSrc + xMin) * 4 + offset;
|
||||
posMax = (yMax * wSrc + xMax) * 4 + offset;
|
||||
var vMax = interpolate(x, xMin, bufSrc[posMin], xMax, bufSrc[posMax]);
|
||||
|
||||
bufDst[pos+offset] = interpolate(y, yMin, vMin, yMax, vMax);
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < hDst; i++) {
|
||||
for (var j = 0; j < wDst; j++) {
|
||||
var posDst = (i * wDst + j) * 4;
|
||||
|
||||
// x & y in src coordinates
|
||||
var x = j * wSrc / wDst;
|
||||
var xMin = Math.floor(x);
|
||||
var xMax = Math.min(Math.ceil(x), wSrc-1);
|
||||
|
||||
var y = i * hSrc / hDst;
|
||||
var yMin = Math.floor(y);
|
||||
var yMax = Math.min(Math.ceil(y), hSrc-1);
|
||||
|
||||
assign(posDst, 0, x, xMin, xMax, y, yMin, yMax);
|
||||
assign(posDst, 1, x, xMin, xMax, y, yMin, yMax);
|
||||
assign(posDst, 2, x, xMin, xMax, y, yMin, yMax);
|
||||
assign(posDst, 3, x, xMin, xMax, y, yMin, yMax);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_interpolate2D: function(src, dst, options, interpolate) {
|
||||
|
||||
var bufSrc = src.data;
|
||||
var bufDst = dst.data;
|
||||
|
||||
var wSrc = src.width;
|
||||
var hSrc = src.height;
|
||||
//console.log("wSrc="+wSrc + ", hSrc="+hSrc + ", srcLen="+bufSrc.length);
|
||||
|
||||
var wDst = dst.width;
|
||||
var hDst = dst.height;
|
||||
//console.log("wDst="+wDst + ", hDst="+hDst + ", dstLen="+bufDst.length);
|
||||
|
||||
// when dst smaller than src/2, interpolate first to a multiple between 0.5 and 1.0 src, then sum squares
|
||||
var wM = Math.max(1, Math.floor(wSrc / wDst));
|
||||
var wDst2 = wDst * wM;
|
||||
var hM = Math.max(1, Math.floor(hSrc / hDst));
|
||||
var hDst2 = hDst * hM;
|
||||
//console.log("wM="+wM + ", wDst2="+wDst2 + ", hM="+hM + ", hDst2="+hDst2);
|
||||
|
||||
// ===========================================================
|
||||
// Pass 1 - interpolate rows
|
||||
// buf1 has width of dst2 and height of src
|
||||
var buf1 = new Buffer(wDst2 * hSrc * 4);
|
||||
for (var i = 0; i < hSrc; i++) {
|
||||
for (var j = 0; j < wDst2; j++) {
|
||||
// i in src coords, j in dst coords
|
||||
|
||||
// calculate x in src coords
|
||||
// this interpolation requires 4 sample points and the two inner ones must be real
|
||||
// the outer points can be fudged for the edges.
|
||||
// therefore (wSrc-1)/wDst2
|
||||
var x = j * (wSrc-1) / wDst2;
|
||||
var xPos = Math.floor(x);
|
||||
var t = x - xPos;
|
||||
var srcPos = (i * wSrc + xPos) * 4;
|
||||
|
||||
var buf1Pos = (i * wDst2 + j) * 4;
|
||||
for (var k = 0; k < 4; k++) {
|
||||
var kPos = srcPos + k;
|
||||
var x0 = (xPos > 0) ? bufSrc[kPos - 4] : 2*bufSrc[kPos]-bufSrc[kPos+4];
|
||||
var x1 = bufSrc[kPos];
|
||||
var x2 = bufSrc[kPos + 4];
|
||||
var x3 = (xPos < wSrc - 2) ? bufSrc[kPos + 8] : 2*bufSrc[kPos + 4]-bufSrc[kPos];
|
||||
buf1[buf1Pos+k] = interpolate(x0,x1,x2,x3,t);
|
||||
}
|
||||
}
|
||||
}
|
||||
//this._writeFile(wDst2, hSrc, buf1, "out/buf1.jpg");
|
||||
|
||||
// ===========================================================
|
||||
// Pass 2 - interpolate columns
|
||||
// buf2 has width and height of dst2
|
||||
var buf2 = new Buffer(wDst2 * hDst2 * 4);
|
||||
for (var i = 0; i < hDst2; i++) {
|
||||
for (var j = 0; j < wDst2; j++) {
|
||||
// i&j in dst2 coords
|
||||
|
||||
// calculate y in buf1 coords
|
||||
// this interpolation requires 4 sample points and the two inner ones must be real
|
||||
// the outer points can be fudged for the edges.
|
||||
// therefore (hSrc-1)/hDst2
|
||||
var y = i * (hSrc-1) / hDst2;
|
||||
var yPos = Math.floor(y);
|
||||
var t = y - yPos;
|
||||
var buf1Pos = (yPos * wDst2 + j) * 4;
|
||||
var buf2Pos = (i * wDst2 + j) * 4;
|
||||
for (var k = 0; k < 4; k++) {
|
||||
var kPos = buf1Pos + k;
|
||||
var y0 = (yPos > 0) ? buf1[kPos - wDst2*4] : 2*buf1[kPos]-buf1[kPos + wDst2*4];
|
||||
var y1 = buf1[kPos];
|
||||
var y2 = buf1[kPos + wDst2*4];
|
||||
var y3 = (yPos < hSrc-2) ? buf1[kPos + wDst2*8] : 2*buf1[kPos + wDst2*4]-buf1[kPos];
|
||||
|
||||
buf2[buf2Pos + k] = interpolate(y0,y1,y2,y3,t);
|
||||
}
|
||||
}
|
||||
}
|
||||
//this._writeFile(wDst2, hDst2, buf2, "out/buf2.jpg");
|
||||
|
||||
// ===========================================================
|
||||
// Pass 3 - scale to dst
|
||||
var m = wM * hM;
|
||||
if (m > 1) {
|
||||
for (var i = 0; i < hDst; i++) {
|
||||
for (var j = 0; j < wDst; j++) {
|
||||
// i&j in dst bounded coords
|
||||
var r = 0;
|
||||
var g = 0;
|
||||
var b = 0;
|
||||
var a = 0;
|
||||
var realColors = 0;
|
||||
for (var y = 0; y < hM; y++) {
|
||||
var yPos = i * hM + y;
|
||||
for (var x = 0; x < wM; x++) {
|
||||
var xPos = j * wM + x;
|
||||
var xyPos = (yPos * wDst2 + xPos) * 4;
|
||||
var pixelAplha = buf2[xyPos+3];
|
||||
|
||||
if (pixelAplha) {
|
||||
r += buf2[xyPos];
|
||||
g += buf2[xyPos+1];
|
||||
b += buf2[xyPos+2];
|
||||
realColors++;
|
||||
}
|
||||
|
||||
a += pixelAplha;
|
||||
}
|
||||
}
|
||||
|
||||
var pos = (i*wDst + j) * 4;
|
||||
bufDst[pos] = realColors ? Math.round(r / realColors) : 0;
|
||||
bufDst[pos+1] = realColors ? Math.round(g / realColors) : 0;
|
||||
bufDst[pos+2] = realColors ? Math.round(b / realColors) : 0;
|
||||
bufDst[pos+3] = Math.round(a / m);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// replace dst buffer with buf2
|
||||
dst.data = buf2;
|
||||
}
|
||||
},
|
||||
|
||||
bicubicInterpolation: function(src, dst, options) {
|
||||
var interpolateCubic = function(x0, x1, x2, x3, t) {
|
||||
var a0 = x3 - x2 - x0 + x1;
|
||||
var a1 = x0 - x1 - a0;
|
||||
var a2 = x2 - x0;
|
||||
var a3 = x1;
|
||||
return Math.max(0,Math.min(255,(a0 * (t * t * t)) + (a1 * (t * t)) + (a2 * t) + (a3)));
|
||||
}
|
||||
return this._interpolate2D(src, dst, options, interpolateCubic);
|
||||
},
|
||||
|
||||
hermiteInterpolation: function(src, dst, options) {
|
||||
var interpolateHermite = function(x0, x1, x2, x3, t)
|
||||
{
|
||||
var c0 = x1;
|
||||
var c1 = 0.5 * (x2 - x0);
|
||||
var c2 = x0 - (2.5 * x1) + (2 * x2) - (0.5 * x3);
|
||||
var c3 = (0.5 * (x3 - x0)) + (1.5 * (x1 - x2));
|
||||
return Math.max(0,Math.min(255,Math.round((((((c3 * t) + c2) * t) + c1) * t) + c0)));
|
||||
}
|
||||
return this._interpolate2D(src, dst, options, interpolateHermite);
|
||||
},
|
||||
|
||||
bezierInterpolation: function(src, dst, options) {
|
||||
// between 2 points y(n), y(n+1), use next points out, y(n-1), y(n+2)
|
||||
// to predict control points (a & b) to be placed at n+0.5
|
||||
// ya(n) = y(n) + (y(n+1)-y(n-1))/4
|
||||
// yb(n) = y(n+1) - (y(n+2)-y(n))/4
|
||||
// then use std bezier to interpolate [n,n+1)
|
||||
// y(n+t) = y(n)*(1-t)^3 + 3 * ya(n)*(1-t)^2*t + 3 * yb(n)*(1-t)*t^2 + y(n+1)*t^3
|
||||
// note the 3* factor for the two control points
|
||||
// for edge cases, can choose:
|
||||
// y(-1) = y(0) - 2*(y(1)-y(0))
|
||||
// y(w) = y(w-1) + 2*(y(w-1)-y(w-2))
|
||||
// but can go with y(-1) = y(0) and y(w) = y(w-1)
|
||||
var interpolateBezier = function(x0, x1, x2, x3, t) {
|
||||
// x1, x2 are the knots, use x0 and x3 to calculate control points
|
||||
var cp1 = x1 + (x2-x0)/4;
|
||||
var cp2 = x2 - (x3-x1)/4;
|
||||
var nt = 1-t;
|
||||
var c0 = x1 * nt * nt * nt;
|
||||
var c1 = 3 * cp1 * nt * nt * t;
|
||||
var c2 = 3 * cp2 * nt * t * t;
|
||||
var c3 = x2 * t * t * t;
|
||||
return Math.max(0,Math.min(255,Math.round(c0 + c1 + c2 + c3)));
|
||||
}
|
||||
return this._interpolate2D(src, dst, options, interpolateBezier);
|
||||
}
|
||||
}
|
||||
8
build/node_modules/jimp/server.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
var express = require("express");
|
||||
var app = express();
|
||||
|
||||
app.use(express.static(__dirname + '/browser'));
|
||||
|
||||
app.listen(8080);
|
||||
|
||||
console.log("Serving on http://127.0.0.1:8080");
|
||||