用于CJKV语言的汉字库
项目描述
简介
Cjklib提供了与汉字相关的语言例程(汉字基于汉字,分别称为汉字、漢字、漢字和古漢字),用于书写中文、日文、不常使用的韩文和以前使用的越南文。功能包括字符发音、部首、字形组件、笔画分解和变体信息。
依赖关系
Python 2.4或更高版本(目前不支持Python3)
SQLite 3+
SQLAlchemy 0.5+
pysqlite2(已随Python 2.5及以上版本提供)
另外,对于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_name 和 host_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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6fd5559be98ccb69f191c9c633e3a56cf95ae9190b7e512d6be17a8e4c969e10 |
|
MD5 | 7f9e23aaeb9f94ab7e10c51b618e5304 |
|
BLAKE2b-256 | 419415c7d0c26afae5f351aa04c3e84027ab2080180d517dbd5abb3ce3a91203 |
ninchanese_cjklib-0.4.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d4ef0dba67acf07dbd7e98e63a6e09ceae8f379bf79f47ddad270ade8cc3bb96 |
|
MD5 | 6516da69e55d96fd9ff22a31adf30f3a |
|
BLAKE2b-256 | e83896b58a1e7a87de6de7fcaa8d4d6dc62de56099dbf771f550fb2da785a64a |