在Android Studio

时间:2016-08-18 17:30:53

标签: android fonts itext

我正在尝试使用www.itextpdf.com在我的Android应用程序中创建波斯语 pdf文件,但我找不到java.io.IOException arial.ttf作为文件或资源。这是有问题的代码。

BaseFont font = BaseFont.createFont("arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

这段代码在eclipse(java项目不是android)中很好,但在Android工作室中不起作用。我不知道如何处理 ttf 文件。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

这很明显:Android没有Arial字体。 您必须为您的脚本(波斯语)提供适当的字体以及您的应用程序,并从资源/资产/等中读取字体。

另见How to retrieve a list of available/installed fonts in android?

<强> UPD:

将资料存入资源后,通过function updateTimer(expiryid) { var myTimeEl = $(expiryid); /* create jquery object*/ var myTime = myTimeEl.html(); /*get the date string*/ console.log(myTime); var ss = myTime.split(":"); var dt = new Date(); dt.setHours(0); dt.setMinutes(ss[0]); dt.setSeconds(ss[1]); var dt2 = new Date(dt.valueOf() + 1000); var temp = dt2.toTimeString().split(" "); var ts = temp[0].split(":"); myTimeEl.html(ts[1]+":"+ts[2]); /*add new string to element using jquery objct*/ } 抓取AssetManager并使用它从字体中读取字节。 This回答可能有用。

之后您可以自由创建这样的字体:

getAssets()

与此同时,我强烈建议您仔细阅读Windows附带的字体许可,以确定您是否能够将Arial字体复制粘贴到您的应用程序中,然后像这样使用它(我对此表示怀疑)。

答案 1 :(得分:0)

看看这里:

属性

customAttrs:fontType="free_mono"

TextView

<com.seamusdawkins.fontcustom.CustomTextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:text="@string/str_text_default"
        android:textSize="30dp"
        customAttrs:fontType="free_mono"
        android:gravity="center"/>

有关详细信息,请参阅此link