> Thanks. Do you have meanwhile found an explanation why o-tilde looks
so bad for Times New Roman at 16ppem?
All 4 letters in each row have a different approach:
õ: vertical stretch, no segment removal
ñ: no vertical stretch, segment removal
ã: vertical stretch and segment removal
all other tildes: no changes applied
Actually, I tried the o tilde character again with no adjustments and it
looked the same. In this case, the vertical stretch wasn't enough to fix
the issue.
> Sounds good. Unfortunately, I'm a bit short of time right now; I'll
think about your algorithm within the next few days. However, please
proceed anyway!
I implemented the algorithm for all glyph variants! The version I used is
different from what I wrote originally to fix some errors. Here's the
current version:
results is now a global set of glyphs instead of an argument to the
function. It initially starts empty
fs is a global set of features, also initially empty
all other definitions are the same
func all_glyphs(codepoint c)
{
result = result ∪ lookup(c, fs)
foreach (feature f ∈ (features - fs)) //for all features not already in
fs
{
new_glyphs = lookup(c, fs ∪ f) - result
if (new_glyphs != ∅)
{
result = result ∪ new_glyphs
fs = fs ∪ f
all_glyphs(c)
fs = fs - f
}
}
}
I've only tried it on a pretty simple case so far, so I'll need to assemble
a more complex test font or two.
On Mon, Sep 18, 2023, 4:03 AM Werner LEMBERG <[email protected]> wrote:
>
> > Is testing all these combinations really necessary?
>
> I don't know :-) I just wanted to point out that feature combinations
> have to be considered.
>
> > [...] My intuition says very few of these combinations actually
> > matter.
>
> Yes, I agree.
>
> > I wrote some pseudocode for a different approach that I believe
> > accomplishes the same thing, while being more efficient and hopefully
> > removing the need to constrain the set of features considered: [...]
>
> Sounds good. Unfortunately, I'm a bit short of time right now; I'll
> think about your algorithm within the next few days. However, please
> proceed anyway!
>
> > I attached some pictures of the tilde unflattening approaches.
>
> Thanks. Do you have meanwhile found an explanation why o-tilde looks
> so bad for Times New Roman at 16ppem?
>
> > I chose sizes that showcase the differences between the approaches,
> > and also committed my current code if you would like to try it
> > yourself.
>
> Will try if I find some time.
>
>
> Werner
>