← Back to team overview

kicad-developers team mailing list archive

Re: Stroke font


--- In kicad-devel@xxxxxxxxxxxxxxx, Vesa Solonen <vsolonen@...> wrote:

> Did you guys look at gEDA font system? At least their schematic editor 
> has full international font support (with cairo/pango I think), but I have 
> no idea about the layout side. Peter Clifton did some extensive tweaking 
> of antialiasing hints etc. to make small fonts readable on low resolution 
> displays. I havent used gEDA tools much, but I must say the schematic 
> editor has very good graphics with proper line hinting and selective 
> antialiasing. For quality vector fonts we would need the arc support every 
> where and I think Jean-Pierre said something about it being on the todo 
> list in the distant past (regarding Pcbnew).

I could agree with arc usage, it could be useful sometimes, but you'll needto keep an option to approximate it with lines since there are photoplotters out there that doesn't handle G2 and G3 codes (circular interpolation)... cairo is still way too slow to be used confortably. I mean, 90% of the lines in a schematic is horizontal or vertical, so antialiasing is not an issue. Text drawing with antialiasing on screen could maybe a good thing IF itisn't too slow. Practical example: gerbv using cairo is simply unuseable. I always use it in 'fast with xor mode' because having to wait seconds justfor a pan simply is not acceptable.

In kicad probably you could simply replace the display list processor to use cairo (is it accessible from wx, anyway?) to get a feel on how it would be. Personally, I find that with very busy schematics the refresh already starts to be annoying...

On a 1024x768 I find legibility pretty good at usable zoom levels. And remember that silks are usually done with a fairly coarse grid mesh: our process guarantees only 0,2mm line width, which means 2mm character height using ISO fonts. We also generate the silk as a pdf for documentation purposes (to check component placement). I usually use 0,6mm character height for these (works good up to 0603 components).

IIRC pango only works with type1/freetype fonts, so it can't be used on layouts. Also I don't know what is the effective support for postscript for international fonts: firefox for example sistematically uses the wrong glyph and I think it uses pango (OTOH postscript still uses an 8 bit encoding, ifyou don't use that monstrosity called CID keyed fonts). And of course you would lose HPGL and DXF exports... (for some reason dxf is preferred as 'archival format' rather than pdf. Beats me. And even autodesk reccomends against using freetypes in cad drawings)

So, at the end we need a plotter font anyway for final output. As a compromise we could offer, as an option, pango plotting just on screen to have antialiasing and stuff (this would be subjective, I actually prefer no antialiasing at 1024x768 and more because contrast is better).

Follow ups