当前位置: 首页 > 面试题库 >

Windows的pyfribidi或其他比迪算法

郎和通
2023-03-14
问题内容

我正在尝试使用reportlab生成报告,并且报告语言为阿拉伯语。但问题是由于缺少Python对BIDI算法的支持,reportlab不支持BIDI(双向)显示。经过大量的搜寻之后,我发现Gnome
Fribidi周围有个包装纸,叫做PyFribidi。但是它编译并仅在Linux上运行,我尝试使用mingwin在Windows上构建它,但是编译失败,因为找不到大量的Linux库。

我的问题是,是否有在Windows上运行的python中的Unicode双向算法实现?

谢谢。


问题答案:

Python BiDi是一种很棒的BiDi算法实现,但是它仅支持双向(As
Is),而没有修复阿拉伯脚本的上下文形式,要解决上下文形式问题,您应该将python-
bidi模块与一个名为python-的阿拉伯整形器库一起使用阿拉伯整形器。

示例:(来自=> 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实现。



 类似资料:
  • 成都场 昨晚轰轰烈烈的宣讲会大家纷纷前去捧场,虽然不收线下简历,可见迪子在大家心目中的地位! 正文: 首先hr面: 面试官小姐姐很nice,就是问了我些个人基本情况,和其他公司最大的不同应该就是问会不会开车,几年驾驶经验,开过迪子吗,最后看了下材料,就分配到了比较合适的技术面试官那 技术面: 自我介绍三分钟,问医院合作项目的具体实现,问我用什么框架,创新点是什么,本人就是算法工作比较多,之前也做过

  • 首先要明确一点的是,没有最好,只有最合适。前端框架并不是所谓 注:本文一些数据收集时间为16-12-31 因为大部分教程都是付费的,所以教程数量的多少在侧面反映了框架的市场需求,如果框架冷门用的人不多,那必然不会有人去为其开发教程。

  • 这个页面无疑是最难编写的,但我们认为它也是非常重要的。或许你曾遇到了一些问题并且已经用其他的框架解决了。你来这里的目的是看看 Vue 是否有更好的解决方案。这也是我们在此想要回答的。 客观来说,作为核心团队成员,显然我们会更偏爱 Vue,认为对于某些问题来讲用 Vue 解决会更好。如果没有这点信念,我们也就不会整天为此忙活了。但是在此,我们想尽可能地公平和准确地来描述一切。其他的框架也有显著的优点

  • 从功能上看,servlet 位于Common Gateway Interface(公共网关接口,简称 CGI)程序和私有的服务器扩展如 Netscape Server API(NSAPI)或 Apache Modules 这两者之间。 相对于其他服务器扩展机制 Servlet 有如下优势: 它们通常比 CGI 脚本更快,因为采用不同的处理模型。 它们采用标准的 API 从而支持更多的Web 服务器

  • 11号晚上投递的,今天下午HR打电话过来,加了微信,HR要了简历,成绩单,四六级证书,生活照。 然后, 自我介绍 项目介绍 用一个词形容自己 介绍了一下匹配的岗位(投的是java开发推荐的是一个大概是搞测试开发的岗位和一个C的岗位,HR说推荐第一个,然后问合不合适(回答很合适) 剩下的就是些基本情况 有无对象 住哪 六级成绩 挂科情况(1科) 排名 然后我问了问下个环节大概多会进行 回答等人事那边

  • 10.26技术面 1. final关键字作用 2. 基本数据类型 3. string的常用方法 4. 抽象类和普通类 5. IO流 6. BIO和NIO 7. Java的集合 8. hashmap和hashtable 9. arraylist和vector 10. AOP在spring中的应用 11. redis的数据类型 12. set和zset区别 为什么大家都是电话面,我的是视频面。 答的一