Re: Qt, GNOME, and fonts

2020-02-22 Thread Nicolas Mailhot via devel
Le lundi 17 février 2020 à 16:08 -0700, Jerry James a écrit :

Hi,

> I am trying to track down a font problem with MuseScore:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1790829
> 
> The problem is that everything is displayed in Cantarell, no matter
> which font the user actually selects.  In the style menu, one can pop
> up a list of fonts to choose from, and even though every font on the
> system is displayed by name, the text samples are all displayed in
> Cantarell.

I’m neither a QT nor Musescore user. However, I know how things should
have been done to work reliably. So I'll put it there and let you find
where one of the app authors though it smart to play fast and loose.



First, Muse Score should install its fonts in the system font store,
use standard unicode points to render, and rely on fontconfig to
compute the best font containing those symbols given user-provided font
preferences. (I suppose, musical symbols Unicode.org range, 
https://unicode.org/charts/PDF/U1D100.pdf). Eventually, contributing a
music orth file to fontconfig to make selection easier if none is
present yet.

That would make rendering work regardless of the font family selected,
as long as a font containing music symbols was present on system.

Maybe that’s the case today, or maybe Muse Score relies on non-unicode
fonts (or fonts using a PUA area) in a private directory. Private or
non unicode fonts are begging for breakage, as far as I am concerned.



Second, QT should interface properly with fontconfig and honor its
aliases and fallbacks in its selectors (that wasn't the case a long
time ago, I assume the bugs have been fixed since, but maybe I'm
wrong).



Third, GNOME should go back to using fontconfig directly as it did in
the past, instead of trying to override it with a vanity font declared
in a private non interoperable registry, enforced by overriding default
fontconfig queries in GNOME APIs. (vanity font that could not be
accepted as default font either Fedora or upstream, fontconfig side,
because its coverage is too small, and does not pass any serious i18n
test).

That’s not rocket science, drop a file in $XDG_CONFIG_HOME/fonts
defining the system-ui alias to whatever GNOME wants it to be, and you
get instant interoperability with non-GNOME apps (KDE, GTK, etc). If
the file is already present, do nothing, assume the user already
defined his prefered UI font.

Interoperability means thing like the CSS 4 system-ui selector work in
all compliant browsers without needing a special GNOME frobation.

If you want to be fancy go XDG or fontconfig to define a standard
filename all DE use, so different DEs do not stomp on one another. 


Regards,

-- 
Nicolas Mailhot
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Qt, GNOME, and fonts

2020-02-21 Thread Jerry James
Thanks for the ideas, Fabio and Jan.

On Wed, Feb 19, 2020 at 7:28 AM Jan Grulich  wrote:
> can you try to run with QT_DEBUG_PLUGINS=1 and attach here the output? Does
> uninstalling QGnomePlatform package make any difference? Can you be more
> specific about where exactly you are trying to change the font which doesn't
> apply? I opened the "Style" option and there is tons of configuration so I'm
> kinda lost as I don't know MuseScore at all.

The output with QT_DEBUG_PLUGINS=1 is attached.

Uninstalling qgnomeplatform did not change the font situation.  Do I
need to restart my session, though?

The fonts in the scores themselves are all displayed as Cantarell, but
you won't have any scores lying around, so go to the "Format" menu and
choose "Style".  A dialog box will pop up.  Scroll down in the list on
the left-hand side, all the way to the bottom, and choose "Text
Styles".  On the right hand side at the top, you will see a box
labeled "Edit Text Style".  There is a "Font" selector under that.
Pull down the drop-down menu to see a list of fonts installed on your
system.  Under KDE, the name of each font is displayed in the font
itself.  Under GNOME, the names of the fonts are all displayed in
Cantarell.

Thank you for any information you can provide.  Regards,
-- 
Jerry James
http://www.jamezone.org/
Found metadata in lib /usr/lib64/qt5/plugins/platforms/libqeglfs.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"eglfs"
]
},
"archreq": 0,
"className": "QEglFSIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib /usr/lib64/qt5/plugins/platforms/libqlinuxfb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"linuxfb"
]
},
"archreq": 0,
"className": "QLinuxFbIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib /usr/lib64/qt5/plugins/platforms/libqminimal.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimal"
]
},
"archreq": 0,
"className": "QMinimalIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib /usr/lib64/qt5/plugins/platforms/libqminimalegl.so, 
metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimalegl"
]
},
"archreq": 0,
"className": "QMinimalEglIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib /usr/lib64/qt5/plugins/platforms/libqoffscreen.so, 
metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"offscreen"
]
},
"archreq": 0,
"className": "QOffscreenIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib /usr/lib64/qt5/plugins/platforms/libqvnc.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"vnc"
]
},
"archreq": 0,
"className": "QVncIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib /usr/lib64/qt5/plugins/platforms/libqwayland-egl.so, 
metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"wayland-egl"
]
},
"archreq": 0,
"className": "QWaylandEglPlatformIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib /usr/lib64/qt5/plugins/platforms/libqwayland-generic.so, 
metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"wayland"
]
},
"archreq": 0,
"className": "QWaylandIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib 
/usr/lib64/qt5/plugins/platforms/libqwayland-xcomposite-egl.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"wayland-xcomposite-egl"
]
},
"archreq": 0,
"className": "QWaylandXCompositeEglPlatformIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib 
/usr/lib64/qt5/plugins/platforms/libqwayland-xcomposite-glx.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"wayland-xcomposite-glx"
]
},
"archreq": 0,
"className": "QWaylandXCompositeGlxPlatformIntegrationPlugin",
"debug": false,
"version": 331008
}


