convertire font .ttf in array c

salve a tutti,
come faccio con osx o linux a convertire un font .ttf in un array c ?

googolando mi sono inbattuto in questo:, ma non capendo come farlo funzionare non capisco neanche se è quello che realmente cerco...

idee?

grazie

Erm, per farci cosa?

per poter utilizzare un font a mia scelta su un epaper....

Ma soprattutto, che c'azzecca Arduino?

cepics:
per poter utilizzare un font a mia scelta su un epaper....

NON è così banale e ogni epaper usa un suo standard per la memorizzazione dei font.

Ci sono già passato, ho scritto al produttore (waveshare) e ... per alcuni modelli (es. il 4.3" 800x600 di cui è parlato anche QUI sul forum) mi è stato risposto che ci sono solo quelli con cui arriva e che non è dato sapere il formato :frowning:

Guglielmo

P.S.: Per altri display o librerie grafiche esistono degli appositi programmi, normalmente scritti dall'autore della libreria, per la conversione di un font in un'array 'C'.

...che strazio, è proprio di un waveshare che parlo ed in particolare del 2.13.

ho bisogno di visualizzare a tutto schermo tre cifre ed un punto ed avevo scelto questo font

cepics:
...che strazio, è proprio di un waveshare che parlo ed in particolare del 2.13.

... come ho fatto io ... contatta il venditore e chiedi se c'è un'utility per la conversione di "font" compatibile con quel display, è l'unica.

Guglielmo

gpb01:
... come ho fatto io ... contatta il venditore e chiedi se c'è un'utility per la conversione di "font" compatibile con quel display, è l'unica.

Guglielmo

se ti hanno risposto di no per il 4,3 la vedo bigia cmq ci provo......

cepics:
se ti hanno risposto di no per il 4,3 la vedo bigia cmq ci provo......

NON è detto :slight_smile: , ciascuno di questi display ha modalità diverse di lavoro ... stò giusto guardando gli 1.54" e vedo che usano, diversamente dai 4.3" (i cui fonts sono fissi in flash o su SD, ma comunque NON modificabili), dei files .c con i fonts ::slight_smile:

Anzi, se ti indicano un'utility ... fammi sapere :smiley:

Guglielmo

Edit: Guardando le carattersitiche, i display più piccoli sono totalmente diversi dal 4.3" (display "intelligenti") che ha una sua interfaccia seriale ed un processore ARM che lo gestisce. Mi sembra di capire che, qulli più piccoli, con cui si comunica in SPI, sono più "stupidi" e che quindi NON hanno dei veri "font", ma in realtà si lavora sempre in modalità grafica "disegnando" i font nel buffer e spedendo il buffer ... come si fa nei display grafici più semplici (quelli NON intelligenti) quindi ... un utility per convertire un font in un array 'C' ci deve essere ... ::slight_smile:

questa la risposta di Waveshare:

"Hello,

No, no such utility.
The font file used on the demo code are the font will made by MCD Application Team, which are made for STM32xx-EVAL's LCD driver.
You can find this information on the font file. Please check it."

non capisco per ora se è una buona o una cattiva notizia.....

... né una né l'altra ... se scarichi i loro files per Arduino e vai a vedere come sono fatti i fontxx.c vedi che hanno una struttura ben definita; ogni carattere è rappresentato da una serie di bytes che formano la matrice di pixel riga dopo riga; alla fine c'è una struttura che gli dice ogni carattere di quanti pixel in larghezza ed altezza è formato ogni carattere.

E' una struttura abbastanza semplice e non dovrebbe essere difficle prendere uno dei tanti convertitori che si trovano in giro e magari adattarlo :wink:

Un punto di partenza potrebbe essere QUESTO ... magari seguito da un altro programma che organizza, secondo le specifiche di quei font, i dati che esso produce.

Guglielmo

gpb01:
Un punto di partenza potrebbe essere QUESTO ... magari seguito da un altro programma che organizza, secondo le specifiche di quei font, i dati che esso produce.

aia tutto per win

passare per photoshop e poi da QUESTO può avere senso?

cepics:
which are made for STM32xx-EVAL's LCD driver.

Se sono realmente i font usati dalle schede Discovery di ST dotate di display TFT esistono delle utility, solo per Windows, che creano gli array dei font per queste schede partendo dai font true type di Windows.
Non è che questi display eink usano degli STM32 come smart controller onboard ?

astrobeed:
Se sono realmente i font usati dalle schede Discovery di ST dotate di display TFT esistono delle utility, solo per Windows, che creano gli array dei font per queste schede partendo dai font true type di Windows.

Hai un link a queste "utility" ? :slight_smile: ... così faccio qualche prova ...

Guglielmo

cepics:
aia tutto per win

... non lo dire a me ... :confused:

Guglielmo

gpb01:
Hai un link a queste "utility" ? :slight_smile: ... così faccio qualche prova ...

Fanno parte della libreria grafica StemWin che a sua volta è integrata in STM32 Cube, l'ide grafico per il setup delle varie periferiche degli STM32, ti tocca installare un sacco di Giga di roba. :slight_smile:
Vedo se riesco a tirarle fuori dalla mia installazione.

astrobeed:
Vedo se riesco a tirarle fuori dalla mia installazione.

Grazie, perché ... mi rifiuto di installare tutto l'ambiente ...
Piuttosto uso quella di Mikroe e ci scrivo appresso un programmino per creare i .c come vogliono quei display :wink:

Guglielmo

In allegato il programma che permette di convertire un font tft, scegliendo tra quelli disponibili nel sistema e i relativi attributi/dimensioni, in un file .c che contiene la relativa codifica sotto forma di array, uno per ogni carattere.
Se questi display eink usano realmente il formato utilizzato da ST per la serie Discovery con display questo è il giusto software per generare i file .c per i font.

FontCvtST.zip (227 KB)

Grazie mille, appena ho un attimo provo :smiley:

Guglielmo

Mmmm ... da una veloce prova, la struttura del file .c generato, NON mi sembra che gli somigli neanche un poco :smiley:

Mi sa tanto che bisogna comunque far un post-processore che legge il generato da questo o da quello di Mikroe e genera il file come lo vogliono loro :wink:

Guglielmo

P.S.: Strano però, nei commenti dei vari font si legge:

This file provides text Font12 for STM32xx-EVAL's LCD driver.

... quindi dovrebbe essere compatibile con il tuo Astro ? ? ? O ci vuole un'altra utility per quei display ?
Allego un esempio :slight_smile:

font12.c (25.2 KB)