giovedì 5 febbraio 2015

Font con iOS e Android

Quando lavoriamo sui sistemi mobili (Android e iOS) è tutto più difficile, perchè le politiche di sicurezza cercano di limitare le interazioni fra sistema e programmi esterni. Oggi vedremo come avere un programma che usi dei font personalizzati sui sistemi mobili.
Il problema è solo che i nomi dei font su iOS non combaciano o sono del tutto assenti rispetto a quelli su PC/Mac.
Fate uno programmino come il seguente:






dove c'è un pulsante, uno scrolling list e un campo di testo semplice (field). Chiamate lo scrolling list fonts, mentre l'altro campo di testo risultato.
Nel codice del pulsante metti questo codice:

on mouseUp
   put the fontNames into fld "fonts"
   sort lines of fld "fonts"
end mouseUp

mentre nel campo di testo al centro metti questo:


on mouseDown
   set the textFont of fld "risultato" to the selection
   set the text of fld "risultato" to ("esempio di " & the selection)
end mouseDown


Eseguendolo su pc e su Android o iOS abbiamo dei risultati differenti: ogni volta che cliccheremo sul pulsante, avremo la lista dei font disponibili sul sistema.


I font disponibili nativamente non sono molti, per includerne altri non è difficile.
Innanzitutto, per iOS conviene mettere nello stack metti nello stack questo codice, così il font personalizzato si vedrà senza problemi:

on openStack
   if the environment is not "development" then
      iphoneUseDeviceResolution true
   end if
end openStack

Poi bisogna andare su Standalone application setting, il pannello Copy files e da li aggiungi il file TTF che contiene il font che vuoi usare:


Fatto ciò, incrociamo le dita perchè, se tutto è andato per il verso giusto, Livecode riconoscerà il file font e lo installerà dentro la nostra app. Quindi senza bisogno di ulteriore codice, avviando di nuovo la piccola app appena fatta, lo troveremo tra la lista dei font disponibili.
Font personalizzati su Android

Font personalizzati su iOS