Autore Topic: Testo subscript non mostrato correttamente in textView  (Letto 2086 volte)

Offline enzoses

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OS X
Testo subscript non mostrato correttamente in textView
« il: 18 Marzo 2013, 14:46:13 CET »
0
Ciao a tutti! Sto muovendo i primi passi con Android e chiaramente ho dei problemi  :D
Sto facendo la versione Andrioid di una mia app per iOS dal funzionamento molto semplice: contiene un file xml con dettagli di alcune sostanze chimiche che vengono mostrate a schermo. Tra questi dettagli c'è anche la formula, che andrebbe mostrata con testo subscript.
Per trasformare i numeri da normali in subscript uso questo semplice sistema

Codice (Java): [Seleziona]
str = str.replaceAll("0", "\u2080");
str = str.replaceAll("1", "\u2081");
str = str.replaceAll("2", "\u2082");
str = str.replaceAll("3", "\u2083");
str = str.replaceAll("4", "\u2084");
str = str.replaceAll("5", "\u2085");
str = str.replaceAll("6", "\u2086");
str = str.replaceAll("7", "\u2087");
str = str.replaceAll("8", "\u2088");
str = str.replaceAll("9", "\u2089");


str contiene la stringa prelevata tramite parsing xml.
Ora il problema è che nel log vedo la formula correttamente, mentre nella textView vedo solo i numeri da 1 a 4

In allegato metto uno screenshot della cella. Per la cronaca la formula corretta è C₉H₈O₄

Cercando in rete ho trovato solo soluzioni che fanno a riferimento a cose del tipo setText(Html.fromHtml("X<sub>2</sub>");
ma oltre a non capirne bene il significato non mi sembra faccia al caso mio, perchè non vorrei riscrivere tutte le formule.
La cosa che non capisco è perchè nel log mi mostri tutto correttamente mentre nella textView no.

Spero di essermi spiegato e che riusciate ad aiutarmi, grazie!
« Ultima modifica: 18 Marzo 2013, 14:47:44 CET da enzoses »

Offline brissio

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: +6
    • Mostra profilo
Re:Testo subscript non mostrato correttamente in textView
« Risposta #1 il: 18 Marzo 2013, 15:06:08 CET »
0
I caratteri sono tutti stampabili?
Hai provato a cambiare font? magari non sono presenti in quel font

Offline enzoses

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OS X
Re:Testo subscript non mostrato correttamente in textView
« Risposta #2 il: 18 Marzo 2013, 15:12:34 CET »
0
I caratteri sono tutti stampabili?
Hai provato a cambiare font? magari non sono presenti in quel font

me lo sono chiesto anch'io ma non so come verificare se i caratteri sono stampabili.
Ho visto che sono compresi solo 3-4 font di base e li ho provati tutti ma niente.
Come potrei verificare?

Offline brissio

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: +6
    • Mostra profilo
Re:Testo subscript non mostrato correttamente in textView
« Risposta #3 il: 18 Marzo 2013, 15:35:43 CET »
0
sono in ufficio quindi non riesco a far molto. prova a vedere se ti torna utile questo link
Tech Droid: Using Custom fonts on Android

Offline enzoses

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OS X
Re:Testo subscript non mostrato correttamente in textView
« Risposta #4 il: 18 Marzo 2013, 17:47:47 CET »
0
sono in ufficio quindi non riesco a far molto. prova a vedere se ti torna utile questo link
Tech Droid: Using Custom fonts on Android

Sono due ore che cerco di capire come poter usare un font esterno. Incontro sempre l'inghippo del getAssets().
In pratica io ho una customListView con un'immagine e due textView: le riempio in una classe che non è un'actvity e quindi non riesco ad usare le normali istruzioni per caricare un font.
Se ho usato qualche termine errato correggimi :)

EDIT: sono appena riuscito ad usare un custom font, ma è uno strano. Adesso provo ad usarne qualcun'altro e vedo!
« Ultima modifica: 18 Marzo 2013, 17:55:07 CET da enzoses »

Offline brissio

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: +6
    • Mostra profilo
Re:Testo subscript non mostrato correttamente in textView
« Risposta #5 il: 18 Marzo 2013, 17:55:05 CET »
0
che inghippo? così su due righe dicendomi getAssets()
Hai incluso nella cartella assets il font che vuoi usare?

