Como criar um script mongol tradicional TextView no Android

Como criar scripts mongóis verticais (com quebra de linha da esquerda para a direita) TextViews para aplicativos Android?

fundo

O Android tem um suporte bastante bom para muitos dos idiomas do mundo, mesmo para idiomas RTL como árabe e hebraico. No entanto, não há suporte integrado para idiomas de cima para baixo, comomongol tradicional (que ainda está muito vivo na Mongólia Interior e não deve ser confundido comMongol cirílico) O gráfico a seguir mostra a direção do texto com o inglês adicionado para maior clareza.

Como essa funcionalidade não está embutida no Android, torna quase todos os aspectos do desenvolvimento de aplicativos extremamente difíceis. Também há muito, muito pouca informação disponível online. (Um dosalgumas questões SO relacionadas nem sequer tem uma boa resposta.) Existem vários desenvolvedores de aplicativos para mongóis tradicionais, mas, seja por razões comerciais ou não, eles não parecem criar código aberto.

Devido a essas dificuldades, gostaria de fazer uma série de perguntas sobre o StackOverflow que podem servir como um local central para coletar respostas para alguns dos problemas de programação mais difíceis relacionados ao desenvolvimento de aplicativos tradicionais da Mongólia. Mesmo se você não for alfabetizado em mongol, sua ajuda na revisão do código, comentários e perguntas, respostas ou até votação antecipada será apreciada.

TextView vertical da Mongólia

Um TextView mongol precisa ter os seguintes requisitos:

Suporta uma fonte tradicional da MongóliaExibe o texto verticalmente de cima para baixoA quebra de linha vai da esquerda para a direita.Quebras de linha ocorrem em um espaço (igual ao inglês)

(Ter o TextView suportando a fonte da Mongólia não é um requisito absoluto, pois o TypeFace pode ser definido posteriormente, mas é uma conveniência quando muitos TextViews estão sendo usados.)

Minha resposta está abaixo, mas congratulo-me com outras maneiras de resolver esse problema.

Outras perguntas relacionadas nesta série:Como criar um script mongol tradicional EditText no AndroidComo criar um script mongol tradicional ListView no AndroidMais por vir ... (Brinde, Caixa de Diálogo, Menu)

iOS:

Como você cria um texto vertical UILabel e UITextView for iOS no Swift?

questionAnswers(1)

yourAnswerToTheQuestion