Sto scrivendo un'app per la quale il client ha fornito un carattere personalizzato. Il font si presenta come quattro file separati otf
, uno per regolare, grassetto, corsivo e grassetto-corsivo. Se voglio usare solo uno di questi quattro tipi di carattere nella mia classe, creo il FontLoader
in questo modo:Come avere più oggetti FontLoader in una classe?
FontLoader { id: clientFontRegular; source: "qrc:/client/fonts/Font-Regular.otf" }
e poi posso usarlo per qualsiasi controllo sulla mia pagina in questo modo:
font.family: clientFontRegular.name
Il mio problema è che ho più controlli sulla mia pagina, e voglio usare regolarmente alcuni, grassetto per alcuni, corsivo per altri, ecc. Per fare ciò ho aggiunto anche gli oggetti FontLoader
per gli altri tipi di caratteri, come ad esempio :
FontLoader { id: clientFontBold; source: "qrc:/client/fonts/Font-Bold.otf" }
FontLoader { id: clientFontItalic; source: "qrc:/client/fonts/Font-Italic.otf" }
FontLoader { id: clientFontBoldItalic; source: "qrc:/client/fonts/Font-BoldItalic.otf" }
Ma questo non funziona correttamente. Tutti e quattro gli id (clientFontRegular, clientFontBold, clientFontItalic e clientFontBoldItalic) possono essere utilizzati in qualsiasi punto della pagina (vale a dire senza andare in crash o finire con il carattere di sistema), ma il carattere utilizzato non importa quale sia il carattere in grassetto.
So che tutti e quattro i miei file otf
sono validi, perché se commento tutto tranne il FontLoader per un file e ne utilizzo solo uno, il font personalizzato viene reso correttamente. Sembra proprio che ci sia un problema nel tentativo di definire più FontLoaders in una classe (nessuno degli esempi di FontLoader che ho visto in linea usa più di un singolo font personalizzato).
Qualcuno sa come fare?
Prendere l'abitudine di fornire un codice di esempio funzionale autonomo e minimo che illustri il problema. Altrimenti come facciamo a sapere cosa non va? – dtech