Reimplement type3 font rendering for the Arthur backend

The new implementation uses beginType3Char/endType3Char.
It is *much* simpler than the previous implementation.

This patch does not remove the old implementation.  You can
switch between the two by setting the return value of
the method interpretType3Chars (true: new implementation,
false: old implementation).
7 jobs for reimplement-arthur-type3-font-rendering in 3 minutes and 47 seconds (queued for 2 seconds)
latest
Status Job ID Name Coverage
  Build
failed #5206166
build

00:03:32

passed #5206171
build_android

00:00:42

passed #5206167
build_clang_libcpp

00:03:47

passed #5206170
build_clazy

00:02:47

passed #5206169
build_mingw64_fedora

00:02:46

passed #5206168
build_ubuntu_16_04

00:01:48

passed #5206165
clang_format

00:01:03

 
Name Stage Failure
failed
build Build
[579/621] Building CXX object qt6/tests/CMakeFiles/check_qt6_pagelayout.dir/check_pagelayout.cpp.o
[580/621] Building CXX object qt6/tests/CMakeFiles/check_qt6_annotations.dir/check_annotations.cpp.o
[581/621] Building CXX object qt6/tests/CMakeFiles/check_qt6_optcontent.dir/check_optcontent.cpp.o
[582/621] Building CXX object qt6/tests/CMakeFiles/check_qt6_forms.dir/check_forms.cpp.o
[583/621] Building CXX object qt6/tests/CMakeFiles/check_qt6_outline.dir/check_outline.cpp.o
[584/621] Building CXX object qt6/tests/CMakeFiles/check_qt6_search.dir/check_search.cpp.o
ninja: build stopped: subcommand failed.
Cleaning up file based variables
ERROR: Job failed: exit code 1