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

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第三方库


热门话题
SimpleDataFormat如何在Java中使用DateFormat解析月份完整格式字符串?   java如何使用JBPM引导规则创建规则流组?   java将SQL和应用程序服务器从Windows 2003迁移到Windows server 2012 R2   java游戏!Intellij IDEA中的2.0控制台无法工作   java如何获取线程内分配的变量值?   java Android翻译动画导致Clicklistener问题   当前平台不支持java桌面API   java删除hashmap条目的方法是什么   用Spring MVC提供Java模型的RDF表示?   JAVA未安装Java的计算机上的lang.UnsupportedClassVersionError   java SQLite从3个表中获取使用组合的对象列表   来自的TLS握手错误的java云数据流BQ输出挂起作业   java如何使用SPARQL进行排名?   java如何在Netbeans 7.1.2中设置${user}的值?   java如何删除括号内的字符串?