向世博项目添加用户生成的字体的挑战

问题描述 投票:0回答:0

我正在创建一个 expo react 本机应用程序,允许用户扫描他们的笔迹并生成他们可以用来输入的自定义字体。我已经构建了一个使用 ML 生成字体文件的快速 node.js 服务器,但我无法在用户设备上实现该文件。核心挑战是我似乎无法将 .ttf 文件保存到资产目录,因为当用户扫描他们的手写内容以创建字体时,应用程序已经被捆绑。

可能的解决方案:

  1. 理想情况下,我会发送文件的 base64 表示形式,并使用
    loadAsync()
    函数将其作为字体加载。
  2. 我还尝试将它写入 expo 文件系统,然后使用文件 URI 加载它;我可以将文件另存为 .ttf,但 expo 似乎不喜欢 URI。
  3. 最后一个选项是以某种方式将 .ttf 保存到在线 URL 并直接从网络下载远程字体,但这将要求用户每次加载应用程序时都从网络下载字体。

感谢任何帮助或建议。谢谢!

  1. 我尝试了选项 1,但

    Fonts.loadAsync
    方法似乎不采用 base64 表示形式,甚至不采用 .ttf 文件的二进制缓冲区。我不知道这是否可能。

  2. 我也尝试了选项 2,但是 expo 给我以下错误:“错误:无法下载文件:错误域=NSURLErrorDomain 代码=-1002 '不支持的 URL'”。

  3. 我没有尝试过选项 3,但这似乎是最后的手段,因为每次用户加载应用程序时下载自定义创建的字体似乎是糟糕的用户体验。

node.js reactjs react-native expo custom-font
© www.soinside.com 2019 - 2024. All rights reserved.