A text() module for OpenSCAD

classic Classic list List threaded Threaded
30 messages Options
12
tp3
Reply | Threaded
Open this post in threaded view
|

A text() module for OpenSCAD

tp3
Hi!

I'm prototyping a text() module that would be able to render TrueType fonts as 2d object in OpenSCAD (using freetype2).

A short description with example is in Issue #512.

If anyone has some ideas or suggestions about that feature, please comment the github issue or respond here...

ciao,
  Torsten.
-- Torsten
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

Felipe Sanches
I'm happy to hear about that!

Are you considering features such as flowing text inside a 2d region?
Take a look at what Inkscape allows one to do with text.
Maybe you'll need to take a look at libpango also.

happy hacking,
Felipe Sanches

On Sat, Oct 26, 2013 at 3:45 PM, tp3 <[hidden email]> wrote:

> Hi!
>
> I'm prototyping a text() module that would be able to render TrueType fonts
> as 2d object in OpenSCAD (using freetype2).
>
> A short description with example is in  Issue #512
> <https://github.com/openscad/openscad/issues/512>  .
>
> If anyone has some ideas or suggestions about that feature, please comment
> the github issue or respond here...
>
> ciao,
>   Torsten.
>
>
>
>
> --
> View this message in context: http://forum.openscad.org/A-text-module-for-OpenSCAD-tp5766.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
> http://openscad.org - https://flattr.com/thing/121566
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
tp3
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

tp3
Felipe Sanches wrote
Are you considering features such as flowing text inside a 2d region?
Take a look at what Inkscape allows one to do with text.
Maybe you'll need to take a look at libpango also.
I did not think about that yet. Also I guess that would certainly be
a feature that would need to go in in a later step. What would be
the use case for that?
I'm coming from the 3d-printing side, so I'm probably not having the
grand picture of where and for what OpenSCAD is used .

ciao,
  Torsten.
-- Torsten
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

G. Wade Johnson
On Sat, 26 Oct 2013 11:59:54 -0700 (PDT)
tp3 <[hidden email]> wrote:

> Felipe Sanches wrote
> > Are you considering features such as flowing text inside a 2d
> > region? Take a look at what Inkscape allows one to do with text.
> > Maybe you'll need to take a look at libpango also.
>
> I did not think about that yet. Also I guess that would certainly be
> a feature that would need to go in in a later step. What would be
> the use case for that?
> I'm coming from the 3d-printing side, so I'm probably not having the
> grand picture of where and for what OpenSCAD is used .

Even without flowing text, a text() module that works would be awesome.
Most of the places in models that I've used text, it's been a single
line, maybe two, usually just 1-3 words.

Thanks for digging into this.

G. Wade
 

> ciao,
>   Torsten.
>
>
>
>
> --
> View this message in context:
> http://forum.openscad.org/A-text-module-for-OpenSCAD-tp5766p5768.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
> _______________________________________________ OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
> http://openscad.org - https://flattr.com/thing/121566


--
Java is a DSL for taking large XML files and converting them to stack
traces                                        -- Bulat Shakirzyanov
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

Alan Cox
In reply to this post by Felipe Sanches
On Sat, 26 Oct 2013 16:06:11 -0200
Felipe Sanches <[hidden email]> wrote:

> I'm happy to hear about that!
>
> Are you considering features such as flowing text inside a 2d region?
> Take a look at what Inkscape allows one to do with text.
> Maybe you'll need to take a look at libpango also.

I think without pango you'll go bananas the moment you try and tackle
internationalisation or even doing western fonts *right*.

Pango does two things

- it understands how fonts and text layout work, in particular it
  understands internationalisation rules, how to render non western
  languages etc

- it fires the resulting drawing objects at a PangoRenderer which is
  traditionally a cairo vector rendering engine or similar

So it's basically the machine for "internationalised text in, 2D objects
out". You could either write your own PangoRenderer or use cairo and
write a simple cairo surface renderer that "renders" to a 2D openscad
object.

Flowing text is less of an issue I think (at least for most uses), but
the idea that rendering text is simply taking the bits from characters
and putting them one after another is a naïve assumption sometimes made.
Rendering is actually really complicated and even English fonts contain
special behaviour (ligatures) for things like "fi"


