discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

textmetrics preview

TP
Torsten Paul
Sun, Jul 18, 2021 8:46 PM

On 18.07.21 22:42, Jordan Brown wrote:

Ah... I hadn't realized that the PR automated builds produced
persistent results that are publicly available.

Persistent is relative :-). IIRC they store the artifacts for
30 days. If needed we can re-trigger the build for another 30
days or stash them on the file server. But the idea is to merge
soon anyway, so maybe we don't need that.

ciao,
Torsten.

On 18.07.21 22:42, Jordan Brown wrote: > Ah... I hadn't realized that the PR automated builds produced > persistent results that are publicly available. Persistent is relative :-). IIRC they store the artifacts for 30 days. If needed we can re-trigger the build for another 30 days or stash them on the file server. But the idea is to merge soon anyway, so maybe we don't need that. ciao, Torsten.
DM
Douglas Miller
Sun, Jul 18, 2021 8:46 PM

Ahh, I see. Thank you for explaining that.

On 7/18/2021 4:29 PM, Jordan Brown wrote:

On 7/18/2021 9:37 AM, Douglas Miller wrote:

I must be missing something here. When I try this code below, I get
the message

WARNING: Ignoring unknown function 'textmetrics', in file ./, line 2.

You are missing that textmetrics() is a not-yet integrated feature
that I'm working on; this is a preview of functionality that will soon
(fingers crossed) be available.

Ahh, I see. Thank you for explaining that. On 7/18/2021 4:29 PM, Jordan Brown wrote: > On 7/18/2021 9:37 AM, Douglas Miller wrote: >> I must be missing something here. When I try this code below, I get >> the message >> >> WARNING: Ignoring unknown function 'textmetrics', in file ./, line 2. > > You are missing that textmetrics() is a not-yet integrated feature > that I'm working on; this is a preview of functionality that will soon > (fingers crossed) be available. >
LM
Leonard Martin Struttmann
Sun, Jul 18, 2021 9:08 PM

Sorry, I'm coming in late to this conversation (been busy this week).

So, is textmetrics() a remix of 2018 Alexander Pruss's fontmetrics?
https://www.thingiverse.com/thing:3004457

On Sun, Jul 18, 2021 at 3:47 PM Douglas Miller doug@milmac.com wrote:

Ahh, I see. Thank you for explaining that.

On 7/18/2021 4:29 PM, Jordan Brown wrote:

On 7/18/2021 9:37 AM, Douglas Miller wrote:

I must be missing something here. When I try this code below, I get the
message

WARNING: Ignoring unknown function 'textmetrics', in file ./, line 2.

You are missing that textmetrics() is a not-yet integrated feature that
I'm working on; this is a preview of functionality that will soon (fingers
crossed) be available.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Sorry, I'm coming in late to this conversation (been busy this week). So, is textmetrics() a remix of 2018 Alexander Pruss's fontmetrics? https://www.thingiverse.com/thing:3004457 On Sun, Jul 18, 2021 at 3:47 PM Douglas Miller <doug@milmac.com> wrote: > Ahh, I see. Thank you for explaining that. > > On 7/18/2021 4:29 PM, Jordan Brown wrote: > > On 7/18/2021 9:37 AM, Douglas Miller wrote: > > I must be missing something here. When I try this code below, I get the > message > > WARNING: Ignoring unknown function 'textmetrics', in file ./, line 2. > > > You are missing that textmetrics() is a not-yet integrated feature that > I'm working on; this is a preview of functionality that will soon (fingers > crossed) be available. > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
JB
Jordan Brown
Sun, Jul 18, 2021 9:24 PM

On 7/18/2021 2:08 PM, Leonard Martin Struttmann wrote:

So, is textmetrics() a remix of 2018 Alexander Pruss's fontmetrics? 
 https://www.thingiverse.com/thing:3004457
https://www.thingiverse.com/thing:3004457

Well, sort of.  They have some of the same goals:  give the program
information about how text would be laid out.

That program has, contained in it as OpenSCAD data, metrics for some 46
particular fonts.  It looks like it probably has data for every
character in those fonts, but that's hard to check.  It duplicates data
that is available as part of the font and is available to the OpenSCAD
internals.  By its nature, it can only offer information about fonts
that it has specific support for.

