Wie erstelle ich ein traditionelles mongolisches Skript TextView in Android

Wie wird das mongolische Skript TextViews für Android-Apps vertikal (mit Zeilenumbruch von links nach rechts) erstellt?

Hintergrun

Android bietet ziemlich gute Unterstützung für viele Sprachen der Welt, sogar für RTL-Sprachen wie Arabisch und Hebräisch. Es gibt jedoch keine eingebaute Unterstützung für Top-to-Bottom-Sprachen wietraditionelle mongolische (das in der Inneren Mongolei noch sehr lebendig ist und nicht zu verwechseln ist mitCyrillic Mongolian). Die folgende Grafik zeigt die Textrichtung, wobei der Übersichtlichkeit halber Englisch hinzugefügt wurde.

Da diese Funktionalität nicht in Android integriert ist, wird fast jeder einzelne Aspekt der App-Entwicklung extrem schwierig. Es sind auch nur sehr sehr wenige Informationen online verfügbar. (Einer der Paar verwandte SO Fragen hat noch nicht einmal eine gute Antwort.) Es gibt eine Reihe von App-Entwicklern für traditionelles Mongolisch, aber ob aus kommerziellen Gründen oder aus anderen Gründen, sie scheinen ihren Code nicht Open Source zu machen.

Aufgrund dieser Schwierigkeiten möchte ich eine Reihe von StackOverflow-Fragen stellen, die als zentraler Ort dienen können, um Antworten auf einige der schwierigeren Programmierprobleme im Zusammenhang mit der traditionellen mongolischen App-Entwicklung zu sammeln. Selbst wenn Sie nicht über mongolische Sprachkenntnisse verfügen, sind Sie dankbar, wenn Sie den Code überprüfen, Kommentare und Fragen abgeben, Antworten geben oder die Frage sogar verbessern.

Mongolian Vertical TextView

Eine mongolische Textansicht muss die folgenden Anforderungen erfüllen:

Unterstützt eine traditionelle mongolische Schriftart Zeigt Text vertikal von oben nach unten aner Zeilenumbruch erfolgt von links nach recht Zeilenumbrüche treten an einem Leerzeichen auf (wie in Englisch)

(Die Unterstützung von TextView für die mongolische Schriftart ist nicht unbedingt erforderlich, da TypeFace später festgelegt werden kann. Dies ist jedoch praktisch, wenn viele TextViews verwendet werden.)

Meine Antwort ist unten, aber ich begrüße andere Möglichkeiten zur Lösung dieses Problems.

Weitere Fragen zu dieser Serie:Wie erstelle ich ein traditionelles mongolisches Skript EditText in AndroidWie erstelle ich ein traditionelles mongolisches Skript ListView in AndroidMehr zu kommen ... (Toast, Dialog, Menü)

iOS:

Wie erstellen Sie in Swift einen vertikalen Text für UILabel und UITextView für iOS?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage