在ayah结束阿拉伯语unicode符号内写数字

sha*_*ahd 6 unicode android arabic ios

我正在研究android应用程序,我正在尝试将ayah符号(۝)的阿拉伯语结尾的阿拉伯数字写入textview.我试图写一个ayah符号的结尾然后是没有任何空间的阿拉伯数字,但它没有用.我正在使用uthmani字体.

我想像这张图片一样显示:

这是代码的一部分

    NumberFormat nf = NumberFormat.getInstance(Locale.forLanguageTag("AR"));
    temp+="  "+"\u06DD"+String.valueOf(nf.format(count))+" ";
Run Code Online (Sandbox Code Playgroud)

"\ u06DD"是java中(۝)的编码.

结果变成这样:

小智 6

尝试类似的东西﴾\xd9\xa1\xd9\xa9\xd9\xa6﴿,看起来像 ﴾\xd9\xa1\xd9\xa9\xd9\xa6﴿

\n


Kha*_*jar 5

您可以将名为me_quran 的字体与这些 un​​icodes U+FD3E + numbers + U+FD3F 一起使用

? ORNATE RIGHT PARENTHESIS Unicode: U+FD3F, UTF-8: EF B4 BF

? ORNATE LEFT PARENTHESIS Unicode: U+FD3E, UTF-8: EF B4 BE
Run Code Online (Sandbox Code Playgroud)

你可以从这里下载字体文件

用法示例: 古兰经经文以数字结尾


小智 1

您可以使用 ReplacementSpan 更改 aya 编号的呈现方式

例如我就是这样做的

public class EndOfAyaSpan extends ReplacementSpan
{

    public RoundedBackgroundSpan(Context context)
    {
        super();
    }

    @Override
    public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom, Paint paint)
    {
        float textSize = paint.getTextSize();
        canvas.drawText("\u06dd ", 0, 1, x - textSize / 5, (float) y, paint);
        paint.setTextSize(textSize - textSize / 3);
        canvas.drawText(text, start, end, x, y - textSize / 5, paint);
        paint.setTextSize(textSize);
    }

    @Override
    public int getSize(Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm)
    {
        return Math.round(paint.measureText(text, start, end));
    }

}
Run Code Online (Sandbox Code Playgroud)