elixir - 在风景中显示非英文文本
问题描述
我试图text primitive
在一个 Scenic 应用程序中显示波斯文本,但 Scenic 显示了其中的一些框X
!我尝试使用字体,但没有成功。
这是我的代码:
g
|> text("متن نمونه", t: {0, 700}, fill: :white, font: @font_hash)
我应该在他们的 GitHub 上提出问题还是有解决方案?
谢谢你的帮助。
更新:
我按照自定义字体的说明来缓存字体指标(感谢Aleksei Matiushkin)然后我遇到了另一个问题,如图所示:
该文本应该是这样的:
在波斯语中,一个单词中的某些字母可能会连接到其他字母。在这些情况下,这些字母由不同的字符显示。(这里的问题是所有字母都以它们的独立格式显示。另外,文本方向是错误的)
例如:单词“Hello”的正确写法是“سلام”,但在文本中显示为“مالس”。这有点像将“Hello World”显示为“dlroW olleH”
也许编码是我找不到尝试 UTF-8 的方法的问题。或者它可能是文本方向......
解决方案
完全理解问题。问题是此时的字体渲染引擎相当简单,不支持从右到左、从上到下、字符簇、自动连字等。
简单的字体渲染是它 < 1.0 的原因之一。希望摆脱它目前使用的老式角色图谱技术,转向基于 GPU(Slug)的东西。这将使这些问题变得更容易,但与开源项目不太兼容。
如果您的需求足够强烈,我可以从右到左添加,但这并不容易。
推荐阅读
- python - 如何从具有嵌套列表作为元素的列表中选择 n 个最小的数字
- c++ - 如何临时使用 std::cout 代替 std::ofstream
- firebase - 通过向已有默认值的 TextField 输入新值来更新存储在 Firebase 上的数据
- java - 这种非静态方法的工作(据说是在没有对象的情况下调用的?)
- c++ - cpp中数组元素的总和返回错误值
- html - 使用 GitHub 页面上传后,图像不会加载到网站上
- db2 - 查询列出 DB2 中的所有数据库
- xamarin.forms - 标签中的数据绑定问题文本未显示数据
- javascript - JavaScript 根据选定的对象 ID 数组获取索引
- javascript - 为模态灯箱(Javascript)添加上一张/下一张幻灯片事件侦听器