A bigger problem though is that for a lot of uses a text renderer and a
2D text object is currently utterly useless in openscad. A simple example
is writing elvish runes around a ring. OpenSCAD can do this if you
generate all the curved bits needed by hand, but it has no methods for
wrapping a 2D object around a 3D one.

That's not a text problem, but a fundamental limitation of the current
openscad.

Text would still be very useful and certainly cleaner than doing
inkscape->dxf->openscad import.

Another question though would be what happens about font differences.
Right now a given object is essentially (maths noise apart) the same
output for the same input. This is where the existing whole ugly world of
font embedding and printing rears its head. I guess you'd have to insist
on an exact match or error - or render it to a poly and include the poly
with the packaged object.

Alan
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
tp3
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

tp3
Alan Cox wrote
I think without pango you'll go bananas the moment you try and tackle
internationalisation or even doing western fonts *right*.
When talking about text flow, I agree. If that is going to happen,
probably Pango is the best way to go.

For now I don't really see much problems with internationalisation.
As long as the input is UTF-8, there is not too much to do (well,
I'm ignoring vertical writing for now). RTL i did not try, but that
might just be a positioning issue.

See https://gist.github.com/t-paul/7171783#file-openscad-freetype-5-png.

Kerning is handled by freetype already, and handling that is only
a couple of lines, that are already there. It's just totally untested
as I have to dig out a font that supports it (I think right now
freetype does not support it for TrueType fonts).

Alan Cox wrote
A bigger problem though is that for a lot of uses a text renderer and a
2D text object is currently utterly useless in openscad. A simple example
is writing elvish runes around a ring. OpenSCAD can do this if you
generate all the curved bits needed by hand, but it has no methods for
wrapping a 2D object around a 3D one.

That's not a text problem, but a fundamental limitation of the current
openscad.
Yep. I think a general solution would be much better than one that
is only usable for text.

Alan Cox wrote
Another question though would be what happens about font differences.
Right now a given object is essentially (maths noise apart) the same
output for the same input. This is where the existing whole ugly world of
font embedding and printing rears its head. I guess you'd have to insist
on an exact match or error - or render it to a poly and include the poly
with the packaged object.
I don't understand the issue here. If you change the font parameter,
you'll get a different object. Just like you get a different object when
you change the r values of a circle.
If you use a non-standard font and need really exact results, you'll
have to include the font file in your project.

But... there's an idea. What about a bounding box parameter that would
be used to change the font size so it does fit into the box? This will
probably also not catch all possible cases, but I see some uses where
the actual font can be changed without making the end result completely
useless.

-- Torsten
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

clothbot
On 2013-10-26, at 9:35 PM, tp3 <[hidden email]> wrote:
[deletia]
But... there's an idea. What about a bounding box parameter that would
be used to change the font size so it does fit into the box? This will
probably also not catch all possible cases, but I see some uses where
the actual font can be changed without making the end result completely
useless.

For the more general case of "fit an object in a box" there is the resize() command:


Andrew.

--

"The future is already here.  It's just not very evenly distributed" -- William Gibson

Me: http://clothbot.com/wiki/




_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566

signature.asc (506 bytes) Download Attachment
tp3
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

tp3
clothbot wrote
For the more general case of "fit an object in a box" there is the resize() command:
Right, I forgot it also has the newsize parameter. While this is not
exactly what I had in mind, it's probably good enough for most cases too.

I thought about the parameter being the maximum bounding box and the
font size would be changed to fit into the box maintaining the aspect
ratio instead of forcing both x and y to the size of the box.
-- Torsten
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

kintel
Administrator
On 2013-10-27, at 11:47 AM, tp3 <[hidden email]> wrote:

> I thought about the parameter being the maximum bounding box and the
> font size would be changed to fit into the box maintaining the aspect
> ratio instead of forcing both x and y to the size of the box.
>
resize() supports auto-scaling based on wanted size in one dimension:
 resize([5,0,0], auto=true)

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

Alan Cox
In reply to this post by tp3
On Sat, 26 Oct 2013 18:35:09 -0700 (PDT)
tp3 <[hidden email]> wrote:

> Alan Cox wrote
> > I think without pango you'll go bananas the moment you try and tackle
> > internationalisation or even doing western fonts *right*.
>
> When talking about text flow, I agree. If that is going to happen,
> probably Pango is the best way to go.
>
> For now I don't really see much problems with internationalisation.
> As long as the input is UTF-8, there is not too much to do (well,
> I'm ignoring vertical writing for now). RTL i did not try, but that
> might just be a positioning issue.

Umm - there is a lot more to do. If you have an fi ligature in your font
and you just blindly print 'f' and 'i' you've already gone astray. Let
alone what happens when you print arabic with vowels between two other
letters or when you hit most of the Indian or Chinese fonts or Hebrew
with embedded English words.

The dumb UTF-8 to font parsing process doesn't work for most of the
people on the planet and even for the few languages it does most people
still get it wrong.

Turning "text" into a series of arcs and lines is an incredibly
complicated business even for apparently simple cases. That's why there is
a library set for it.

Alan
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

kintel
Administrator
On 2013-10-27, at 16:04 PM, Alan Cox <[hidden email]> wrote:
>
> Umm - there is a lot more to do. […]

There is potential for spending significant resources on this.
The question is, where do we put reasonable checkpoint on a partially implemented text module?
IMO, if we can have a built-in text module which behaves in a similar way, but simpler to use (no python scripts generating font-data) than Write.scad, we've come a long way.

..then open an issue wishing for a more advanced text module and hope for any takers :)

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

Alan Cox
On Sun, 27 Oct 2013 16:48:39 -0400
Marius Kintel <[hidden email]> wrote:

> On 2013-10-27, at 16:04 PM, Alan Cox <[hidden email]> wrote:
> >
> > Umm - there is a lot more to do. […]
>
> There is potential for spending significant resources on this.
> The question is, where do we put reasonable checkpoint on a partially implemented text module?
> IMO, if we can have a built-in text module which behaves in a similar way, but simpler to use (no python scripts generating font-data) than Write.scad, we've come a long way.

I actually think that the Pango (or Pango/Cairo) path is probably simpler
than doing it wrong.

Pango does all the font hard work and Cairo is designed to provide all
sorts of rendering targets. Cairo already has backends to render to things
like ps and svg so it's got all the bits needed to render to a poly
object in memory.

Remember if you do it right later you may change the output of existing
objects quite significantly which might be most unwelcome.

Alan
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
tp3
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

tp3
Alan Cox wrote
I actually think that the Pango (or Pango/Cairo) path is probably simpler
than doing it wrong.
With what definition of wrong? The very simple code based on
the vector decomposition provided by freetype can render
unicode characters just fine (well, it might need testing on other
operating systems, but still). Check the example picture, this
renders the braile glyphs at U+2800 and the card images at
U+1F0A0.



(Full Size Image)

I've seen many IT/software projects that were aiming to include
every possible feature in the first step, yet they failed horribly
providing exactly nothing in the end. So I'm a big fan of doing
things incrementally, even if that means a bit more work than
what would be required with full hindsight.
This also correlates with the time that I can possibly spend on
such things as I do have a full time day job .

I think the much more important part is not really the layout for the
text, but to make it usable in actual models. This will probably require
some other additions to put the text onto surfaces and such.
-- Torsten
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

Alan Cox
> With what definition of wrong? The very simple code based on
> the vector decomposition provided by freetype can render
> unicode characters just fine (well, it might need testing on other
> operating systems, but still). Check the example picture, this
> renders the braile glyphs at U+2800 and the card images at
> U+1F0A0.

Freetype can render glyphs. It doesn't know how to render combinations
of glyphs - so it can't for example render arabic or greek properly on
its own. Freetype itself doesn't understand contextual shaping - thats
what HarfBuzz is for (or Pango over HarfBuzz and Fribidi)

I keep trying to make this point and you don't appear to be grasping it -
freetype is not sufficient on its own to render text. It's a glyph engine
nothing more. Text is *not* a series of glyphs in isolation.

Freetype renders *fonts*, Pango & Harfbuzz render *text*. They are not
the same thing, not remotely. FreeType 1.x used to do some basic (very
basic) text rendering, it was removed from FreeType 2.x.

> I think the much more important part is not really the layout for the
> text, but to make it usable in actual models. This will probably require
> some other additions to put the text onto surfaces and such.

I think your point about every feature is well made, I just want it to be
clear that there is more to rendering a word than printing glyphs one
after another. It doesn't actually work like that in the real world. It's
not about getting it working and improving it, it's about starting from
the wrong place and producing the wrong result.

The half way house is to use HarfBuzz. Without HarfBuzz you are not
implementing anything that could be called "text" in the real world as
you have no shaper.

Learn a little about "Contextual Shaping", it's a rather important part
of actually rendering text.

It's a stack of things

Freetype does glyphs
Harfbuzz shapes the glyphs so you get the right results when you put
several of them together
Pango sits on top of this and understands internationalisation special
cases and all sorts of other deep magic.

Contextual shaping is basically a mandatory part of rendering opentype
style fonts so you need to at least be at the Harfbuzz layer of the stack.

Take a look at

https://github.com/lxnt/ex-sdl-freetype-harfbuzz/blob/master/ex-sdl-freetype-harfbuzz.c

this example is using it with freetype in an SDL bitmap environment but
it shows how harfbuzz is used before you go render the glyphs so that you
actually print the right thing.

Alan
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
tp3
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

tp3
Alan Cox wrote
I keep trying to make this point and you don't appear to be grasping it -
freetype is not sufficient on its own to render text. It's a glyph engine
nothing more. Text is *not* a series of glyphs in isolation.
Oh, I do. I'm just not sure if that stretches the topic to a length that
is not possible to handle. I will have a look if Pango can be used in
this context. I've used it in combination with Cairo, so I know it's a
great library and I'm even a big fan of glib. But that will also need the
decision to accept the bigger list of dependencies (which should be ok,
from my view).
-- Torsten
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

Kenneth Sloan
A suggestion: text is, indeed, complicated.  It may well be that the knowledge base, skill-set, and
INTEREST in these details may not combine well with the core capabilities needed by OpenSCAD.

Instead of haggling over the right way to handle Klingon text - I would rather see a simpler way of importing 2D polygonal data into OpenSCAD files.  DXF seems (to me) to be too closely bound with a particular company.  Writing .scad code for a module is acceptable, but just feels a bit clunky.

My usual approach for "decorations" is to use "whatever is appropriate" to generate a 2D binary image, and then
convert the binary image into STL, which imports easily and naturally.

Text is easy (I often simply use "Word" and take a screenshot!).  Warping text is not too hard.

The benefit of such a "minimal" effort is that *any* 2D binary image can be imported using this mechanism.

Perhaps the best balance is a MINIMAL text feature that does not attempt to handle kerning and Klingon (but does allow
for basic text decoration of objects) combined with an improved method of importing arbitrary 2D binary images (either as 2D objects or as solids (extrude the 2D to some standard depth).

Based on the current discussion, I fear that "the excellent is the enemy of the good".

--
Kenneth Sloan
[hidden email]


On Oct 27, 2013, at 18:40 , tp3 <[hidden email]> wrote:

> Alan Cox wrote
>> I keep trying to make this point and you don't appear to be grasping it -
>> freetype is not sufficient on its own to render text. It's a glyph engine
>> nothing more. Text is *not* a series of glyphs in isolation.
>
> Oh, I do. I'm just not sure if that stretches the topic to a length that
> is not possible to handle. I will have a look if Pango can be used in
> this context. I've used it in combination with Cairo, so I know it's a
> great library and I'm even a big fan of glib. But that will also need the
> decision to accept the bigger list of dependencies (which should be ok,
> from my view).
>
>
>
> --
> View this message in context: http://forum.openscad.org/A-text-module-for-OpenSCAD-tp5766p5786.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
> http://openscad.org - https://flattr.com/thing/121566

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

Alan Cox
> Instead of haggling over the right way to handle Klingon text - I would rather see a simpler way of importing 2D polygonal data into OpenSCAD files.  DXF seems (to me) to be too closely bound with a particular company.  Writing .scad code for a module is acceptable, but just feels a bit clunky.

I've been using xfig for my own hacks. It's a trivial format that is easy
to parse into poly objects. Also a little tool that combines potrace and
this so I can simply import bitmaps, which is often useful for things
like logos and decorative stuff.

> Perhaps the best balance is a MINIMAL text feature that does not attempt to handle kerning and Klingon (but does allow
> for basic text decoration of objects) combined with an improved method of importing arbitrary 2D binary images (either as 2D objects or as solids (extrude the 2D to some standard depth).

Klingon is easy 8)

> Based on the current discussion, I fear that "the excellent is the enemy of the good".

To some extent yes. Doing fully wrapped hyphenated text is with drop
capitals and css styling would certainly be overdoing it 8)

Alan
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

Alan Cox
In reply to this post by tp3
On Sun, 27 Oct 2013 16:40:07 -0700 (PDT)
tp3 <[hidden email]> wrote:

> Alan Cox wrote
> > I keep trying to make this point and you don't appear to be grasping it -
> > freetype is not sufficient on its own to render text. It's a glyph engine
> > nothing more. Text is *not* a series of glyphs in isolation.
>
> Oh, I do. I'm just not sure if that stretches the topic to a length that
> is not possible to handle. I will have a look if Pango can be used in
> this context. I've used it in combination with Cairo, so I know it's a
> great library and I'm even a big fan of glib. But that will also need the
> decision to accept the bigger list of dependencies (which should be ok,
> from my view).

If it's just doing shaping for now then harfbuzz only needs glib and
freetype although depending upon how you build the library it may want
more.

Alan


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

Jeff Senn-2
In reply to this post by tp3
Torsten -  

What I did when I needed this feature for a project awhile ago was to whip up
a ttf importer that created a DXF with dimension information from the font metrics.

Take a look here (might get you started):

http://www.thingiverse.com/thing:96714

I had always planned to go back and (as a simple thing, short of general layout)
implement a 2D importer directly against freetype as part of OpenSCAD.

I believe for OpenSCAD that is a simple thing that merely requires a dependency on the
freetype libraries - which is pretty normal these days.  The difficulty when
going much past simple variable width glyph layout (that can be accomplished with
simple font metrics -- especially in a piece of cross-platform software -- is
quite sizable.  

-Jas

On Oct 26, 2013, at 1:45 PM, tp3 <[hidden email]> wrote:

> Hi!
>
> I'm prototyping a text() module that would be able to render TrueType fonts
> as 2d object in OpenSCAD (using freetype2).
>
> A short description with example is in  Issue #512
> <https://github.com/openscad/openscad/issues/512>  .
>
> If anyone has some ideas or suggestions about that feature, please comment
> the github issue or respond here...
>
> ciao,
>  Torsten.
>
>
>
>
> --
> View this message in context: http://forum.openscad.org/A-text-module-for-OpenSCAD-tp5766.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
> http://openscad.org - https://flattr.com/thing/121566
>

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
Reply | Threaded
Open this post in threaded view
|

Re: A text() module for OpenSCAD

tjhowse
Though it is slightly off-topic, I too support the idea of a robust monochrome bitmap->heightmap importer. There are a few around, but I've not had much success using them for larger (512x256) resolutions.


On 28 October 2013 22:42, Jeff Senn <[hidden email]> wrote:
Torsten -

What I did when I needed this feature for a project awhile ago was to whip up
a ttf importer that created a DXF with dimension information from the font metrics.

Take a look here (might get you started):

http://www.thingiverse.com/thing:96714

I had always planned to go back and (as a simple thing, short of general layout)
implement a 2D importer directly against freetype as part of OpenSCAD.

I believe for OpenSCAD that is a simple thing that merely requires a dependency on the
freetype libraries - which is pretty normal these days.  The difficulty when
going much past simple variable width glyph layout (that can be accomplished with
simple font metrics -- especially in a piece of cross-platform software -- is
quite sizable.

-Jas

On Oct 26, 2013, at 1:45 PM, tp3 <[hidden email]> wrote:

> Hi!
>
> I'm prototyping a text() module that would be able to render TrueType fonts
> as 2d object in OpenSCAD (using freetype2).
>
> A short description with example is in  Issue #512
> <https://github.com/openscad/openscad/issues/512>  .
>
> If anyone has some ideas or suggestions about that feature, please comment
> the github issue or respond here...
>
> ciao,
>  Torsten.
>
>
>
>
> --
> View this message in context: http://forum.openscad.org/A-text-module-for-OpenSCAD-tp5766.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
> http://openscad.org - https://flattr.com/thing/121566
>

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566
12