Problem with svg icon 关于svg图标的问题的讨论---来自Nokia论坛

本文来自: http://discussion.forum.nokia.com/forum/showthread.php?t=97161
wave注:此问题主要是讨论svg图标手机中不能正确显示的问题,我会把关键的讨论部分翻译出来。
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Problem with svg icon - 2006-12-14, 15:50
Hello

I've modified the original svg-icon of my application (qgn_menu_MyApp.svg) in Inkscape. Then I rebuilt the project in Carbide C++, once for the emulator and once for the final phone release (SIS).

Now, I can see the new icon on the emulator. But on the phone itself, the icon remains empty and transparent... I also converted the svg manually with mifconv and replaced the existing mif in "$(EPOCROOT)/Epoc32/data/z/resource/apps/MyApp.mif" with the new one. That doesn't work either...

Does someone have any idea on how to get rid of that problem??

BTW: My phone is a Nokia N73.
(# 2 )
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2006-12-14, 16:08
Make sure that you save the image in pure SVG format (not Inkscape SVG). Then run it throug the SVG2SVGT converter tool.

I hope this helps ...
(# 3 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Re: Problem with svg icon - 2006-12-14, 16:42
No, just converted it and it remains empty... BTW: Before changing the icon it was also empty on the phone. But on the emulator it has been displayed correctly. That's also true for other applications I compiled by myself on Carbide C++... might that be a problem of the phone??
(# 4 )
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2006-12-14, 16:56
Why don't you post the icon here? Someone might spot the problem ...
(# 5 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Re: Problem with svg icon - 2006-12-14, 17:45
O.k. I uploaded the files now:

Original from Carbide C++:
http://LINK-EXPIRED/symbian/qgn_menu_MyApp_0.svg
After modification in Inkscape:
http://LINK-EXPIRED/symbian/qgn_menu_MyApp_1.svg
After conversion with svg2svgt:
http://LINK-EXPIRED/symbian/qgn_menu_MyApp_2.svg

Hope you can help me...
Last edited by patrickfrei : 2006-12-28 at 21:18.
(# 6 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Re: Problem with svg icon - 2006-12-14, 21:37
I guess there is a problem in Carbide C++... build a simple C++ application for S60 with the project wizard (name it e.g. "test"). Do not change anything else and build the project once as release for your phone (SIS) and once as emulator debug.

You will see: In the emulator you can see the standard symbian application icon. But on your phone there will be an empty, transparent icon...
(# 7 )
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2006-12-14, 22:10
The last two links point to the same file ... or am I too tired ?

Try the attached sis, it uses the "qgn_menu_MyApp_1.svg" without svgt conversion and the icon is displayed OK both on emulator and on my N91.
Attached Images
TestSVG.png (21.9 KB, 286 views)
Attached Files
TestSVG.sis (19.1 KB, 192 views)
Last edited by ltomuta : 2006-12-14 at 22:17.
(# 8 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Re: Problem with svg icon - 2006-12-15, 10:28
Hello ltomuta

Thank you for your help. I corrected the link above. Your SIS shows me the correct icon... I really don't understand that

Did you also use Carbide C++ and did you make some modifications for building the test-SIS? How did you replace the svg-file?

Attache you'll find a link to my test-SIS-file (didn't changed anything before building the application, i.e. I used the default settings of Carbide C++ v 1.1). And again, on my phone there is only an empty icon. On the emulator I have the correct default one of Carbide ("open blue box")... what about your phone? Do you have the same issue?
http://LINK-EXPIRED/symbian/TestApp.sis
Additionally I attached a screenshot of the program folder of my phone:
http://LINK-EXPIRED/symbian/screenshot.jpg --> TestApp has no icon...

BTW: On the WWW there are also some guys with the same problem...
Last edited by patrickfrei : 2006-12-28 at 21:19.
(# 9 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Re: Problem with svg icon - 2006-12-15, 12:39
Maybe the output while building the icon will help to find out the problem. I figured-out that my release-build-output is not exactly the same as the one of other guys on the WWW (the different lines are marked in red). But: This release-output of someone else on the WWW is the same as my debug-output!

My output for the release:
'Building file: ../gfx/TestApp.mifdef'
'Invoking: MIF Compiler'
perl -S epocmifdef.pl -v -p"C:/Symbian/Carbide/workspace/TestApp/" -hC:/Symbian/9.2/S60_3rd_FP1_2/EPOC32/include/TestApp.mbg -o"/Symbian/9.2/S60_3rd_FP1_2/EPOC32/DATA/Z/resource/apps/TestApp.mif" ../gfx/TestApp.mifdef
adding /c32 C:/Symbian/Carbide/workspace/TestApp/gfx/qgn_menu_TestApp.svg to temp file ../gfx/TestApp.mifdef.txt
closing temp file ../gfx/TestApp.mifdef.txt
mifconv.exe /Symbian/9.2/S60_3rd_FP1_2/EPOC32/DATA/Z/resource/apps/TestApp.mif /HC:/Symbian/9.2/S60_3rd_FP1_2/EPOC32/include/TestApp.mbg /F../gfx/TestApp.mifdef.txt
MifConv version 1.11 build (39).
Reading source list file: ../gfx/TestApp.mifdef.txt
Checking: C:/Symbian/Carbide/workspace/TestApp/gfx/qgn_menu_TestApp.svg
Choosing...
Convert files...
.
Loading mif icons...
Loading file: /Symbian/9.2/S60_3rd_FP1_2/epoc32/winscw/c/system/temp/s6ac.tmp/C__Symbian_Carbide_workspace_TestApp_gfx_qgn_menu_TestApp.svgb
Writing mif: /Symbian/9.2/S60_3rd_FP1_2/EPOC32/DATA/Z/resource/apps/TestApp.mif
Writing mbg: C:/Symbian/9.2/S60_3rd_FP1_2/EPOC32/include/TestApp.mbg
deleting temp file ../gfx/TestApp.mifdef.txt
'Finished building: ../gfx/TestApp.mifdef'


Output of someone else for the release:
'Building file: ../gfx/BuddyTrack.mifdef'
'Invoking: MIF Compiler'
perl -S epocmifdef.pl -p"F:/leo/Symbian/workspace/BuddyTrack/" -hF:/Symbian/9.1/S60_3rd/EPOC32/include/BuddyTrack.mbg -o"/Symbian/9.1/S60_3rd/EPOC32/DATA/Z/resource/apps/BuddyTrack.mif" ../gfx/BuddyTrack.mifdef
Reading source list file: ../gfx/BuddyTrack.mifdef.txt
Checking: F:/leo/Symbian/workspace/BuddyTrack/gfx/qgn_menu_BuddyTrack.svg
Choosing...
Loading mif icons...
Loading file: F:/leo/Symbian/workspace/BuddyTrack/gfx/qgn_menu_BuddyTrack.svg
Writing mif: /Symbian/9.1/S60_3rd/EPOC32/DATA/Z/resource/apps/BuddyTrack.mif
Writing mbg...F:/Symbian/9.1/S60_3rd/EPOC32/include/BuddyTrack.mbg
'Finished building: ../gfx/BuddyTrack.mifdef'
Last edited by patrickfrei : 2006-12-15 at 13:11.
(# 10 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Re: Problem with svg icon - 2006-12-15, 18:34
O.k., now I changed the following line in my PKG
"$(EPOCROOT)/Epoc32/data/z/resource/apps/PhoNetInfo.mif" -"!:/resource/apps/PhoNetInfo.mif"
into
"$(EPOCROOT)/Epoc32/data/z/resource/apps/PhoNetInfo.mif" -"!:/resource/apps/PhoNetInfo_reg.mif"

Then, I have at least the default icon on the phone! Interesting...
(# 11 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Strange problem with svg icon... - 2006-12-15, 18:51
Hello

I've a strange problem with showing the svg-application icon on my phone (N73).
  1. Building a project (e.g. test) with carbide c++ 1.1 and installing the SIS on the phone shows me an empty (transparent) icon [/url]. On the emulator it works. There I've the standard icon. Today, I changed the following line in my PKG
    "$(EPOCROOT)/Epoc32/data/z/resource/apps/PhoNetInfo.mif" -"!:/resource/apps/PhoNetInfo.mif"
    into
    "$(EPOCROOT)/Epoc32/data/z/resource/apps/PhoNetInfo.mif" -"!:/resource/apps/PhoNetInfo_reg.mif"
    --> Then, I get the default icon on the phone!
  2. If I modify now the default svg-application-icon (qgn_menu_MyApp.svg) with Inkscape, convert it with SVG2SVGT and replace it in the gfx-folder, then I've the following problem:
    --> the new icon is being correctly shown on the emulator
    --> the default icon is being shown on the phone.
  3. If I remove the "_reg"-part in the PKG and build the project again, then I get the following:
    --> the new icon is being correctly shown on the emulator
    --> an empty (transparent) icon is being shown on the phone.
Can someone help me?? I'd like to show my own icon on the phone!
Last edited by patrickfrei : 2007-01-12 at 15:51.
(# 12 )
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2006-12-15, 19:44
patrickfrei,

it is only now that I see that you are in fact using the S60 3rd FP1 while developing for a S60 3rd Edition device. Why?

First of all comparing the output generated by two different tool chains may trigger false alarms. Then without knowing about your configuration my S60 3rd Edition test, though successful was also useless...

I've done a build in S60 3rd FP1 and then I've installed the result on my N91. The result is the same as for you, a white icon is being displayed. But the output is similar to S60 3rd SDK, particularly I do not have the line "adding /c32 C:/Symbian/Carbide/workspace/TestApp/gfx/qgn_menu_TestApp.svg to temp file ../gfx/TestApp.mifdef.txt".

The presence of this line in your build suggests that however you had added the new icon to the project it was not the cleanest simples way. Yet the rest of the process seems ok and I suspect in the end you have an application who's icon will display nicely on ... N95.

I still have to investigate why the icons seem to be incompatible (I do have some ideas) but this will have to wait for some free time ... maybe next year.
(# 13 )
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2006-12-15, 19:49
Quote:
Originally Posted by patrickfrei
O.k., now I changed the following line in my PKG
"$(EPOCROOT)/Epoc32/data/z/resource/apps/PhoNetInfo.mif" -"!:/resource/apps/PhoNetInfo.mif"
into
"$(EPOCROOT)/Epoc32/data/z/resource/apps/PhoNetInfo.mif" -"!:/resource/apps/PhoNetInfo_reg.mif"

Then, I have at least the default icon on the phone! Interesting...
If you'll spend some time studying the relationship between the various files in a S60 project, particularly the relationship between the *_reg.rss , *[_loc].rss and *.mif you will eventually realize that, unfortunately, your result is not interesting at all.

Best regards,
(# 14 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Re: Problem with svg icon - 2006-12-15, 20:52
Hello Itomuta

Ahh, I though S60 3rd FP1 is the newest release for 3rd-edition device in general. So, do you recommend to use S60 3rd Maintenance Edition for me?? Or what SDK are you using for developing applications for your N91?

Many thanks for your support!
(# 15 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Re: Problem with svg icon - 2006-12-15, 21:07
And please, could you send me the mif-file you created out of my svg (qgn_menu_MyApp_1.svg)?? That would be great!!!
 
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2006-12-16, 10:25
Quote:
Originally Posted by patrickfrei
Hello Itomuta

Ahh, I though S60 3rd FP1 is the newest release for 3rd-edition device in general. So, do you recommend to use S60 3rd Maintenance Edition for me?? Or what SDK are you using for developing applications for your N91?

Many thanks for your support!
One should not think about mobile software as it does about the PC software. On a mobile you cannot install your own choice of OS version, you cannot go back and forth as soon as a new OS version is available or when you have the mood of seeing how the OS was looking 10 years ago.

Once a device is released with a certain software version that will be maintained throught the lifecicle of the product though multiple improvements can be assed in subsequent firmware builds. Even more constant is the SDK release that is compatible with the device. As far as I remember the only SDK ever updated was S60 3rd SDK which now has a MR version. (To be clear, S60 3rd MR is the new and improved S60 3rd SDK, one should use it wherever the specifications recoment the use of S60 3rd SDK.)

The so called Feature Pack SDKs are more than software updates. They are based on a totaly diferent OS version and they support a completely diferent range of devices, with new features for which new APIs are provided.

I've said it times and times again ... first, one should decide the phone or platform for which the application is targeted. Then check the device specifications and learn about the needed SDK. For your N93 and my N91 the supported SDK is S60 3rd SDK MR. Even if you want to add support for N95 the main application development should stay in S60 3rd SDK MR and should only be moved in S60 3rd SDK FP1 for adding those features (if any) that are only supported by N95 but not by the older devices.
(# 17 )
patrickfrei Offline
Regular Contributor
 
Posts: 180
Join Date: Nov 2006
Re: Problem with svg icon - 2006-12-16, 21:15
Thank you for your help!

I recreated my project from scratch with the Maintenance Release. Everything works fine now and the best is that the icon is also being displayed on the phone!!! FINALLY!!!
(# 18 )
kfalck Offline
Registered User
 
Posts: 5
Join Date: Mar 2004
Re: Problem with svg icon - 2006-12-21, 01:57
Quote:
Originally Posted by ltomuta
I've said it times and times again ... first, one should decide the phone or platform for which the application is targeted. Then check the device specifications and learn about the needed SDK.
That just proves you mobile guys don't know anything about software development. What you need to provide is ONE SDK that is BACKWARDS COMPATIBLE WHEN YOU DON'T USE THE ADVANCED FEATURES. Otherwise it becomes totally impossible for us developers to support the hundreds of devices and generations out there. We don't choose "one target device", we want build stuff that works on all Nokia phones. Right now the whole dev environment is a terrible mess.
(# 19 )
franciscagney Offline
Registered User
 
Posts: 9
Join Date: Jan 2007
Re: Problem with svg icon - 2007-01-24, 16:15
Quote:
Originally Posted by ltomuta
If you'll spend some time studying the relationship between the various files in a S60 project, particularly the relationship between the *_reg.rss , *[_loc].rss and *.mif you will eventually realize that, unfortunately, your result is not interesting at all.

Best regards,
Well I did exactly the same as Patrickfrei, and got the icon on my phone to work.

I would be very interested to know why this works, and don't consider trolling through pages of badly written disorganised documentation to be the ideal use of my time.

Better if Tomuta simply explains why this is not interesting, if this is the solution, and if it is not the solution, what is the solution?
(# 20 )
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2007-01-24, 17:44
What is not interesting is changing:
Code:
"$(EPOCROOT)/Epoc32/data/z/resource/apps/PhoNetInfo.mif" -"!:/resource/apps/PhoNetInfo.mif"
into
"$(EPOCROOT)/Epoc32/data/z/resource/apps/PhoNetInfo.mif" -"!:/resource/apps/PhoNetInfo_reg.mif"
as Patrickfrei did. Simply renaming a file without any apparent logic (unless I have missed some bit of info) cannot help much in solving the problem. And then with the name changed of course that no file is found and the default icon is loaded. Is not interesting at all, it is just expected (if not even documented) behaviour.

For Patrickfrei the main problem was that he was using the wrong SDK and as such even correct steps ended up in incorrect results. The fact that you got the right results (most probably with the right SDK) is no surprise for me. What would be indeed interesting is if you have got positive results with the wrong SDK
(# 21 )
franciscagney Offline
Registered User
 
Posts: 9
Join Date: Jan 2007
Re: Problem with svg icon - 2007-01-24, 18:36
Good point. I can see now that it doesn’t put the proper icon in, just the default one.

I am using Symbian 9.2, the only other version I have installed is 6.1

With the standard HelloWorldBasic (from 9.2), or with a Carbide generated S60 3.x Gui application, I have the same problem. The icons are there on the emulator, but not on a Nokia N73 target.

The icons are different between HelloWorldBasic: jigsaw with cube, and generated: folded out cardboard box.

I made the target files with the following commands

bldmake bldfiles
abld build gcce urel
makesis helloworldbasic_gcce.pkg
signsis –s helloworldbasic.sis hw.sis k:/keycerts/dgcert.cer k:/ keycerts/dgkey.key <pass>

As a matter of interest, when I start the emulator, it always gives one or 2 errors on the lines below. My compiled application are then in the Installed folder, and in the applications folder on the target.

Application closed:
ncnlist
KERN-EXEC 3

Application closed:
Standby mode
ViewSrv 11

It would be really nice to actually get my icons on my application on the phone, which was trivial and easy in Symbian 6.1
(# 22 )
franciscagney Offline
Registered User
 
Posts: 9
Join Date: Jan 2007
Re: Problem with svg icon - 2007-01-25, 22:30
I tried downloading a previous SDK for Symbian 9.1. With this version the icon does indeed appear on the target.

The icon does not appear on the target using SDK 9.2, and using the examples in the S60Ex directory in that SDK.
(# 23 )
chall3ng3r Offline
Forum Nokia Champion
 
Posts: 54
Join Date: Feb 2005
Location: Karachi, PK
Re: Problem with svg icon - 2007-02-06, 13:58
hi guys.

i'm having exactly same prob. i used 9.2 (3rd.ed fp1) and testing the output on N80 which is simple 3rd.ed (no FP). but the output program works fine. pretty interesting.

if i compiled with incorrect version of SDK, my app should not work at-all on older editions. why only icon not working? weird!!!

anyway, i find the answer after days of trouble, as i mostly work offline.

i hope future versions of SDKs will be FULL backward compatible. atleast within same editions.

best,

// chall3ng3r //

skype: chall3ng3r
blog: www.orison.biz/blogs/chall3ng3r/
(# 24 )
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2007-02-06, 14:41
The platform is backward compatible in the sense that a application built with the S60 3rd SDK MR can be installed/run without problems on S60 3rd SDK FP1 devices (with the icon showing just as well). What you seem to want is forward compatibility but there is no promise of that...
(# 25 )
chall3ng3r Offline
Forum Nokia Champion
 
Posts: 54
Join Date: Feb 2005
Location: Karachi, PK
Re: Problem with svg icon - 2007-02-06, 15:22
thanks for clarification.

a friend of mine just sent me the mifconv.exe from 9.1 sdk, and i rebuilt the same svg icon with it. it worked on the first go.

many thanks.

// chall3ng3r //

skype: chall3ng3r
blog: www.orison.biz/blogs/chall3ng3r/
Last edited by chall3ng3r : 2007-02-06 at 16:23.
(# 26 )
vmatikainen Offline
Registered User
 
Posts: 19
Join Date: Nov 2006
Re: Problem with svg icon - 2007-02-08, 18:03
Thanks for you also. Using the older mifconv.exe solved the problem just fine.

Br, Vikke
(# 27 )
stenlik Offline
Forum Nokia Champion
 
Posts: 1,226
Join Date: Mar 2004
Location: Czech Republic
Re: Problem with svg icon - 2007-02-09, 13:51
Jesus Crist!!!

I had exactly the same problem.... I didn't check SDK correctly and I built for my E70 with 3rdFP1 instead of MR!!! I hate the world. It takes me two infernal days to find out! TWO bloody days!

Regards,
STeN
(# 28 )
Dag Offline
Registered User
 
Posts: 4
Join Date: Feb 2007
Re: Problem with svg icon - 2007-02-14, 22:48
Hi,
is this clear to veryone? I am still puzzled.

When looking at the device page for NS5500:

http://www.forum.nokia.com/devices/5500

It states the Os is Symbian OS v9.1 and
Development Platform S60 3rd Edition

In the above discussion it seems the 3rd Edition FP1
cannot be used instead of 3rd Edition Maintenance
Release.

In case of this device NS5500 where do I get the information if I should
use FP1 or MR?

And yes, I cannot get any icons .......

/Dag
(# 29 )
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2007-02-14, 22:57
S60 3rd Edition SDK [MR] is based on Symbian OS version 9.1
S60 3rd Edition SDK supporting Feature Pack 1 is based on Symbian OS version 9.2.

For development on Nokia 5500 Sport one should use the S60 3rd Edition SDK, specifically its Maintenance Release version since it has significant quality improvements in terms o tools and emulator support.

See N95's specifications for a sample of device for which S60 3rd Edition SDK FP1 should be used even though applications build with S60 3rd Edition SDK MR are fully compatible.

When in doubt about which SDK to use please read the corresponding release notes available on the SDK download page.

Best regards,
(# 30 )
Dag Offline
Registered User
 
Posts: 4
Join Date: Feb 2007
Re: Problem with svg icon - 2007-02-15, 00:07
Thanks for the quick reply,
yes now the icon pops up.

If it is this crucial to have the exact version of a release, may
I suggest the installer checks for this, apparently I am not
the only one here missing this point, and many hours can be saved.

Cheers
/Dag
ltomuta Offline
Forum Nokia Expert
 
Posts: 992
Join Date: Sep 2004
Location: Tampere, Finland
Re: Problem with svg icon - 2007-02-15, 07:13
Dag,

you seem to be new to Symbian so it is understandable to make mistakes and hit some walls, it is part of the learning curve.

I do not see what the installer can be checking for ... the application is in fact compatible with the device (unless you're using S60 3rd SDK FP1 specific APIs), this icon rendering issues being the only incompatibility I am aware of.

If needed, it is up to you to make the PKG script such that the application will only be installed on a specific device.

Best regards,

你可能感兴趣的:(JOIN,Date,application,Symbian,Nokia,menu)