Package Exports
- parse-bmfont-xml
- parse-bmfont-xml/lib/browser.js
- parse-bmfont-xml/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (parse-bmfont-xml) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
parse-bmfont-xml
Parses XML BMFont files.
Takes a string or Buffer:
var fs = require('fs')
var parse = require('parse-bmfont-xml')
fs.readFileSync(__dirname+'/Arial.fnt', function(err, data) {
var result = parse(data)
console.log(result.info.face) // "Arial"
console.log(result.pages) // [ 'sheet0.png' ]
console.log(result.chars) // [ ... char data ... ]
console.log(result.kernings) // [ ... kernings data ... ]
})
Also works in the browser, for example using XHR:
var parse = require('parse-bmfont-xml')
var xhr = require('xhr')
xhr({ uri: 'fonts/NexaLight32.xml' }, function(err, res, body) {
if (err)
throw err
var result = parse(body)
console.log(result.info.face)
})
The spec for the returned JSON object is here. The input XML should match the spec with a <font>
root element, see [test/Nexa Light-32.fnt](test/Nexa Light-32.fnt) for an example.
See Also
See text-modules for related modules.
Usage
result = parse(data)
Parses data
, a string or Buffer that represents XML data of an AngelCode BMFont file. The returned result
object looks like this:
{
pages: [
"sheet_0.png",
"sheet_1.png"
],
chars: [
{ chnl, height, id, page, width, x, y, xoffset, yoffset, xadvance },
...
],
info: { ... },
common: { ... },
kernings: [
{ first, second, amount }
]
}
If the data is malformed, an error will be thrown.
The browser implementation relies on xml-parse-from-string, which may not work in environments without valid DOM APIs (like CocoonJS).
License
MIT, see LICENSE.md for details.