[JW Lua] Number of fonts limited to 256 ?

Jari Williamsson jari.williamsson at mailbox.swipnet.se
Tue Feb 16 19:03:01 CET 2016


Jan,

Yes, Finale's internal font ID is 8 bit unsigned.


Best regards,

Jari Williamsson


On 2015-12-29 12:01, Jan Angermüller wrote:
> Jari,
>
> do you know if there is a limit in the number of different fonts used in
> a Finale document ?
> The code snippet at the very bottom tries to create an FCString for each
> font installed on the system and returns its internal font ID. But after
> the internal font ID 255 has been used, it only returns 0 for each new
> font.
>
> If this happens for example in a text expression or a page text block
> assignment, all elements with the font ID 0 get the same font (!), no
> matter what font I explicitly gave them.
> Could it be that this is a bug in JW Lua (use of byte instead of word
> ?), as Finale also supports internal font IDs above 255 (I think at
> least until 65536).
> For example, FCFontInfo:SetNameByID() takes a twobyte value and
> FCFontPrefs:Load(...) also supports values above 255. So I think it's
> either a JW Lua or a Finale PDK problem.
>
> I also tried to implement a workaround in the code by explicitly calling
> FCFontInfo:SetNameByID(...) with a value above 255, but it didn't work.
>
> Jan
>
> local fonts=finale.FCStrings()
> fonts:LoadSystemFontNames()
> local counter=300
> for f in each(fonts) do
>      local text=finale.FCString()
>      text.LuaString="^font("..f.LuaString..")^size(24)^nfx(0)a"
>      local fontinfo=text:CreateLastFontInfo()
>      --fontinfo:SetNameByID(counter)   -->workaround, but that didn't
> work with values above 255
>      print(text.LuaString,fontinfo:GetNameByID())
>      counter=counter+1
> end
>
> Prints:
> ...
> ^font(Gentium Basic)^size(24)^nfx(0)a 252
> ^font(Gentium Book Basic)^size(24)^nfx(0)a 253
> ^font(DejaVu Sans)^size(24)^nfx(0)a 254
> ^font(DejaVu Sans Mono)^size(24)^nfx(0)a 255
> ^font(DejaVu Serif Condensed)^size(24)^nfx(0)a 0      --> from now on it
> only returns 0
> ^font(DejaVu Serif)^size(24)^nfx(0)a 0
> ^font(DejaVu Sans Light)^size(24)^nfx(0)a 0
> ...
>
>
> _______________________________________________
> JWLua mailing list
> JWLua at jwmusic.nu
> http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
>
>






More information about the JWLua mailing list