- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 reportlab 生成报告,报告语言是阿拉伯语。但问题是 reportlab 不支持 BIDI(双向)显示,因为缺少 BIDI Algorithm Python 中的支持。经过大量谷歌搜索后,我发现 Gnome 周围有一个包装器 Fribidi称为 PyFribidi .但它仅在 Linux 上编译和运行,我尝试使用 mingwin 在 Windows 上构建它,但编译失败,因为找不到很多 linux 库。
我的问题是,在 Windows 上运行的 Python 中是否有任何 Unicode 双向算法实现?
谢谢。
最佳答案
Python BiDi是一个很棒的 BiDi 算法实现,但它只支持双向(原样)而不修复 contextual form阿拉伯文字,要解决上下文形式问题,您应该将 python-bidi 模块与一个名为 python-arabic-reshaper 的阿拉伯语整形器库一起使用.
示例:(来自 => http://mpcabd.igeex.biz/python-arabic-text-reshaper/)
import arabic_reshaper
from bidi.algorithm import get_display
#...
reshaped_text = arabic_reshaper.reshape(u'اللغة العربية رائعة')
bidi_text = get_display(reshaped_text)
pass_arabic_text_to_render(bidi_text)
#...
它完美地解决了我的问题,并且两个包都是纯 python 实现。
关于python - pyfribidi for windows 或任何其他 bidi 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6137119/
如何使用 friend 和 bidi 来包装资源处理程序? 我已成功让 oAuth 验证路由: (defn auth-handler [request] (friend/authorize #{::u
我有一些使用 PIL 的 Python 代码,可以将 UTF-8 字符打印到图像中。 我注意到,为了连接像阿拉伯语这样的 Bidi 脚本,相同的代码无法正确连接字符(仅选择初始形式,未使用中间形式和最
如您所知,有些语言是从右到左书写/阅读的,我们正在努力支持某些 RTL 语言。由于浏览器拥有的算法,在 html 中使用 dir="rtl"的 Web UI 完成了大部分工作。但是我在文本中遇到了这个
我在实现 BiDi 字符时遇到了挑战,因为在构建对象键期间阿拉伯字符被移动到不同的位置。 有人可以帮我理解行为和解决方案吗 因为我使用类似的东西来修改字符串,所以我得到了不良影响 最佳答案 您观察到的
我下载这个here ,运行它: python setup.py test 在我的 cmd 中,我有 python 2.7,但出现此错误: Traceback (most recent call las
我有一个用波斯语显示多行文本的标签 kv文件: : font_name: 'tabassom' FarsiLabel: text: set_text('
我正在使用 ckeditor 4 并希望允许我的客户使用 rtl 或 ltr 方向 - 但由于我要将输出作为电子邮件消息发送,我希望始终使用方向属性。 出于某种原因,如果我使用的是希伯来语或阿拉伯语版
我最近收到了我的应用程序的阿拉伯语翻译,但我想做的不仅仅是简单地替换字符串。我可以使用 Interface builder 重新布局大多数 NIB,但有一些事情我需要以编程方式完成。 Cocoa 中是
我正在使用 tkinter 开发一个 python GUI 应用程序,它以希伯来语显示文本。 在 Windows(10、python 3.6、tkinter 8.6)上,希伯来语字符串显示正常。 在
我在 gwt 中使用动态字符串 i18n。为了支持 BIDI,我需要知道语言环境是否为 RTL。 我无法使用 LocaleInfo.getCurrentLocale() 因为在我的情况下它不会返回区域
我正在尝试在复杂的 BiDi 应用程序中使用 paper-input 元素,我需要输入框在中具有特定的不同 unicode-bidi CSS 设置不同的设置。 我试图在包含 paper-input 元
Unicode Bidirectional override fails for Input Placeholders. 输入占位符的 Unicode 双向失败,下面是带有 html 和 CSS 的标
我想将一个元素放在另一个元素的左下角。我将 position:relative 给父级,position: absolute;底部:0; left: 0 给 child 。 问题是页面可以在ltr 或
我正在尝试使用 reportlab 生成报告,报告语言是阿拉伯语。但问题是 reportlab 不支持 BIDI(双向)显示,因为缺少 BIDI Algorithm Python 中的支持。经过大量谷
我正在使用 django 1.4 运行 python2.7。 我的 views.py 页面中有以下代码,它返回选择列表中的语言名称: python 代码:(views.py) available_la
我很难按照我的预期让 BiDi 字符串在 HTML 文本区域内工作。 这个测试字符串包含阿拉伯语和英语,加上由中性方向字符(、/、数字)组成的伪标签序列(、),应该继承他们的方向是由他们面前的强方向角
我正在使用飞碟 xhtmlrenderer 构建 pdf 文档。到目前为止一切正常——现在我们应该在 pdf 中生成阿拉伯语文本。Xhtmlrenderer 正在以相反的顺序呈现阿拉伯文本。 我在互联
我正在学习网络版 Clojure。我正在尝试在 Lein 应用程序中实现 Bidi 和 Ring。当我打开该网站时,出现 500 错误: HTTP ERROR: 500 Problem accessi
我正在学习网络版 Clojure。我正在尝试在 Lein 应用程序中实现 Bidi 和 Ring。当我打开该网站时,出现 500 错误: HTTP ERROR: 500 Problem accessi
任何人都可以帮助我开始使用 css-flip . 我已经阅读了他们的文档,但它似乎是针对专家用户的。我没有任何使用 Node.js 的经验。 我将如何运行下面的 CLI。 css-flip path/
我是一名优秀的程序员,十分优秀!