|
|
| 1 2 3 |
|
Joachim Ganseman
|
Seems like I should have checked that bug tracker first...
I've tried several other things, including installing the fonts manually in the Mac OS font library, getting those QFontDatabase lines out, trying to bypass QFontDatabase etc, but it does not seem to work or I don't know enough of it. Perhaps the best thing is to wait until a second beta of Qt 4.5.0 comes out, and hope that it's resolved there. In the meantime I'll ask a friend of mine who had more experience with Qt whether he has some idea. Some pressure on the Qt guys to repair that bug might help too, I'd like to avoid digging into the Qt source myself. Joachim 2009/1/8 Werner Schweer <[hidden email]>: > The score font is loaded with the qt function > QFontDatabase::addApplicationFont(). I looked into the qt task tracker and > found the bug 210200: > When adding a font with QFontDatabase::addApplicationFont() it fails on > Leopard, while it works on Tiger. > (in qt4.4.0 scheduled for 4.5.0) > You can try to install the two fonts in question mscore-20.ttf and > mscore1-20.ttf manually and hope that mscore finds them. > > On Thursday 08 January 2009 18:25:38 Joachim Ganseman wrote: >> Oops, by accident sent this only to Samuli (my apologies) - now to the >> whole list: >> >> Hello, >> >> I gave the mac build a new shot, but unfortunately did not get any further. >> >> For the current checkout (rev 1418), the following changes are still >> needed to make the cmake xcode build work from scratch: >> select.cpp: values.h -> limits.h >> utils.cpp: change line 358 to: #if defined (__MINGW32__) || defined >> (__APPLE__) score/cmakelists: comment away the lines containing "resfile.o" >> and "pa.cpp" and "pm.cpp" >> >> then: install QT and CMake for mac (I skip any sound library bindings >> for the moment), >> run ./gen-qt-projectfile . >> mscore.pro >> run cmake -G Xcode >> >> And I still don't get the font working properly. I'm really beginning >> to suspect this is some kind of bug in Qt itself, not in MuseScore. As >> far as I can tell, all resources, images, etc, are imported properly >> through the Qt .qrc file. All images are displayed perfectly, font is >> also rendered as long as it is normal text. But somehow, the Mscore >> fonts, which are used for display of the score and generation of some >> knobs in the GUI, won't display properly. >> >> I've been digging through quite some code trying to figure this out. >> There are a few things that seem quite strange to me: >> >> - what is the difference between the array pSymbols[], defined in >> sym.cpp, and the array symbols[], which is being defined in the same >> file on line 364? I find it very strange that in pSymbols[] the >> "note2sym" gets the hex code "0xe104" while in symbols[] that same >> code is tied to "Rest_M3". And why are all these numbers chosen so >> high? > > there are two different fonts, one for score typesettings and another for use > in normal text context. The code numbers use some free space in the unicode > tables. > >> >> - in that same file, I see the syntax foreach() appear regularly. As >> far as I know, that is not standard C++ syntax - there is however a >> for_each() function in the C++ STL. My compiler does not complain, so >> I guess there is no problem with it, but just out of curiosity, where >> does it come from? > > foreach is part of the qt library and works with qt container classes. > I changed from the STL container to qt container because they are much > easier to use. >> >> - just to check: calling the CTable() function as a debug measure, >> generates me a file containing these lines as first: >> { 56, 2, 8, -91, 51, 92, 67 }, >> { 49, 2, 15, -91, 35, 91, 67 }, >> { 53, 2, 7, -89, 50, 90, 67 }, >> { 57600, 0, 11, -239, 189, 239, 211 }, >> { 57601, 0, 11, -239, 189, 239, 211 }, >> { 57602, 0, 11, -239, 189, 239, 211 }, >> { 57603, 0, 11, -239, 189, 239, 211 }, >> { 57605, 0, 11, -239, 189, 239, 211 }, >> can anyone confirm whether this is correct or not? > > its not correct. It looks like the mscore font is not found and substituted by > another one (codepoints 57600-57605 are all the same). > > Werner > > > > > ------------------------------------------------------------------------------ > Check out the new SourceForge.net Marketplace. > It is the best place to buy or sell services for > just about anything Open Source. > http://p.sf.net/sfu/Xq1LFB > _______________________________________________ > Mscore-developer mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/mscore-developer > ------------------------------------------------------------------------------ Check out the new SourceForge.net Marketplace. It is the best place to buy or sell services for just about anything Open Source. http://p.sf.net/sfu/Xq1LFB _______________________________________________ Mscore-developer mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/mscore-developer |
|
Thomas Bonte
|
In reply to this post
by wschweer
For the record:
http://qtsoftware.com/developer/task-tracker/index_html?method=entry&id=210200
|
||||||||||||||||
|
lasconic
|
I'm not a mac user :) but I wonder : the bug affects Leopard, the current version of Mac OSX, but loading the fonts seems to be ok for Tiger (the previous one ?). So maybe musescore does work on tiger ? Is Leopard upgrade free ? some people are still using Tiger ? and can be interested by a package for it ?
Just wondering :) Lasconic 2009/1/12 Thomas Bonte <[hidden email]>
------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Mscore-developer mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/mscore-developer |
||||||||||||||||
|
Thomas Bonte
|
According to http://www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt , Qt 4.5 is scheduled for March 2009 and perhaps note worthy, now licensed with LGPL.
|
||||||||||||||||
|
Thomas Bonte
|
In reply to this post
by Joachim Ganseman
Joachim,
Any idea where we can follow up this QT issue (http://qtsoftware.com/developer/task-tracker/index_html?method=entry&id=210200)? I tried to find a few to register at the QT website, but no possibility and so very hard to track this issue. Could you ask this to your QT expert-friend? Also, do we know whether this bug has been committed already to the 4.5 trunk? I'd like to make sure it is in. Thx!
|
||||||||||||||||
|
hypehuman
|
In reply to this post
by Joachim Ganseman
I finally got this to compile and run with the latest version! There were some steps in Joachim's procedure that have already been taken care of, so I eliminated them. As per lasconic's suggestion, I reverted all changes made in 1348. Here were the steps I took; I've added more detail to make it easier for those (like me) who don't have much programming experience.
I was running Mac OS 10.5.6 with XCode 3.1.2. 1 - Install CMake 2.6.2. (You should already have Developer Tools installed, so you don't need to install GCC when it asks you.) http://mac.softpedia.com/get/Development/Compilers/CMake.shtml 2 - Install Qt 4.4.3. (For me it got stuck for several minutes as the status bar approached the end; just let it be until it finishes.) http://mac.softpedia.com/get/Developer-Tools/Qt.shtml 3 - Download the source from the trunk: go to Finder and press Command-K. In the "Server Address" box, type https://mscore.svn.sourceforge.net/svnroot/mscore/trunk/ and press "Connect". If it prompts you for a password, keep pressing "Cancel" until it stops asking. Copy the "mscore" folder to your computer. 4 - Open Terminal (it should be in "Applications –> Utilities"), and type "cd" followed by a space. Drag the folder you just downloaded onto the terminal; this will paste the filepath onto the line. Press return. 5 - Type (or paste) "./gen-qt-projectfile . >> mscore.pro" into Terminal and press return. 6 - Make the following changes to files in the mscore folder: - file mscore/mscore/select.cpp : change "values.h" to "limits.h" - file mscore/mscore/utils.cpp : change "#ifdef __MINGW__" on line 358 to "#if defined (__MINGW32__) || defined (__APPLE__)" - file mscore/CMakeLists.txt : "set(BUILD_SCRIPT_INTERFACE FALSE)" instead of TRUE. - file mscore/mscore/CMakeLists.txt : replace three instances of "APPLE OR MINGW" with "MINGW" 7 - Repeat step 4 8 - Type (or paste) "cmake -G Xcode" into Terminal and press return. 9 - Double-click on mscore/mscore.xcodeproj (it should open in XCode) and press the "Build and Go" button. And that's it! I haven't tried doing anything with it to see if it actually works... but it did open :) Terminal gave the following warnings after CMaking: <pre> Disabling ALSA support due to OS X or MINGW build. optional package portaudio-2.0 Version 19 not found (package portaudio19-dev) </pre> It also said that Doxygen was not found, but somehow that seems unimportant (although that's a big assumption on my part). XCode gave the following build errors: • Building target "mscore" of project "mscore" with configuration "Debug" – (1 error, 4 warnings) • Running custom shell script (1 error) • Warning: No relevant classes found. No output generated |
||||||||||||||||
|
hypehuman
|
Oops, I just realized that there are two pages of posts after the first one! This post was made after having only read the first page; now I'm reading to see what I missed :)
|
||||||||||||||||
|
Joachim Ganseman
|
That's great news! Since you're also on Mac OSX 10.5, do you get the
scores properly rendered? Or do you have screenshots, because I still haven't got any further beyond the first screenshots I posted. I still don't seem to be able to get around the font trouble. I've asked a friend of mine who works as GUI developer for a company working with QT's commercial license for some help. He unfortunately told me that the Qt devs have some kind of nasty tradition of keeping bugs hanging for a long time, and advised me to hack the solution in the Qt code myself. He pointed me to the file Qt\4.4.x\src\gui\text\qfontdatabase_mac.cpp in the source, where several mac-related functionality is encoded. I've had a quick look at the file and the related functions, which are, according to his stacktrace I've been sent (windows, commercial edition, line numbers might be different): QtGuid4.dll!addFontToDatabase( ... ) Line 256 C++ QtGuid4.dll!storeFont( ... ) Line 415 + 0x2b bytes C++ gdi32.dll!77e4bcf2() [Frames below may be incorrect and/or missing, no symbols loaded for gdi32.dll] gdi32.dll!77e4bc19() QtGuid4.dll!populate_database(const QString & fam={...}) Line 464 + 0xa7 bytes C++ QtGuid4.dll!initializeDb() Line 526 + 0x22 bytes C++ QtGuid4.dll!QFontDatabase::load(const QFontPrivate * d=0x0124d9f8, int script=0) Line 1009 C++ QtGuid4.dll!QFontPrivate::engineForScript(int script=0) Line 239 + 0xd bytes C++ QtGuid4.dll!QFontMetricsF::leading() Line 1156 + 0xc bytes C++ >From initializeDb() on, these functions are mostly platformspecific. The code inside is however not for the faint of heart. I have not much experience with the mac subsystems either, let alone with their approach to fonts. Considering the huge amount of ifdefs, the guys at Apple are masters in completely rewriting whole subsystems of their OS with every new version. I'll need a large chunk of free time and loads of coffee to tackle this one. An easier way might be: if there are some TrollTech guys at Fosdem, we could corner them and friendly ask them to raise the priority level of this specific bug ;) Perhaps they hang around near the KDE track... Joachim ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Mscore-developer mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/mscore-developer |
||||||||||||||||
|
KRS
|
In reply to this post
by Arnaud Moreau
I've been following the os x developments with much interest. applying
the modifications posted so far (hats off to Joachim and Hypehuman), I have been able to build and run. However, the issue with the font remains. I have noticed that the when install the Mscore1-20.otf on the mac most of the characters of the font do not show. I threw together a quick program to test the font but none of the symbols in the font are accessible. It is the mscore fonts that do not show other fonts are shown when I build the code. In a new thread about fonts (fonts/noteheads) Werner indicated that the fonts are hardwired. Could this be causing an incompatibility for the mac that prevents the fonts from being shown? Just some thoughts... Karl ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Mscore-developer mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/mscore-developer |
||||||||||||||||
|
Thomas Bonte
|
In reply to this post
by Joachim Ganseman
Ok, I'll make sure it gets mentioned in the MuseScore presentation. Who knows there trolltech dev in the audience. http://www.fosdem.org/2009/schedule/events/musescore
|
||||||||||||||||
|
Joachim Ganseman
|
Small update: today Qt 4.5.0 release candidate 1 was released. I installed it and compiled MuseScore checkout 1515 with it, but the font problem is still there... Joachim
|
||||||||||||||||
|
Thomas Bonte
|
Via http://www.qtsoftware.com/developer/preview-qt-4.5 , I found the instructions to give feedback:
My subscription for the feedback mailing list is currently waiting for approval. Obviously, it would be handy to know whether the patch at http://www.qtsoftware.com/developer/task-tracker/index_html?method=entry&id=210200 is actually applied. If so, we know the problem comes from somewhere else and we'll have to keep on digging. If not, the first step would be to be sure whether this patch will actually solve our issue.
|
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |