教育部異體字字典 词头修复 经验分享

词典链接

我来分享下补充这本词典词头的方式

TODO 能用utf8显示的异体字我在上一个版本没有做词头,导致这部分字只能通过找正体,再点击进去,造成不便,不能通过直接输入来查,从而不能从多本词典里面一起查询。
我之前弄数据的时候,多了个心眼。把词头和相关数据写到数据库了,现在看来真是明智之举。刚好可以用这俩数据库来把能打出来的异体字弄出来做个词头,跳回正体。算是一种解决办法。当然如果再肯花更多的时间,还有更好的解决办法,我就不弄了。
先写在这里,我还没开始写程序。一会更新。

Update 2019 11 23 12:26PM
好在有数据库,很快这个小问题就解决了。方法如下:

  • 两个数据库的结构如下:


    异体字数据库里面的zhengzi段存的是异体字,这是我建数据库的时候图方便。可以看到这里基本都是img标签,也就是图片,图片肯定是不能做词头的,另外如果一个异体字兼做正字的话,我们也不做跳转。
    所以拿到不包含img的 zhengzi段,然后去正字数据库,看在不在这儿,如果在,就不做词头,因为那样就重复了。不在就做一个跳转。
    程序如下
import sqlite3

conn_yitizi = sqlite3.connect('search_yitizi_single.db')
conn_zhengzi = sqlite3.connect('search.db')

c_yitizi = conn_yitizi.cursor()
c_zhengzi = conn_zhengzi.cursor()

write1 = open("yitizi_citou.txt", "w+", encoding="utf8")

c_yitizi.execute("SELECT * FROM main")
for yitizi in c_yitizi:
    citou = yitizi[1]
    if 'img' not in citou:
        c_zhengzi.execute("SELECT COUNT(*) FROM main WHERE zhengzi='{}'".format(citou))
        for i in c_zhengzi:
            shumu = i
        
        if shumu[0] == 0:
            # 这个异体字没有出现在正字过
            # 可以单独做词条
            write1.write(citou + "\n@@@LINK=" + yitizi[0] + '\n</>\n')

write1.close()

两个数据库我也贴出来吧,内心其实不太想 :doge:
search.db (836 KB)
search_yitizi_single.db (8.7 MB)
主站的文章已经更新了。请去下载。

1 个赞

感谢制作異體字字典。
古汉语词典最好是内容正体字、词头正简两种。
当然,異體字应该很少有简体吧?

另外古汉语词典一个难点是字体文件的选择,尤其是很多異體字没有统一Unicode码。
古人爱自己造字更是让人头疼

繁简转换?我不会做的

很大的工作量,期待更新。

对啊 这是难题 那网站一堆都是图片

若是简繁不想转换,可弄个简繁通搜,那样可省去不少气力

goldendict似乎自带这个功能?

goldendict 深蓝都有,hua大可以问问大家用的软件是什么,用的哪个软件比较多,可以根据目前使用较多的软件进行优化,比如我用的是深蓝,深蓝占六十,欧路三十,goldendict占十,可以开个帖子投一下票或在群里或freemdict网站问问,只要有了大概方向,以后再做的词典及其优化就会方便很多

就我目前知道的,goldendict用的人一般比较专业一些,欧路因为也有PC端,比深蓝用的人要多,深蓝只做安卓,其余不考虑,这样限制了不少人,大概使用人数是这样的:欧路>深蓝>goldendict,其余的软件目前使用人数太少,比如supermo


有意修复附录字的缺失吗

我要是再针对特定软件优化 可就真是太累了

暂时无意:grinning: 时间啊时间

赞同。时间最为宝贵。珍惜自己时间也同样要珍惜别人的时间。

制作大词典本来就很累人,要是再各种适配那太折磨人,不可能长久保持热情去做有价值的工作。

优化的事情就让其他人专门去做,有强迫症的求人不如求己。

1 个赞

对啊 话说回来这东西谁不想做好呢,但是又没有一个同意的标准 goldendict的渲染和其他浏览器又不一样,我做排版的时候也很无语,欧路的渲染还可以。其实学学css就能应付大多数排版要求了,就是看愿意花时间与否。我想所谓优化需求很多都会是排版吧。

欧路也有这个功能