Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何掌握阿拉伯语';aarab&x27;角色?请看我的密码_Android_Textview - Fatal编程技术网

Android 如何掌握阿拉伯语';aarab&x27;角色?请看我的密码

Android 如何掌握阿拉伯语';aarab&x27;角色?请看我的密码,android,textview,Android,Textview,我正在尝试用自定义字体显示阿拉伯语文本。我的代码如下: package com.androidbook.test; import java.io.BufferedInputStream; import java.io.InputStream; import org.apache.http.util.ByteArrayBuffer; import android.app.Activity; import android.graphics.Typeface; import android.os

我正在尝试用自定义字体显示阿拉伯语文本。我的代码如下:

package com.androidbook.test;

import java.io.BufferedInputStream;
import java.io.InputStream;

import org.apache.http.util.ByteArrayBuffer;

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

public class ArabicTextActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.arabic_display);

        TextView arabicTextView;
          Typeface arabicFont;

          arabicTextView = (TextView)findViewById(R.id.arabicTextDisplayTextView);
          arabicFont =Typeface.createFromAsset(getAssets(),"me_quran.ttf");
          arabicTextView.setTypeface(arabicFont);     
          arabicTextView.setTextSize(40);

            InputStream is = getResources().openRawResource(R.raw.arabic_text); 
            BufferedInputStream bis = new BufferedInputStream(is);
            int myInt=0;

            try{
                ByteArrayBuffer myByteArray = new ByteArrayBuffer(100); 
                while((myInt = bis.read())!=-1)
                {
                    if(myInt == 10) break;
                    myByteArray.append((byte)myInt);
                }

                String arabicLine = new String(myByteArray.toByteArray(), 0, myByteArray.length(), "UTF-8");
                arabicTextView.setText(arabicLine);
            }catch(Exception ex)
            {
                ex.printStackTrace();
            }
    }

}
和阿拉伯语的display.xml是:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/quranDisplayItemLinearLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:orientation="vertical">

        <TextView
            android:id="@+id/arabicTextDisplayTextView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:text="Arabic" />

    </LinearLayout> 

其中res/raw/as arabic_text.txt在记事本中显示为(字体名称:me_quran.ttf,字体大小40)

但在模拟器中显示为:

您可以注意到,小字符(阿拉伯语中称为aaraab字符)根本没有调整。。我该如何解决这个问题? /////////////////////////////////////////////////////////////////// ///////////

//// /////

使用DroidSansArabic.ttf后的结果


根据字符映射图“me_quran.ttf”判断,模拟器显示的似乎是它应该显示的。
这个字体看起来和我见过的其他阿拉伯语字体太不一样了,你可能想用另一种字体。

“me_quran.ttf”字符映射判断,模拟器显示的似乎是它应该显示的。
这种字体看起来和我见过的其他阿拉伯语字体太不一样了,你可能想换一种字体。

这是我的字体。它是一种有效的opentype字体,并具有大多数其他阿拉伯语字体所不具备的一些高级功能

这里的问题是Android。它的阿拉伯语支持太基本了,它不了解这种字体的高级排版功能。你不能用它来显示好的阿拉伯语。你能得到的最好的可能是像tahoma一样的东西,它使用相同的位置作为变音符号

为了解决这个问题,我对字体进行了更新,使其能够与Android和Iphone配合使用。不幸的是,由于这些平台的性质,人们永远无法使用标准阿拉伯语文本来获得良好的阿拉伯语支持。我所做的是使用修改后的文本,以便得到我想要的结果。结果是基本字体,但比那些系统字体好看得多。抱歉,我无法发布图像(此处为新用户)


只是提醒一下,古兰经不是免费的字体。它只对免费项目免费。如果您想获得我的解决方案,可以直接与我联系。

这是我的字体。它是一种有效的opentype字体,并具有大多数其他阿拉伯语字体所不具备的一些高级功能

这里的问题是Android。它的阿拉伯语支持太基本了,它不了解这种字体的高级排版功能。你不能用它来显示好的阿拉伯语。你能得到的最好的可能是像tahoma一样的东西,它使用相同的位置作为变音符号

为了解决这个问题,我对字体进行了更新,使其能够与Android和Iphone配合使用。不幸的是,由于这些平台的性质,人们永远无法使用标准阿拉伯语文本来获得良好的阿拉伯语支持。我所做的是使用修改后的文本,以便得到我想要的结果。结果是基本字体,但比那些系统字体好看得多。抱歉,我无法发布图像(此处为新用户)


只是提醒一下,古兰经不是免费的字体。它只对免费项目免费。如果您想获得我的解决方案,可以直接与我联系。

您正在应用程序中使用
“me\u quran.ttf”
,并在记事本中显示
“arabic\u font”
。。它们是一样的吗?您正在应用程序中使用
“me\u quran.ttf”
,并在记事本中显示
“阿拉伯语字体”
。。它们是一样的吗?即使我不设置字体,让arabicTextView使用它的默认字体,并且通过使用arabicTextView.setText(R.string.arabic_string);wehre R.id.arabicِu string在字符串中的定义为“㶖ِْْٱلِّّْْمِِِلِِِِِّّ”。它显示了与阿拉布字符相同的问题,它们与其他字符重叠。我认为如果我使用字体“Al-Qalam-Quran-Majeed.ttf”,它会起作用。因为在MS Notepad中显示阿拉伯语文本会有不同,让我知道这是怎么回事,如果这不起作用,我会再检查一些。尝试使用字体,它来自一个开源的古兰经android应用程序,整个应用程序托管在@Tahir_ChDear brother,jaza-k-Allah,谢谢你的帮助。我从你建议的链接中尝试了DroidSansArabic.ttf。。同样的问题也会发生。。我正在发布结果的屏幕截图。即使我没有设置字体并让arabicTextView使用其默认字体,也要执行arabicTextView.setText(R.string.arabic_string);wehre R.id.arabicِu string在字符串中的定义为“㶖ِْْٱلِّّْْمِِِلِِِِِّّ”。它显示了与阿拉布字符相同的问题,它们与其他字符重叠。我认为如果我使用字体“Al-Qalam-Quran-Majeed.ttf”,它会起作用。因为在MS Notepad中显示阿拉伯语文本会有不同,让我知道这是怎么回事,如果这不起作用,我会再检查一些。尝试使用字体,它来自一个开源的古兰经android应用程序,整个应用程序托管在@Tahir_ChDear brother,jaza-k-Allah,谢谢你的帮助。我从你建议的链接中尝试了DroidSansArabic.ttf。。同样的问题也会发生。。我正在发布结果的截图。。