[Libreria TFT cambio FONT]

di il
5 risposte

[Libreria TFT cambio FONT]

Sto usando un TFT con cipset ILI9488 interfaccia per MEGA2560 8BIT, quindi non SPI, le uniche LIB che ho trovato e che sono riusciuto a far funzionare sono quelle in questo LINK:
https://github.com/gitcnd/LCDWIKI_GU

Funzionano regolarmente, ma il Font che viene caricato da [LCDWIKI_font.c] è un font poco definito [FONT5X7_H].
Questo il Font di cui parlo:
https://github.com/gitcnd/LCDWIKI_GUI/blob/master/LCDWIKI_font.c

Non sono particolarmente pratico, ma mi pare di aver capito che nella Libreria [LCDWIKI_GUI.cpp] alla seguente Sub:
Riga 551÷602 di questo codice:
https://github.com/gitcnd/LCDWIKI_GUI/blob/master/LCDWIKI_GUI.cpp

venga caricata la mappa dei Font.
Essendo un font 5x7, la funzione verifica che l'array sia 5x7 nella prima riga, poi cicla in un Loop annidato 5*7 per estrarre i blocchi.
Se ho capito bene, spero mi possiate dare un suggerimento, nel caso volessi cambiare Font, esempio un [Serif9x7], dovrei adattare il codice in questione per leggere non più i blocchi da 5*7 ma 9*7...?

La funzione [Print] alle righe 605÷642 invece...?

Questo il Nuovo Font che vorrei provare:
https://github.com/adafruit/Adafruit-GFX-Library/blob/master/Fonts/FreeSerif9pt7b.h

Se non ho capito molto, e la cosa è probabile, riuscite a darmi qualche spunto per procedere...?

Grazie

5 Risposte

  • Re: [Libreria TFT cambio FONT]

    Ciao Alex, ho visto un po ' superficialmente la cosa perché per ora non sono al computer (di pomeriggio vedo meglio) ma una cosa la possiamo provare.

    Nella funzione write (che è quella che scrive il singolo carattere per conto della Print) andrebbe cambiato il *6 in *10 e lo puoi fare anche subito senza cambiare font. Vedrai le lettere più distanziate ma vorrei capire cosa succede perché non conosco la massima risoluzione orizzontale del display.
  • Re: [Libreria TFT cambio FONT]

    Il problema, sempre abbia compreso, non è la distanza ma prorio il carattere che è "minimal" e bruttino da vedere... soprattutto su FintSize>2

    Il Display è 320(hor)x480(vert)

    Ho trovato Librerie per questo TFT di Adafruit_GFX che supportano il cambio FONT, tuttavia sono per moduli SPI, quindi sto ancora cercando di adattare le Lib al mio modello, e non sono velocissimo, queste librerie invece sono specifiche ma un poco meno raffinate, o complete... diciamo che serve arrangiarsi un po...

    Ora sto realizzando la GUI per il display per la gestione dell'interfaccia anche tramite Touch e "funziona" piuttosto bene direi, sono io poco raffinato nel codice non avendone padronanza, ma intanto riesco a giocarci e non è poco.
    Purtroppo per me è un tarlo grosso non avere dimestichezza con questo linguaggio perchè scrivere codice "che funziona" non è nel mio modo di fare... , ma sto facendo progressi, forse...

    Questa sera provo quanto suggerito, poi aggiorno il risultato.
  • Re: [Libreria TFT cambio FONT]

    Con 320 pixel e il font minimal puoi vedere fino a 53 caratteri, con il font più definito solo 32 in orizzontale. Basterebbero?
  • Re: [Libreria TFT cambio FONT]

    Giusto hai ragione la matematica non è opinabile...

    Questa è l'immagine della GUI che sto facendo, questa è disegnata quindi i FONT sono belli, ma è già implementata, con i Font attuali (magari se serve pubblico quella così si capisce cosa defininsco per font migliorabile):


    Ora immagino che il Numero dei Caratteri sia riferito al SIZE(1 quindi 5*7 coningombro 6*8 da cui 53 sui 320)... ovviamente se aumenta il Size, si riduce in modo proporzionale, siccome come da GUI ho dei Size(4), potrebbe con il 9*7 ipotizzato, essere da valutare meglio soprattutto sul CRONOMETRO che vede 8charatteri a Font 4, quindi già esaurito.
    Tuttavia, non è un problema, se comprendo come modificare il codice, poi ho svariate LIB di Font ed adatto quella che mi pare più adatta e funzionale.
  • Re: [Libreria TFT cambio FONT]

    Impostando il valore a 10 non ottengo variazioni apprezzabili.

    Questa la GUI con i font di cui parlo:
Devi accedere o registrarti per scrivere nel forum
5 risposte