freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Progress update on adjustment database


From: Craig White
Subject: Re: Progress update on adjustment database
Date: Sun, 30 Jul 2023 18:56:23 -0400

> What exactly do you mean with 'find'?  The algorithm?  Just take the
extrema of *all* points – for fonts this should be good enough,
because it is standard to have points at the curve extrema, thus
making the bounding box of the curve identical to the bounding box of
the points (both on and off points).

Ok, thanks.  This is exactly what I needed.  I was already trying this, but I thought it was wrong because of off points.

> What exact rule are you referring to?  My rule #3
> doesn't seem to fit what you are talking about...

Sorry for being unclear.
What I mean is: my code allows the adjustment for i to be applied to glyphs with more than 2 contours to also adjust accented o and a, so the rules you suggested would reject around half of the characters that are currently being adjusted this way.  I think your rules can still be enforced by treating the contour to be moved as "A" and all other contours collectively as "B".

> No, I'm not, but I ask you to have this in mind to find a solution
> that can be easily extended to cover this situation, too (for example,
> by using an extendable structure instead of a plain variable).

In this case, do you mean that instead of making a codepoint a key for the database directly, I should wrap it in a struct so that other kind of keys can be added?
That sounds like a good solution

On Sun, Jul 30, 2023 at 4:14 AM Werner LEMBERG <wl@gnu.org> wrote:

Hello Craig,


again sorry for the late reply.

> During this time, I realized that knowing the bounding box of the
> tilde contour would help a lot.  In fact, the logic for the other
> vertical separation adjustments assumes that it can get the bounding
> box by taking the minimum/maximum coordinates of all the points, but
> this doesn't work because of off-points, which I didn't consider at
> the time.  How do you find this bounding box?

What exactly do you mean with 'find'?  The algorithm?  Just take the
extrema of *all* points – for fonts this should be good enough,
because it is standard to have points at the curve extrema, thus
making the bounding box of the curve identical to the bounding box of
the points (both on and off points).

> I should note that, in your example, check #3 is too restrictive.
> The logic allows for the bottom shape that needs to be separated to
> be made up of any number of contours, which allows it to work for
> characters with more complex shapes.

What exact rule are you referring to?  My rule #3 was

  (3) All points of A are lower than all points of B (or vice versa).

which doesn't seem to fit what you are talking about...

> I want to clarify: are you adding glyph names in the database as a
> requirement for the project?

No, I'm not, but I ask you to have this in mind to find a solution
that can be easily extended to cover this situation, too (for example,
by using an extendable structure instead of a plain variable).


    Werner

reply via email to

[Prev in Thread] Current Thread [Next in Thread]