|
|
In article <c44kc09bmc7nmpi55ei8k9lbogo1p9lrru@4ax.com>, abx### [at] abxartpl
says...
> On Fri, 11 Jun 2004 13:02:53 -0700, Patrick Elliott <sha### [at] hotmailcom>
> wrote:
> > Has anyone considered designing a special font function that could
> > extract the vector information from TTF type fonts, then employ splines
> > to either warp them along a path or even wrap them around objects?
>
> Do you mean text along spline or spline of curves used to create letter ?
> Both have their pretty accurate workarounds (thought second with external
> tool).
>
> ABX
>
No, I mean taking the vector data straight out of the TTF, so you could
literally place the font onto a spline or object path of some sort.
Optimal would be if you could do:
text {
ttf "timron.ttf" "This is fun" 1, 0
pigment { Red }
path {
sphere {<0,0,0>, 5}
}
}
So it would actually recompute the points the define the font to 'fit'
the sphere.
However, this may not be practical. For example, how do you manage that
if the 'path' is a bicubic batch? A set of splines, say one for each
edge, could be used instead, so it bends the fonts along the 3D path of
the splines. A single letter (or a line of text) could then be bent along
the path, so it ends up rippled, twisted or even folded around to touch
itself. Yes, there are ways to fake it, but none of them can do this so
it is actually right.
I think it has definite benefits over the currently difficult and
complicated placement of every letter, one at a time, especially since
you can't actually 'warp' the letters to fit an object, unless you then
CSG them to cut away the parts that don't fit. Even then, they still are
only 'close' in most case, not actually right. Doing it with existing
methods is a lot of extra work for something that isn't really what you
intended in the first place.
I mean it just seemed to me that since the information in TTF was vector
based anyway, it might be easy to adapt such data to produce this effect.
Would be interesting to see it done by someone. I could care less about
current workarounds. At least at this moment anyway, since I am not
actually working on anything that needs one.
--
void main () {
call functional_code()
else
call crash_windows();
}
Post a reply to this message
|
|