Merge branch 'big-glyph-test' into 'main'

gsk: Fix big glyphs getting clipped

See merge request GNOME/gtk!6744
This commit is contained in:
Matthias Clasen
2024-01-12 21:31:35 +00:00
6 changed files with 28 additions and 2 deletions

View File

@@ -709,8 +709,8 @@ gsk_gpu_device_lookup_glyph_image (GskGpuDevice *self,
.height = rect.size.height + 2 * padding,
},
scale,
&GRAPHENE_POINT_INIT (cache->origin.x + 1,
cache->origin.y + 1));
&GRAPHENE_POINT_INIT (cache->origin.x + padding,
cache->origin.y + padding));
g_hash_table_insert (priv->glyph_cache, cache, cache);
gsk_gpu_cached_use (self, (GskGpuCached *) cache, gsk_gpu_frame_get_timestamp (frame));

View File

@@ -0,0 +1,7 @@
transform {
transform: scale(30);
child: text {
font: "text-mixed-color 7.5";
glyphs: 7 10;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 B

View File

@@ -10,6 +10,7 @@
<GlyphID id="4" name="D"/>
<GlyphID id="5" name="E"/>
<GlyphID id="6" name="F"/>
<GlyphID id="7" name="G"/>
</GlyphOrder>
<head>
@@ -80,6 +81,7 @@
<mtx name="D" width="1024" lsb="0"/>
<mtx name="E" width="1024" lsb="0"/>
<mtx name="F" width="1024" lsb="0"/>
<mtx name="G" width="1024" lsb="0"/>
</hmtx>
<loca>
@@ -141,6 +143,21 @@
</contour>
<instructions><assembly></assembly></instructions>
</TTGlyph>
<TTGlyph name="G">
<contour>
<pt x="0" y="0" on="1"/>
<pt x="1024" y="0" on="1"/>
<pt x="1024" y="2048" on="1"/>
<pt x="0" y="2048" on="1"/>
</contour>
<contour>
<pt x="5" y="5" on="1"/>
<pt x="5" y="2043" on="1"/>
<pt x="1019" y="2043" on="1"/>
<pt x="1019" y="5" on="1"/>
</contour>
<instructions><assembly></assembly></instructions>
</TTGlyph>
</glyf>
<COLR>
@@ -182,6 +199,7 @@
<map code="0x44" name="D"/>
<map code="0x45" name="E"/>
<map code="0x46" name="F"/>
<map code="0x47" name="G"/>
</cmap_format_4>
</cmap>

View File

@@ -10,6 +10,7 @@ node_parser = executable('node-parser', 'node-parser.c',
)
compare_render_tests = [
'big-box-glyph-nocairo',
'big-checkerboard',
'big-checkerboard-scaled-down',
'big-checkerboard-scaled-down-nearest',