# bmfont-loader

> This is a webpack loader that loads [AngelCode BMFont](http://www.angelcode.com/products/bmfont/) files.

Latest version **0.2.0** (published 2020-03-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install bmfont-loader
pnpm add bmfont-loader
yarn add bmfont-loader
bun add bmfont-loader
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.0 |
| Published | 2020-03-28 |
| First published | 2020-01-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 5.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Maintainers | suchipi |

## Links

- npm: https://www.npmjs.com/package/bmfont-loader
- Repository: https://github.com/suchipi/bmfont-loader
- Homepage: https://github.com/suchipi/bmfont-loader#readme
- Issues: https://github.com/suchipi/bmfont-loader/issues
- npm.io page: https://npm.io/package/bmfont-loader

## Dependencies (4)

- [@babel/types](https://npm.io/package/@babel/types.md) ^7.7.4
- [@babel/template](https://npm.io/package/@babel/template.md) ^7.7.4
- [@babel/generator](https://npm.io/package/@babel/generator.md) ^7.7.7
- [load-bmfont-sync](https://npm.io/package/load-bmfont-sync.md) ^1.4.0

## Recent versions

- 0.2.0 (latest) — 2020-03-28
- 0.1.0 — 2020-01-11

## README

# `bmfont-loader`

This is a webpack loader that loads [AngelCode BMFont](http://www.angelcode.com/products/bmfont/) files.

It wraps images referenced in the file with a `require`, so your normal webpack loader for PNGs or etc will be used (eg `file-loader`).

## Output Format

The output format can be represented by this TypeScript type:

```ts
type Font = {
  pages: Array<any>; // probably strings (if you're using file-loader), but could be anything
  chars: Array<{
    id: number;
    x: number;
    y: number;
    width: number;
    height: number;
    xoffset: number;
    yoffset: number;
    xadvance: number;
    page: number;
    chnl: number;
  }>;
  kernings: Array<{
    first: number;
    second: number;
    amount: number;
  }>;
  info: {
    face: string;
    size: number;
    bold: number;
    italic: number;
    charset: string;
    unicode: number;
    stretchH: number;
    smooth: number;
    aa: number;
    padding: [number, number, number, number];
    spacing: [number, number];
  };
  common: {
    lineHeight: number;
    base: number;
    scaleW: number;
    scaleH: number;
    pages: number;
    packed: number;
    alphaChnl: number;
    redChnl: number;
    greenChnl: number;
    blueChnl: number;
  };
};
```

The output format is further described [here](https://github.com/mattdesl/bmfont2json/wiki/JsonSpec).

## Usage

```js
// webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.fnt$/i,
        use: ["bmfont-loader"],
      },
    ],
  },
};
```

```js
const arial = require("./arial.fnt");

console.log(arial);
// { pages: [...], chars: [...], ... }
```

## License

MIT

---
_Source: https://npm.io/package/bmfont-loader · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
