Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
6

New Scripting Hooks for Variable Fonts

Adobe Employee ,
Aug 14, 2023 Aug 14, 2023

Hi everyone,

 

We're happy to announce that starting in Beta build 24.0x25, we have added 7 new scripting hooks related to variable fonts.

You can see the full list here and their respective documentation:

 

We've also created a demo script panel that exercises these new hooks to inspect installed variable font axes and apply animation controls to create dynamic variable font animations:

 

variableFontsScriptingHooks.gif

 

The script is also attached to this post, but you must rename the file's extension from .jsx.txt to .jsx to run it inside AE.

We're excited to see what you'll be able to do with these new variable fonts hooks and to hear any feedback you may have!

TOPICS
Feature request , Performance
17.5K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
May 23, 2024 May 23, 2024

@Scott.C. Thank you for reporting this.

 

As it happens I hit the same problem here a bit before you and have been looking into it.

 

Given my current understanding of the vulnerability, it is not a new problem and perhaps the intense variable font text animation via Expressions just increases the odds of it happening.

 

Any workaround you might come up with is likely to just be luck imho.

 

It is not looking like it has a trivial solution. When we know more we feel we can pass on, we will.

 

Douglas Waterfall

After Effects Engineering

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
May 23, 2024 May 23, 2024

@Douglas_Waterfall Yeah it plays back with no issues in Ram Preview but once I go to the render queue that is when things to awry. Using "current settings" I think makes AE us the ram buffer to export instead of whatever bug it's hitting in the Render Queue. That has been my expereince so far. Once I try to render the comp with "best settings" variable fonts don't work again until I repopen the project. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
May 23, 2024 May 23, 2024

You may be right about luck because sometimes it renders without issue but once the bug arises you have to revert the project file because it becomes a bit unstable. I tried a test with MFR on/off with
"best settings" on a hunch and both times it rendered fine. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
May 23, 2024 May 23, 2024

MT rendering off may improve the odds, but that is only guess. The odds are still not good.

 

Douglas Waterfall

After Effects Engineering

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Jun 10, 2024 Jun 10, 2024

@Douglas_Waterfall  Another thing that doesn't seem to work is per character kerning or baseline offset when variable fonts are enabled via the supplied script 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Jun 18, 2024 Jun 18, 2024

I rebuilt the layer / keyframes and it works fine now. Something about the underlying data seemed to make the Render Queue mad. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Jun 06, 2025 Jun 06, 2025

@Douglas_Waterfall @JohnColombo Is there a way to remove the linear expression mapping from the script? I tried chatGPT but had no luck. Obviosuly a native version of this would have been welcome yesterday but just trying to get something a little less cumbersome. 

 

I need to recreate type setting from figma and the linear mapping of the values actually makes it harder to just type in the actual variable font face values. I.e I need a weight of "500" but I type in 50 or something like 49.5 because the mapping is going from 1 to 100 instead of 0 to 500. I can manually edit each epxression but that is a big waste of time on the size of projects I am working on. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Jun 06, 2025 Jun 06, 2025
LATEST

Ok after banging my head against the wall this update to the script fixed my problem and straightened out the conversion. 

 

this.exprStrings.push(
        "const " + theTag + 'Slider = effect("' + ctrlName + '")(1);',
        "const " + theTag + "Min = " + theMin + ";",
        "const " + theTag + "Max = " + theMax + ";",
        "const " + theTag + "Interp = linear(" + theTag + "Slider," + theTag + "Min, " + theTag +  "Max, "  + theTag + "Min, " + theTag + "Max);",

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines