2

这是我在 Android中的Bangla代码:

package com.exam;

import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.TextView;

public class TextDifferentActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Typeface tf = Typeface.createFromAsset(getAssets(),
                "fonts/DroidSansFallback.ttf");
        TextView tv = (TextView) findViewById(R.id.CustomFontText);
        tv.setTypeface(tf);
    }
}

XML 代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
    android:id="@+id/DefaultFontText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:text="Here is some text." />
<TextView
    android:id="@+id/CustomFontText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:text="আল্লাহ">
    </TextView>
</LinearLayout>

这里显示的是আ্ললাহ।,但我需要显示为আল্লাহ。我该如何解决这个问题?在我的手机HTC A3333中,它显示字体。有没有其他解决方案可以使它正确?

4

1 回答 1

2

无论您做什么,复杂的字形(juktoborno)总是显示为损坏的字符,我找到的唯一解决方案是为它们使用图像。您可以为此目的使用SpannableStringBuilder。但仅将图像用于 juktoborno 并不完美,因为图像不能与字体的字符完美同步,如下所示: 在此处输入图像描述

因此,您需要用图像替换所有字符,这使得所需的图像数量非常高。但是使用叠加技术不能大大减少图像的数量。这是我最终实现的: 在此处输入图像描述

于 2012-05-07T20:27:29.463 回答