# smp-noto-glyphs

> Pre-built Noto Sans SDF glyph PBFs (80+ scripts) for MapLibre-compatible map servers

Latest version **2.0.0** (published 2026-09-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install smp-noto-glyphs
pnpm add smp-noto-glyphs
yarn add smp-noto-glyphs
bun add smp-noto-glyphs
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2026-09-03 |
| First published | 2026-03-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22 |
| Dependencies | 0 |
| Unpacked size | 1.5 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 4 |
| Maintainers | digidem-admin |
| Keywords | maplibre, glyphs, noto-sans, sdf, pbf, fonts, fallback |

## Links

- npm: https://www.npmjs.com/package/smp-noto-glyphs
- Repository: https://github.com/digidem/styled-map-package
- Homepage: https://github.com/digidem/styled-map-package#readme
- Issues: https://github.com/digidem/styled-map-package/issues
- npm.io page: https://npm.io/package/smp-noto-glyphs

## Recent versions

- 2.0.0 (latest) — 2026-09-03
- 1.0.0-pre.1 (pre) — 2026-06-04
- 1.0.0 — 2026-09-01
- 1.0.0-pre.0 — 2026-03-23
- 0.0.0 — 2026-03-23

## README

# smp-noto-glyphs

Pre-built Noto Sans SDF glyph PBFs for use as a fallback font in MapLibre-compatible map servers.

Bundles [GoNotoKurrent](https://github.com/satbyy/go-noto-universal), a merged build of 80+ Noto Sans script-specific fonts covering 37,000+ codepoints including Latin, Cyrillic, Greek, Arabic, Hebrew, Devanagari, Thai, and many more. CJK and Hangul ranges are not bundled since MapLibre renders these client-side via `localIdeographFontFamily`.

## Installation

```sh
npm install smp-noto-glyphs
```

## Usage

### With `styled-map-package-api`

```js
import { notoGlyphFallback } from 'smp-noto-glyphs'
import { emptyTileFallback } from 'styled-map-package-api/fallbacks'
import { createServer } from 'styled-map-package-api/server'

const server = createServer({
  fallbackTile: emptyTileFallback,
  fallbackGlyph: notoGlyphFallback,
})
```

### Standalone

`notoGlyphFallback` is a simple function that takes a fontstack name and a glyph range string, and returns a WHATWG `Response`:

```js
import { notoGlyphFallback } from 'smp-noto-glyphs'

// Returns a Response with the PBF data for codepoints 0-255 (Basic Latin)
const response = notoGlyphFallback('Noto Sans Regular', '0-255')
```

For ranges with pre-built glyphs, returns the PBF data. For ranges without (uncommon scripts, CJK, Hangul), returns an empty gzipped PBF that causes MapLibre to render blank space instead of erroring.

## Regenerating glyphs

The PBF files are generated from GoNotoKurrent-Regular.ttf using [`build_pbf_glyphs`](https://github.com/stadiamaps/sdf_font_tools):

```sh
cargo install build_pbf_glyphs
node scripts/generate-glyphs.js
```

## License

MIT. The bundled glyph data is derived from [Noto Sans](https://fonts.google.com/noto) fonts, licensed under the [SIL Open Font License 1.1](https://openfontlicense.org/).

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