2016-03-19 18 views
0

Ist es möglich, Windows-Schriftarten (.ttf-Datei) in Android-Anwendungen zu verwenden?Unterstützt Android Windows-Schriftarten? und wie schreibe ich Unicode-Text in eine Textansicht?

ich einige Unicode-8 Texte wie dieses:

جۆرەه 

und ich möchte es in eine Textview setzen ,, Ich habe versucht, einige andere Methoden, aber sie funktionierte nicht. Nun möchte ich eine Schriftart in die Anwendung einbetten, den Text richtig

Durch die Art und Weise .. zu lesen, ist es kurdische Sprache ..

Jede Hilfe

+0

Dies ist nicht "Unicode-8", dies ist ungültig (wegen der Leerzeichen zwischen der '& #' und der Zahl) HTML Entity-Codierung. Es hat nichts mit Schriften zu tun. Wenn Sie es in einer Textansicht anzeigen möchten, dekodieren Sie es zuerst zu einer normalen "Zeichenfolge" zurück. – GSerg

+0

@GSerg Ich lege die Leerzeichen selbst, um den Text anzeigen zu lassen, wie er auf meiner App erscheint, HTML wandle ihn automatisch in einen lesbaren Text um. –

+0

@GSerg Würdest du mir bitte zeigen, wie man diesen Test dekodiert eine lesbare? –

Antwort

3

Gut geschätzt, ja können Sie Verwenden Sie .ttf Dateien in Android-Anwendungen. Navigieren Sie zum Ordner src/main Ihres Android-Projekts, erstellen Sie einen neuen Ordner Assets dort und fügen Sie Ihre .ttf Datei darin ein. Sie können Ihre Schriftart in dem Verzeichnis platzieren, das Ihre Sprache unterstützt. Danach wird die Schriftart in einem EditText wie diese verwenden:

// For Setting the typeface in the TextViews 
    Typeface xyzTypeFace = Typeface.createFromAsset(getAssets(), "xyz.ttf"); 
    TextView taglineTextView = (TextView) findViewById(R.id.taglineTextView); 
    taglineTextView.setTextSize(25); 
    taglineTextView.setTypeface(xyzTypeFace); 
+0

Danke Gehirn für Ihre Antwort ,, Ich habe die Schriftart wie Sie gesagt .. eingebettet, aber das Problem ist immer noch nicht gelöst und der Text ist noch nicht lesbar ... gibt es eine Möglichkeit, dies zu entschlüsseln ?? als @GSerg erwähnen so etwas? –

+0

Ich würde vorschlagen, dass Sie über diese Links gehen: http://stackoverflow.com/questions/6054826/display-all-unicode-chars-in-textview und http://stackoverflow.com/questions/11145681/how-to -convert-a-string-with-unicode-encoding-to-a-string-of-letters – brainbreaker

+0

Ich habe sie schon gelesen, danke nochmal .. –

1

Danke Jungs für Ihre Antworten,

Schließlich löste ich das Problem, indem Sie die folgende Methode verwenden ..

public static String fixEncodingUnicode(String response) { 
    String str = ""; 
    try { 
     str = new String(response.getBytes("ISO-8859-1"), "UTF-8"); 
    } catch (UnsupportedEncodingException e) { 

     e.printStackTrace(); 
    } 

    String decodedStr = Html.fromHtml(str).toString(); 
    return decodedStr; 
} 
+0

Warum codierst du 'response' zu ​​ISO-8859-1 und dann Entschlüsselung, als wäre es UTF-8? Warum übergibt man 'response' nicht direkt an' Html.fromHtml() '? Sie beginnen mit einem 'String' und enden mit einem' String', also lassen Sie es einfach als 'String' und machen Sie sich nicht mit Bytecodierungen dazwischen herum. Wenn Sie ein Problem mit nicht übereinstimmenden Kodierungen haben, muss dies an der Quelle behoben werden, an der es zu Beginn nicht übereinstimmt, und zu einem späteren Zeitpunkt nicht gepatcht werden. –

+0

Sie sollten die Antwort von brainbreaker berücksichtigen. Ihre Frage wurde gefragt, wie Sie eine '.ttf'-Datei in Android verwenden und nicht, wie Sie eine HTML-codierte Zeichenfolge in Unicode-Zeichen zur Anzeige dekodieren. Zwei getrennte Fragen. brainbreaker beantwortet die Frage, die gestellt wurde. Das HTML-Problem hätte separat gefragt werden müssen. –

+0

Vielen Dank @RemyLebeau für die Kommentare ,, Ja, wie Sie sagten, ich habe alle Flags in json.encode() -Methode in der Quelle entfernt .. dann habe ich diese Methode in meiner App entfernt und alles läuft gut .. über die Zweiter Kommentar ,, Ich hatte ein Problem, ich wollte es lösen. Sie haben Recht, dass das Gehirn einen Teil der Frage beantwortet hat, aber das Problem immer noch nicht gelöst ..Übrigens, ich habe Gehirn gehupst :) Beste Wünsche –