HarfBuzzSharp 2.6.1 - #929
Conversation
Use some code generation for OpenTypeMetricsTag
|
Hehe, more updates to harfbuzz. Seems every week there is a new version 😆 |
|
@mattleibow Could you update the XCode projects for me? I think when the mac part is done, this is ready for review. Should |
|
Having a look now. Thanks for the PR. |
It appears that the update of harfbuzz resulted in a 0.125 to the left
| var clusters = new uint[] { 4, 2, 0 }; | ||
| var codepoints = new uint[] { 629, 668, 891 }; | ||
| var points = new SKPoint[] { new SKPoint(0, 0), new SKPoint(28.375f, 0), new SKPoint(42.125f, 0) }; | ||
| var points = new SKPoint[] { new SKPoint(0, 0), new SKPoint(28.25f, 0), new SKPoint(42, 0) }; |
There was a problem hiding this comment.
This is interesting. It appears that the characters have shifted a tiny bit to the left by 0.125.
|
@Gillibald Before I merge this, I see you changed the enum from the |
|
@mattleibow Not sure why I did it that way. To produce these values I wrote some routine that reads the HarfBuzz headers and creates enums out of it. Will change this shortly to the bit shifting format that is more readable. |
|
I have changed the enum definition to use the bit shifting representation |
|
Merged! |
…ttribution)
A full Opus 4.8 review pass over all 61 regenerated pages (one reviewer per
batch, cross-checking each page against TEMPLATE.md and its own raw PR data)
found and fixed real quality problems the first polish pass introduced:
* Hallucinated content on 0-PR pages — several historical pages with no PR
data (1.49.0, 1.53.2, 1.54.0, 1.58.0, 1.58.1.1, 1.60.2, 1.60.3) had
invented Skia milestones, APIs, code samples, and bug fixes citing issue
numbers absent from the raw data. Replaced with honest servicing notes.
* Fabricated PR references — e.g. 2.88.0 cited #1733 (belongs to 3.0.0) and
2.88.5/2.88.8 invented features/contributors not in their raw data.
* Bot credits in prose — github-actions[bot]/dependabot[bot]/@github/@Copilot
backport credits were stripped from Highlights, feature bullets, and
Bug Fixes on 2.88.9, 3.116.1, 3.119.1, 3.119.2, 2.88.0 (the no-bots rule
only the visible prose had leaked, the tables were already clean).
* Misc accuracy — duplicate PR listings (1.68.1 #929), a miscategorized
breaking change (2.80.0 enum restore is additive), wrong platform emoji
(Tizen 🤖→📦), a typo (macioS), and an overstated "community drove
everything" claim (3.119.2).
One verified handle correction landed too: 2.80.3 @jerome.laban →
@jeromelaban (confirmed via gh). Raw PR-data blocks were preserved verbatim
throughout; only the polished prose below each block changed.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Description of Change
This updates HarfBuzzSharp to version 2.6.1 and has added bindings for introduces OpenType Metrics API
This also adds some overloads to Buffer.cs that take an integer as codepoint to make the life easier when working with codepoints.
API Changes
List all API changes here (or just put None), example:
Added:
--
public enum OpenTypeMetricsTag : uint--
public readonly structs OpenTypeMetrics--
public OpenTypeMetrics OpenTypeMetrics { get; }---
public bool TryGetPosition (OpenTypeMetricsTag metricsTag, out int position)---
public float GetVariation (OpenTypeMetricsTag metricsTag)---
public int GetXVariation (OpenTypeMetricsTag metricsTag)---
public int GetYVariation (OpenTypeMetricsTag metricsTag)PR Checklist