跳转到主要内容

用于CJKV语言的汉字库

项目描述

简介

Cjklib提供了与汉字相关的语言例程(汉字基于汉字,分别称为汉字、漢字、漢字和古漢字),用于书写中文、日文、不常使用的韩文和以前使用的越南文。功能包括字符发音、部首、字形组件、笔画分解和变体信息。

依赖关系

另外,对于MySQL作为后端

安装

Windows

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

三个脚本 cjknife.exe、buildcjkdb.exe 和 installcjkdict.exe 将添加到Python的 Scripts 子目录中。确保此目录包含在您的 PATH 环境变量中,以便从命令行访问这些程序。

默认情况下,CJK 字典不包括在内。如果您想安装其中任何一个,请从源代码包的根目录运行以下命令(需要互联网连接)

$ 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

同时确保满足上述依赖项。CJK 字典默认不包括在内。如果您想安装其中任何一个,请运行以下命令(需要互联网连接)

$ sudo installcjkdict CEDICT

这将下载 CEDICT,创建一个 SQLite 数据库文件并将其安装到 /usr/local/share/cjklib。只需将 CEDICT 替换为其他支持的字典(即 EDICT、CEDICT、HanDeDict、CFDICT、CEDICTGR)。

文档与用法

文档 可在线获取。还可以查看项目页面及其维基百科。有一个小的命令行工具 cjknife,提供了一些库的功能。使用 cjknife --help 获取概述。

示例

  • 获取字符的笔画顺序

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

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

数据库

库的打包版本将包含预构建的 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()。此兼容模式对性能有负面影响,并且由于它对于像 EDICT 或 CEDICT 这样的字典不是必需的,因此默认禁用。有关启用信息,请参阅 cjklib.conf

MySQL

使用 MySQL 5 的以下 CREATE 命令创建一个使用通用 Unicode 排序的 utf8 字符集的数据库(从 5.5.3 开始,MySQL 将支持给定字符集 utf8mb4 和排序规则 utf8mb4_bin 的完整 Unicode)

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

联系

要获取有关 cjklib 的帮助或进行讨论,请加入 cjklib-devel@googlegroups.com

请向项目的 错误跟踪器 报告错误。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

ninchanese-cjklib-0.4.1.tar.gz (25.1 MB 查看哈希值)

上传时间

构建分发

ninchanese_cjklib-0.4.1-py3-none-any.whl (24.9 MB 查看哈希值)

上传时间 Python 3

由以下支持