kicad-developers team mailing list archive
Mailing list archive
Re: Re: Vector fonts
If I get it correctly your opinion is to simply use OS support for the fonts... that could be OK for 'typical' applications but not for CAD (nor for typography :P:P)
My opinion is that we need to explore using the wxFont API on top of
wxGraphicsContext. I said nothing about wxDC, which as Jean-Pierre
pointed out, is having problems scaling fonts.
And NO, we do not rasterize when drawing to the screen. We let
wxGraphicsContext do what it was designed for.
Inherent in this design path is nearly a complete re-work of all the
other drawing routines, moving them off of wxDC and onto
wxGraphicsContext. Now for plotting, this is a separate subject.
Here we do either a rasterization, or a font outline extraction from
whatever wxFont is in play while drawing on screen.
I do not have strong opinion on which of the 2 techniques for plotting.
Anyway, your plan should be something like:
- Get the font online (with wxFont)
- Render it on a backing store bitmap (using wxDC)
- On screen blit the bitmap, on plot rasterize it.
The intermediate bitmap is needed becausee Windows doesn't do XORed text (or so it says in the docs). If step 1) goes fine, all the rest should work...
XORed text is a relic of the 80's. I think we can simply redraw in the
machines of today. A dirty rect can be sent to the graphics library and
it redraws it. The only time I think we need XORing is when sizing a
rubber-banding graphic selection box.
Again, I have not suggested using a bitmap when drawing on screen. I am
suggesting that we explore wxGraphicsContext's ability to support all
our ON SCREEN drawing needs. We need the ON SCREEN support to be fast,
as well as flexible enough to serve the needs of the international
Thank you for at least trying to understand my curiosities. My
curiosities, if answered/understood, will help to illuminate the best
wxWidgets is a moving target, so it takes some time to gather a current
comprehensive understanding. Recently I stumbled onto wxArt2d, so one
has to ask, what is that for that wxWidgets cannot do? Why was it