[x] I have written a descriptive pull-request title
[x] I have verified that there are no overlapping pull-requests open
[x] I have verified that I am following matches the existing coding patterns and practice as demonstrated in the repository. These follow strict Stylecop rules :cop:.
[x] I have provided test coverage for my change (where applicable)
Description
Fixes #375 #373 #367
We were calculating the bounds bitmap length calculation incorrectly which led to the wrong bounds being read.
Further investigation into determining the correct bounds led to the discovery that the bounds calculation could be simplified and that the size was being incorrectly calculated.
I've added some additional visual tooling in the samples project that helps to verify measurement results. This helped me to discover that we were not rendering the results of some ligature substitutions if the remaining glyph code point was non-rendering. The output is pretty cool.
I also fixed the line breaking algorithm to include a missed breaking opportunity and exactly match browser output.
Prerequisites
Description
Fixes #375 #373 #367
We were calculating the bounds bitmap length calculation incorrectly which led to the wrong bounds being read.
Further investigation into determining the correct bounds led to the discovery that the bounds calculation could be simplified and that the size was being incorrectly calculated.
I've added some additional visual tooling in the samples project that helps to verify measurement results. This helped me to discover that we were not rendering the results of some ligature substitutions if the remaining glyph code point was non-rendering. The output is pretty cool.
I also fixed the line breaking algorithm to include a missed breaking opportunity and exactly match browser output.