A matching development SDK with commonLineSymbols also supports shared planar line symbols, including true per-glyph curved geometry, target ownership, joint icon/text groups and shared budgets. Earlier point-only scope and pending line-symbol notes below are superseded for this bounded subset. Complex shaping, tilted/globe/terrain placement and complete road stitching remain pending.
External glyphs for common text
The setGlyphs service now supplies common symbol text layers. Browsers, Workers, desktop and native libraries share the PBF request/decode pipeline and use server bitmap dimensions and advance metrics. The complete ordered text-font stack identifies requests and caches.
map.setGlyphs('https://your-service.example/fonts/{fontstack}/{range}.pbf');
map.addLayer({ id: 'labels', type: 'symbol', source: 'points',
layout: { 'text-field': ['get', 'name'],
'text-font': ['Your Font', 'Your Fallback'], 'text-size': 20 }
});
await map.sqs.flush({ render: true });
Use a credential-free HTTP(S) or hierarchical custom template containing exactly one fontstack and range placeholder. The whole stack is encoded as one path component; ranges contain256 code points. Empty maps can configure the service. Replacement/removal isolates old responses; arriving glyphs refresh rendering, collisions and screen queries. Matching resource revisions reuse the atlas.
While requests are pending or a service omits a glyph, bundled HarmonyOS Sans SC remains the fallback. A glyph missing from both fails explicitly. External glyphs do not add bidi, Indic/complex shaping or line placement. Developers/service providers must hold appropriate font/PBF rights; see the bundled-font license separately.
Budgets remain256 characters/4096 bytes per label,8192 unique glyphs/65536 quads per map,16384 historical demanded glyphs,4MiB per PBF,32MiB shared glyph cache and2048×2048 atlas. Limits fail explicitly. Raw browser SDK callers use view.flush(); native libraries use the common glyph JSON entry. C ABI remains unchanged. Current local evidence uses generated test glyphs; physical-device verification is separate.
Seecustom glyph protocols for handlers and real PBF rectangle acceptance.