Skip to content

make harmonization robust and avoid zero handles after harmonization#5262

Merged
skef merged 2 commits intofontforge:masterfrom
linusromer:master
Jan 4, 2024
Merged

make harmonization robust and avoid zero handles after harmonization#5262
skef merged 2 commits intofontforge:masterfrom
linusromer:master

Conversation

@linusromer
Copy link
Copy Markdown
Contributor

Non-breaking change
After my presentation at the TUG Conference 2023, Jan Šustek correctly made me aware of the fact, that my harmonization formula is not numerically stable for some cases and that I should use the citardauq formula instead. Which I have done now in the code.

Furthermore harmonization is now no longer applied if it would produce a zero handle (because then the curvature would be either infinitely large, so it wouldn't be continuous, or it would be zero, so harmonization would not change anything).

I have also written a paper, that describes the whole process of harmonization in more detail here (the reference implementation is in METAPOST, but the math is the same)
romer-curvetools.pdf

@skef
Copy link
Copy Markdown
Contributor

skef commented Jan 4, 2024

@linusromer could you rebase?

@linusromer
Copy link
Copy Markdown
Contributor Author

@skef I guess merging into master was enough? Or do you really need a rebase?

@skef
Copy link
Copy Markdown
Contributor

skef commented Jan 4, 2024

Naw, either works.

Copy link
Copy Markdown
Contributor

@skef skef left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lftm

@skef skef merged commit 71cbff0 into fontforge:master Jan 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants