Application version
(The version of the application this issue occurs with.)
4.6.1
Platform
(Information about the operating system the issue occurs on. Include at least the operating system and maybe GPU.)
Linux Mint and Linux Debian Buster
both have an intel videocard.
Almost all font packages are installed
Printer
(Which printer was selected in Cura?)
Ender 5
Reproduction steps
Open de machine settings
Screenshot(s)
Actual results
see picture
Expected results
readable text in de start/end gcode text areas
Log file
Could not find lines relating to font issues in the log, but this is on the stdout.
Fontconfig warning: line 5: unknown element "its:rules"
Fontconfig warning: line 6: unknown element "its:translateRule"
Fontconfig warning: line 9: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 8: unknown element "description"
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 76: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 76: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 84: saw unknown, expected number
Fontconfig warning: "/etc/fonts/conf.d/11-lcdfilter-default.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/11-lcdfilter-default.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/11-lcdfilter-default.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/40-nonlatin.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/40-nonlatin.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/40-nonlatin.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/45-generic.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/45-generic.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/45-generic.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/49-sansserif.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/49-sansserif.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/49-sansserif.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/51-local.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/51-local.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/51-local.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/60-generic.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/60-generic.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/60-generic.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/60-latin.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/60-latin.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/60-latin.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/65-fonts-persian.conf", line 34: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/65-fonts-persian.conf", line 35: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/65-nonlatin.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/65-nonlatin.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/65-nonlatin.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/69-unifont.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/69-unifont.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/70-no-bitmaps.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/70-no-bitmaps.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/70-no-bitmaps.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/80-delicious.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/80-delicious.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/90-synthetic.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/90-synthetic.conf", line 5: unknown element "its:translateRule"
Additional information
Tested with app images
4.4.1 doesn't have this issue
4.5.0 does have the issue
this is the only application with this issue, and only in this field. under materials the description field for example works fine
Hm, the fact that we haven't changed anything relevant near that code leads me to believe it might be a caching issue.
Could you please try to edit ~/.config/cura/4.6/cura.cfg
, and under the [view]
header put force_empty_shader_cache = True
? I'd like to know if that solves the problem (at least what Cura is concerned, there might still be something unrelated going on with your fonts).
Sorry, but that didn't help.
it's also strange, this is the only applicaties i have issues with, and the Description
and Adhesion Information
text area's don't have the problem. so it's not something generic i did try to do all possible steps in flushing font caches that didn't help either.
when looking up the warnings, this cause would be an older version of fontconfig is used for cura and the configuration files are too new.
+1
And I just want to add G29 :/
Those areas, along with the extruder start/stop code areas, are using a font called "fixed" from the theme. If you can provide a font called "fixed", it may use it? Hope this helps.
It is a bit more subtle than having a font named "fixed". The "fixed" font in Cura is defined here:
https://github.com/Ultimaker/Uranium/blob/e789e46ba29252c5333c6a615464abb492197232/UM/Qt/Bindings/Theme.py#L249
Uranium is asking the system font database to return the "standard" fixed-width font. Unfortunately it does not log what that fixed-width font is.
FWIW, what I get at that location on Ubuntu 16.04.6 is monospace,9,-1,2,50,0,0,0,0,0
Given that we appear to supply some noto fonts and that there is a noto fixed-width font, perhaps it would be a good idea to supply that font as well and explicitly ask for it rather than relying on the system to provide a fixed width font?
Originally the idea was that the dialog used the system default fixed width font, because the original Machine Settings dialog used "system styling" (like eg the Preferences dialog still does). With 4.0, part of the interface was changed over to use "Cura" theming, but other parts still use system theming.
brainstorming: could it be that the fixed font returned by the system doesn't support iso8859
if i run this command xterm -fn "-*-fixed-*-*-*-*-*-*-*-*-*-*-*-*"
or use xfontsel to select a fixed font, it returns a 2byte font
if i replace the selector with "--fixed-----------iso8859-"
so this issue is visible because i have all available fonts installed instead of a very select set
Hmm, as far as I can see, Qt provides no way to filter that to select only an ISO8859 font though, if that would be a solution.
In the long term we have a mind to remove the system-styling from that dialogue. There are some significant hurdles to that though; the material manager has quite a lot of messy GUI code and bindings.
For me the issue is the PowerlineSymbols OTF font so for a quick fix I moved it to another location temporarily: sudo mv /usr/share/fonts/OTF/PowerlineSymbols.otf ~ && fc-cache -fv
i tested it by removing the powerline font package, and it indeed made the problem go away
so now the question is it cura or the font
i tested it by removing the powerline font package, and it indeed made the problem go away
so now the question is it cura or the font
I have tested this "hack/fix". it does work. However, I use powerline font with vim/neovim. so it is not a good fix for me since I could only temporarily remove powerline, edit start and stop gcode. Then install powerline font back.
Some extra information
i unpacked the appimage, and replace the usr/bin/libfontconfig.so.1 with the one installed on my system. When i start cura with the new libfontconfig library it starts to work.
so maybe just updating the fontconfig library dependency in the build process is enough to fix this issue
for reference i have Version: 2.12.6-0ubuntu2 installed on the system i tested this
I can confirm that if I replace libfontconfig.so.1 in the package the problem goes away using Debian 10 Buster with powerline-fonts installed.
We think the problem is that the version of Linux we use in our build-system has become outdated. We where going to upgrade anyway because we want to support C++17 in the engine.
@mjrider @tomrudnick , I replaced the libfontconfig.so.1 with the one I found at /usr/lib/x86_64-linux-gnu/libfontconfig.so.1
, and also tried symlinking it. I get fontconfig.so.1: undefined symbol: FT_Done_MM_Var
. Is there something else I need to do?
@yankee14 Maybe your libfontconfig version is too old or just different. I've got Version 1.12.
Whats the output of the following command?
ls -la /usr/lib/x86_64-linux-gnu/ | grep 'libfontconfig'
My output looks like:
-rw-r--r-- 1 root root 500786 Nov 5 2018 libfontconfig.a
lrwxrwxrwx 1 root root 23 Nov 5 2018 libfontconfig.so -> libfontconfig.so.1.12.0
lrwxrwxrwx 1 root root 23 Nov 5 2018 libfontconfig.so.1 -> libfontconfig.so.1.12.0
-rw-r--r-- 1 root root 281592 Nov 5 2018 libfontconfig.so.1.12.0
@tomrudnick thanks for fast reply!
$ ls -la /usr/lib/x86_64-linux-gnu/ | grep 'libfontconfig'
-rw-r--r-- 1 root root 502258 May 15 05:55 libfontconfig.a
lrwxrwxrwx 1 root root 23 May 15 05:55 libfontconfig.so -> libfontconfig.so.1.12.0
lrwxrwxrwx 1 root root 23 May 15 05:55 libfontconfig.so.1 -> libfontconfig.so.1.12.0
-rw-r--r-- 1 root root 281600 May 15 05:55 libfontconfig.so.1.12.0
I would expect it to be pretty new because I run Debian Testing, and also because of some stuff I had to do in the past to get powerline fonts to work correctly with some tmux
addons I use.
@yankee14 Ok hm, as far as I know this symbol is defined in libfreetype. Check if the libfreetype6 package is installed.
And maybe check if the libfreetype.so files exists by: ls -la /usr/lib/x86_64-linux-gnu/ | grep 'libfreetype'
Yes, it seems I have that.
$ apt policy libfreetype6
libfreetype6:
Installed: 2.10.2+dfsg-3
Candidate: 2.10.2+dfsg-3
Version table:
*** 2.10.2+dfsg-3 1000
1000 http://ftp.us.debian.org/debian testing/main amd64 Packages
50 http://ftp.us.debian.org/debian unstable/main amd64 Packages
100 /var/lib/dpkg/status
2.9.1-3+deb10u1 750
750 http://ftp.us.debian.org/debian stable/main amd64 Packages
$ ls -la /usr/lib/x86_64-linux-gnu/ | grep 'libfreetype'
-rw-r--r-- 1 root root 1086098 Jul 15 07:10 libfreetype.a
lrwxrwxrwx 1 root root 21 Jul 15 07:10 libfreetype.so -> libfreetype.so.6.17.2
lrwxrwxrwx 1 root root 21 Jul 15 07:10 libfreetype.so.6 -> libfreetype.so.6.17.2
-rw-r--r-- 1 root root 788392 Jul 15 07:10 libfreetype.so.6.17.2
@yankee14 Ok maybe it's because you got a newer version of the library. I've got version 2.9.1 on my Debian 10 System. I've read that the new version got some problems with Wine and other applications but I couldn't find any changes according to FT_Done_MM_Var.
FT_Done_MM_Var isn't a symbol, it's just a function that should free the memory. I don't have enough knowledge about freetype and can't reproduce it at the moment, but maybe you can downgrade freetype.
Still present in Cura 4.7
We've tried replacing our build server with a newer version of CentOS but had to pause that due to other DevOps tasks with greater priority (like the notarization of the MacOS build).
Still present in Cura 4.7.1
Still present in Cura 4.8.0
Most helpful comment
I can confirm that if I replace libfontconfig.so.1 in the package the problem goes away using Debian 10 Buster with powerline-fonts installed.