Current font png format calculation limitations
Prerequisite: https://github.com/ftsf/nico/pull/114

Now nico use the font png format like this:

<img width="799" alt="image" src="https://user-images.githubusercontent.com/6064962/235345245-e1a62a31-bab6-42a4-b474-6e6fa71ac5ec.png">

But not this:

<img width="992" alt="image" src="https://user-images.githubusercontent.com/6064962/235345258-5aa7d1d1-d42c-4faf-b5a8-196b34b16324.png">

## What's different?

In case 2, there is 1px alpha border on the bottom and right in glyph rect, but not in case 1.

Actually in nico:

```
advanceWidth =  font.rects["x"].w * scale + scale 
lineHeight = fontHeight() * scale + scale 
```

The `+ scale` is the `charGap` and `lineGap`. (If scale = 1px, the gap is 1px)

## What's the problem？

Generally, the font glyph width include the char gap. It makes sense.
For example, the [Box Drawing chars](https://old.unicode-table.com/en/blocks/box-drawing/)
They need a compact layout. See: https://ark-pixel-font.takwolf.com/alphabet-10px-monospaced.html
 
<img width="413" alt="image" src="https://user-images.githubusercontent.com/6064962/235345692-831158d5-e949-4ed5-a8d8-5d7d7424959b.png">

Pixel style fonts usually control this margin themself instead of a layout engine to avoid this issue.

(Opentype font lineGap usually is 0, and advanceWidth include charGap)

## Font Tools:

https://github.com/TakWolf/nico-font-tool
https://github.com/TakWolf/nico-font-tool.python

## Demo fonts: 

https://littlelimit.net/misaki.htm
https://github.com/TakWolf/ark-pixel-font
https://github.com/TakWolf/fusion-pixel-font
https://github.com/quiple/galmuri
https://diaowinner.itch.io/galmuri-extended




