Serve label glyphs from the Open Waters font stack - #77
Merged
Conversation
The chart sets hydrographic text in a sloping face (S-4 B-412.1); the VersaTiles glyphs have no italic cut, so it borrowed Open Sans, and every stack name had to be mangled into versatiles' lowercase form. tiles.openwaters.io/fonts serves Noto Regular, Medium and SemiBold with true italics for all three, so the style now asks for the stacks its layers actually name.
There was a problem hiding this comment.
Pull request overview
Updates the Seamap style builder and documentation so label glyphs are served from the Open Waters tile-fonts endpoint (instead of VersaTiles), enabling true italics and additional Noto weights required by the chart and upcoming Seascape label stacks.
Changes:
- Switched the whole-style builder to use
https://tiles.openwaters.io/fonts/{fontstack}/{range}.pbffor glyphs, and configured the base map label font stack to use Noto Sans Regular/SemiBold. - Removed the old VersaTiles-specific fontstack name mangling from style assembly.
- Added a regression test ensuring the built style only references font stacks published by the glyph server, and updated docs/attribution accordingly.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| style/README.md | Documents the new glyph endpoint and updates layers({ font? }) wording for the relevant Noto stacks. |
| style/index.ts | Points colorful() glyphs to the Open Waters font endpoint, configures base-map font stacks, and removes VersaTiles font renaming during assembly. |
| style/index.test.ts | Adds a test that asserts the built style only requests published font stacks and uses the expected glyph URL template. |
| README.md | Updates data source attribution to separate VersaTiles (base map) from Noto (glyphs). |
| CONTRIBUTING.md | Updates contributor documentation to reflect the new glyph source and tooling. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Label glyphs come from
https://tiles.openwaters.io/fonts(tile-fonts) instead of the VersaTiles glyph server.The chart sets soundings and other hydrographic text in a sloping face (S-4 B-412.1), and VersaTiles serves no italic Noto. The style borrowed Open Sans italic for that text, and every stack name had to be mangled into versatiles' lowercase-underscore form on the way out. Seascape's next release moves its own labels to Noto Sans Medium and Medium Italic, which VersaTiles does not carry at all.
The style now asks for the stacks its layers actually name. The base map's labels follow: its bold stack asks for Noto Sans SemiBold, the heaviest weight tile-fonts publishes.
Verification
access-control-allow-origin: *and year-long immutable caching.Noto Sans Bold404s, as expected.