Remove osmand-style.js (the per-layer color-patching approach) and its docs entirely — back to the plain OpenFreeMap "liberty" style online, and protomaps-themes-base's stock theme offline as the base. Offline maps previously had no text labels at all: the protomaps-themes-base layers() call never passed a lang option, which is required to include its label layers. Fixed, backed by vendored Noto Sans Regular/Italic/Medium glyph PBFs (ranges 0-255 and 256-511 only — Basic Latin + Latin-1 Supplement + Latin Extended-A, enough for accented Central European place names; other scripts won't render offline). Verified against the actual offline.pmtiles vector layer schema that the name/name:en/script fields this expects are present. Also nudge a handful of OFFLINE_THEME color roles (background, water, wood, buildings, the two road-importance tiers) towards the online style's actual palette (sampled from its style JSON) so switching Online/Offline doesn't look like two different apps — deliberately partial, not the removed full recolor.
1.3 KiB
Third-party notices
Frontend libraries vendored under public/vendor/ instead of loaded
from a CDN, so the app keeps working with no internet access. All are
BSD-3-Clause licensed.
| Library | Version | Source |
|---|---|---|
MapLibre GL JS |
6.6.0 |
|
pmtiles (pmtiles.js) |
4.5.0 |
|
protomaps-themes-base |
4.5.0 |
Offline map text labels need font glyphs too (see
docs/architecture.adoc), vendored under public/vendor/fonts/ —
SIL Open Font License, not BSD-3-Clause like the above:
| Asset | Source |
|---|---|
Noto Sans Regular/Italic/Medium glyph PBFs (ranges |
protomaps/basemaps-assets
( |
The online map style (not vendored, fetched at runtime when the "Online" layer is selected) is OpenFreeMap "liberty", built from OpenStreetMap data.
To update a vendored library: download its package (e.g.
npm pack <name>@<version>), replace the corresponding files under
public/vendor/<name>/, and update the version in this file.