Font info is corrupted in exported PDF

Summary:

Distro package Inkscape 1.3 on Fedora 38 corrupts font info in PDF export

Steps to reproduce:

  • Make sure gnu-free-mono-fonts, gnu-free-sans-fonts, and gnu-free-serif-fonts are installed on Fedora
  • Use testimage.svg attached below.
  • Run inkscape -o testimage.pdf testimage.svg # Convert it to PDF
  • Run pdffonts testimage.pdf # Print font info in the PDF
  • Run grep --text -A 2 "/FontName" testimage.pdf # Directly see font description in the PDF

What happened?

On Fedora 38, output of pdffonts:

name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
KZZDET+Ä衕                      TrueType          WinAnsi          yes yes yes      6  0
FEAQMA+<衕                       TrueType          WinAnsi          yes yes yes      7  0
YICFSJ+Ë衕                      TrueType          WinAnsi          yes yes yes      8  0
GQSRYF+<衕                       TrueType          WinAnsi          yes yes yes      9  0
BWPALZ+Ç衕                      TrueType          WinAnsi          yes yes yes     10  0
TYEGFJ+Ä衕                      TrueType          WinAnsi          yes yes yes     11  0

output from grep:

   /FontName /KZZDET+#C3#84#EE#B1#B4#E8#A1#95
   /FontFamily <FEFF00C4EC748855>
   /Flags 32
--
   /FontName /FEAQMA+#3C#EE#BD#B4#E8#A1#95
   /FontFamily <FEFF00C4EC748855>
   /Flags 32
--
   /FontName /YICFSJ+#C3#8B#EE#B1#B4#E8#A1#95
   /FontFamily <FEFF00CBEC748855>
   /Flags 32
--
   /FontName /GQSRYF+#3C#EE#BD#B4#E8#A1#95
   /FontFamily <FEFF00CBEC748855>
   /Flags 32
--
   /FontName /BWPALZ+#C3#87#EE#B1#B4#E8#A1#95
   /FontFamily <FEFF003CEF748855>
   /Flags 32
--
   /FontName /TYEGFJ+#C3#84#EE#B1#B4#E8#A1#95
   /FontFamily <FEFF00C4EC748855>
   /Flags 32

Note: random looking font info varies every time you run Inkscape.

What should have happened?

On Fedora 37, output from pdffonts:

name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
HIMJIY+FreeMonoBold                  TrueType          WinAnsi          yes yes yes      6  0
DLPHXL+FreeSans                      TrueType          WinAnsi          yes yes yes      7  0
UUPHUQ+FreeSansBold                  TrueType          WinAnsi          yes yes yes      8  0
VPFJYP+FreeMono                      TrueType          WinAnsi          yes yes yes      9  0
PPBYNC+FreeSerif                     TrueType          WinAnsi          yes yes yes     10  0
ALMGZJ+FreeSerifBold                 TrueType          WinAnsi          yes yes yes     11  0

grep output:

   /FontName /HIMJIY+FreeMonoBold
   /FontFamily (FreeMono)
   /Flags 32
--
   /FontName /DLPHXL+FreeSans
   /FontFamily (FreeSans)
   /Flags 32
--
   /FontName /UUPHUQ+FreeSansBold
   /FontFamily (FreeSans)
   /Flags 32
--
   /FontName /VPFJYP+FreeMono
   /FontFamily (FreeMono)
   /Flags 32
--
   /FontName /PPBYNC+FreeSerif
   /FontFamily (FreeSerif)
   /Flags 32
--
   /FontName /ALMGZJ+FreeSerifBold
   /FontFamily (FreeSerif)
   /Flags 32

Sample attachments:

testimage.svg

Version info

Inkscape on Fedora 38:

Inkscape 1.3 (0e150ed6c4, 2023-07-21)

    GLib version:     2.76.5
    GTK version:      3.24.38
    glibmm version:   2.66.6
    gtkmm version:    3.24.7
    libxml2 version:  2.10.4
    libxslt version:  1.1.38
    Cairo version:    1.17.8
    Pango version:    1.50.14
    HarfBuzz version: 7.1.0

    OS version:       Fedora Linux 38 (Container Image)

For comparison, Inkscape on Fedora 37:

Inkscape 1.2.2 (b0a8486541, 2022-12-01)

    GLib version:     2.74.7
    GTK version:      3.24.38
    glibmm version:   2.66.5
    gtkmm version:    3.24.7
    libxml2 version:  2.10.3
    libxslt version:  1.1.37
    Cairo version:    1.17.6
    Pango version:    1.50.14
    HarfBuzz version: 5.2.0

    OS version:       Fedora Linux 37 (Container Image)