summaryrefslogtreecommitdiff
path: root/pkg/macos/text.zig
AgeCommit message (Collapse)Author
2025-10-02fix(font/coretext): always prevent shaper from emitting rtlQwerasd
The solution we had before worked in most cases but there were some which caused problems still. This is what HarfBuzz's CoreText shaper backend does, it uses a CTTypesetter with the forced embedding level attribute. This fixes the failure case I found that was causing non- monotonic outputs which can have all sorts of unexpected results, and causes a crash in Debug modes because we assert the monotonicity while rendering.
2024-12-11font(coretext): add metrics test case for CT, fix variable font initQwerasd
Variable font init used to just select the first available predefined instance, if there were any, which is often not desirable- using createFontDescriptorFromData instead of createFontDescritorsFromData ensures that the default variation config is selected. In the future we should probably allow selection of predefined instances, but for now this is the correct behavior. I found this bug when adding the metrics calculation test case for CoreText, hence why fixing it is part of the same commit.
2024-08-16pkg/macos: yeet more usingnsMitchell Hashimoto
2024-05-08pkg/macos: add more text APIsMitchell Hashimoto
2023-12-11pkg/macos: more APIsMitchell Hashimoto
2023-12-11pkg/macos: implement CTRunMitchell Hashimoto
2022-10-09font: coretext calculate cell metricsMitchell Hashimoto
2022-10-09macos: frames, attributed strings, stylized stringsMitchell Hashimoto
2022-10-08pkg/macos: starting framesMitchell Hashimoto
2022-10-08pkg/macos: text framesetterMitchell Hashimoto
2022-10-08macos: create descriptors from URLMitchell Hashimoto
2022-10-01pkg/macos: font initializes, get glyphsMitchell Hashimoto
2022-10-01macos/text: font descriptorsMitchell Hashimoto
2022-09-30pkg/macos: add CoreTextMitchell Hashimoto