[Clipart] Comma-separated keywords in metadata
Jonadab the Unsightly One
jonadab at bright.net
Mon Jul 19 08:35:05 PDT 2004
Bryce Harrington <bryce at bryceharrington.com> writes:
> The jar file format does have a spec somewhere; I don't know where
> it is offhand, but it's used by OpenOffice and was developed for
> Java originally.
I'll look for it.
> There's also good tools and programmatic utilities for operating on
> them (try hitting CPAN).
I didn't find anything there, but the hard part of it is handled by
Archive::Zip. I suspect that if I have to create Archive::Jar myself,
I can probably subclass Archive::Zip.
[requiring license metadata]
>> What does Inkscape's collection format do in this regard?
>
> The jar-based format used by inkview doesn't impose any content
> requirements, so it lacks any knowledge of metadata or licenses.
> What we're talking about here would be augmentations to it.
Okay.
> By the way, the code relevant to this is pretty easy to review in
> isolation from Inkscape itself, if you're ok with C++:
My C++ is even worse than my C, which is abysmal enough that I don't
try to use it for anything as nontrivial as handling non-text file
formats. I can pass for fluent in Perl, elisp, and Inform (and a
small handful of markup languages), and I also know a little Scheme,
and if I draw on distant memories several dialects of BASIC and some
Pascal and a little 8086 assembly language, and I've had just enough
exposure to Python, PHP, and JavaScript to be able to follow the jist
of something, but I know precious little C or C++, really only just
barely enough to cause trouble[1].
> inkscape/src/inkview.cpp and inkscape/src/inkjar/*
> Potentially, some day we could even think about splitting it out into a
> separate utility that could be used both in Inkscape and OCAL.
If there were a spec, I could probably just write a Perl class for it
as a wrapper around Archive::Zip.
---
[1] If C code that I download doesn't come with a configure script, I
have to read the gcc manpage to remind myself how to compile it.
I can make small changes like commenting out an unwanted if test
(such as the one in civclient that prevents it from running as
root, though I no longer bother changing that now that I've
discovered gdmflexiserver), but much beyond that is a stretch.
--
$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}}
split//,"ten.thgirb\@badanoj$/ --";$\=$ ;-> ();print$/
More information about the clipart
mailing list