CJKV语言汉文库

cjklib的Python项目详细描述


Introduction

cjklib提供与汉字相关的语言例程(基于字符 关于汉字汉字汉字的使用 中国人,日本人,很少是韩国人 越南语越南语功能包括字符 发音、部首、字形成分、笔划分解和变体 信息。

Dependencies

另一种方法是将mysql作为后端:

Installing

Windows

使用提供的.exe安装程序安装cjklib。确保以上 满足依赖关系。

三个脚本cjknife.exebuildcjkdb.exeinstallcjkdict.exe 将添加到pythonScripts子目录中。确保此目录 包含在PATH环境变量中,用于从 命令行。

默认情况下不包括CJK词典。如果您想安装 它们从根目录运行以下(通过Internet连接) 源包的:

$ installcjkdict CEDICT

这将下载cedict,创建一个sqlite数据库文件并将其安装到 由APPDATA环境变量给定的目录,例如。 C:\windows\profiles\MY_USER\Application Data\cjklib。只是替换 CEDICT用于任何其他受支持的字典(即edict、cedict、handedict, cfdict,cedictgr)。

Unix

如果是从源包安装,则需要将库部署到 您的系统:

$ sudo python setup.py install

还要确保满足上述依赖关系。中日韩词典不是 默认情况下包括。如果要安装这些程序,请运行以下命令 (有互联网连接):

$ sudo installcjkdict CEDICT

这将下载cedict,创建一个sqlite数据库文件并将其安装到 /usr/local/share/cjklib。只要用CEDICT替换任何其他支持的 字典(即,法令、cedict、handedict、cfdict、cedicgr)。

Documentation & Usage

Documentation可在线获取。另请参见project page及其wiki。 有一个小的命令行工具cjknife,它提供了一些 功能。有关概述,请参见cjknife --help

Examples

  • 获取字符的笔划顺序:

    >>> from cjklib import characterlookup
    >>> cjk = characterlookup.CharacterLookup('C')
    >>> cjk.getStrokeOrder(u'说')
    [u'㇔', u'㇊', u'㇔', u'㇒', u'㇑', u'㇕', u'㇐', u'㇓', u'㇟']
    
  • 访问字典(此处使用Jim Breen的法令):

    >>> from cjklib.dictionary import EDICT
    >>> d = EDICT()
    >>> d.getForTranslation('Tokyo')
    [EntryTuple(Headword=u'東京', Reading=u'とうきょう',
    Translation=u'/(n) Tokyo (current capital of Japan)/(P)/')]
    

Database

库的打包版本将附带预构建的sqlite数据库 文件。不过,您可以自己轻松地重建数据库。

首先下载最新的unihan文件:

$ wget ftp://ftp.unicode.org/Public/UNIDATA/Unihan.zip

然后开始生成过程:

$ sudo buildcjkdb -r build cjklibData

SQLite

默认情况下,sqlite对字符串操作没有unicode支持。任选地 可以在中编译ICU库以处理字母非ASCII字符。 如果缺少icu支持,cjklib可以注册自己的unicode函数。查询 使用LIKE将使用函数lower()。此兼容模式具有 对性能的负面影响,而且对于像 法令或CEDICT默认禁用。有关启用,请参见cjklib.conf

MySQL

对于mysql 5,下面的CREATE命令使用^{tt18}创建一个数据库$ 作为使用常规Unicode排序规则的字符集 (5.5.3版本的MySQL将支持完整的Unicode给定字符集 utf8mb4和排序规则utf8mb4_bin):

CREATE DATABASE cjklib DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

您可能还需要设置访问权限(替换user_namehost_name):

GRANT ALL ON cjklib.* TO 'user_name'@'host_name';

现在你更新cjklib.conf中的设置。

mysql<;5.5不支持完整的utf-8,并且使用最多3字节的版本,因此 无法对基本多语言平面(BMP)之外的字符进行编码。建筑物 因此,unihan数据库可能会导致警告,超过u+ffff的字符 根本不能建造。你需要禁用建立完整字符范围 通过在构建前将cjklib.conf中的wideBuild设置为False。 或者将--wideBuild=False传递给buildcjkdb

Contact

有关cjklib的帮助或讨论,请加入cjklib-devel@googlegroups.com

请向project’s bug tracker报告错误。

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

推荐PyPI第三方库


热门话题
java Jsonify使用Jackson来定义嵌套对象   在Swing中禁用java图形调试   java Selenium Webdriver拖放在Jenkins上不起作用   java我对一个显示器的问题有一个非常不切实际的询问   java增强的“for”循环导致ArrayIndexOutOfBoundsException   ArrayAdapter适用于Java中的安卓编程,字符串数组   linux在Ubuntu上通过PulseAudio播放Java音频文件时出错   java在Spring应用程序中加载内部(类路径)和外部属性文件   java使用Maven连接到mySQL   Java应用程序的设计   websocket在电报api java中与dc的连接   java XMLStreamException,因为xml中的(&N)   java从控制台输出到JTextArea   Java导出文本文件   java实现parseInt方法   java为什么servlet容器会同步对特定资源/servlet的多个请求的访问?   循环中的Java“while”变量   用Java编程一个国际象棋游戏,gameOver布尔不起作用   java如何获得真正的JPanel大小?