Problem Description
When writing in Ink Notes, small loops and sharp turns in handwriting—most noticeably in letters like "o" and "a"—are aggressively cut off or straightened out by the path algorithm. This significantly impairs legibility, as closed circular shapes collapse into pinched angles or truncated segments rather than remaining distinct, round letters.
Comparison with Rnote
In Rnote’s Brush Configuration, three path modeling approaches are offered:
Simple (Produces line segments from raw input)
Curved (Produces smooth, curved segments)
Modeled (Produces a modeled path with physics-based algorithms)
Rnote's third option ("Modeled") tends to over-smooth and ruin tight handwriting by cutting off loops, very similar to what is currently happening in Ink Notes. However, Rnote's middle option—"Curved"—strikes the ideal balance: it applies smooth Bézier/curved segments to the stroke without discarding or cutting short the actual points of small closed loops like "o" and "a".
Suggested Solution
Implement a path modeling mode analogous to Rnote's "Curved" setting (fitting smooth curved segments through the input points without physics-based over-simplification).
Reduce corner-cutting / tolerance thresholds on tight loops so that small circular handwriting remains open and readable.
(Xournall++ also has a very good option for that)
Problem Description
When writing in Ink Notes, small loops and sharp turns in handwriting—most noticeably in letters like "o" and "a"—are aggressively cut off or straightened out by the path algorithm. This significantly impairs legibility, as closed circular shapes collapse into pinched angles or truncated segments rather than remaining distinct, round letters.
Comparison with Rnote
In Rnote’s Brush Configuration, three path modeling approaches are offered:
Simple (Produces line segments from raw input)
Curved (Produces smooth, curved segments)
Modeled (Produces a modeled path with physics-based algorithms)
Rnote's third option ("Modeled") tends to over-smooth and ruin tight handwriting by cutting off loops, very similar to what is currently happening in Ink Notes. However, Rnote's middle option—"Curved"—strikes the ideal balance: it applies smooth Bézier/curved segments to the stroke without discarding or cutting short the actual points of small closed loops like "o" and "a".
Suggested Solution
Implement a path modeling mode analogous to Rnote's "Curved" setting (fitting smooth curved segments through the input points without physics-based over-simplification).
Reduce corner-cutting / tolerance thresholds on tight loops so that small circular handwriting remains open and readable.
(Xournall++ also has a very good option for that)
Fixed in v0.13.0. The cause was the live smoothing filter: it smoothed x and y separately and reacted slowly to writing speed, which pulled small, quickly written loops together, and the finished stroke was built from those shrunken points. Now the finished stroke is built from the unfiltered pen points with a light, symmetric smoothing (no lag) – similar to Rnote's "Curved" mode. The live filter (only used while writing) follows the speed in the plane and reacts faster, and corners are only kept between segments of at least 0.6 mm, so tight loops are no longer turned into points. In our measurement, an "o" with 0.8 mm radius written in 0.1 s used to shrink to 0.61 mm with two sharp kinks; now it keeps 0.78 mm and stays round. Feedback with your pen is very welcome.
Fixed in v0.13.0. The cause was the live smoothing filter: it smoothed x and y separately and reacted slowly to writing speed, which pulled small, quickly written loops together, and the finished stroke was built from those shrunken points. Now the finished stroke is built from the unfiltered pen points with a light, symmetric smoothing (no lag) – similar to Rnote's "Curved" mode. The live filter (only used while writing) follows the speed in the plane and reacts faster, and corners are only kept between segments of at least 0.6 mm, so tight loops are no longer turned into points. In our measurement, an "o" with 0.8 mm radius written in 0.1 s used to shrink to 0.61 mm with two sharp kinks; now it keeps 0.78 mm and stays round. Feedback with your pen is very welcome.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem Description
When writing in Ink Notes, small loops and sharp turns in handwriting—most noticeably in letters like "o" and "a"—are aggressively cut off or straightened out by the path algorithm. This significantly impairs legibility, as closed circular shapes collapse into pinched angles or truncated segments rather than remaining distinct, round letters.
Comparison with Rnote
In Rnote’s Brush Configuration, three path modeling approaches are offered:
Rnote's third option ("Modeled") tends to over-smooth and ruin tight handwriting by cutting off loops, very similar to what is currently happening in Ink Notes. However, Rnote's middle option—"Curved"—strikes the ideal balance: it applies smooth Bézier/curved segments to the stroke without discarding or cutting short the actual points of small closed loops like "o" and "a".
Suggested Solution
(Xournall++ also has a very good option for that)
Fixed in v0.13.0. The cause was the live smoothing filter: it smoothed x and y separately and reacted slowly to writing speed, which pulled small, quickly written loops together, and the finished stroke was built from those shrunken points. Now the finished stroke is built from the unfiltered pen points with a light, symmetric smoothing (no lag) – similar to Rnote's "Curved" mode. The live filter (only used while writing) follows the speed in the plane and reacts faster, and corners are only kept between segments of at least 0.6 mm, so tight loops are no longer turned into points. In our measurement, an "o" with 0.8 mm radius written in 0.1 s used to shrink to 0.61 mm with two sharp kinks; now it keeps 0.78 mm and stays round. Feedback with your pen is very welcome.