This feature does not duplicate font metric data.  Rather, it gives you
access to the font metric data that OpenSCAD already has internally.  It
does not have data for some particular set of fonts; instead, since it's
getting the information from the font itself, it has data for every font
installed, now and in the future.

Does that make the picture clearer?

On 7/18/2021 2:08 PM, Leonard Martin Struttmann wrote: > So, is textmetrics() a remix of 2018 Alexander Pruss's fontmetrics?  >  https://www.thingiverse.com/thing:3004457 > <https://www.thingiverse.com/thing:3004457> Well, sort of.  They have some of the same goals:  give the program information about how text would be laid out. That program has, contained in it as OpenSCAD data, metrics for some 46 particular fonts.  It looks like it probably has data for every character in those fonts, but that's hard to check.  It duplicates data that is available as part of the font and is available to the OpenSCAD internals.  By its nature, it can only offer information about fonts that it has specific support for. This feature does not duplicate font metric data.  Rather, it gives you access to the font metric data that OpenSCAD already has internally.  It does not have data for some particular set of fonts; instead, since it's getting the information from the font itself, it has data for every font installed, now and in the future. Does that make the picture clearer?
TP
Torsten Paul
Sun, Jul 18, 2021 9:47 PM

On 18.07.21 23:24, Jordan Brown wrote:

It does not have data for some particular set of fonts; instead,
since it's getting the information from the font itself, it has
data for every font installed, now and in the future.

Also in addition textmetrics() works on the actually shaped
glyphs, including ligatures for character combinations like "fi"
which is almost impossible to capture otherwise. While for some
languages like English, that's not too problematic, it's quite
critical for others e.g., Farsi (written in Persian calligraphy).

ciao,
Torsten.

On 18.07.21 23:24, Jordan Brown wrote: > It does not have data for some particular set of fonts; instead, > since it's getting the information from the font itself, it has > data for every font installed, now and in the future. Also in addition textmetrics() works on the actually shaped glyphs, including ligatures for character combinations like "fi" which is almost impossible to capture otherwise. While for some languages like English, that's not too problematic, it's quite critical for others e.g., Farsi (written in Persian calligraphy). ciao, Torsten.
L
larry
Sun, Jul 18, 2021 9:57 PM
On Sun, 2021-07-18 at 22:38 +0200, Torsten Paul wrote: > In the meantime it's possible to try the feature via the automated > builds for Windows and Linux. > > Linux AppImage (x86/64-bit) > https://8305-1049088-gh.circle-artifacts.com/0/64-bit/OpenSCAD-2021.07.08.ai8305-_PR36842021.07.08.ai8305-x86_64.AppImage > > Windows (32-bit) > https://8306-1049088-gh.circle-artifacts.com/0/32-bit/OpenSCAD-2021.07.08.ci8306-x86-32_PR3684.zip > https://8306-1049088-gh.circle-artifacts.com/0/32-bit/OpenSCAD-2021.07.08.ci8306-x86-32_PR3684-Installer.exe > > Windows (64-bit) > https://8304-1049088-gh.circle-artifacts.com/0/64-bit/OpenSCAD-2021.07.08.ci8304-x86-64_PR3684.zip > https://8304-1049088-gh.circle-artifacts.com/0/64-bit/OpenSCAD-2021.07.08.ci8304-x86-64_PR3684-Installer.exe I gather these will change over time. Is there a URL where we can find the latest builds?
TP
Torsten Paul
Sun, Jul 18, 2021 10:16 PM

On 18.07.21 23:57, larry wrote:

I gather these will change over time. Is there a URL where we can find
the latest builds?

No, PR builds (things not integrated into the main application) don't
have a stable URL. Only the latest dev builds are automatically
downloaded and linked on the dev-snapshots page.

It's possible to get to the page via github by finding the last commit
on the PR, e.g. https://github.com/openscad/openscad/pull/3684

Currently that is this line:

finish textmetrics tests rename <green checkmark> 47f16b8

Clicking on the green checkmark opens a popup with actions, the
interesting ones are the ci/circleci ones, e.g.

ci/circleci: openscad-mxe-64bit <Details>

The details links jumps to CircleCI which unfortunately now requires
a login of some sort, any existing github login should do though.

The "Artifacts" tab should then show the download links if those
are still available.

ciao,
Torsten.

