Hello Jonathan, I neglected to commit some of the images in the sample image library that demonstrate IPTC/Photoshop data. I also introduced a bug to the IPTC segment identification code which is now fixed.
I've posted updated builds here: http://people.apache.org/~cmchen/apache-sanselan-incubating-0.95-21102008-snapshot-bin.zip http://people.apache.org/~cmchen/apache-sanselan-incubating-0.95-21102008-snapshot-javadoc.jar http://people.apache.org/~cmchen/apache-sanselan-incubating-0.95-21102008-snapshot-src.zip Also, I'm cc'ing the sanselan-dev mailing list. Let's continue this discussion there. Instructions for subscribing can be found here: http://cwiki.apache.org/confluence/display/SANSELAN/Index Thanks, Charles On Mon, Oct 20, 2008 at 2:12 AM, Jonathan Giles <[EMAIL PROTECTED]> wrote: > Charles, > > I downloaded and tried to run the test case to dump IPTC data. I get an > assertion failure error at the bottom of SanselanTest, on the line > assertTrue(filtered.size() > 0); > > It appears as if none of the images are being judged to have any IPTC data. > I have debugged and it is definitely finding the image files, so it seems to > be with how it is determining whether the IPTC data is there or not. > > Do you have any idea why this may be the case? I presume that the test case > succeeds for you? I'll keep looking to see if anything sticks out. > > Cheers, > Jonathan > > Charles Matthew Chen wrote: >> >> Hi Jonathan (and Christopher, Nepomuk, Mark and Bjorn), >> >> A draft form of the IPTC changes are done, and I believe they are >> ready to be looked at. >> >> I've prepared a snapshot of the repository that contains the IPTC >> read/write code. >> >> >> http://people.apache.org/~cmchen/apache-sanselan-incubating-0.95-19102008-snapshot-bin.zip >> >> http://people.apache.org/~cmchen/apache-sanselan-incubating-0.95-19102008-snapshot-javadoc.jar >> >> http://people.apache.org/~cmchen/apache-sanselan-incubating-0.95-19102008-snapshot-src.zip >> >> The following unit tests demonstrate how to use the IPTC features: >> >> >> https://svn.apache.org/repos/asf/incubator/sanselan/trunk/src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcDumpTest.java >> >> This test shows how to read and print the Photoshop/IPTC records >> (if any) present in a JPEG file. >> >> >> https://svn.apache.org/repos/asf/incubator/sanselan/trunk/src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcUpdateTest.java >> >> This test shows how to remove, add/insert, and update >> Photoshop/IPTC records in a JPEG. >> >> I haven't had time to document the Photoshop/IPTC changes yet. >> Here are the basics: IPTC is an image metadata standard. Adobe >> Photoshop popularized a way of embedding IPTC data in App13 segments >> of JPEG files using a binary format very similar to Photoshop's "image >> resource blocks." This Photoshop/IPTC data is organized in a "block" >> of "records." This IPTC data is just one of many blocks that appear >> in the "Photoshop" App13 segments; modifying IPTC data should usually >> leave the other blocks in the Photoshop App13 segment unchanged. In >> practice, App13 segments are only used for Photoshop metadata. >> >> The IPTC metadata in a Photoshop App13 segment is a series of >> key-value pairs. The keys are "record type" bytes, defined by the >> standard and constantized in: >> >> >> https://svn.apache.org/repos/asf/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCConstants.java >> >> The values are strings. In theory, these values should be encoded >> in ISO-8859-1 unless the first block of the segment has a "text >> encoding" record. However, I have yet to find an image that >> demonstrates this "text encoding" record, so I haven't added support >> for it yet. If you find one, please consider contributing it to the >> project. >> >> Please take a look at the code as it stands and let me know if it >> meets your needs. Any and all feedback is welcome. >> >> More references: >> >> >> http://en.wikipedia.org/wiki/International_Press_Telecommunications_Council >> http://www.iptc.org/ >> >> There is some remaining work to be done (besides writing proper >> documentation). Support for very large records is not yet done. I >> have yet to find an image that demonstrates this (again, such an >> example image would be helpful). >> >> Once the IPTC work is settled, I suggest we try to release 0.95 and >> have a discussion about what we want to have done before we release >> version 1.0. >> >> Thanks, >> Charles >> >>
