-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Issue Summary
Rich-text clips that use the font family Roboto with weight 900 cause the SDK to throw during edit load, even when Roboto (or Roboto 900) is provided in timeline.fonts or when using the built-in Roboto assets.## Error
Failed to render rich text frame: Error: Failed to layout text: Text shaping failed: Failed to shape text with font "Roboto": Font not registered for Roboto900
Stack trace (relevant frames)
renderFrame shotstack-studio.es.js:49493
renderFrame shotstack-studio.es.js:49758
load shotstack-studio.es.js:49733
createPlayer shotstack-studio.es.js:52905
reconcile shotstack-studio.es.js:52905
reconcileInitial shotstack-studio.es.js:52833
initializeFromDocument shotstack-studio.es.js:53321
load shotstack-studio.es.js:53301
Expected Behavior
No response
Actual Behavior
No response
Steps to Reproduce
No response
Technical Analysis
No response
Possible Solutions
No response
Tested Environment
Environment
- Package:
@shotstack/shotstack-studio@2.1.2 - Context: Loading an edit (template) fetched from an API. The edit has
timeline.trackswith clips whoseasset.typeisrich-text,asset.font.familyis"Roboto", andasset.font.weightis900.
Steps to reproduce
- Create an edit JSON with at least one rich-text clip using
font: { family: "Roboto", weight: 900, ... }. - Optionally include Roboto in
timeline.fonts(e.g.{ src: "https://fonts.gstatic.com/s/roboto/..." }). - Run
const edit = new Edit(editConfig); await edit.load();. - The error is thrown during
loadwhen the SDK tries to render the rich-text frame.
Expected behavior
- Either Roboto weight 900 is registered when Roboto (variable or static) is listed in
timeline.fonts, or - The built-in Roboto asset (if any) is used for weight 900 so that
Roboto__900is registered and rich-text renders without error.
Notes
- Commit #53 (“fix: update Roboto font path”) may be related; the issue still occurs in 2.1.2 when the edit comes from an API payload that uses Roboto with weight 900.
Additional Context
No response