On 18.07.21 23:57, larry wrote: > I gather these will change over time. Is there a URL where we can find > the latest builds? No, PR builds (things not integrated into the main application) don't have a stable URL. Only the latest dev builds are automatically downloaded and linked on the dev-snapshots page. It's possible to get to the page via github by finding the last commit on the PR, e.g. https://github.com/openscad/openscad/pull/3684 Currently that is this line: finish textmetrics tests rename <green checkmark> 47f16b8 Clicking on the green checkmark opens a popup with actions, the interesting ones are the ci/circleci ones, e.g. ci/circleci: openscad-mxe-64bit <Details> The details links jumps to CircleCI which unfortunately now requires a login of some sort, any existing github login should do though. The "Artifacts" tab should then show the download links if those are still available. ciao, Torsten.
JB
Jordan Brown
Sun, Jul 18, 2021 11:16 PM

On 7/18/2021 2:47 PM, Torsten Paul wrote:

Also in addition textmetrics() works on the actually shaped glyphs,
including ligatures for character combinations like "fi" which is
almost impossible to capture otherwise. While for some languages like
English, that's not too problematic, it's quite critical for others
e.g., Farsi (written in Persian calligraphy).

Good point.

I suspect that Pruss's work will get the wrong results for "difficult"
in fonts with ligatures - Palatino, for instance - because it doesn't
know about the "ffi" ligature.

(BTW, before or after my work, the "spacing" parameter doesn't work
right with those cases.  "spacing" doesn't work well with any
proportionally-spaced fonts.)

Here's "HarfBuzz", the font layout engine's name, as written in Persian,
with a textmetric-measured box around it:

On 7/18/2021 2:47 PM, Torsten Paul wrote: > Also in addition textmetrics() works on the actually shaped glyphs, > including ligatures for character combinations like "fi" which is > almost impossible to capture otherwise. While for some languages like > English, that's not too problematic, it's quite critical for others > e.g., Farsi (written in Persian calligraphy). Good point. I suspect that Pruss's work will get the wrong results for "difficult" in fonts with ligatures - Palatino, for instance - because it doesn't know about the "ffi" ligature. (BTW, before or after my work, the "spacing" parameter doesn't work right with those cases.  "spacing" doesn't work well with any proportionally-spaced fonts.) Here's "HarfBuzz", the font layout engine's name, as written in Persian, with a textmetric-measured box around it:
LM
Leonard Martin Struttmann
Mon, Jul 19, 2021 1:00 AM

Thanks for the detailed reply. I look forward to playing with textmetrics()
in the future.

On Sun, Jul 18, 2021 at 6:17 PM Jordan Brown openscad@jordan.maileater.net
wrote:

On 7/18/2021 2:47 PM, Torsten Paul wrote:

Also in addition textmetrics() works on the actually shaped glyphs,
including ligatures for character combinations like "fi" which is almost
impossible to capture otherwise. While for some languages like English,
that's not too problematic, it's quite critical for others e.g., Farsi
(written in Persian calligraphy).

Good point.

I suspect that Pruss's work will get the wrong results for "difficult" in
fonts with ligatures - Palatino, for instance - because it doesn't know
about the "ffi" ligature.

(BTW, before or after my work, the "spacing" parameter doesn't work right
with those cases.  "spacing" doesn't work well with any
proportionally-spaced fonts.)

Here's "HarfBuzz", the font layout engine's name, as written in Persian,
with a textmetric-measured box around it:


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Thanks for the detailed reply. I look forward to playing with textmetrics() in the future. On Sun, Jul 18, 2021 at 6:17 PM Jordan Brown <openscad@jordan.maileater.net> wrote: > On 7/18/2021 2:47 PM, Torsten Paul wrote: > > Also in addition textmetrics() works on the actually shaped glyphs, > including ligatures for character combinations like "fi" which is almost > impossible to capture otherwise. While for some languages like English, > that's not too problematic, it's quite critical for others e.g., Farsi > (written in Persian calligraphy). > > > Good point. > > I suspect that Pruss's work will get the wrong results for "difficult" in > fonts with ligatures - Palatino, for instance - because it doesn't know > about the "ffi" ligature. > > (BTW, before or after my work, the "spacing" parameter doesn't work right > with those cases. "spacing" doesn't work well with any > proportionally-spaced fonts.) > > Here's "HarfBuzz", the font layout engine's name, as written in Persian, > with a textmetric-measured box around it: > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >