# How to refresh applied fonts?

I'm creating a font ad-hoc and modifying It as I need time to time..

Any way to reload the font file linked to the *.blend file so all text objects are immediately refreshed?

Now I need to reload the font file for every text object at every modification...

Is there maybe a way to apply the font to a material via nodes? (or something like [maybe a script?])

Through the interface there is currently no way to replace the file for an existing font (ideally this would be supported),
however from Python you can do this.

eg, run this script:

import bpy
bpy.context.object.data.font.filepath = '//some_font.ttf'


However in 2.76 there is a bug where this won't update immediately (just fixed).

So you have to do...

import bpy
bpy.context.object.data.font.filepath = '//some_font.ttf'
bpy.context.object.data.update_tag()


You could set the file-path to its self to force reloading too.

• It works! but I'm missing something basic... how to apply this to all the selected text objects and not only the active one? – Francesco Yoshi Gobbo Mar 5 '16 at 7:43
• ock! found out how to do that and discovered an alternative solution! ^_^ thanks for your precious work ideasman!!!!!! – Francesco Yoshi Gobbo Mar 6 '16 at 1:10
• @FrancescoYoshiGobbo, could you post your solution as an answer? (so anyone who finds this question can use it). – ideasman42 Mar 6 '16 at 2:27

Found out an alternative solution:

Will perform this task performing a selection of all the 'font type' objects by

1. text object selection RMB
2. select grouped shiftG: Type T
3. change the font of the only active element
4. make links CTRLL: Fonts F

This update applies to all the selected text objects!