[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: PCB: simple FreeType fonts implementation -- update?

On Fri, 13 May 2011 12:14:45 -0400
DJ Delorie <dj@xxxxxxxxxxx> wrote:

> IIRC my primary objection to the patch-as-was was, "where do we store
> the TTF files?"  PCB has no way to store binary blobs with the board,
> and if you don't keep them together you risk someone else getting
> different results.  However, perhaps we could keep both "plain text"
> and "TTF text" as different text types, so those who value pretty over
> self-contained can get some love ahead of time?

Can we just store it as BASE64-encoded or something blob for now?
Yeah, it might take 200 KB+ to store a font, but that's a drop in the
bucket compared to disk storage capacity these days.  It's not as if I
have 100 000 .pcb files  on my disk either so I'm not at all concerned
about size.

I guess another option is to support storing the font file as a
standard TTF/OTF file alongside the .pcb file.  I am 100% against
letting pcb use a system font directly without storing a copy inside or
alongside the .pcb file.
Advantages of separate TTF/OTF font file from .pcb file:
(1) better storage efficiency since no wasteful BASE64 encoding need be
(2) the .pcb file remains more focused on the layout so is easier
to view/edit with a text editor or script programs,
(3) possibly easier to implement since .pcb format needs less change.  
(1) The .pcb file is no longer self-contained.  Since I always use
version control on the entire directory where the .pcb file is located,
this is not really a problem for me in practice except for the rare
occasion where I send a .pcb file to someone else.

From this I conclude that Peter Clifton's suggestion of using a
container format like a ZIP file is a pretty good idea.  It would
combine the benefit of simply storing the font file in its native
format, and also keeping the .pcb file focused on the actual specific
layout description rather than extra resource data.

I do like the idea of being able to do version control diffs on .pcb
files easily, but I don't often do this in practice because I find that
I rarely make simple enough changes to the PCB to be easily compared by
eye in text form.  Also, most modern version control tools have support
for some type of plugin or extension for doing customized comparison of
special file types.  For instance, 'bzr qdiff' will show changed image
files (PNG etc.) old and new side-by-side.

> Note that it's been mentioned that PCB's internal "text"
> representation should switch from ASCII-7 to UTF-8, and I agree.

That should be quite simple and painless, right?  Fully


geda-user mailing list