Found metadata in lib /usr/lib64/qt5/plugins/platforms/libqxcb.so, metadata=
{
"IID": 

Re: Qt, GNOME, and fonts

2020-02-19 Thread Jan Grulich
Hi,

can you try to run with QT_DEBUG_PLUGINS=1 and attach here the output? Does 
uninstalling QGnomePlatform package make any difference? Can you be more 
specific about where exactly you are trying to change the font which doesn't 
apply? I opened the "Style" option and there is tons of configuration so I'm 
kinda lost as I don't know MuseScore at all.

Regards,
Jan

On úterý 18. února 2020 0:08:31 CET Jerry James wrote:
> I am trying to track down a font problem with MuseScore:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1790829
> 
> The problem is that everything is displayed in Cantarell, no matter
> which font the user actually selects.  In the style menu, one can pop
> up a list of fonts to choose from, and even though every font on the
> system is displayed by name, the text samples are all displayed in
> Cantarell.
> 
> I spent several hours with GDB trying to figure this out (which is how
> I was able to determine that Cantarell is the font we're always
> looking at), but I still don't understand what is happening.  It
> finally dawned on me that I'm running a GNOME desktop, but MuseScore
> is a Qt application.  So I logged out, logged into a KDE Plasma
> session, and (drum roll please) all of the fonts displayed correctly.
> 
> The bug submitter pointed out that if one downloads the AppImage
> created by MuseScore upstream, that displays all of the fonts
> correctly. Even on my GNOME desktop, that is true.  The fonts are all
> correct.  I can see that all of the Qt and X libraries are baked into
> the AppImage, but why does that matter?
> 
> Does anybody have experience with this sort of thing?  It would be
> nice if we could display the fonts correctly when running on a GNOME
> desktop.  Thanks,
> -- 
> Jerry James
> http://www.jamezone.org/
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct:
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List
> Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List
> Archives:
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Qt, GNOME, and fonts

2020-02-19 Thread Fabio Valentini
On Tue, Feb 18, 2020 at 12:09 AM Jerry James  wrote:
>
> I am trying to track down a font problem with MuseScore:
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1790829
>
> The problem is that everything is displayed in Cantarell, no matter
> which font the user actually selects.  In the style menu, one can pop
> up a list of fonts to choose from, and even though every font on the
> system is displayed by name, the text samples are all displayed in
> Cantarell.
>
> I spent several hours with GDB trying to figure this out (which is how
> I was able to determine that Cantarell is the font we're always
> looking at), but I still don't understand what is happening.  It
> finally dawned on me that I'm running a GNOME desktop, but MuseScore
> is a Qt application.  So I logged out, logged into a KDE Plasma
> session, and (drum roll please) all of the fonts displayed correctly.
>
> The bug submitter pointed out that if one downloads the AppImage
> created by MuseScore upstream, that displays all of the fonts
> correctly. Even on my GNOME desktop, that is true.  The fonts are all
> correct.  I can see that all of the Qt and X libraries are baked into
> the AppImage, but why does that matter?
>
> Does anybody have experience with this sort of thing?  It would be
> nice if we could display the fonts correctly when running on a GNOME
> desktop.  Thanks,

It sounds like this might be a problem with QGnomePlatform, which
handles Qt application's appearance settings when they run on GNOME,
IIRC.

Fabio

> --
> Jerry James
> http://www.jamezone.org/
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct: 
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: 
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Qt, GNOME, and fonts

2020-02-17 Thread Jerry James
I am trying to track down a font problem with MuseScore:

https://bugzilla.redhat.com/show_bug.cgi?id=1790829

The problem is that everything is displayed in Cantarell, no matter
which font the user actually selects.  In the style menu, one can pop
up a list of fonts to choose from, and even though every font on the
system is displayed by name, the text samples are all displayed in
Cantarell.

I spent several hours with GDB trying to figure this out (which is how
I was able to determine that Cantarell is the font we're always
looking at), but I still don't understand what is happening.  It
finally dawned on me that I'm running a GNOME desktop, but MuseScore
is a Qt application.  So I logged out, logged into a KDE Plasma
session, and (drum roll please) all of the fonts displayed correctly.

The bug submitter pointed out that if one downloads the AppImage
created by MuseScore upstream, that displays all of the fonts
correctly. Even on my GNOME desktop, that is true.  The fonts are all
correct.  I can see that all of the Qt and X libraries are baked into
the AppImage, but why does that matter?

Does anybody have experience with this sort of thing?  It would be
nice if we could display the fonts correctly when running on a GNOME
desktop.  Thanks,
-- 
Jerry James
http://www.jamezone.org/
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org