Offline enzoses

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OS X
Re:Testo subscript non mostrato correttamente in textView
« Risposta #6 il: 18 Marzo 2013, 17:59:28 CET »
0
che inghippo? così su due righe dicendomi getAssets()
Hai incluso nella cartella assets il font che vuoi usare?

Ho modificato il post precedente dicendo che ho risolto per quanto riguarda l'uso di un font esterno :)
Ora ho provato con helvetica e il risultato è quello dell'allegato, questo vuol dire che non ha quei caratteri?


Offline brissio

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: +6
    • Mostra profilo
Re:Testo subscript non mostrato correttamente in textView
« Risposta #7 il: 18 Marzo 2013, 18:01:29 CET »
0
questo è il classico risultato di carattere non stampabile a video

Offline enzoses

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OS X
Re:Testo subscript non mostrato correttamente in textView
« Risposta #8 il: 18 Marzo 2013, 18:02:57 CET »
0
questo è il classico risultato di carattere non stampabile a video

secondo te dipende dal font usato?

Offline brissio

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: +6
    • Mostra profilo
Re:Testo subscript non mostrato correttamente in textView
« Risposta #9 il: 19 Marzo 2013, 10:41:10 CET »
0
in quest'ultimo caso si, in precedenza non so. In debug la stringa è valorizzata correttamente? è solo un difetto di presentazione ?

Offline enzoses

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OS X
Re:Testo subscript non mostrato correttamente in textView
« Risposta #10 il: 19 Marzo 2013, 11:05:30 CET »
0
in quest'ultimo caso si, in precedenza non so. In debug la stringa è valorizzata correttamente? è solo un difetto di presentazione ?

si, ti allego uno screenshot del Log.i(stringa, "Formula");

Quindi se ho capito bene devo andare a caccia di un font che contenga quei caratteri. La cosa strana è che su iOS uso Helvetica e viene visualizzato correttamente. Il problema è capire quale sia il font giusto

Offline brissio

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: +6
    • Mostra profilo
Re:Testo subscript non mostrato correttamente in textView
« Risposta #11 il: 19 Marzo 2013, 11:13:12 CET »
0
Hai provato a usare Helvetica su android? apriti un documento con un editor di testo (word o simili) e trova un font in grado di visualizzare certi caratteri. Ti conviene postare il codice comunque

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Testo subscript non mostrato correttamente in textView
« Risposta #12 il: 19 Marzo 2013, 11:15:27 CET »
0
io credo che (per l'helvetica) il problema non è il font ma il tipo di codifica usata per la stringa.
Di default java(e mi pare anche android) usa UTF-8, se tu scrivi in console il valore prima di inserirlo nella text view (o anche facendo un tv.getText()) e in console lo vedi ok mentre sullo schermo no, può benissimo essere un problema di encoding usato dalla textview (anche se mi sa strano).
Su che versione di android hai problemi? tutte? hai provato l'ultima (API 17)?

Ci sono discussioni online a riguardo:
https://groups.google.com/forum/?fromgroups=#!topic/android-developers/4doc5QogvQY
android - Display all Unicode chars in TextView - Stack Overflow -> Questo ti da un font che sembra avere tutti gli unicode...
mi sa che la soluzione migliore è mettere il testo HTML (senza <sub> ma solo come html e unicode), come da primo link
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline enzoses

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OS X
Re:Testo subscript non mostrato correttamente in textView
« Risposta #13 il: 19 Marzo 2013, 11:18:44 CET »
0
Hai provato a usare Helvetica su android? apriti un documento con un editor di testo (word o simili) e trova un font in grado di visualizzare certi caratteri. Ti conviene postare il codice comunque

Ho provato ad usare Helvetica nell'app ed escono i quadratini al posto dei numeri (tranne i soliti 1-4). Quale parte di codice dovrei postare? Ho due class, la principale e quella che gestisce la visulaizzazione della customListView.
Scusa le domande da pivello...

Offline brissio

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: +6
    • Mostra profilo
Re:Testo subscript non mostrato correttamente in textView
« Risposta #14 il: 19 Marzo 2013, 11:41:07 CET »
0
dalla mappa caratteri sono presenti quei caratteri (scusa la ripetizione) in helvetica?
posta tutto ciò che riguarda la manipolazione delle strighe, dalla lettura alla presentazione