查看: 1376|回复: 10
打印 上一主题 下一主题

[教程] 采用Vim+AHK快速处理图片版词典的词条索引

[复制链接]
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    跳转到指定楼层
    1
    发表于 2019-2-6 12:00:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 VimVim 于 2019-2-6 12:38 编辑



    图片版词典的要点是精确校准处理的高清词典图片和精确的词条索引。图片版词典,虽然
    词条内容可以不用文本化,可以直接用图片来代替,但是用于检索的词头是必须要是文本
    格式的。目前 OCR 可以辅助自动化处理,但 OCR 精确度有限,还需要人工检查。文字版
    的要弄排版,图片版的要获取词头,各有各的难处。

    这是我第一次制作图片词典《现代汉语词典》中关于词条索引制作的一点经验总结,供大
    家参考:

    (一)在 vim 中将页码和字头整理成如下格式:
    一行一个页码或词条,页码下面可以有多个词条,如

    1. 0001
    2. 一  
    3. 已  
    4. 0002
    5. 亿  
    复制代码

    这一步的难点是如何简洁、快速、准确地录入页码及对应的词条,便利地图片翻页处理。
    我应用Vim + AHK进行快速处理:Vim按左右栏目自动调整窗口位置,并自动调整对应页码
    ,以及录入、校对等词条整理工作;AHK的用途有两个:一是置顶并透明化Vim窗口,二是
    快速实现图片翻页。

    为了让大家更好地观摩,我录制了一小段处理过程的视频样式:
    Video:采用Vim+AHK快速处理图片版词典的词条索引


    (二)在 vim 中执行一个自定义命令将其转换为如下 mdx 源文件

    1.     一
    2.     @@@LINK=XDHYCDTOC0001
    3.     </>
    4.     已
    5.     @@@LINK=XDHYCDTOC0001
    6.     </>
    7.     亿
    8.     @@@LINK=XDHYCDTOC0002
    9.     </>
    复制代码

    详见上面的demo演示

    相关帖子

    采用Vim快速转换图片词典的页码为mdx源文件
    https://www.pdawiki.com/forum/forum.php?mod=viewthread&tid=32971
    (出处: 掌上百科 - PDAWIKI)





    评分

    1

    查看全部评分

    该用户从未签到

    123

    主题

    1719

    回帖

    3万

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    30382

    灌水大神章小蜜蜂章笑傲江湖章翰林院专用章管理组专用章

    2
    发表于 2019-2-6 16:36:42 | 只看该作者
    非常感谢你的演示和解说!
    我不知道该如何评价,总感觉效率还不够高...
    在已经有第5版等的词条索引的基础上,增补去无, 本身就应该挺快了
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    3
     楼主| 发表于 2019-2-6 16:53:33 | 只看该作者
    本帖最后由 VimVim 于 2019-2-6 16:57 编辑
    chigre3 发表于 2019-2-6 16:36
    非常感谢你的演示和解说!
    我不知道该如何评价,总感觉效率还不够高...
    在已经有第5版等的词条索引的基础 ...

    效率确实不是最高的,我的宗旨是,制作过程就是最好的学习过程。整个词典的效率瓶颈都在于词条的录入、校对,这个只能人工一条一条过才能保证质量。
    其他都是辅助手段,方法各异,我只是采用了自己熟悉的工具,做了适度的自动化封装,便于用在更多的字典制作上,但依然有很强的个性化,不具有推广性。
  • TA的每日心情
    无聊
    2022-9-25 21:09
  • 签到天数: 1136 天

    [LV.10]以坛为家III

    17

    主题

    3142

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    25289

    灌水大神章

    4
    发表于 2019-2-6 19:41:30 | 只看该作者
    请问有那些步骤是需要用到 AHK,vim script 办不到的?
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    5
     楼主| 发表于 2019-2-7 00:00:00 | 只看该作者
    本帖最后由 VimVim 于 2019-2-7 00:03 编辑
    oversky 发表于 2019-2-6 19:41
    请问有那些步骤是需要用到 AHK,vim script 办不到的?

    用一个快捷键实现如下所有操作(多个指令容易出错且降低效率),其中加粗处我只知道用ahk实现,此外让Vim置顶并半透明也是用AHK:

    若当前为左栏,则调用调用vimscript的命令,切换至左窗口,移动光标到下一行(也就是对应的词条都写到这个新一页之下),然后切换回右窗口,调整右窗口大小,并将当前行显示到顶部;

    若当前为右栏,则从vim切换到xnview,按pagedown将图片翻至下一页,然后再切换回Vim,然后调用vimscript的命令,切换至左窗口,移动光标到下一行(也就是对应的词条都写到这个新一页之下),然后切换回右窗口,调整右窗口大小,并将当前行显示到顶部,最后保存所有文件。

  • TA的每日心情
    无聊
    2022-9-25 21:09
  • 签到天数: 1136 天

    [LV.10]以坛为家III

    17

    主题

    3142

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    25289

    灌水大神章

    6
    发表于 2019-2-7 00:04:10 | 只看该作者
    原来是还有用到 xnview,谢谢您的指导。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    7
     楼主| 发表于 2019-2-7 00:07:36 | 只看该作者
    oversky 发表于 2019-2-7 00:04
    原来是还有用到 xnview,谢谢您的指导。

    看图软件,随便挑一个都行
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    8
    发表于 2019-2-26 14:15:25 | 只看该作者
    本帖最后由 喬治兄 于 2019-2-26 14:19 编辑

    VimVim 兄:
    請教一個排版的問題
    小弟想把辭典的每頁首字和尾字置於同一列的左右兩端
    但因不熟 css 不知該如何達成此功能
    能否給小弟指導一下,謝謝您

    2019-02-26_141603.png (53.12 KB, 下载次数: 0)

    2019-02-26_141603.png
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    9
     楼主| 发表于 2019-2-26 21:19:31 | 只看该作者
    本帖最后由 VimVim 于 2019-2-26 21:39 编辑
    喬治兄 发表于 2019-2-26 14:15
    VimVim 兄:
    請教一個排版的問題
    小弟想把辭典的每頁首字和尾字置於同一列的左右兩端

    要的是这个效果吗?
    下面的border纯粹是为了显示效果,你完全可以在css中将border设置删除。


    HTML文件:
    1. <!DOCTYPE html>
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4.     <title></title>
    5. </head>
    6. <body>
    7.     <link rel="stylesheet" type="text/css" href="test.css" />
    8.     <div class="navtext">
    9.         <span class="left">accident</span>
    10.         <span class="right">accumulate</span>
    11.     </div>
    12.     <div class="mainbodyimg"><img src="test.png" /></div>
    13. </body>
    14. </html>
    复制代码



    CSS文件:
    原理:
    1、设置两个span,其宽度及padding合计为图片宽度,并设置每个span中的文本分别左右对齐;
    2、将两个span都float left,这样左右两个span就会按顺序排列;

    1. /*左对齐*/
    2. .navtext .left {
    3.     float: left;
    4.     text-align: left;
    5.     padding: 0 0 0 2em;
    6.     width: 18em;
    7.     border: 1px dotted black;
    8. }
    9. /*右对齐*/
    10. .navtext .right {
    11.     float: left;
    12.     text-align: right;
    13.     padding: 0 2em 0 0;
    14.     width: 18em;
    15.     border: 1px dotted black;
    16. }
    17. /*图片*/
    18. .mainbodyimg img {
    19.     width: 40em;
    20.     border: 2px dotted black;
    21. }
    复制代码

    您可以用附件的测试文件多试试各种参数来满足个性化需求:

    NavTextAlign.zip (53.49 KB, 下载次数: 16)

  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    10
    发表于 2019-2-27 02:59:13 | 只看该作者
    VimVim 发表于 2019-2-26 21:19
    要的是这个效果吗?
    下面的border纯粹是为了显示效果,你完全可以在css中将border设置删除。

    VimVim 兄:
    非常感謝您的指點迷津
    您連文檔都附上了
    太感謝您了
    真是太給力了
    Thanks again

  • TA的每日心情
    奋斗
    2021-3-15 08:06
  • 签到天数: 585 天

    [LV.9]以坛为家II

    5

    主题

    967

    回帖

    6428

    积分

    禁止发言

    积分
    6428
    11
    发表于 2019-8-12 14:25:43 | 只看该作者
    没太明白怎么用。