0

如果我想在我的应用程序中嵌入自定义字体,我必须至少以某种方式保护它们,因为许可证需要这样做。所以我不能做类似的事情

Typeface.createFromAsset(getAssets(),"fonts/myAwesomeFont.ttf");

在 iOS 上,使用这种方法可以动态解密字体并使其在应用程序中可用。Android上是否有类似的方法?

我的直觉是使用一个单例类来处理原始资源文件的解密,并在我在视图上的代码中设置它时按需返回字体。有没有我错过的更好的方法?*这甚至可能吗?*

4

2 回答 2

1

Android上是否有类似的方法?

并不真地。

我的预感是使用一个单例类来处理原始资源文件的解密,并在我在视图上的代码中设置它时按需返回字体

这是不可能的,因为您无法Typeface从某个字节数组或流中创建一个。

欢迎您解密字体文件并将其存储在本地未加密,然后使用它。这是否足以满足您的许可条款是您的律师的问题。

于 2013-12-04T13:13:28.437 回答
0

你可以做一件事...

使用文件 I/O 流加密您的原始字体文件并将加密文件保存在资产中。并在安装您的应用程序
后,使用以下方式获取加密文件

getAssets().open(fileName);

并第一次解密流并将解密文件(原始字体文件)存储在您的 Appication 私有路径中。并在每次需要时使用此文件创建字体...使用

Typeface.createFromFile(File);

所以您的 APK 将包含加密文件...

于 2013-12-04T13:38:50.790 回答