RW
Raymond West
Sun, Aug 11, 2024 11:42 PM
The furniture was the odd bits of 'lead;' that was not text, used to
space and lay out the text and individual letters correctly, generally
packing. I stated in my suggestion for an openscad solution that the
initial spacing would be fixed. At the moment, afaik, there is no
obvious width measurement for characters in openscad, certainly not for
various letter combinations, or ones that would work on curved lines. I
suggested the widest character so that you would be able to fit them in
the available space. I then said decrease the spacing as required (I
guessed folk would understand that was for the individual characters
where needed, and it would probably necessary to increase the font size
at the same time). This process can be labour-intensive but is
necessary for achieving high-quality results in custom text. Fitting
text into a space, odd shapes, etc, is an art form, and sometimes it
requires distortion of the individual letter shapes. But the example
that the op mentioned was less than 25 upper case letters (including a
couple of numbers), most likely with some time deadline, so the most
pragmatic approach is probably to position the characters manually, more
or less, or use some other software.
In my experience designing fonts for Seikosha printers (over 30 years
ago now) and more recently creating G-code for machining text for
'wooden' furniture manufacturers as well as designing and making
memorial plaques, I've had to balance between practical constraints and
artistic considerations. Other than for comparatively recent fdm
printing, I have never bothered with openscad for any text, iirc, but it
could be interesting.
On 11/08/2024 22:50, Adrian Mariano via Discuss wrote:
Why would you base your text spacing on the widest character? That
would look ridiculous. You base your initial spacing on the actual
width of the letters. For most letter pairs, no adjustment is needed
beyond that. But the way that this is suboptimal is that it doesn't
account for cases where the bounding boxes of the characters should
overlap. From what Jordan says, it sounds like OpenSCAD doesn't even
do fine kerning when you directly ask it for text. I don't know what
you are talking about with "furniture pieces". The way kerning was
accomplished in the days of lead type was that the type wasn't a
rectangle but actually had overhanging sections that could be
positioned into the notional bounding box of the adjacent letter.
Unless you're a typography expert, it's likely that your notion of
what "looks right" for kerning will be underdeveloped.
On Sun, Aug 11, 2024 at 4:50 PM Raymond West via Discuss
discuss@lists.openscad.org wrote:
The idea of kerning, is such that viewed from a distance (apart
from blank lines/paragraphs and the like), the page looks a
uniform shade of grey. It needs to be different for each character
combination. In straight line text, as you've mentioned, it is
achievable to a lesser or greater extent, but on curved lines,
then that becomes a separate issue. Manual typesetters, in the old
lead font days had furniture pieces to get the correct spacing. It
depends very much on the type of font, as to how easy it to
achieve 'correctness', and if the font is bold or italic, you will
need to start over. It is perfectly doable, for 30 or so
characters, to manually specify, say, the bottom lh corner, and
the angle for each character. Openscad responds quickly enough
that it can be tested as you position each character. The result
will be most likely far superior to any mathematically
automatically generated solution based on preconceived values, in
an attempt to cover every situation. Still, use comic sans, and
the necessity for kerning disappears.
Usually, a 'W' is the widest character, so if it is, say, 10mm
wide, then perhaps initially allow a spacing of 12 mm between
characters. Space the the other characters at 12 mm spacing, see
how it looks, and decrease the spacing as required so that it
'looks right'. a module with character, xy, and angle parameters
would speed the process (for some regular paths, the angle could
be calculated from the xy values). Of course, it depends on 'how
good your eye is', but that also depends on whoever designs some
mathematical solutions, and I've seen some not so good TrueType
fonts, and others.
On 11/08/2024 19:48, Adrian Mariano via Discuss wrote:
Yes, the point of path_text is that it consults the text metrics
to space the letters as well as possible and it also does the
necessary interpolation along the curve you provide to find the
correct letter positions and computes the normal to the curve so
it can produce the proper letter orientation.
Kerning is making tiny adjustments for specific combinations of
letters like perhaps adjusting AV so that the two letters are
closer together because their shapes enable them to fit together
more tightly than their bounding boxes would suggest. Only people
who are very attuned to typography are going to notice that
kerning is missing. I wonder if I could get kerning data out of
textmetrics by asking for the metrics on pairs of letters and
then also singleton letters and looking at how they differ.
Would that work, Jordan? Like if the advance of "AV" is 2 and
the advance of A and V separately is 2.2 then would that mean
that the advance of A should be reduced by 0.2 before placing the
V to get the kerning? Of course, the weakness of doing this is
that ligatures would mess it up.
On Sun, Aug 11, 2024 at 1:48 PM Jordan Brown via Discuss
<discuss@lists.openscad.org> wrote:
I’m on my iPad and so can’t experiment, and (bad me) didn’t
actually look at the program in detail.
The problem is lack of proportional spacing. A sans-serif I
is very thin, so giving it the same amount of space as other
characters looks very wrong. With the development snapshot
you can use textmetrics() to get actual dimensions - you
probably want the “advance” value - but it will be less than
totally fun to use that to position the characters. Probably
you want to call textmetrics() on each individual character
to get its dimensions, put those in an array, convert that
into a running-sum array, and use *that* for positioning.
I believe Adrian pointed at a BOSL2 function that will do
that grunge work for you; that’s probably easiest.
That will probably address your problem.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
The furniture was the odd bits of 'lead;' that was not text, used to
space and lay out the text and individual letters correctly, generally
packing. I stated in my suggestion for an openscad solution that the
initial spacing would be fixed. At the moment, afaik, there is no
obvious width measurement for characters in openscad, certainly not for
various letter combinations, or ones that would work on curved lines. I
suggested the widest character so that you would be able to fit them in
the available space. I then said decrease the spacing as required (I
guessed folk would understand that was for the individual characters
where needed, and it would probably necessary to increase the font size
at the same time). This process can be labour-intensive but is
necessary for achieving high-quality results in custom text. Fitting
text into a space, odd shapes, etc, is an art form, and sometimes it
requires distortion of the individual letter shapes. But the example
that the op mentioned was less than 25 upper case letters (including a
couple of numbers), most likely with some time deadline, so the most
pragmatic approach is probably to position the characters manually, more
or less, or use some other software.
In my experience designing fonts for Seikosha printers (over 30 years
ago now) and more recently creating G-code for machining text for
'wooden' furniture manufacturers as well as designing and making
memorial plaques, I've had to balance between practical constraints and
artistic considerations. Other than for comparatively recent fdm
printing, I have never bothered with openscad for any text, iirc, but it
could be interesting.
On 11/08/2024 22:50, Adrian Mariano via Discuss wrote:
> Why would you base your text spacing on the widest character? That
> would look ridiculous. You base your initial spacing on the actual
> width of the letters. For most letter pairs, no adjustment is needed
> beyond that. But the way that this is suboptimal is that it doesn't
> account for cases where the bounding boxes of the characters should
> overlap. From what Jordan says, it sounds like OpenSCAD doesn't even
> do fine kerning when you directly ask it for text. I don't know what
> you are talking about with "furniture pieces". The way kerning was
> accomplished in the days of lead type was that the type wasn't a
> rectangle but actually had overhanging sections that could be
> positioned into the notional bounding box of the adjacent letter.
> Unless you're a typography expert, it's likely that your notion of
> what "looks right" for kerning will be underdeveloped.
>
> On Sun, Aug 11, 2024 at 4:50 PM Raymond West via Discuss
> <discuss@lists.openscad.org> wrote:
>
> The idea of kerning, is such that viewed from a distance (apart
> from blank lines/paragraphs and the like), the page looks a
> uniform shade of grey. It needs to be different for each character
> combination. In straight line text, as you've mentioned, it is
> achievable to a lesser or greater extent, but on curved lines,
> then that becomes a separate issue. Manual typesetters, in the old
> lead font days had furniture pieces to get the correct spacing. It
> depends very much on the type of font, as to how easy it to
> achieve 'correctness', and if the font is bold or italic, you will
> need to start over. It is perfectly doable, for 30 or so
> characters, to manually specify, say, the bottom lh corner, and
> the angle for each character. Openscad responds quickly enough
> that it can be tested as you position each character. The result
> will be most likely far superior to any mathematically
> automatically generated solution based on preconceived values, in
> an attempt to cover every situation. Still, use comic sans, and
> the necessity for kerning disappears.
>
> Usually, a 'W' is the widest character, so if it is, say, 10mm
> wide, then perhaps initially allow a spacing of 12 mm between
> characters. Space the the other characters at 12 mm spacing, see
> how it looks, and decrease the spacing as required so that it
> 'looks right'. a module with character, xy, and angle parameters
> would speed the process (for some regular paths, the angle could
> be calculated from the xy values). Of course, it depends on 'how
> good your eye is', but that also depends on whoever designs some
> mathematical solutions, and I've seen some not so good TrueType
> fonts, and others.
>
> On 11/08/2024 19:48, Adrian Mariano via Discuss wrote:
>> Yes, the point of path_text is that it consults the text metrics
>> to space the letters as well as possible and it also does the
>> necessary interpolation along the curve you provide to find the
>> correct letter positions and computes the normal to the curve so
>> it can produce the proper letter orientation.
>>
>> Kerning is making tiny adjustments for specific combinations of
>> letters like perhaps adjusting AV so that the two letters are
>> closer together because their shapes enable them to fit together
>> more tightly than their bounding boxes would suggest. Only people
>> who are very attuned to typography are going to notice that
>> kerning is missing. I wonder if I could get kerning data out of
>> textmetrics by asking for the metrics on pairs of letters and
>> then also singleton letters and looking at how they differ.
>> Would that work, Jordan? Like if the advance of "AV" is 2 and
>> the advance of A and V separately is 2.2 then would that mean
>> that the advance of A should be reduced by 0.2 before placing the
>> V to get the kerning? Of course, the weakness of doing this is
>> that ligatures would mess it up.
>>
>> On Sun, Aug 11, 2024 at 1:48 PM Jordan Brown via Discuss
>> <discuss@lists.openscad.org> wrote:
>>
>> I’m on my iPad and so can’t experiment, and (bad me) didn’t
>> actually look at the program in detail.
>>
>> The problem is lack of proportional spacing. A sans-serif I
>> is very thin, so giving it the same amount of space as other
>> characters looks very wrong. With the development snapshot
>> you can use textmetrics() to get actual dimensions - you
>> probably want the “advance” value - but it will be less than
>> totally fun to use that to position the characters. Probably
>> you want to call textmetrics() on each individual character
>> to get its dimensions, put those in an array, convert that
>> into a running-sum array, and use *that* for positioning.
>>
>> I believe Adrian pointed at a BOSL2 function that will do
>> that grunge work for you; that’s probably easiest.
>>
>> That will probably address your problem.
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email todiscuss-leave@lists.openscad.org
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email todiscuss-leave@lists.openscad.org
AM
Adrian Mariano
Mon, Aug 12, 2024 12:22 AM
With the dev version of OpenSCAD there is measurement for single
characters or in fact for any piece of text using the textmetrics feature.
Based on what Jordan said it sounds like the OpenSCAD text placement does
not do kerning, though, and of course any adjustment for layout on a curve
would have to be done manually. But starting from the OpenSCAD layout
would surely be easier than starting from uniform spacing based on the
widest letter, especially for the average user who does NOT have your
expertise with typography. How offensive do you find my example from a few
messages back where I redid the medal? That's entirely automated using the
textmetrics, with no fiddly adjustment.
On Sun, Aug 11, 2024 at 7:43 PM Raymond West via Discuss <
discuss@lists.openscad.org> wrote:
The furniture was the odd bits of 'lead;' that was not text, used to space
and lay out the text and individual letters correctly, generally packing. I
stated in my suggestion for an openscad solution that the initial spacing
would be fixed. At the moment, afaik, there is no obvious width measurement
for characters in openscad, certainly not for various letter combinations,
or ones that would work on curved lines. I suggested the widest character
so that you would be able to fit them in the available space. I then said
decrease the spacing as required (I guessed folk would understand that was
for the individual characters where needed, and it would probably necessary
to increase the font size at the same time). This process can be
labour-intensive but is necessary for achieving high-quality results in
custom text. Fitting text into a space, odd shapes, etc, is an art form,
and sometimes it requires distortion of the individual letter shapes. But
the example that the op mentioned was less than 25 upper case letters
(including a couple of numbers), most likely with some time deadline, so
the most pragmatic approach is probably to position the characters
manually, more or less, or use some other software.
In my experience designing fonts for Seikosha printers (over 30 years ago
now) and more recently creating G-code for machining text for 'wooden'
furniture manufacturers as well as designing and making memorial plaques,
I've had to balance between practical constraints and artistic
considerations. Other than for comparatively recent fdm printing, I have
never bothered with openscad for any text, iirc, but it could be
interesting.
On 11/08/2024 22:50, Adrian Mariano via Discuss wrote:
Why would you base your text spacing on the widest character? That would
look ridiculous. You base your initial spacing on the actual width of the
letters. For most letter pairs, no adjustment is needed beyond that. But
the way that this is suboptimal is that it doesn't account for cases where
the bounding boxes of the characters should overlap. From what Jordan
says, it sounds like OpenSCAD doesn't even do fine kerning when you
directly ask it for text. I don't know what you are talking about with
"furniture pieces". The way kerning was accomplished in the days of lead
type was that the type wasn't a rectangle but actually had overhanging
sections that could be positioned into the notional bounding box of the
adjacent letter. Unless you're a typography expert, it's likely that your
notion of what "looks right" for kerning will be underdeveloped.
On Sun, Aug 11, 2024 at 4:50 PM Raymond West via Discuss <
discuss@lists.openscad.org> wrote:
The idea of kerning, is such that viewed from a distance (apart from
blank lines/paragraphs and the like), the page looks a uniform shade of
grey. It needs to be different for each character combination. In straight
line text, as you've mentioned, it is achievable to a lesser or greater
extent, but on curved lines, then that becomes a separate issue. Manual
typesetters, in the old lead font days had furniture pieces to get the
correct spacing. It depends very much on the type of font, as to how easy
it to achieve 'correctness', and if the font is bold or italic, you will
need to start over. It is perfectly doable, for 30 or so characters, to
manually specify, say, the bottom lh corner, and the angle for each
character. Openscad responds quickly enough that it can be tested as you
position each character. The result will be most likely far superior to any
mathematically automatically generated solution based on preconceived
values, in an attempt to cover every situation. Still, use comic sans, and
the necessity for kerning disappears.
Usually, a 'W' is the widest character, so if it is, say, 10mm wide, then
perhaps initially allow a spacing of 12 mm between characters. Space the
the other characters at 12 mm spacing, see how it looks, and decrease the
spacing as required so that it 'looks right'. a module with character, xy,
and angle parameters would speed the process (for some regular paths, the
angle could be calculated from the xy values). Of course, it depends on
'how good your eye is', but that also depends on whoever designs some
mathematical solutions, and I've seen some not so good TrueType fonts, and
others.
On 11/08/2024 19:48, Adrian Mariano via Discuss wrote:
Yes, the point of path_text is that it consults the text metrics to space
the letters as well as possible and it also does the necessary
interpolation along the curve you provide to find the correct letter
positions and computes the normal to the curve so it can produce the proper
letter orientation.
Kerning is making tiny adjustments for specific combinations of letters
like perhaps adjusting AV so that the two letters are closer together
because their shapes enable them to fit together more tightly than their
bounding boxes would suggest. Only people who are very attuned to
typography are going to notice that kerning is missing. I wonder if I
could get kerning data out of textmetrics by asking for the metrics on
pairs of letters and then also singleton letters and looking at how they
differ. Would that work, Jordan? Like if the advance of "AV" is 2 and
the advance of A and V separately is 2.2 then would that mean that the
advance of A should be reduced by 0.2 before placing the V to get the
kerning? Of course, the weakness of doing this is that ligatures would
mess it up.
On Sun, Aug 11, 2024 at 1:48 PM Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
I’m on my iPad and so can’t experiment, and (bad me) didn’t actually
look at the program in detail.
The problem is lack of proportional spacing. A sans-serif I is very
thin, so giving it the same amount of space as other characters looks very
wrong. With the development snapshot you can use textmetrics() to get
actual dimensions - you probably want the “advance” value - but it will be
less than totally fun to use that to position the characters. Probably you
want to call textmetrics() on each individual character to get its
dimensions, put those in an array, convert that into a running-sum array,
and use that for positioning.
I believe Adrian pointed at a BOSL2 function that will do that grunge
work for you; that’s probably easiest.
That will probably address your problem.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
With the dev version of OpenSCAD there *is* measurement for single
characters or in fact for any piece of text using the textmetrics feature.
Based on what Jordan said it sounds like the OpenSCAD text placement does
not do kerning, though, and of course any adjustment for layout on a curve
would have to be done manually. But starting from the OpenSCAD layout
would surely be easier than starting from uniform spacing based on the
widest letter, especially for the average user who does NOT have your
expertise with typography. How offensive do you find my example from a few
messages back where I redid the medal? That's entirely automated using the
textmetrics, with no fiddly adjustment.
On Sun, Aug 11, 2024 at 7:43 PM Raymond West via Discuss <
discuss@lists.openscad.org> wrote:
> The furniture was the odd bits of 'lead;' that was not text, used to space
> and lay out the text and individual letters correctly, generally packing. I
> stated in my suggestion for an openscad solution that the initial spacing
> would be fixed. At the moment, afaik, there is no obvious width measurement
> for characters in openscad, certainly not for various letter combinations,
> or ones that would work on curved lines. I suggested the widest character
> so that you would be able to fit them in the available space. I then said
> decrease the spacing as required (I guessed folk would understand that was
> for the individual characters where needed, and it would probably necessary
> to increase the font size at the same time). This process can be
> labour-intensive but is necessary for achieving high-quality results in
> custom text. Fitting text into a space, odd shapes, etc, is an art form,
> and sometimes it requires distortion of the individual letter shapes. But
> the example that the op mentioned was less than 25 upper case letters
> (including a couple of numbers), most likely with some time deadline, so
> the most pragmatic approach is probably to position the characters
> manually, more or less, or use some other software.
>
> In my experience designing fonts for Seikosha printers (over 30 years ago
> now) and more recently creating G-code for machining text for 'wooden'
> furniture manufacturers as well as designing and making memorial plaques,
> I've had to balance between practical constraints and artistic
> considerations. Other than for comparatively recent fdm printing, I have
> never bothered with openscad for any text, iirc, but it could be
> interesting.
> On 11/08/2024 22:50, Adrian Mariano via Discuss wrote:
>
> Why would you base your text spacing on the widest character? That would
> look ridiculous. You base your initial spacing on the actual width of the
> letters. For most letter pairs, no adjustment is needed beyond that. But
> the way that this is suboptimal is that it doesn't account for cases where
> the bounding boxes of the characters should overlap. From what Jordan
> says, it sounds like OpenSCAD doesn't even do fine kerning when you
> directly ask it for text. I don't know what you are talking about with
> "furniture pieces". The way kerning was accomplished in the days of lead
> type was that the type wasn't a rectangle but actually had overhanging
> sections that could be positioned into the notional bounding box of the
> adjacent letter. Unless you're a typography expert, it's likely that your
> notion of what "looks right" for kerning will be underdeveloped.
>
> On Sun, Aug 11, 2024 at 4:50 PM Raymond West via Discuss <
> discuss@lists.openscad.org> wrote:
>
>> The idea of kerning, is such that viewed from a distance (apart from
>> blank lines/paragraphs and the like), the page looks a uniform shade of
>> grey. It needs to be different for each character combination. In straight
>> line text, as you've mentioned, it is achievable to a lesser or greater
>> extent, but on curved lines, then that becomes a separate issue. Manual
>> typesetters, in the old lead font days had furniture pieces to get the
>> correct spacing. It depends very much on the type of font, as to how easy
>> it to achieve 'correctness', and if the font is bold or italic, you will
>> need to start over. It is perfectly doable, for 30 or so characters, to
>> manually specify, say, the bottom lh corner, and the angle for each
>> character. Openscad responds quickly enough that it can be tested as you
>> position each character. The result will be most likely far superior to any
>> mathematically automatically generated solution based on preconceived
>> values, in an attempt to cover every situation. Still, use comic sans, and
>> the necessity for kerning disappears.
>>
>> Usually, a 'W' is the widest character, so if it is, say, 10mm wide, then
>> perhaps initially allow a spacing of 12 mm between characters. Space the
>> the other characters at 12 mm spacing, see how it looks, and decrease the
>> spacing as required so that it 'looks right'. a module with character, xy,
>> and angle parameters would speed the process (for some regular paths, the
>> angle could be calculated from the xy values). Of course, it depends on
>> 'how good your eye is', but that also depends on whoever designs some
>> mathematical solutions, and I've seen some not so good TrueType fonts, and
>> others.
>> On 11/08/2024 19:48, Adrian Mariano via Discuss wrote:
>>
>> Yes, the point of path_text is that it consults the text metrics to space
>> the letters as well as possible and it also does the necessary
>> interpolation along the curve you provide to find the correct letter
>> positions and computes the normal to the curve so it can produce the proper
>> letter orientation.
>>
>> Kerning is making tiny adjustments for specific combinations of letters
>> like perhaps adjusting AV so that the two letters are closer together
>> because their shapes enable them to fit together more tightly than their
>> bounding boxes would suggest. Only people who are very attuned to
>> typography are going to notice that kerning is missing. I wonder if I
>> could get kerning data out of textmetrics by asking for the metrics on
>> pairs of letters and then also singleton letters and looking at how they
>> differ. Would that work, Jordan? Like if the advance of "AV" is 2 and
>> the advance of A and V separately is 2.2 then would that mean that the
>> advance of A should be reduced by 0.2 before placing the V to get the
>> kerning? Of course, the weakness of doing this is that ligatures would
>> mess it up.
>>
>> On Sun, Aug 11, 2024 at 1:48 PM Jordan Brown via Discuss <
>> discuss@lists.openscad.org> wrote:
>>
>>> I’m on my iPad and so can’t experiment, and (bad me) didn’t actually
>>> look at the program in detail.
>>>
>>> The problem is lack of proportional spacing. A sans-serif I is very
>>> thin, so giving it the same amount of space as other characters looks very
>>> wrong. With the development snapshot you can use textmetrics() to get
>>> actual dimensions - you probably want the “advance” value - but it will be
>>> less than totally fun to use that to position the characters. Probably you
>>> want to call textmetrics() on each individual character to get its
>>> dimensions, put those in an array, convert that into a running-sum array,
>>> and use *that* for positioning.
>>>
>>> I believe Adrian pointed at a BOSL2 function that will do that grunge
>>> work for you; that’s probably easiest.
>>>
>>> That will probably address your problem.
>>> _______________________________________________
>>> OpenSCAD mailing list
>>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>>
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
GH
gene heskett
Mon, Aug 12, 2024 4:42 AM
On 8/11/24 19:43, Raymond West via Discuss wrote:
The furniture was the odd bits of 'lead;' that was not text, used to
space and lay out the text and individual letters correctly, generally
packing. I stated in my suggestion for an openscad solution that the
initial spacing would be fixed. At the moment, afaik, there is no
obvious width measurement for characters in openscad, certainly not for
various letter combinations, or ones that would work on curved lines. I
suggested the widest character so that you would be able to fit them in
the available space. I then said decrease the spacing as required (I
guessed folk would understand that was for the individual characters
where needed, and it would probably necessary to increase the font size
at the same time). This process can be labour-intensive but is
necessary for achieving high-quality results in custom text. Fitting
text into a space, odd shapes, etc, is an art form, and sometimes it
requires distortion of the individual letter shapes. But the example
that the op mentioned was less than 25 upper case letters (including a
couple of numbers), most likely with some time deadline, so the most
pragmatic approach is probably to position the characters manually, more
or less, or use some other software.
In my experience designing fonts for Seikosha printers (over 30 years
ago now) and more recently creating G-code for machining text for
'wooden' furniture manufacturers as well as designing and making
memorial plaques, I've had to balance between practical constraints and
artistic considerations. Other than for comparatively recent fdm
printing, I have never bothered with openscad for any text, iirc, but it
could be interesting.
On 11/08/2024 22:50, Adrian Mariano via Discuss wrote:
Why would you base your text spacing on the widest character? That
would look ridiculous. You base your initial spacing on the actual
width of the letters. For most letter pairs, no adjustment is needed
beyond that. But the way that this is suboptimal is that it doesn't
account for cases where the bounding boxes of the characters should
overlap. From what Jordan says, it sounds like OpenSCAD doesn't even
do fine kerning when you directly ask it for text. I don't know what
you are talking about with "furniture pieces". The way kerning was
accomplished in the days of lead type was that the type wasn't a
rectangle but actually had overhanging sections that could be
positioned into the notional bounding box of the adjacent letter.
Unless you're a typography expert, it's likely that your notion of
what "looks right" for kerning will be underdeveloped.
On Sun, Aug 11, 2024 at 4:50 PM Raymond West via Discuss
discuss@lists.openscad.org wrote:
The idea of kerning, is such that viewed from a distance (apart
from blank lines/paragraphs and the like), the page looks a
uniform shade of grey. It needs to be different for each character
combination. In straight line text, as you've mentioned, it is
achievable to a lesser or greater extent, but on curved lines,
then that becomes a separate issue. Manual typesetters, in the old
lead font days had furniture pieces to get the correct spacing. It
depends very much on the type of font, as to how easy it to
achieve 'correctness', and if the font is bold or italic, you will
need to start over. It is perfectly doable, for 30 or so
characters, to manually specify, say, the bottom lh corner, and
the angle for each character. Openscad responds quickly enough
that it can be tested as you position each character. The result
will be most likely far superior to any mathematically
automatically generated solution based on preconceived values, in
an attempt to cover every situation. Still, use comic sans, and
the necessity for kerning disappears.
Usually, a 'W' is the widest character, so if it is, say, 10mm
wide, then perhaps initially allow a spacing of 12 mm between
characters. Space the the other characters at 12 mm spacing, see
how it looks, and decrease the spacing as required so that it
'looks right'. a module with character, xy, and angle parameters
would speed the process (for some regular paths, the angle could
be calculated from the xy values). Of course, it depends on 'how
good your eye is', but that also depends on whoever designs some
mathematical solutions, and I've seen some not so good TrueType
fonts, and others.
Whats wrong with TrueType? And/or whatever font openscad calls up on its
own with no includes. That is how the origonal machine ran. The half
nut for my woodworker vice has 3 sides available to engrave the tooth
id and size diff on it, so I do that on both sides. Using klipper, all
the little corners so close together make the printer slow to 5mm/sec as
it turns the corner. With stock movement motors the Ender5plus printer
will lose Y home at more than 20mm speeds. With the new stepper/servo
motors running on 72 volts, this works well at 150mm/sec, without any
input shaping. These motors can reverse a motor that has over shot its
last command, instantly. Normal steppers will overshoot up to 7
microsteps smearing the character. The controller can reverse the motor
when it has reached its position, stopping this overshoot because it has
a much higher voltage. And can use the full output of a 600 watt supply
to do it, might take a millisecond. Another advantage you can see in
your power bill. These motors get only the current needed to get to
where it is supposed to be, so in normal service it runs cold, where a
normal stepper runs at full current all the time. In some cases burn
your hand touching the hot motor, that is wasted heat you pay for in the
power bill for the month. Extra cost per axis is around $100, much of it
is the controller/driver, it is not stepstick stuff. So you put signal
stealers in the stepstick socket and wire 5 circuits from the driver
card in the printer to the frame mounted motor driver, for 5 volts,
ground, step, dir & enable. All opto isolated which is a speed limit due
to the opto's of 2500 to 3000 rpm. W/o that optos the motor could do
10,000 rpms.
be driver to thr On 11/08/2024 19:48, Adrian Mariano via Discuss wrote:
Yes, the point of path_text is that it consults the text metrics
to space the letters as well as possible and it also does the
necessary interpolation along the curve you provide to find the
correct letter positions and computes the normal to the curve so
it can produce the proper letter orientation.
Kerning is making tiny adjustments for specific combinations of
letters like perhaps adjusting AV so that the two letters are
closer together because their shapes enable them to fit together
more tightly than their bounding boxes would suggest. Only people
who are very attuned to typography are going to notice that
kerning is missing. I wonder if I could get kerning data out of
textmetrics by asking for the metrics on pairs of letters and
then also singleton letters and looking at how they differ.
Would that work, Jordan? Like if the advance of "AV" is 2 and
the advance of A and V separately is 2.2 then would that mean
that the advance of A should be reduced by 0.2 before placing the
V to get the kerning? Of course, the weakness of doing this is
that ligatures would mess it up.
On Sun, Aug 11, 2024 at 1:48 PM Jordan Brown via Discuss
<discuss@lists.openscad.org> wrote:
I’m on my iPad and so can’t experiment, and (bad me) didn’t
actually look at the program in detail.
The problem is lack of proportional spacing. A sans-serif I
is very thin, so giving it the same amount of space as other
characters looks very wrong. With the development snapshot
you can use textmetrics() to get actual dimensions - you
probably want the “advance” value - but it will be less than
totally fun to use that to position the characters. Probably
you want to call textmetrics() on each individual character
to get its dimensions, put those in an array, convert that
into a running-sum array, and use *that* for positioning.
I believe Adrian pointed at a BOSL2 function that will do
that grunge work for you; that’s probably easiest.
That will probably address your problem.
take care and stay well every booy.
Cheers, Gene Heskett, CET.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
On 8/11/24 19:43, Raymond West via Discuss wrote:
> The furniture was the odd bits of 'lead;' that was not text, used to
> space and lay out the text and individual letters correctly, generally
> packing. I stated in my suggestion for an openscad solution that the
> initial spacing would be fixed. At the moment, afaik, there is no
> obvious width measurement for characters in openscad, certainly not for
> various letter combinations, or ones that would work on curved lines. I
> suggested the widest character so that you would be able to fit them in
> the available space. I then said decrease the spacing as required (I
> guessed folk would understand that was for the individual characters
> where needed, and it would probably necessary to increase the font size
> at the same time). This process can be labour-intensive but is
> necessary for achieving high-quality results in custom text. Fitting
> text into a space, odd shapes, etc, is an art form, and sometimes it
> requires distortion of the individual letter shapes. But the example
> that the op mentioned was less than 25 upper case letters (including a
> couple of numbers), most likely with some time deadline, so the most
> pragmatic approach is probably to position the characters manually, more
> or less, or use some other software.
>
> In my experience designing fonts for Seikosha printers (over 30 years
> ago now) and more recently creating G-code for machining text for
> 'wooden' furniture manufacturers as well as designing and making
> memorial plaques, I've had to balance between practical constraints and
> artistic considerations. Other than for comparatively recent fdm
> printing, I have never bothered with openscad for any text, iirc, but it
> could be interesting.
>
> On 11/08/2024 22:50, Adrian Mariano via Discuss wrote:
>> Why would you base your text spacing on the widest character? That
>> would look ridiculous. You base your initial spacing on the actual
>> width of the letters. For most letter pairs, no adjustment is needed
>> beyond that. But the way that this is suboptimal is that it doesn't
>> account for cases where the bounding boxes of the characters should
>> overlap. From what Jordan says, it sounds like OpenSCAD doesn't even
>> do fine kerning when you directly ask it for text. I don't know what
>> you are talking about with "furniture pieces". The way kerning was
>> accomplished in the days of lead type was that the type wasn't a
>> rectangle but actually had overhanging sections that could be
>> positioned into the notional bounding box of the adjacent letter.
>> Unless you're a typography expert, it's likely that your notion of
>> what "looks right" for kerning will be underdeveloped.
>>
>> On Sun, Aug 11, 2024 at 4:50 PM Raymond West via Discuss
>> <discuss@lists.openscad.org> wrote:
>>
>> The idea of kerning, is such that viewed from a distance (apart
>> from blank lines/paragraphs and the like), the page looks a
>> uniform shade of grey. It needs to be different for each character
>> combination. In straight line text, as you've mentioned, it is
>> achievable to a lesser or greater extent, but on curved lines,
>> then that becomes a separate issue. Manual typesetters, in the old
>> lead font days had furniture pieces to get the correct spacing. It
>> depends very much on the type of font, as to how easy it to
>> achieve 'correctness', and if the font is bold or italic, you will
>> need to start over. It is perfectly doable, for 30 or so
>> characters, to manually specify, say, the bottom lh corner, and
>> the angle for each character. Openscad responds quickly enough
>> that it can be tested as you position each character. The result
>> will be most likely far superior to any mathematically
>> automatically generated solution based on preconceived values, in
>> an attempt to cover every situation. Still, use comic sans, and
>> the necessity for kerning disappears.
>>
>> Usually, a 'W' is the widest character, so if it is, say, 10mm
>> wide, then perhaps initially allow a spacing of 12 mm between
>> characters. Space the the other characters at 12 mm spacing, see
>> how it looks, and decrease the spacing as required so that it
>> 'looks right'. a module with character, xy, and angle parameters
>> would speed the process (for some regular paths, the angle could
>> be calculated from the xy values). Of course, it depends on 'how
>> good your eye is', but that also depends on whoever designs some
>> mathematical solutions, and I've seen some not so good TrueType
>> fonts, and others.
Whats wrong with TrueType? And/or whatever font openscad calls up on its
own with no includes. That is how the origonal machine ran. The half
nut for my woodworker vice has 3 sides available to engrave the tooth
id and size diff on it, so I do that on both sides. Using klipper, all
the little corners so close together make the printer slow to 5mm/sec as
it turns the corner. With stock movement motors the Ender5plus printer
will lose Y home at more than 20mm speeds. With the new stepper/servo
motors running on 72 volts, this works well at 150mm/sec, without any
input shaping. These motors can reverse a motor that has over shot its
last command, instantly. Normal steppers will overshoot up to 7
microsteps smearing the character. The controller can reverse the motor
when it has reached its position, stopping this overshoot because it has
a much higher voltage. And can use the full output of a 600 watt supply
to do it, might take a millisecond. Another advantage you can see in
your power bill. These motors get only the current needed to get to
where it is supposed to be, so in normal service it runs cold, where a
normal stepper runs at full current all the time. In some cases burn
your hand touching the hot motor, that is wasted heat you pay for in the
power bill for the month. Extra cost per axis is around $100, much of it
is the controller/driver, it is not stepstick stuff. So you put signal
stealers in the stepstick socket and wire 5 circuits from the driver
card in the printer to the frame mounted motor driver, for 5 volts,
ground, step, dir & enable. All opto isolated which is a speed limit due
to the opto's of 2500 to 3000 rpm. W/o that optos the motor could do
10,000 rpms.
>> be driver to thr On 11/08/2024 19:48, Adrian Mariano via Discuss wrote:
>>> Yes, the point of path_text is that it consults the text metrics
>>> to space the letters as well as possible and it also does the
>>> necessary interpolation along the curve you provide to find the
>>> correct letter positions and computes the normal to the curve so
>>> it can produce the proper letter orientation.
>>>
>>> Kerning is making tiny adjustments for specific combinations of
>>> letters like perhaps adjusting AV so that the two letters are
>>> closer together because their shapes enable them to fit together
>>> more tightly than their bounding boxes would suggest. Only people
>>> who are very attuned to typography are going to notice that
>>> kerning is missing. I wonder if I could get kerning data out of
>>> textmetrics by asking for the metrics on pairs of letters and
>>> then also singleton letters and looking at how they differ.
>>> Would that work, Jordan? Like if the advance of "AV" is 2 and
>>> the advance of A and V separately is 2.2 then would that mean
>>> that the advance of A should be reduced by 0.2 before placing the
>>> V to get the kerning? Of course, the weakness of doing this is
>>> that ligatures would mess it up.
>>>
>>> On Sun, Aug 11, 2024 at 1:48 PM Jordan Brown via Discuss
>>> <discuss@lists.openscad.org> wrote:
>>>
>>> I’m on my iPad and so can’t experiment, and (bad me) didn’t
>>> actually look at the program in detail.
>>>
>>> The problem is lack of proportional spacing. A sans-serif I
>>> is very thin, so giving it the same amount of space as other
>>> characters looks very wrong. With the development snapshot
>>> you can use textmetrics() to get actual dimensions - you
>>> probably want the “advance” value - but it will be less than
>>> totally fun to use that to position the characters. Probably
>>> you want to call textmetrics() on each individual character
>>> to get its dimensions, put those in an array, convert that
>>> into a running-sum array, and use *that* for positioning.
>>>
>>> I believe Adrian pointed at a BOSL2 function that will do
>>> that grunge work for you; that’s probably easiest.
>>>
>>> That will probably address your problem.
take care and stay well every booy.
Cheers, Gene Heskett, CET.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis
K
Ken
Mon, Aug 12, 2024 7:26 AM
Many thanks to everyone who has replied to my query.
Based on comments in the various replies, I initially took the easy way
out by working my way through the fonts until I came across Liberation
Mono, which fixed the main problem as it has a capitol "I" that has a
vertical bar and two horizontal bars, thus making it more-or-less the
same spacing as the rest of the text.
Now I am working my way through the documentation of Adrian's suggestion
of the path_text() module (I have a dev version & have now enabled
textmetrics) to see if that can fix the slightly different angles of the
individual letters. It's not much, but they are not /quite/ the same and
I can see it- and it annoys the ocd in me!
The club's 50th is not until November, so I still have a bit of time to
play.......
A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
Many thanks to everyone who has replied to my query.
Based on comments in the various replies, I initially took the easy way
out by working my way through the fonts until I came across Liberation
Mono, which fixed the main problem as it has a capitol "I" that has a
vertical bar and two horizontal bars, thus making it more-or-less the
same spacing as the rest of the text.
Now I am working my way through the documentation of Adrian's suggestion
of the path_text() module (I have a dev version & have now enabled
textmetrics) to see if that can fix the slightly different angles of the
individual letters. It's not much, but they are not /quite/ the same and
I can see it- and it annoys the ocd in me!
The club's 50th is not until November, so I still have a bit of time to
play.......
--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html
----------------------------------------
A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
RW
Raymond West
Mon, Aug 12, 2024 10:16 AM
But that is not available for the stable released version of openscad,
which I guess most folk are using. As you mentioned, whatever you do,
there will be a requirement to go into manual tweaking in some cases.
However, if you have access to the individual character widths, then
that will give a better starting point. Not having that access, for the
few characters in the text that the op mentioned, it may be quicker to
make an initial guess at the character width, it could save one
iteration in further adjustments. Although i have no requirement for
any of this, I am looking at deriving a simple method of manually
tweaking the positions, etc, using openscad (no bosl2).
On 12/08/2024 01:22, Adrian Mariano via Discuss wrote:
With the dev version of OpenSCAD there is measurement for single
characters or in fact for any piece of text using the textmetrics
feature. Based on what Jordan said it sounds like the OpenSCAD text
placement does not do kerning, though, and of course any adjustment
for layout on a curve would have to be done manually. But starting
from the OpenSCAD layout would surely be easier than starting from
uniform spacing based on the widest letter, especially for the average
user who does NOT have your expertise with typography. How offensive
do you find my example from a few messages back where I redid the
medal? That's entirely automated using the textmetrics, with no
fiddly adjustment.
On Sun, Aug 11, 2024 at 7:43 PM Raymond West via Discuss
discuss@lists.openscad.org wrote:
The furniture was the odd bits of 'lead;' that was not text, used
to space and lay out the text and individual letters correctly,
generally packing. I stated in my suggestion for an openscad
solution that the initial spacing would be fixed. At the moment,
afaik, there is no obvious width measurement for characters in
openscad, certainly not for various letter combinations, or ones
that would work on curved lines. I suggested the widest character
so that you would be able to fit them in the available space. I
then said decrease the spacing as required (I guessed folk would
understand that was for the individual characters where needed,
and it would probably necessary to increase the font size at the
same time). This process can be labour-intensive but is necessary
for achieving high-quality results in custom text. Fitting text
into a space, odd shapes, etc, is an art form, and sometimes it
requires distortion of the individual letter shapes. But the
example that the op mentioned was less than 25 upper case letters
(including a couple of numbers), most likely with some time
deadline, so the most pragmatic approach is probably to position
the characters manually, more or less, or use some other software.
In my experience designing fonts for Seikosha printers (over 30
years ago now) and more recently creating G-code for machining
text for 'wooden' furniture manufacturers as well as designing and
making memorial plaques, I've had to balance between practical
constraints and artistic considerations. Other than for
comparatively recent fdm printing, I have never bothered with
openscad for any text, iirc, but it could be interesting.
On 11/08/2024 22:50, Adrian Mariano via Discuss wrote:
Why would you base your text spacing on the widest character?
That would look ridiculous. You base your initial spacing on the
actual width of the letters. For most letter pairs, no
adjustment is needed beyond that. But the way that this is
suboptimal is that it doesn't account for cases where the
bounding boxes of the characters should overlap. From what
Jordan says, it sounds like OpenSCAD doesn't even do fine kerning
when you directly ask it for text. I don't know what you are
talking about with "furniture pieces". The way kerning was
accomplished in the days of lead type was that the type wasn't a
rectangle but actually had overhanging sections that could be
positioned into the notional bounding box of the adjacent
letter. Unless you're a typography expert, it's likely that your
notion of what "looks right" for kerning will be underdeveloped.
On Sun, Aug 11, 2024 at 4:50 PM Raymond West via Discuss
<discuss@lists.openscad.org> wrote:
The idea of kerning, is such that viewed from a distance
(apart from blank lines/paragraphs and the like), the page
looks a uniform shade of grey. It needs to be different for
each character combination. In straight line text, as you've
mentioned, it is achievable to a lesser or greater extent,
but on curved lines, then that becomes a separate issue.
Manual typesetters, in the old lead font days had furniture
pieces to get the correct spacing. It depends very much on
the type of font, as to how easy it to achieve 'correctness',
and if the font is bold or italic, you will need to start
over. It is perfectly doable, for 30 or so characters, to
manually specify, say, the bottom lh corner, and the angle
for each character. Openscad responds quickly enough that it
can be tested as you position each character. The result will
be most likely far superior to any mathematically
automatically generated solution based on preconceived
values, in an attempt to cover every situation. Still, use
comic sans, and the necessity for kerning disappears.
Usually, a 'W' is the widest character, so if it is, say,
10mm wide, then perhaps initially allow a spacing of 12 mm
between characters. Space the the other characters at 12 mm
spacing, see how it looks, and decrease the spacing as
required so that it 'looks right'. a module with character,
xy, and angle parameters would speed the process (for some
regular paths, the angle could be calculated from the xy
values). Of course, it depends on 'how good your eye is', but
that also depends on whoever designs some mathematical
solutions, and I've seen some not so good TrueType fonts, and
others.
On 11/08/2024 19:48, Adrian Mariano via Discuss wrote:
Yes, the point of path_text is that it consults the text
metrics to space the letters as well as possible and it also
does the necessary interpolation along the curve you provide
to find the correct letter positions and computes the normal
to the curve so it can produce the proper letter orientation.
Kerning is making tiny adjustments for specific combinations
of letters like perhaps adjusting AV so that the two letters
are closer together because their shapes enable them to fit
together more tightly than their bounding boxes would
suggest. Only people who are very attuned to typography are
going to notice that kerning is missing. I wonder if I
could get kerning data out of textmetrics by asking for the
metrics on pairs of letters and then also singleton letters
and looking at how they differ. Would that work, Jordan?
Like if the advance of "AV" is 2 and the advance of A and V
separately is 2.2 then would that mean that the advance of A
should be reduced by 0.2 before placing the V to get the
kerning? Of course, the weakness of doing this is that
ligatures would mess it up.
On Sun, Aug 11, 2024 at 1:48 PM Jordan Brown via Discuss
<discuss@lists.openscad.org> wrote:
I’m on my iPad and so can’t experiment, and (bad me)
didn’t actually look at the program in detail.
The problem is lack of proportional spacing. A
sans-serif I is very thin, so giving it the same amount
of space as other characters looks very wrong. With the
development snapshot you can use textmetrics() to get
actual dimensions - you probably want the “advance”
value - but it will be less than totally fun to use that
to position the characters. Probably you want to call
textmetrics() on each individual character to get its
dimensions, put those in an array, convert that into a
running-sum array, and use *that* for positioning.
I believe Adrian pointed at a BOSL2 function that will
do that grunge work for you; that’s probably easiest.
That will probably address your problem.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to
discuss-leave@lists.openscad.org
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
But that is not available for the stable released version of openscad,
which I guess most folk are using. As you mentioned, whatever you do,
there will be a requirement to go into manual tweaking in some cases.
However, if you have access to the individual character widths, then
that will give a better starting point. Not having that access, for the
few characters in the text that the op mentioned, it may be quicker to
make an initial guess at the character width, it could save one
iteration in further adjustments. Although i have no requirement for
any of this, I am looking at deriving a simple method of manually
tweaking the positions, etc, using openscad (no bosl2).
On 12/08/2024 01:22, Adrian Mariano via Discuss wrote:
> With the dev version of OpenSCAD there *is* measurement for single
> characters or in fact for any piece of text using the textmetrics
> feature. Based on what Jordan said it sounds like the OpenSCAD text
> placement does not do kerning, though, and of course any adjustment
> for layout on a curve would have to be done manually. But starting
> from the OpenSCAD layout would surely be easier than starting from
> uniform spacing based on the widest letter, especially for the average
> user who does NOT have your expertise with typography. How offensive
> do you find my example from a few messages back where I redid the
> medal? That's entirely automated using the textmetrics, with no
> fiddly adjustment.
>
> On Sun, Aug 11, 2024 at 7:43 PM Raymond West via Discuss
> <discuss@lists.openscad.org> wrote:
>
> The furniture was the odd bits of 'lead;' that was not text, used
> to space and lay out the text and individual letters correctly,
> generally packing. I stated in my suggestion for an openscad
> solution that the initial spacing would be fixed. At the moment,
> afaik, there is no obvious width measurement for characters in
> openscad, certainly not for various letter combinations, or ones
> that would work on curved lines. I suggested the widest character
> so that you would be able to fit them in the available space. I
> then said decrease the spacing as required (I guessed folk would
> understand that was for the individual characters where needed,
> and it would probably necessary to increase the font size at the
> same time). This process can be labour-intensive but is necessary
> for achieving high-quality results in custom text. Fitting text
> into a space, odd shapes, etc, is an art form, and sometimes it
> requires distortion of the individual letter shapes. But the
> example that the op mentioned was less than 25 upper case letters
> (including a couple of numbers), most likely with some time
> deadline, so the most pragmatic approach is probably to position
> the characters manually, more or less, or use some other software.
>
> In my experience designing fonts for Seikosha printers (over 30
> years ago now) and more recently creating G-code for machining
> text for 'wooden' furniture manufacturers as well as designing and
> making memorial plaques, I've had to balance between practical
> constraints and artistic considerations. Other than for
> comparatively recent fdm printing, I have never bothered with
> openscad for any text, iirc, but it could be interesting.
>
> On 11/08/2024 22:50, Adrian Mariano via Discuss wrote:
>> Why would you base your text spacing on the widest character?
>> That would look ridiculous. You base your initial spacing on the
>> actual width of the letters. For most letter pairs, no
>> adjustment is needed beyond that. But the way that this is
>> suboptimal is that it doesn't account for cases where the
>> bounding boxes of the characters should overlap. From what
>> Jordan says, it sounds like OpenSCAD doesn't even do fine kerning
>> when you directly ask it for text. I don't know what you are
>> talking about with "furniture pieces". The way kerning was
>> accomplished in the days of lead type was that the type wasn't a
>> rectangle but actually had overhanging sections that could be
>> positioned into the notional bounding box of the adjacent
>> letter. Unless you're a typography expert, it's likely that your
>> notion of what "looks right" for kerning will be underdeveloped.
>>
>> On Sun, Aug 11, 2024 at 4:50 PM Raymond West via Discuss
>> <discuss@lists.openscad.org> wrote:
>>
>> The idea of kerning, is such that viewed from a distance
>> (apart from blank lines/paragraphs and the like), the page
>> looks a uniform shade of grey. It needs to be different for
>> each character combination. In straight line text, as you've
>> mentioned, it is achievable to a lesser or greater extent,
>> but on curved lines, then that becomes a separate issue.
>> Manual typesetters, in the old lead font days had furniture
>> pieces to get the correct spacing. It depends very much on
>> the type of font, as to how easy it to achieve 'correctness',
>> and if the font is bold or italic, you will need to start
>> over. It is perfectly doable, for 30 or so characters, to
>> manually specify, say, the bottom lh corner, and the angle
>> for each character. Openscad responds quickly enough that it
>> can be tested as you position each character. The result will
>> be most likely far superior to any mathematically
>> automatically generated solution based on preconceived
>> values, in an attempt to cover every situation. Still, use
>> comic sans, and the necessity for kerning disappears.
>>
>> Usually, a 'W' is the widest character, so if it is, say,
>> 10mm wide, then perhaps initially allow a spacing of 12 mm
>> between characters. Space the the other characters at 12 mm
>> spacing, see how it looks, and decrease the spacing as
>> required so that it 'looks right'. a module with character,
>> xy, and angle parameters would speed the process (for some
>> regular paths, the angle could be calculated from the xy
>> values). Of course, it depends on 'how good your eye is', but
>> that also depends on whoever designs some mathematical
>> solutions, and I've seen some not so good TrueType fonts, and
>> others.
>>
>> On 11/08/2024 19:48, Adrian Mariano via Discuss wrote:
>>> Yes, the point of path_text is that it consults the text
>>> metrics to space the letters as well as possible and it also
>>> does the necessary interpolation along the curve you provide
>>> to find the correct letter positions and computes the normal
>>> to the curve so it can produce the proper letter orientation.
>>>
>>> Kerning is making tiny adjustments for specific combinations
>>> of letters like perhaps adjusting AV so that the two letters
>>> are closer together because their shapes enable them to fit
>>> together more tightly than their bounding boxes would
>>> suggest. Only people who are very attuned to typography are
>>> going to notice that kerning is missing. I wonder if I
>>> could get kerning data out of textmetrics by asking for the
>>> metrics on pairs of letters and then also singleton letters
>>> and looking at how they differ. Would that work, Jordan?
>>> Like if the advance of "AV" is 2 and the advance of A and V
>>> separately is 2.2 then would that mean that the advance of A
>>> should be reduced by 0.2 before placing the V to get the
>>> kerning? Of course, the weakness of doing this is that
>>> ligatures would mess it up.
>>>
>>> On Sun, Aug 11, 2024 at 1:48 PM Jordan Brown via Discuss
>>> <discuss@lists.openscad.org> wrote:
>>>
>>> I’m on my iPad and so can’t experiment, and (bad me)
>>> didn’t actually look at the program in detail.
>>>
>>> The problem is lack of proportional spacing. A
>>> sans-serif I is very thin, so giving it the same amount
>>> of space as other characters looks very wrong. With the
>>> development snapshot you can use textmetrics() to get
>>> actual dimensions - you probably want the “advance”
>>> value - but it will be less than totally fun to use that
>>> to position the characters. Probably you want to call
>>> textmetrics() on each individual character to get its
>>> dimensions, put those in an array, convert that into a
>>> running-sum array, and use *that* for positioning.
>>>
>>> I believe Adrian pointed at a BOSL2 function that will
>>> do that grunge work for you; that’s probably easiest.
>>>
>>> That will probably address your problem.
>>> _______________________________________________
>>> OpenSCAD mailing list
>>> To unsubscribe send an email to
>>> discuss-leave@lists.openscad.org
>>>
>>>
>>> _______________________________________________
>>> OpenSCAD mailing list
>>> To unsubscribe send an email todiscuss-leave@lists.openscad.org
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email todiscuss-leave@lists.openscad.org
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email todiscuss-leave@lists.openscad.org
GH
gene heskett
Mon, Aug 12, 2024 1:32 PM
On 8/12/24 03:27, Ken via Discuss wrote:
Many thanks to everyone who has replied to my query.
Based on comments in the various replies, I initially took the easy way
out by working my way through the fonts until I came across Liberation
Mono, which fixed the main problem as it has a capitol "I" that has a
vertical bar and two horizontal bars, thus making it more-or-less the
same spacing as the rest of the text.
I think that is the text I'm using, only problem is in numbers, if en
even number like 2.0, it does not print the ,0, just the 2. I make the
half nuts to match the size of the bolt, by making a dummy bolt that
size, + about .9mm which is about 49mm, but has this 2 or whatever added
to the size of the bolt, so each nut pair fits that bolt precisely with
around 11 teeth of buttress thread fully engaged, 2 start so I get 12mm
of jaw motion for every turn of the handle, then that virtual bolt is
subtracted from the block the nut is made from. At the same time the
tooth version and size of the nut is engraved on both sides of the nut.
If there is ever a nut problem, I then know how big a replacement nut to
make & send the customer. 1st pix attached is preview with the bolt call
previewed by a #. next is without the #preview an F6 render. These are
why I am building a farm of big & fast printers that can make some of
the smaller parts 4, 8, or 16 up. And I am probably the only outlaw on
the planet driving the XY axis's with much bigger stepper/servo. The
increased active control of the motors gives me 150mm printing speeds
WITHOUT IS being measured or enabled. That printer OOTB did Y skips at
25mm/sec.
.
Now I am working my way through the documentation of Adrian's suggestion
of the path_text() module (I have a dev version & have now enabled
textmetrics) to see if that can fix the slightly different angles of the
individual letters. It's not much, but they are not /quite/ the same and
I can see it- and it annoys the ocd in me!
The club's 50th is not until November, so I still have a bit of time to
play.......
A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Cheers, Gene Heskett, CET.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
On 8/12/24 03:27, Ken via Discuss wrote:
> Many thanks to everyone who has replied to my query.
>
> Based on comments in the various replies, I initially took the easy way
> out by working my way through the fonts until I came across Liberation
> Mono, which fixed the main problem as it has a capitol "I" that has a
> vertical bar and two horizontal bars, thus making it more-or-less the
> same spacing as the rest of the text.
>
I think that is the text I'm using, only problem is in numbers, if en
even number like 2.0, it does not print the ,0, just the 2. I make the
half nuts to match the size of the bolt, by making a dummy bolt that
size, + about .9mm which is about 49mm, but has this 2 or whatever added
to the size of the bolt, so each nut pair fits that bolt precisely with
around 11 teeth of buttress thread fully engaged, 2 start so I get 12mm
of jaw motion for every turn of the handle, then that virtual bolt is
subtracted from the block the nut is made from. At the same time the
tooth version and size of the nut is engraved on both sides of the nut.
If there is ever a nut problem, I then know how big a replacement nut to
make & send the customer. 1st pix attached is preview with the bolt call
previewed by a #. next is without the #preview an F6 render. These are
why I am building a farm of big & fast printers that can make some of
the smaller parts 4, 8, or 16 up. And I am probably the only outlaw on
the planet driving the XY axis's with much bigger stepper/servo. The
increased active control of the motors gives me 150mm printing speeds
WITHOUT IS being measured or enabled. That printer OOTB did Y skips at
25mm/sec.
.
> Now I am working my way through the documentation of Adrian's suggestion
> of the path_text() module (I have a dev version & have now enabled
> textmetrics) to see if that can fix the slightly different angles of the
> individual letters. It's not much, but they are not /quite/ the same and
> I can see it- and it annoys the ocd in me!
>
> The club's 50th is not until November, so I still have a bit of time to
> play.......
>
>
> --
> Cheers, Ken
> bats059@gmail.com
> https://vk7krj.com
> https://vk7krj.com/running.html
> ----------------------------------------
> A baby can be defined as an ego with a noise at one end and a smell at the other.
> Your job as parents is to teach them to control all three.
> My job as a grandad is to tell you how you are doing it all wrong!
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
Cheers, Gene Heskett, CET.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis
RW
Raymond West
Mon, Aug 12, 2024 3:34 PM
I've more or less completed what I set out to do, position characters
around an oval shape. Obviously the result, i.e size, position is not
as any one else would want, but the code can be readily adapted. It will
allow precise positioning of characters around an oval, hoping that the
result 'looks right' . However, if there are restrictions as to size of
font and size of oval, then there can be obvious conflicts.
I've been looking at the oval text problem. I have other software that
generates text on circular arcs and produces g-code, and I think an
entirely different approach is needed for an oval or other curved path.
I believe it will be necessary to distort some characters. The first
illustration (ignore that above the x axis, if you can, I never never
got around to adjusting that, but 'anniversary' looks more or less OK)
But - trying to get nice looking spacing at the top of the 'ANNIVERSARY'
is fine, until the second 'A'. The spacings at the bottom of characters
are not so noticeable. However looking in detail, I feel that the
letters should be 'pointing' to the origin of the oval. In order, the
'NNIV' and 'ARY' appear that the should be more pointed towards the
origin(but that may be because the axes is shown). That apart, the
spacing could be improved and I think then it would be good enough (the
spacing resolution in this example is one degree.)
Now, if we make the angles more aligned, then -
you can see that the characters are no longer aligned with the oval
path. Now, of course, a larger oval, small characters, change of font
will effect all of it.
In some other language, I think a solution, or at least a better work
towards, would be to treat the text string as an image, sort of slice
it, and slightly enlarge the white space for the lower layers. When it
comes to, what is in effect forcing text to conform with paths other
than straight lines I think individual preformed characters are not
granular enough.
I've put some code below, if anyone wants to play along. I started it
off by dividing 360 by the number of chars +1, to get some sort of
spacing, then simply going through the list adjusting/f5, as I went. The
following code, if you have access to the widths/kerning or whatever for
text in the latest release of openscad, then maybe you can get a decent
result by dropping those values into the code.
I've more or less completed what I set out to do, position characters
around an oval shape. Obviously the result, i.e size, position is not
as any one else would want, but the code can be readily adapted. It will
allow precise positioning of characters around an oval, hoping that the
result 'looks right' . However, if there are restrictions as to size of
font and size of oval, then there can be obvious conflicts.
I've been looking at the oval text problem. I have other software that
generates text on circular arcs and produces g-code, and I think an
entirely different approach is needed for an oval or other curved path.
I believe it will be necessary to distort some characters. The first
illustration (ignore that above the x axis, if you can, I never never
got around to adjusting that, but 'anniversary' looks more or less OK)
But - trying to get nice looking spacing at the top of the 'ANNIVERSARY'
is fine, until the second 'A'. The spacings at the bottom of characters
are not so noticeable. However looking in detail, I feel that the
letters should be 'pointing' to the origin of the oval. In order, the
'NNIV' and 'ARY' appear that the should be more pointed towards the
origin(but that may be because the axes is shown). That apart, the
spacing could be improved and I think then it would be good enough (the
spacing resolution in this example is one degree.)
Now, if we make the angles more aligned, then -
you can see that the characters are no longer aligned with the oval
path. Now, of course, a larger oval, small characters, change of font
will effect all of it.
In some other language, I think a solution, or at least a better work
towards, would be to treat the text string as an image, sort of slice
it, and slightly enlarge the white space for the lower layers. When it
comes to, what is in effect forcing text to conform with paths other
than straight lines I think individual preformed characters are not
granular enough.
I've put some code below, if anyone wants to play along. I started it
off by dividing 360 by the number of chars +1, to get some sort of
spacing, then simply going through the list adjusting/f5, as I went. The
following code, if you have access to the widths/kerning or whatever for
text in the latest release of openscad, then maybe you can get a decent
result by dropping those values into the code.
GH
gene heskett
Mon, Aug 12, 2024 4:09 PM
On 8/12/24 09:32, gene heskett via Discuss wrote:
On 8/12/24 03:27, Ken via Discuss wrote:
Many thanks to everyone who has replied to my query.
Based on comments in the various replies, I initially took the easy
way out by working my way through the fonts until I came across
Liberation Mono, which fixed the main problem as it has a capitol "I"
that has a vertical bar and two horizontal bars, thus making it
more-or-less the same spacing as the rest of the text.
I think that is the text I'm using, only problem is in numbers, if en
even number like 2.0, it does not print the ,0, just the 2. I make the
The above is a typu, s/b .2 not ,2. periods on my edit screen can become
comma's until I see them in a larger font in the echo from the list.
half nuts to match the size of the bolt, by making a dummy bolt that
size, + about .9mm which is about 49mm, but has this 2 or whatever added
to the size of the bolt, so each nut pair fits that bolt precisely with
around 11 teeth of buttress thread fully engaged, 2 start so I get 12mm
of jaw motion for every turn of the handle, then that virtual bolt is
subtracted from the block the nut is made from. At the same time the
tooth version and size of the nut is engraved on both sides of the nut.
If there is ever a nut problem, I then know how big a replacement nut to
make & send the customer. 1st pix attached is preview with the bolt call
previewed by a #. next is without the #preview an F6 render. These are
why I am building a farm of big & fast printers that can make some of
the smaller parts 4, 8, or 16 up. And I am probably the only outlaw on
the planet driving the XY axis's with much bigger stepper/servo. The
increased active control of the motors gives me 150mm printing speeds
WITHOUT IS being measured or enabled. That printer OOTB did Y skips at
25mm/sec.
.
Now I am working my way through the documentation of Adrian's
suggestion of the path_text() module (I have a dev version & have now
enabled textmetrics) to see if that can fix the slightly different
angles of the individual letters. It's not much, but they are not
/quite/ the same and I can see it- and it annoys the ocd in me!
The club's 50th is not until November, so I still have a bit of time
to play.......
A baby can be defined as an ego with a noise at one end and a smell at
the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Cheers, Gene Heskett, CET.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
On 8/12/24 09:32, gene heskett via Discuss wrote:
> On 8/12/24 03:27, Ken via Discuss wrote:
>> Many thanks to everyone who has replied to my query.
>>
>> Based on comments in the various replies, I initially took the easy
>> way out by working my way through the fonts until I came across
>> Liberation Mono, which fixed the main problem as it has a capitol "I"
>> that has a vertical bar and two horizontal bars, thus making it
>> more-or-less the same spacing as the rest of the text.
>>
> I think that is the text I'm using, only problem is in numbers, if en
> even number like 2.0, it does not print the ,0, just the 2. I make the
The above is a typu, s/b .2 not ,2. periods on my edit screen can become
comma's until I see them in a larger font in the echo from the list.
> half nuts to match the size of the bolt, by making a dummy bolt that
> size, + about .9mm which is about 49mm, but has this 2 or whatever added
> to the size of the bolt, so each nut pair fits that bolt precisely with
> around 11 teeth of buttress thread fully engaged, 2 start so I get 12mm
> of jaw motion for every turn of the handle, then that virtual bolt is
> subtracted from the block the nut is made from. At the same time the
> tooth version and size of the nut is engraved on both sides of the nut.
> If there is ever a nut problem, I then know how big a replacement nut to
> make & send the customer. 1st pix attached is preview with the bolt call
> previewed by a #. next is without the #preview an F6 render. These are
> why I am building a farm of big & fast printers that can make some of
> the smaller parts 4, 8, or 16 up. And I am probably the only outlaw on
> the planet driving the XY axis's with much bigger stepper/servo. The
> increased active control of the motors gives me 150mm printing speeds
> WITHOUT IS being measured or enabled. That printer OOTB did Y skips at
> 25mm/sec.
> .
>
>> Now I am working my way through the documentation of Adrian's
>> suggestion of the path_text() module (I have a dev version & have now
>> enabled textmetrics) to see if that can fix the slightly different
>> angles of the individual letters. It's not much, but they are not
>> /quite/ the same and I can see it- and it annoys the ocd in me!
>>
>> The club's 50th is not until November, so I still have a bit of time
>> to play.......
>>
>>
>> --
>> Cheers, Ken
>> bats059@gmail.com
>> https://vk7krj.com
>> https://vk7krj.com/running.html
>> ----------------------------------------
>> A baby can be defined as an ego with a noise at one end and a smell at
>> the other.
>> Your job as parents is to teach them to control all three.
>> My job as a grandad is to tell you how you are doing it all wrong!
>>
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
> Cheers, Gene Heskett, CET.
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
Cheers, Gene Heskett, CET.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis
GH
gene heskett
Mon, Aug 12, 2024 4:16 PM
On 8/12/24 12:09, gene heskett via Discuss wrote:
On 8/12/24 09:32, gene heskett via Discuss wrote:
On 8/12/24 03:27, Ken via Discuss wrote:
Many thanks to everyone who has replied to my query.
Based on comments in the various replies, I initially took the easy
way out by working my way through the fonts until I came across
Liberation Mono, which fixed the main problem as it has a capitol "I"
that has a vertical bar and two horizontal bars, thus making it
more-or-less the same spacing as the rest of the text.
I think that is the text I'm using, only problem is in numbers, if en
even number like 2.0, it does not print the ,0, just the 2. I make the
The above is a typu, s/b .2 not ,2. periods on my edit screen can become
comma's until I see them in a larger font in the echo from the list.
Second try at correctness. s/b .0 not ,0. These eyes are looking at 90
in a couple months.
half nuts to match the size of the bolt, by making a dummy bolt that
size, + about .9mm which is about 49mm, but has this 2 or whatever
added to the size of the bolt, so each nut pair fits that bolt
precisely with around 11 teeth of buttress thread fully engaged, 2
start so I get 12mm of jaw motion for every turn of the handle, then
that virtual bolt is subtracted from the block the nut is made from.
At the same time the tooth version and size of the nut is engraved on
both sides of the nut.
If there is ever a nut problem, I then know how big a replacement nut
to make & send the customer. 1st pix attached is preview with the bolt
call previewed by a #. next is without the #preview an F6 render.
These are why I am building a farm of big & fast printers that can
make some of the smaller parts 4, 8, or 16 up. And I am probably the
only outlaw on the planet driving the XY axis's with much bigger
stepper/servo. The increased active control of the motors gives me
150mm printing speeds WITHOUT IS being measured or enabled. That
printer OOTB did Y skips at 25mm/sec.
.
Now I am working my way through the documentation of Adrian's
suggestion of the path_text() module (I have a dev version & have now
enabled textmetrics) to see if that can fix the slightly different
angles of the individual letters. It's not much, but they are not
/quite/ the same and I can see it- and it annoys the ocd in me!
The club's 50th is not until November, so I still have a bit of time
to play.......
A baby can be defined as an ego with a noise at one end and a smell
at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Cheers, Gene Heskett, CET.
Cheers, Gene Heskett, CET.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
On 8/12/24 12:09, gene heskett via Discuss wrote:
> On 8/12/24 09:32, gene heskett via Discuss wrote:
>> On 8/12/24 03:27, Ken via Discuss wrote:
>>> Many thanks to everyone who has replied to my query.
>>>
>>> Based on comments in the various replies, I initially took the easy
>>> way out by working my way through the fonts until I came across
>>> Liberation Mono, which fixed the main problem as it has a capitol "I"
>>> that has a vertical bar and two horizontal bars, thus making it
>>> more-or-less the same spacing as the rest of the text.
>>>
>> I think that is the text I'm using, only problem is in numbers, if en
>> even number like 2.0, it does not print the ,0, just the 2. I make the
> The above is a typu, s/b .2 not ,2. periods on my edit screen can become
> comma's until I see them in a larger font in the echo from the list.
Second try at correctness. s/b .0 not ,0. These eyes are looking at 90
in a couple months.
>> half nuts to match the size of the bolt, by making a dummy bolt that
>> size, + about .9mm which is about 49mm, but has this 2 or whatever
>> added to the size of the bolt, so each nut pair fits that bolt
>> precisely with around 11 teeth of buttress thread fully engaged, 2
>> start so I get 12mm of jaw motion for every turn of the handle, then
>> that virtual bolt is subtracted from the block the nut is made from.
>> At the same time the tooth version and size of the nut is engraved on
>> both sides of the nut.
>> If there is ever a nut problem, I then know how big a replacement nut
>> to make & send the customer. 1st pix attached is preview with the bolt
>> call previewed by a #. next is without the #preview an F6 render.
>> These are why I am building a farm of big & fast printers that can
>> make some of the smaller parts 4, 8, or 16 up. And I am probably the
>> only outlaw on the planet driving the XY axis's with much bigger
>> stepper/servo. The increased active control of the motors gives me
>> 150mm printing speeds WITHOUT IS being measured or enabled. That
>> printer OOTB did Y skips at 25mm/sec.
>> .
>>
>>> Now I am working my way through the documentation of Adrian's
>>> suggestion of the path_text() module (I have a dev version & have now
>>> enabled textmetrics) to see if that can fix the slightly different
>>> angles of the individual letters. It's not much, but they are not
>>> /quite/ the same and I can see it- and it annoys the ocd in me!
>>>
>>> The club's 50th is not until November, so I still have a bit of time
>>> to play.......
>>>
>>>
>>> --
>>> Cheers, Ken
>>> bats059@gmail.com
>>> https://vk7krj.com
>>> https://vk7krj.com/running.html
>>> ----------------------------------------
>>> A baby can be defined as an ego with a noise at one end and a smell
>>> at the other.
>>> Your job as parents is to teach them to control all three.
>>> My job as a grandad is to tell you how you are doing it all wrong!
>>>
>>>
>>> _______________________________________________
>>> OpenSCAD mailing list
>>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>> Cheers, Gene Heskett, CET.
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
> Cheers, Gene Heskett, CET.
Cheers, Gene Heskett, CET.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis
K
Ken
Tue, Aug 13, 2024 8:46 AM
Many thanks Raymond, after a bit of adjustment to suit my oval, your
code has worked exactly as advertised🙂.
I set it up so the text followed the top curve of my oval as closely as
I could, and also gave the character data table a variable to add to the
character space so I could just change one value to move the text so it
was nice and symmetrical in reference to the oval.
Now I just need to tidy up the badge a little....
On 2024-08-13 01:34, Raymond West via Discuss wrote:
I've more or less completed what I set out to do, position characters
around an oval shape. Obviously the result, i.e size, position is not
as any one else would want, but the code can be readily adapted. It
will allow precise positioning of characters around an oval, hoping
that the result 'looks right' . However, if there are restrictions as
to size of font and size of oval, then there can be obvious conflicts.
A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
Many thanks Raymond, after a bit of adjustment to suit my oval, your
code has worked exactly as advertised🙂.
I set it up so the text followed the top curve of my oval as closely as
I could, and also gave the character data table a variable to add to the
character space so I could just change one value to move the text so it
was nice and symmetrical in reference to the oval.
Now I just need to tidy up the badge a little....
On 2024-08-13 01:34, Raymond West via Discuss wrote:
>
> I've more or less completed what I set out to do, position characters
> around an oval shape. Obviously the result, i.e size, position is not
> as any one else would want, but the code can be readily adapted. It
> will allow precise positioning of characters around an oval, hoping
> that the result 'looks right' . However, if there are restrictions as
> to size of font and size of oval, then there can be obvious conflicts.
>
--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html
----------------------------------------
A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!