更新
下面的解决方案的问题是镜像字体中未包含的任何字符(特别是中文)将显示在后面.
老答案
蒙古语字体都是以字形的方向与英语相同的方向制作的,即从左到右.这允许将蒙古语单词添加到英语,中文或西里尔文本中(唯一的问题是单词是“放下”而不是“站起来”应该如此).
顺时针旋转TextView 90度将使其垂直,但换行方向错误(旋转后从右到左而不是从左到右).可以通过水平翻转或镜像TextView来解决换行方向问题,但然后镜像所有字形.最后一个问题可以通过从垂直镜像字体开始来解决(可以通过使用开源软件(如FontForge)编辑现有字体来实现).下图说明了该过程:
旋转和翻转可以通过扩展TextView并覆盖onDraw()和onMeasure()方法来完成:
public class MongolTextView extends TextView {
private TextPaint textPaint;
// Constructors
public MongolTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MongolTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MongolTextView(Context context) { <