ok what you want to do is to add a new font into options...
which is pretty different.
Please, first, read this article:
www.limesurvey.org/manual/New_Template_System_in_LS3.x
We'd like the template providers to create their own option page look and feel. The one we release with 3.0.x is very basic and will evolve a lot in the future.
As explained in the article:
The simple option page simply fills in the advanced form inputs.
For font, in vanilla, here how it works:
1. By default, in the XML, noto font is used by adding the noto package and defining the font option to noto:
github.com/LimeSurvey/LimeSurvey/blob/70...nilla/config.xml#L79
github.com/LimeSurvey/LimeSurvey/blob/70...nilla/config.xml#L58
The noto font package itself is defined here:
github.com/LimeSurvey/LimeSurvey/blob/70...ckages.php#L287-L293
github.com/LimeSurvey/LimeSurvey/blob/70...ssets/fonts/noto.css
(notice the definition of the class .font-noto at the end of the file)
Then, the body class font is defined using this value:
github.com/LimeSurvey/LimeSurvey/blob/70...yout_global.twig#L76
Code:
<body class=" ... font-{{ aSurveyInfo.options.font }} ... " ... >
The XML file only contains the default values for your template configuration. But indeed, those values are defined and read inside the database (table "template_configuration") as json strings. The option page is just a form to update those values. For vanilla fonts:
demo.limesurvey.org/index.php?r=admin/th...tions/sa/update&id=1
In the option field:
{ ..., "font":"noto"}
In the package field:
{...,"font-noto"]}
The option.js file just use the value of the font selector of the simple option to change the value inside the advanced pages:
github.com/LimeSurvey/LimeSurvey/blob/70...options.js#L148-L174
So, as I explained in my first message: to be able to add new fonts easily to the font selector, we must allow user to upload their own assets packages with font.
For now it is not the case, so if you want to add a new font in a font selector, you must create your own custom font selector that doesn't rely on packages, but only on CSS of your own theme. To understand how you can proceed to do that, I suggest you have a look about how works the Fruity custom theme selector.