← Back to team overview

kicad-developers team mailing list archive

Re: KiCad new look - new icons and new buttons

 

> On 08/29/2011 05:47 PM, fabrizio wrote:
>
>> 3)  .png generation from .svg.Are you using the script I made (scr/mk_png)?
> I am using the same exact steps and technique, but from CMake on an image by
> image basis, rather than a group step by group step basis.


You did well to find these steps, Fabrizio.


I have discovered that there are 3 or 4 "tEXt" chunks (i.e. records) in the
final PNGs, where the inkcape dude is telling about his name, inkscape's name,
and the date of creation.

I'd like to remove all 3 or 4 of these to save space in the kicad programs,
since all these will be in memory as JPG files.  The shear number of PNGs
increases this justification.

To see them, do:

$ hexdump -C some.png | less


000005d0  1b 7f 4e 4e 69 77 41 7a  00 00 00 14 74 45 58 74  |..NNiwAz....tEXt|
000005e0  41 75 74 68 6f 72 00 4a  61 6b 75 62 20 53 74 65  |Author.Jakub Ste|
000005f0  69 6e 65 72 e6 fb f7 2f  00 00 00 25 74 45 58 74  |iner.../...%tEXt|
00000600  64 61 74 65 3a 63 72 65  61 74 65 00 32 30 31 31  |date:create.2011|
00000610  2d 30 38 2d 32 38 54 31  30 3a 32 39 3a 33 35 2d  |-08-28T10:29:35-|
00000620  30 35 3a 30 30 c7 99 61  14 00 00 00 25 74 45 58  |05:00..a....%tEX|
00000630  74 64 61 74 65 3a 6d 6f  64 69 66 79 00 32 30 31  |tdate:modify.201|
00000640  31 2d 30 38 2d 32 38 54  31 30 3a 32 39 3a 33 35  |1-08-28T10:29:35|
00000650  2d 30 35 3a 30 30 b6 c4  d9 a8 00 00 00 19 74 45  |-05:00........tE|
00000660  58 74 53 6f 66 74 77 61  72 65 00 77 77 77 2e 69  |XtSoftware.www.i|
00000670  6e 6b 73 63 61 70 65 2e  6f 72 67 9b ee 3c 1a 00  |nkscape.org..<..|
00000680  00 00 00 49 45 4e 44 ae  42 60 82                 |...IEND.B`.|


Your imagemagick composite step moves these chunks to the end of the file,
inkscape had them up front.


I tried:

$ pngcrush -rem text some.png

and it removes only one at a time, so I had to run it 3 or 4 times.

And perhaps that is the best we can do.  Searched all around the internet and
could not find a tool to do this in one pass, removing all 3 or 4 "tEXt" chunks
in one pass.  Thinking about writing a C program to do it in one pass.  Don't
feel like patching pngcrush, since the source is *ugly* and life is short.

Hoping for a miracle at this point, to avoid the 1.5 hours time for me to do it.

If someone could track down the author of pngcrush, and whine, get it fixed,
that might qualify as a miracle.  Or if someone can find a free tool that
actually works in this regard, that would be helpful.  Or if someone wants to
write a program to do it that can become part of the source tree, you will be my
hero.  PNG file format is cake, just a series of well defined records, which you
preserve and write back out, with a header up front.  Drop the "tEXt" records
please.


Dick




Follow ups

References