从部件中寻找表意文字(例如汉字)的工具

ideograph的Python项目详细描述


象形文字

按其组成部分查找表意文字的工具。目前,它只包含汉字,但可以扩展到包括其他表意文字,如Tangut或Sumero Akkadian楔形文字。

安装

$ pip install ideograph

用法

ideograph包含两个函数,find()components()

find()获取一个表意字符组件字符串,并返回一组包含所有这些组件的表意字符。

组件字符串中不是表意字符组件的字符将被忽略。

请注意,当前的实现非常严格,依赖于组件的视觉区分,而不是词源连接:例如,“attention”≠“亻”。

可以从命令行调用它:

$ ideograph 木日勿
䵘楊鸉????????

或作为python包导入:

>>>importideograph>>>ideograph.find("木日勿"){'?','?','?','?','?','?','?','?','楊','?','?','?','?','鸉','䵘','?'}

components()接受由单个表意字符组成的字符串并返回一组组件。请注意,该集合包含组件和这些组件的组件等等,一直到cjkvi ids数据集中包含的最基本组件。

>>>importideograph>>>ideograph.components("楊"){'日','木','昜','一','勿','旦','勹','丿','\uf3e4'}

数据

字符组件派生自cjkvi-ids database(作为子模块包含在此git存储库中),特别是ids-cdp.txt数据文件。由于某些组件当前没有分配给它们的unicode代码点,因此在unicode的专用区域中为它们指定了代码点。注意,正因为如此,这些字符中的一些可能由find()components()函数返回。

数据存储在sqlite3数据库中,该数据库可以通过运行generate_data.py脚本从cjkvi ids数据重新生成。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java应用程序重新启动,由于AndroidRuntime异常而无法运行   java在尝试运行javafx应用程序时在初始化中出错   java如何循环ArrayList并将每个值发送到下载管理器?   在Windows 10中将java应用程序注册为默认浏览器   java不能将类“X”强制转换为类“Y”,即使X扩展了Y?   java在接口Cloneable中找不到符号clone()   java追加数组并替换JSON对象中的键   java JDialog在Windows 10上的右监视器上的位置不正确,缩放比例为150%   JavaGWTP样板生成   返回一组所有组合的java递归方法   java处理MDB中的连接错误   RecyclerView中的java重复联系人   继承混淆与java方法重载   java如何在Mac OS X 10.7.5上运行Eclipse Oxy