This code shows what you can do with D3DFunc.
DW=d3d_Get_Desktop_Width()
DH=d3d_Get_Desktop_Height()
DD=d3d_Get_Desktop_Depth()
set display mode DW,DH,DD,32
set window off
d3d_Init
sync on:backdrop on:color backdrop 0
Rem Create Initail fonts
d3d_font 1,"Arial",12,0,0,1
d3d_font 2,"Arial",10,0,0,1
fontsize=10
oldfontsize=10
do
if upkey()=1 then inc fontsize,10
if downkey()=1 then dec fontsize,10
if fontsize<10 then fontsize=10
if fontsize>500 then fontsize=500
Rem Increate font size if it's changed
if fontsize<>oldfontsize
t=timer()
d3d_font 1,"Arial",fontsize,0,0,1
oldfontsize=fontsize
createtime=timer()-t
endif
d3d_starttext
d3d_text 2,0,0,0," Font Size= "+str$(fontsize)+", Created in "+str$(createtime)+" ms, FPS= "+str$(screen fps())
d3d_text 1,0,20,0,"£"
d3d_endtext
sync
loop
The time take to resize a font is dependent on its size. once it gets quite large it can take multiple seconds. My advice would be to create the fonts in advance at the required sizes. Currently you can have 20 fonts, but this could be increased if people require it.
You will obviously need the dll to run the sample.