Changelog of @hackage/kb-text-shape 0.2.0.0

Changelog for kb-text-shape

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to the Haskell Package Versioning Policy.

0.2.0.0 - 2026-07-28

Updated kb_text_shape to 2.24.

Breaking, following upstream:

  • kbts_ShapeDirect now takes a ShapeScratchpad instead of a shape config and an allocator.
  • kbts_ShapeDirectFixedMemory was removed upstream; use kbts_PlaceShapeScratchpadFixedMemory.
  • Glyph config functions (kbts_SizeOfGlyphConfig, kbts_PlaceGlyphConfig, kbts_CreateGlyphConfig) now take a ShapeConfig.
  • Structs.Codepoint carries featureOverrides/featureOverrideCount instead of config.
  • Structs.GlyphParent is now two codepoints instead of a decomposition and a codepoint.
  • Font.Info gained metrics fields (units per em, bounding box, ascent/descent/line gap, capital height), now backed by kbts_GetFontInfo2.

Removed:

  • unitsPerEm and capHeight, now that the upstream serves them from font Info.

Added:

  • Shape scratchpad management: kbts_SizeOfShapeScratchpad, kbts_PlaceShapeScratchpad, kbts_PlaceShapeScratchpadFixedMemory, kbts_CreateShapeScratchpad, kbts_DestroyShapeScratchpad.
  • ShapeContextFlags and the flag-taking context constructors: kbts_PlaceShapeContext2, kbts_PlaceShapeContextFixedMemory2, kbts_CreateShapeContext2.
  • Structs.FontInfo2 and kbts_GetFontInfo2.
  • Handles.sizeOfBreakState for allocating segmentation states.
  • createContextWith to set the context flags.
  • iterateGlyphs is now exported for draining direct API results.

Known upstream issues (as of 2.24), see the haddocks:

  • kbts_BreakEntireString* leave unwritten holes in the break array and over-report the break count when same-position breaks merge.
  • kbts_ShapePopFeature always returns 0 instead of reporting the removal.
  • Fonts pushed mid-input take effect a segment earlier than the codepoints fed under them (affects withFont_ section edges; present in 2.06 too).

0.1.0.1 - 2026-03-15

  • Added withFont_. This allows reusing the font stacks for text styling too.

0.1.0.0 - 2025-12-30

Initial release.