[cairo] Reducing .data
behdad at behdad.org
Mon Dec 18 17:16:20 PST 2006
On Mon, 2006-12-18 at 14:59 -0800, Carl Worth wrote:
> I'm of mixed feelings here. Ulrich's triple-including scheme allows
> for generating a table like this using nothing but the pre-processor,
Right. However, the downsides I see are:
1) Need to put the table into a separate file. Ugly. I'm been down
that road in FriBidi, and while I appreciate the flexibility, I much
more like the current directory structure in cairo.
2) Uses a union initialization. Not sure how portable that is.
3) It uses offsetof, though offsetof can be defined using Ansi C.
> That definitely seems a lot better than a perl script that would have
> to be extracted out of the C source if we ever wanted to change
> anything in the table.
> But, if the justification for using the perl script is that we never
> expect to edit the table at all, then why is that perl code even here?
> Can't we just let the generated tables stand on their own in that
> case? (And just trust our code history to hold on to a more "obvious"
> form of the table if anyone ever really needs to look for it).
The perl code sure can go (I'll put it in the commit message :-D). I
adapted it from pango/tools/gen-color-table.pl. However, the reason I
made this choice was mainly to keep the uncompressed table around, in a
comment, to not decrease the readability of the code. So you still map
glyph names and values by reading source code.
"Those who would give up Essential Liberty to purchase a little
Temporary Safety, deserve neither Liberty nor Safety."
-- Benjamin Franklin, 1759
More information about the cairo