diff --git a/src/symbol/quads.js b/src/symbol/quads.js index 39e48f79434..1d25ecd8222 100644 --- a/src/symbol/quads.js +++ b/src/symbol/quads.js @@ -71,7 +71,7 @@ function getIconQuads(anchor: Anchor, if (layout['icon-text-fit'] !== 'none' && shapedText) { const iconWidth = (right - left), iconHeight = (bottom - top), - size = layout['text-size'] / 24, + size = layer.getLayoutValue('text-size', globalProperties, feature) / 24, textLeft = shapedText.left * size, textRight = shapedText.right * size, textTop = shapedText.top * size, diff --git a/test/integration/render-tests/regressions/mapbox-gl-js#5631/expected.png b/test/integration/render-tests/regressions/mapbox-gl-js#5631/expected.png new file mode 100644 index 00000000000..ed8ccee5eec Binary files /dev/null and b/test/integration/render-tests/regressions/mapbox-gl-js#5631/expected.png differ diff --git a/test/integration/render-tests/regressions/mapbox-gl-js#5631/style.json b/test/integration/render-tests/regressions/mapbox-gl-js#5631/style.json new file mode 100644 index 00000000000..b9217f0419b --- /dev/null +++ b/test/integration/render-tests/regressions/mapbox-gl-js#5631/style.json @@ -0,0 +1,74 @@ +{ + "version": 8, + "metadata": { + "test": { + "width": 64, + "height": 64 + } + }, + "sources": { + "geojson": { + "type": "geojson", + "data": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "name": "A", + "size": 12 + }, + "geometry": { + "type": "Point", + "coordinates": [ + -10, + 0 + ] + } + }, + { + "type": "Feature", + "properties": { + "name": "B", + "size": 24 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 10, + 0 + ] + } + } + ] + } + } + }, + "sprite": "local://sprites/icon-text-fit", + "glyphs": "local://glyphs/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "symbol", + "type": "symbol", + "source": "geojson", + "layout": { + "text-font": [ + "Open Sans Semibold", + "Arial Unicode MS Bold" + ], + "text-field": { + "type": "identity", + "property": "name" + }, + "text-size": { + "type": "identity", + "property": "size" + }, + "icon-image": "label", + "icon-text-fit": "both", + "icon-ignore-placement": true, + "icon-allow-overlap": true + } + } + ] +}