qt5base-lts/tests/baseline/painting/scripts
Eskil Abrahamsen Blomfeldt 58907dfa81 Try to match variant-selector font to preceding character
Variant-selectors are special unicode symbols which are used to
modify glyph selection for the preceding character. For instance,
a regular symbol could be turned into a color emoji using VS16,
the emoji variation selector. In order for this to work, however,
the font that handles the selector has to handle the full pair of
characters, so that it can apply the correct substitution rules.

One specific example of this was on macOS, where an airplane
symbol + VS16 would match the symbol to the default UI font but
the VS16 to the emoji font. Since there string provided for the
emoji font did not have any preceding character for VS16, we just
ignored it.

To improve on this, we now detect variation selectors that have
been matched to different font engines than the preceding
character. When such a case occurs, we check if the selector font
also supports the preceding character, and if it does, we keep
the pair together and use the same font for both.

[ChangeLog][QtGui][Text] Fix some cases where a variation-selector
character would be ignored in font selection and the correct
variant of a character would thus not be selected.

Task-number: QTBUG-108799
Change-Id: I9f427e0520e652ee2f24a4f7dc3c1957251e06bd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-12-12 19:25:45 +01:00
..
aliasing.qps
arcs2.qps
arcs.qps
background_brush.qps
background.qps
beziers.qps
bitmaps.qps
borderimage.qps
brush_pens.qps
brushes.qps
clippath_antialiasing.qps
clippaths.qps
clipping_state.qps
clipping.qps
cliprects.qps
conical_gradients_perspectives.qps
conical_gradients.qps
cosmetic.qps
dashes.qps
degeneratebeziers.qps
deviceclipping.qps
drawpoints.qps
ellipses.qps
fillrect_aa.qps
fillrect.qps
filltest.qps
glyphruns.qps
gradients.qps
gradientxform_device.qps
gradientxform_logical.qps
gradientxform_object.qps
hinting.qps
image_dpr.qps
image_formats.qps
images2.qps
images.qps
join_cap_styles_duplicate_control_points.qps
join_cap_styles.qps
linear_gradients_perspectives.qps
linear_gradients.qps
linear_resolving_gradients.qps
lineconsistency.qps
linedashes2_aa.qps
linedashes2.qps
linedashes.qps
lines2.qps
lines3.qps
lines.qps
pathfill.qps
paths_aa.qps
paths.qps
pattern_xform2.qps Support cosmetic brush patterns in the pdf and opengl paint engines 2022-06-04 21:15:42 +02:00
pattern_xform.qps Support cosmetic brush patterns in the pdf and opengl paint engines 2022-06-04 21:15:42 +02:00
pens_aa.qps
pens_cosmetic.qps
pens.qps
perspectives2.qps
perspectives.qps
pixmap_rotation2.qps
pixmap_rotation.qps
pixmap_scaling.qps
pixmap_subpixel.qps
pixmaps.qps
porter_duff2.qps
porter_duff.qps
primitives.qps
radial_gradients_perspectives.qps
radial_gradients.qps
rasterops.qps
richtext.qps
sizes.qps
smallcaps_path.qps
statictext.qps
text_perspectives.qps
text.qps Try to match variant-selector font to preceding character 2022-12-12 19:25:45 +01:00
thinlines.qps
tiled_pixmap.qps
tinydashes.qps