Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maplibre/font-maker
Web app to convert font files into fontstacks for MapLibre GL
https://github.com/maplibre/font-maker
fonts maplibre
Last synced: 2 days ago
JSON representation
Web app to convert font files into fontstacks for MapLibre GL
- Host: GitHub
- URL: https://github.com/maplibre/font-maker
- Owner: maplibre
- License: bsd-3-clause
- Created: 2020-08-09T14:02:30.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-04T10:50:16.000Z (10 days ago)
- Last Synced: 2025-02-07T13:49:17.552Z (7 days ago)
- Topics: fonts, maplibre
- Language: TypeScript
- Homepage: https://maplibre.org/font-maker
- Size: 1.68 MB
- Stars: 185
- Watchers: 8
- Forks: 18
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/funding.yml
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-maplibre - Font Maker - web app to convert font files into SDF fontstacks for use in MapLibre. (Map Styling / Font Glyph Generation)
README
# font-maker
The easiest way to turn your custom fonts into files compatible with [MapLibre GL](https://maplibre.org) (and Mapbox GL too).
For other prepared fonts, look at [maplibre/demotiles/font](https://github.com/maplibre/demotiles/tree/gh-pages/font) instead.
For an example of using font-maker on the command line to cover as much of Unicode as possible, see the [protomaps/basemaps-assets](https://github.com/protomaps/basemaps-assets) repository.
## Usage
* Go to the web app at [maplibre.org/font-maker/](https://maplibre.org/font-maker/) and select your file.
* Wait for the progress bar to complete and download your ZIP containing all ranges for the font.
## Installation
You don't need to install anything to create SDF fonts, just use the page above.
For command line usage and developing, see [CONTRIBUTING.md](CONTRIBUTING.md)
## Caveats
If the MapLibre renderer does not find a matching codepoint in the current font, it will skip display of that character.
See @wipfli's [Text Rendering in MapLibre guide](https://github.com/wipfli/about-text-rendering-in-maplibre) for details on the drawbacks of mapping 1 codepoint to 1 glyph.
### CJK (Chinese, Japanese, Korean) text
The `font-maker` demo app has [local ideographs](https://maplibre.org/maplibre-gl-js-docs/example/local-ideographs/) enabled which is the default for most MapLibre applications. Generated fonts that include CJK ranges will display system default fonts instead of generated fonts.
### CTL (Complex Text Layout) scripts
Certain scripts cannot be rendered in MapLibre GL, affecting at least these languages:
* Burmese: OSM tag `name:my`
* Hindi `name:hi`
* Marathi `name:mr`
* Gujarati `name:gu`
* Punjabi `name:pa`, `name:pnb`
* Assamese `name:as`
* Bengali `name:bn`
* Oriya `name:or`
* Telugu `name:te`
* Kannada `name:kn`
* Tamil `name:ta`
* Malayalam `name:ml`Labels using these scripts have been excluded from the sample capital cities dataset.
## Discussion
Join the #maplibre slack channel at OSMUS: get an invite at https://slack.openstreetmap.us/