辞书
列表增加复制名称
右键菜单项;增加隐藏群组选取框
选项和群组切换时不刷新文章内容
(功能)选项(入口在查询面板
的系统菜单);添加对谷歌、有道(通用/手写)、腾讯(通用印刷体/高精度)和百度(通用标准/高精度)OCR
的支持;优化安装包;Qt-5.15.16-macOS_universal、Tesseract-5.5.0、libxml2-2.13.4、xz-5.6.3、MSVC-2019-16.11.41、leptonica-1.85、libtiff-4.7.0、libpng-1.6.44、FMOD-2.02.24、libwebp-rfc9649 updated。bass
引擎32
位版本增加对dts
格式音频的支持;为MacVision
划词引擎增加对粤语、日语、韩语、俄语、乌克兰语的支持(需macOS 13系统);导航栏上不再显示保存和打印文章按钮;Linux
版第三方库尽可能的使用系统自带或apt
源安装的开发包(减小体积同时提高程序运行稳定性);配置改进(部分参数独立节点存储 — 数据结构发生变化,故升级到该版本需要重新设置首选项和辞书相关选项);改进划词功能ExternalTools
插件 — 在调用时不再主动清空剪贴板,在程序或脚本正常退出且返回值为0
时,1. 若剪贴板有图像(或文件)则对图像数据进行OCR
识别,2. 无图像则尝试发送剪贴板中的文本,3. 两者皆无则读取程序或脚本的输出 — 判定为文件名则对文件进行OCR
识别,否则直接发送输出文本;划词功能增加对WeChatOcr
(微信OCR)的支持插件;FFmpeg-4.4.5、FreeType-2.13.3 updated。Dock
窗体标题栏添加通用的关闭按钮(默认隐藏,部分窗体常显);语言或国家flag
更新(提高分辨率);自定义词典图标: 提高分辨率(清晰度),检测更多图形格式,缓存以加快应用启动速度;为Dock
窗体标题栏按钮添加样式;暗黑模式菜单、滑轨和文章视图滚动条样式优化;群组管理: 布局优化(再紧凑一点儿),当关闭窗体或退出应用时提醒保存改动,为辞书过滤添加@%
和@&
模式(分别匹配词典格式和路径),在辞书信息中添加词典格式信息。GCC-14.2.0、OpenCC-1.1.9 updated。右键菜单辞书数目限制
值为0
时不显示辞书的右键菜单项;修正查看
菜单中窗体样式
和文章样式
设定不正常的问题(由3E24
版本引入);为OCR划词
增加将划词结果发送到剪贴板
选项(该选项使能时,划词结果将先写入到系统剪贴板然后再查询;当开启取词
功能的监控剪贴板变化
时,运行时将自动禁用该功能);为mdict
格式增加对object
的支持;openssl-3.2.2、zlib-1.3.1、libxslt 1.1.42 updated。3E23
或之前的版本;代码依赖关系整理,提取公用代码为独立库(仍可以内联代码到应用项目内进行静态编译);补足639-2
的zho
方言代码及翻译,其它语言翻译补充;修正当查无结果时文章视图右键菜单存在选择当前文章
的问题;修正保存文章
的文件名中存在空格时资源文件可能访问失败的问题;修正对img
等的srcset
属性处理不周全的问题;增加展开/收起所有文章的功能(快捷键Ctrl+{
/Ctrl+}
或查看
菜单项,当开启收起序号大于*的文章
选项时,可一键展开所有折叠的文章);重写辞书信息
功能: 使用文章视图显示内容,支持通查群组内所有辞书信息,支持内容中的多媒体内容展示及链接查询操作;为全文搜索
增加在新建视图中查看查询结果功能(功能与辞书词条
一致:按住Shift
或Ctrl
查询);为全文搜索
和辞书词条
面板增加独立的专注阅览
模式控制(以保持词汇列表的持续焦点,入口在面板系统菜单内);为全文搜索
和辞书词条
面板的输入框添加对键盘上一行
和下一行
的响应支持,优化查询面板
对键盘上一行
和下一行
的响应支持,三者的行为保持一致(词汇列表获取输入焦点并响应键盘输入);将辞书清理
功能入口从编辑
菜单移至群组
编辑窗体的系统菜单;修正Dock
窗体为tabify
状态时初始化后不被置前显示的问题;辞书词条: 修正窗体缺失Dock
标题的问题,修正在初始化后或在开启自动过滤
条件后输入框不能(总是)保持输入焦点的问题;修正全文搜索
在查询后输入框不能保持输入焦点的问题;icu4c-74.2 with Qt-5.9.9-P04_MinGW64-12.0.0_Gcc-14.1.0-x86 updated。Ctrl+K
(上一篇)和Ctrl+J
(下一篇)以顺序定位到文章(原有的Alt+Up
和Alt+Down
仍有效,需求来源);为收藏夹
增加将查询词汇发送到历史列表
选项(默认点击收藏夹词条时不再记录到查询历史);使用Dock
窗体实现辞书词条
功能;为Morphology
词典增加语言属性支持;辞书排序及群组管理: 完善Dock
窗体的实现,优化其与主界面的的互动逻辑,支持使用词典id
和ISO 639-2/3/5
语言码过滤辞书,支持导出词典列表,增加复原
(撤销所做的更改)功能;在查询结果导航面板
中复用辞书排序及群组管理
的列表控件;SQLite-3.45.3、libplist-2.6.0 updated。辞书
编辑: 功能分拆,逻辑优化(运行效率提升),辞书排序及群组管理界面以Dock
窗体实现,群组内辞书信息可查、可重命名、可自动排序,排序算法改进(保证结果唯一);以Ctrl+Alt+F
替换原来的全文搜索快捷键;为Dock
(边栏)窗体标题栏增加系统菜单支持;修正状态栏消息可能带有上次消息图标的问题;为音频引擎增加播放音量
和速度(频率)
调节的接口支持(插件Bass plugins
、Fmod Engine
、Fmod Ex
、FFmpeg+libao
和Qt Multimedia
做了完整实现);修正Fmod Engine
不能播放路径含多字节编码字符的音频文件的问题;主题样式微调;修正默认主题和灵格斯主题下新建tab
页(文章)视图闪烁的问题;全文搜索: 窗体可停靠,首选项、词典对话框等操作不再关闭全文搜素,修正前一个
和后一个
按钮不能正确反映页面搜索进度的问题;修正导航栏位于屏幕下方时查询输入框的候选词列表弹出后可能被遮挡(超出屏幕显示范围)的问题(讨论);恢复对ScrollBar
(滑动条)宽度的过度调整;Zstandard-1.5.6 updated。macOS
版本tesseract-ocr
引擎无法使用的问题;Add belarus letter pairs “Ўў/Уу” to diacritic handler(讨论,参考,升级到该版本需要重新索引全部词典);开放Windows-x64
版本对mdict
格式的支持;Popup弹窗: 功能及UI优化,增加记录到查询历史配置项,配置项独立文件存储;查询结果导航面板、查询面板、收藏面板、历史面板: 修正窗体关闭后再打开不能恢复原位置或不能浮动显示的问题,为浮动面板的标题栏增加关闭按钮;重构页内搜索
功能: 逻辑优化,关闭搜索框后释放内存资源,页面刷新、过滤条件改变或文章内容改变时同步更新搜索,搜索框打开时恢复已设定的过滤条件和当前会话的搜索词;显示风格(主题): 样式表简化/优化,全新设定(全局有效)灵格斯蓝色调和深色模式;修正个别zim
格式词典无法查阅词头列表的问题;修正群组列表聚焦后不能自动释放焦点
的问题;修正QWebPage::WebAction翻译缺失的问题;修正会话保存/恢复时html
转译字符不被正确处理的问题;修正当匹配项很多时查询输入框
的noResults
状态不被及时更新的问题;修正当从搜索面板切换到搜索工具栏(快捷键Ctrl+S
反复几次)时群组切换快捷键失效的问题;修正历史记录列表中复选的条目均被查询一次的问题;修正Popup
窗口中切换群组或mute词典
时重查输入框内容的问题;优化辞书栏
显隐及mute词典
的处理;辞书词条对话框: 新增快捷键F4
以快速显隐参数面板,新增仅浏览当前辞书
选项(选中后点击词汇列表中的词头时会且仅会在当前辞书中查询定义),新增记录到查询历史
选项(浏览词条时可不发送词条到历史纪录),新增(按住Ctrl
键点击词条)可在新建视图中查询词汇;全文搜索对话框: 新增快捷键F4
以快速显隐参数面板,新增记录到查询历史
选项(浏览词条时可不发送词条到历史纪录);代码优化以提升运行效率(同时压缩生成的二进制文件大小);完善辞书词条对话框自动过滤
条件判定;openjpeg-2.5.2、jpegsrc.v9f updated自动获得焦点
选项(以支持通过键盘方向键+回车键查词,通过快捷键Ctrl+D
获得焦点的方式依然有效);修正Add all tabs to Favorites
操作将所有词条都添加到当前分组收藏夹(而不是对应tab
页分组的收藏夹)的问题;优化收藏
和历史
存取(支持从旧版或官版升级时自动导入);默认设置下Wiki
型词典不再将Wikipedia
设置为已使能;增加文章重载按钮(快捷F5
键)。macOS
/Linux
版本取词
热键修改后不被正确存取的问题;macOS
系统: 修正Qt-5.15
版本划词
插件ExternalTools
不能正常工作的问题, 修正Popup
弹窗的群组名称
(紧凑模式)右侧被遮挡的问题;统一Dock
窗口的标题样式,修正灵格斯-蓝色调
主题下Dock
窗口重叠(叠加)时tab
样式无效的问题;修正全文搜索
对话框的最大词条数每辞书
可能(超过255
时)不被正确保存的问题;运行时记忆词典编辑
对话框来源
页面的当前页面;修正程序启动时Splash
窗体可能不按预期关闭的问题;修正词典未有分组时会话
不被加载的问题;新增会话
保存与恢复机制(新特性: 会话导入导出、退出时自动保存会话、启动后自动加载会话);优化代码以压减生成的二进制文件大小(同时减少运行时静态内存占用);修正词典文件更新后全文索引不会随之更新的问题,修正全文查询时(极端条件下)无词典可检索可致进程崩溃的问题;修正退出程序时可能因查询视图未及时销毁而崩溃的问题;针对Qt-5.15.1x
的兼容性改进(修正);剔除Dsl
词典处理中不必要的异常抛出;当从设定的HunspellMorpho
目录中加载词典失败时尝试从默认文件夹加载词典文件(同时支持运行在portable
模式时自定义词典目录);配置文件中的查询
相关参数独立节点存取;运行时保存和恢复首选项
对话框当前页面;增加对当音频插件不可用时使用外置播放器打开音频文件、当音频插件播放失败时使用外置播放器打开音频文件和尝试使用音频插件直接播放网络音频文件的支持,当外置播放器不可能时可回退使用系统默认播放器;为音频插件增加直接播放http
或https
协议url
链接的接口;修正保存图片或音频文件对话框中的保存类型
错误;辞书词条对话框中自动过滤上限值可设定(由配置文件存取,范围 10万~50万);修正词典群组
选取框由紧凑模式切换到经典模式时可能过度挤占水平空间的问题;按功能将配置项分文件存储(升级后会自动处理以保证首选项
和词典
配置不丢失),加入写保护机制以防止程序崩溃时内容被破坏;取消gdpicture
处理(对dsl
的图片处理与其它格式词典一致);设置界面布局微调,对话框辞书词条
布局调整(与全文搜索
对话框一致,更加紧凑);全文搜索: 索引和搜索时的并发任务数调整为全核心线程数量 - 2
以加快界面和查询操作的响应速度,调整界面布局,增加禁用时自动清除索引文件
选项(使能时不再参与全文搜索的词典的全文索引文件将在下次扫描辞书过程中被自动删除),修正音频
类词典使能错误(未索引的词典加入检索队列导致检索时可能崩溃,由3E1C
引入)的问题,删除配置项disabledTypes
,新增配置项autoRemove
(默认未开启)和types
,升级后不会删除已有的全文索引文件,但需在编辑
菜单->辞书
对话框->其它
页面重选需要全文索引的辞书类型;修正Qt-5.15.1x
版创建全文索引和全文检索结束时可能异常崩溃的问题(由Qt-5.15.1x
自带的bug
触发);CaseFolding-Unicode-15.1.0(升级到该版本会重新索引所有的文件型词典)、pugixml-1.14、openssl-1.0.2zi updated。--show-error-file
显示崩溃日志实现;配置参数命名规范: forcedSearchSuggestions->
alwaysSuggest, synonymSearchEnabled->
synonymSearch等,升级后对应参数被重置为默认值,可在首选项
或词典
对话框修改;修正新建页面后即刻切换词典群组导致(空白或帮助)页面重查的问题;发音按钮和音频类词典的图标统一使用一个文件;弹窗Popup
工具栏布局调整;改进词典群组
选取框(添加紧凑
模式,鼠标左键双击
切换到经典
模式,鼠标右键双击
切换到紧凑
模式,快捷键扩展:Alt+G
切换至经典
模式或弹出群组选择列表,Alt+J
切换至紧凑
模式,Alt+PgDown
和Alt+PgUp
行为不变);修正mdict
词典中JavaScript
脚本不能通过anchor
的name
或id
属性访问html
文档节点的问题(同时修正跨词条查询的锚点跳转可能失败的问题 — 撤销了原有的sub unique id
机制以最大化兼容词典中的css
和js
处理: 词典制作者必须保证html
内容中tag
节点的name
或id
属性值的唯一性,以及它们不存在于同查的其它词典中);为mingw+gcc
32位版本开放对Apple OSX
格式词典的支持;新增mingw64+gcc13
64位(长期支持)版本;openssl-1.1.1w updated。删除缓存
和对不存在的辞书的配置项清理辞书
功能(清理临时文件和配置文件中的无效辞书项,入口:编辑
菜单);优化划词接口以提供更友好的设置选项;修正macOS
版本Popup
窗体无法使用查询功能(快捷键⌘+F
乱入主窗体)的问题;优化常量状态(计算)的生命周期(以提升mdict
词典的索引效率);修正导航工具栏悬浮时输入查询后文章视图不能获取输入焦点的问题。macOS
系统Vision
划词语言名称添加翻译(显示时使用OCR
语言名称而非语言代码);构词法词典: 短语建议实现优化,修正词典ID
随应用界面语言改变而改变的问题;转写型字典: 增加语言
属性,重写常量字符串映射表的实现(以提高运行效率,压减程序体积和内存占用);修正导航工具栏或/和
查询面板的悬浮状态改变后查询输入框捕获键盘输入异常的问题;重构(整合)Language
和LangCoder
功能(提高运行效率,压减程序体积和内存占用),为粤语
、吴语
等增加iso639-3
代码映射(词典样例:OSX
英譯廣東口語詞典);减少Tesseract
的依赖项以压减OCR
插件的体积和内存占用;文件类型Filetype
接口优化;为mingw
(32位)版本加入对winrt ocr
划词引擎的支持(发布包中新增gdp.ocr.winrtocr.dll
插件文件);增加对运行时窗体样式
、文章样式
改变时的状态栏信息提示;增加对dsl
格式词典ref
和url
标签target
属性的支持(反馈,参考);优化BtreeIndex
实现以提升索引和检索效率;消除不必要的异常处理(确定不会抛出异常)以提升词典的索引和查询效率;增加基于辞書类型
的群组自动生成
功能;个别运行时状态变量参数名称调整(以改进代码可维护性和明晰配置参数的语意,影响是否使用查询面板、是否在词典栏显示词典名称、工具栏是否用小图标、Popup窗口是否置顶/固定位置/自动聚焦,升级后的相关参数在程序首次启动
时可能被重置为默认值),增加对Popup
窗体词典栏
显示状态的记忆与恢复;应用启动流程优化以加速启动过程;优化bgl
格式词典的转码以加速词典索引的创建(转制);精简关于
对话框内容。窗体样式
和文章样式
设定机制(以实现窗体和文章视图样式的组合搭配);重构 zstd、lzma2、bz2、zip 解压实现(零缓冲)以加速 Apple’s OSX、zim、slob、mdict、aard 等格式词典的查询过程(检索效率大增的同时显著降低运行时CPU
和内存
占用峰值);修正dsl
格式词典*.dsl.files
目录下的资源文件不被加载的问题;重构mdict
格式词典内容的转码实现(降低运行时CPU
和内存
峰值的同时显著提升索引和查询效率);优化FIFO
缓存接口以提升 Apple‘s OSX、StarDict、xdxf、EPWing 等格式词典的查询和全文索引效率;修正主窗口面板关闭后右键菜单中缺失对应菜单项的问题;适配Debian
12: 为Qt-4.8.7
版本添加openssl-1.0.2zg
的支持文件(以修正不能使用Web
或Wiki
型词典等问题);优化xdxf
、sdct_k
格式词典内容的转换(修正部分字符串操作函数的歧义调用以尽可能的避免不同类型字串的转换);修正当查询输入框空置(初始无内容或被清空)时切换词典群组后不会重查的问题;修正复合短语
中可能存在重复词条的问题;优化以提高当使能搜索文章时总是显示搜索建议
选项或查无结果时的检索效率;优化已查得文章数量状态栏提示机制(尽可能早且不重复提示,以需及时清除提示);优化Qt
信号槽参数(非必要不设参);优化macOS
版本在索引OSX
格式词典时的[Object-C]内存使用;修正当输入框所在工具条悬浮状态时输入内容后回车候选词列表不能收起的问题;修正重新扫描文件
过程中界面卡滞(在扫描结束后恢复正常)的问题,修正在扫描词典过程中退出程序时崩溃的问题;进一步扩大右值
接口的调用以提升查询效率;优化StarDict
/BGL
/GLS
格式词典处理以加速查询过程(同时显著降低查询过程的内存和CPU
占用);内置主题样式表调整。QString
的大量优化以提升运行效率;增加JavaScript
变量以供词典中的脚本判定GoldenDict
衍生版本(区别是划词
版还是官方
版,基于WebKit
还是WebEngine
/WebView2
浏览器);参数Web页面的最大历史记录数量
被修改后即刻(不再需要重启应用)生效;当使能搜索文章时总是显示搜索建议
选项时: 修正查询结束后可能不提示查得文章数量的问题,修正点击建议的链接查询结束后文章可能跳转(到上次查询视图中的当前文章)的问题;xdxf
词典的描述信息中换行符丢失的问题;修正因加载词典耗时导致程序启动时传参数不能按预期工作的问题;优化以减少中间变量和临时字串的生成(提升查询效率的同时降低查询过程中的CPU
和内存
的占用);修改Forvo
词典配置界面API Key
输入框为密码掩码样式且不再明文存储(在设置完成后界面上不显示密钥原文内容,在配置文件中使用Base64
编码存储,升级到该版本后需要重设密钥);修正新版xdxf
词典句例部分翻译与原句粘滞的问题(测试用例);优化(加速)OSX
格式辞书的索引过程;修正 StarDict/GLS/Slob/Zim synonym links(or anchor) broken with & 的问题(测试用例);取消(通过编译选项禁用)鸡肋(几无用处)的资源文件通搜
功能以提升查询效率;优化代码以提升运行时效率同时压缩生成的二进制文件大小;修正主窗口标题中词头文字包含&
时被过度处理的问题;修正开关文件.gdautogrp
未按预期工作的问题(影响3E15
及后续版本,临时解决方法: 删除该文件则以之前版本的方式工作)。Windows
版本增加--toggle-scan-popup
命令行参数(可在启动或运行时使能或禁用鼠标取词查询功能;参考);为stardict
词典增加对sdct_r
的资源单的访问支持(支持系统应用打开资源文件);修正xdxf
词典文章内容中可能出现重复换行的问题(测试用例);改进xdxf
和stardict
词典对内置媒体内容的支持(测试用例);升级(文件类词典需要重新索引)并优化Case Folding
实现以提升索引及查询效率;修正当输入框词汇与当前文章词头不一致时切换当前词典分组后更新的文章内容为输入框词汇对应的查询内容的问题。macOS
发版的x86_64
和arm
版本(不再发布Universal
安装包)以修正Universal
版本在arm
平台的运行问题;优化样式表以兼容在不支持audio
或video
时的媒体展示效果;兼容显示个别 mdict 词典
的描述信息;增加两组默认的辞书服务器(DICT protocol server);优化(提升)辞书
编辑对话框的打开速度;异化WebView
的js
对象名称以杜绝(更好的解决)js
提权问题;尽可能的避免共用对象的重复构造及对容器参数的深拷贝以提升查询效率;在按下划词快捷键时如当前在划词过程中则(视插件实现)终止或确认当前划词操作;修正 xdxf、gls、epwing、dsl 格式词典因读取异常致全文检索和查询结果错误的问题;简化异常信息;优化linux
系统ScanFlag
方式的取词体验(弹出位置紧随鼠标,图标增大、背景透明等)。MediaWiki
辞书增加对ToC
的支持(参考);优化mdict
词典创建索引的效率及索引过程的CPU
及内存占用;修正dsl
格式词典因词头字符太多而致索引无限时及内存暴涨的问题(详见反馈);显式调用FIFO
缓存的右值接口以提升运行效率;修正针对特定主题的CSS
过滤器(针对不同主题对词典内容定制不同的显示样式,如body[gdpp-theme=darkmode]
img{background:#fefdeb})不生效的问题;针对C++
标准库及Qt
接口的调用优化(优选右值接口)以提升运行效率;确保mingw+gcc
版本链接到最新编译的ebu
静态库;Apple's OSX
格式词典: 优化索引以提升查询效率并减少运行时的内存占用(需重建索引);修正几处因(文件操作可能的)抛出异常而导致的内存泄漏问题;格式xdxf
: 新版本034
支持,修正索引创建过程死循环的问题(由3E16A
引入,未使用xdxf
格式词典则不存在该问题)。Qt4
版本mdict
词典查询处理的优化(提升页面渲染效率);优化异常处理以提升文件操作效率;优化dsl
词典的初始化及查询过程;优化aard
,zim
,slob
格式词典ID
处理(升级后需重建索引;使用词典文件中内置的uuid
,当词典文件路径变化时ID
不再变动 — 故无需再次索引);修正主界面鼠标中键翻译剪切板内容功能失效的问题;修正打印预览对话框窗体不能显示在上次位置的问题;Apple's OSX
格式词典: 效率优化,修正(Oxford Thesaurus of English
词典)lex-link
等锚点不能跳转的问题;修正在程序启动后因插件加载失败而(可能的)导致程序崩溃的问题。首选项
对话框高级
页面文章
增加必要时跳转到目标词典
参数(默认兼容值开启);为按目录自动分组
功能增加控制开关文件.gdautogrp
(参数说明);为程序
型词典增加超时机制(3~30秒之间,超时未返回时结束程序
);修正macOS
版部署后完整性可能校验失败(运行时崩溃)的问题;优化Apple's OSX
格式词典索引创建过程的内存占用;mdict
词典: 深度优化以提升检索效率(同时巨幅减少查询时的内存及CPU
占用,需重建索引),修正因mdx
中多次重复定义同一词条(内容亦相同)可能导致对应词条的查询结果中内容重复一次的问题(在3E04
引入该问题);Nicomsoft OCR: 升级SDK
到7.1.921
,适配Linux
,优化初始化过程(仅需在划词配置时选取SDK
的安装目录 — 运行时自动匹配32
位和64
位版本,多个不同版本的GoldenDict++
可共享同一SDK
安装目录),运行时文件不再随发行包一起发布;适配Debian 11
,Qt-5.15.7
/Qt-4.8.7
(麻雀虽小五脏俱全: 支持所有词典格式 — 包括OSX
词典格式,支持鼠标/剪切板取词和OCR
划词,支持bass
和fmod
音频引擎,支持页面内调用外置 — 系统默认的视频和音频播放器)。zip
格式数据解压优化以提高词典(特别是mdx
和osx
格式)源数据的读取效率(同时减少解压过程中的CPU
和内存
占用);修正在程序启动后即刻退出时大概率程序崩溃的问题;修正词典扫描过程中因响应界面操作及进程间消息以致程序崩溃的问题;通过辞书词条对话框保存词条时设置默认文件名为词典名称;优化Forvo
词典的空间和内存占用;修正最后一个Tab
页关闭后可能无法获取焦点的问题(参考);热键ESC
逻辑: 若查询输入框无焦点则先聚焦到查询输入框(影响: 若已激活ESC
键隐藏主窗口,在查询输入框无焦点时,则需连按两次ESC
键才能隐藏主窗口);抽象接口AsyncDataRequest
、AsyncWordSearchRequest 和 AsyncDataRequestRunnable、AsyncWordSearchRequestRunnable
以规范各词典处理中的文章/词头及资源内容访问的处理;适用新版本pugixml
接口以提高xdxf
和stardict
格式词典的解析效率;优化索引文件读取的锁粒度以提升检索或查询速度;全文检索: 修正一处可能的未捕获异常而导致程序异常退出的问题,在全文索引未全部完成时加速未启用仅检索已索引的辞书
选项时的查询过程;Apple's OSX
内置词典: 适配Qt-4.8.7p
,异步读取资源文件,使能DCSDictionaryCSS
属性以修正个别词典样式表不被加载的问题,使能词典的语言属性(辞书信息中显示词条和释义语言);修正macOS
版的app
版本号不更新的问题;划词识别: 增加WinRT OCR / Windows.Media.Ocr
插件(以使用Windows
系统自带的OCR
功能),优化WinRT OCR
结果以清除中文或日文字符串中多余的空格,增加QCamera
截图插件(以支持摄像头或扫描笔类视像输入设备划词)。bword
链接跳转失败的问题;Apple's OSX
内置词典: 增加词典描述信息(词典ID、供应商、版权信息等),精准友好的显示词典名称,修正Web引擎不能播放本地音视频资源文件的问题,修正anchor
处理不当致查询时程序崩溃的问题,修正文章中的部分链接跳转失败的问题/修正个别词条内容不被索引的问题,修正文章内链接的部分资源文件不被加载的问题/修正css
资源文件不为utf-8
编码时加载失败的问题,优化索引(处理副词头和文章ID)以提高查得率(需重建索引),优化查询时内容的转换处理以提升效率;全文检索: 修正在查询过程中更新词典栏时导致程序异常挂起或崩溃的问题,增加仅检索已索引完成的辞書
选项(默认仍为全部检索),记忆查询参数面板的显示/隐藏状态,服务接口实现优化,全文查询界面布局优化。pictures
标签srcset
属性的支持;DSL — Fix links with multiple spaces(参考);修正单击选择单词
选项激活且文章内有选取内容时点击文章视图的滑动条会清除内容选取状态的问题;优化脚本内容的访问以提升页面加载速度;修正程序启动后页面的过度闪变问题(辞书加载完成后不再重载初始视图)。macOS
系统内置词典的全平台(Windows/macOS/Linux)全功能原生支持(需要索引): 查询功能正常、预匹配正常,全文搜索正常,链接及锚点跳转正常,资源加载正常(audio
标签和图片正常,source
、video
标签待测),内容样式正常。Ctrl+Tab/Ctrl+Shift+Tab
快捷键不总是有效的问题(参考);修正一处特定件下程序异常崩溃的问题;增加对macOS
系统内置词典的(初步)支持: 基于词典自带索引(无需再次索引,暂不支持全文检索),查询功能正常、预匹配正常,内容样式正常;当查询操作不是由全文搜索发起时url
中不再携带全文搜索参数;Forvo - Support filtering pronunciation by gender(参考)。bgl
、slob
格式词典捕获异常时可能的死锁问题;在从dsl
格式词典的图片视图返回时恢复当前词典和浏览位置(参考);针对mingw
版Tesseract
OCR插件的编译期优化(禁用相关依赖库的调试输出)以提升运行效率。在新标签页中查找...
重置当前标签页的发音按钮状态及查询导航列表的问题;增加文章内内容搜索的完全(精确)匹配选项。epwing
词典全文检索结果中的部分词条查询失败的问题(详见反馈)。epwing
词典查询结果中存在重复的词条内容的问题(详见反馈);macOS 版本: 修正界面语言为英语时点击设置选项(首选项)时打开了配置文件夹的问题,增加bass
和Qt Multimedia
音频引擎;修正首次部署(或全新安装)时界面语言与操作系统的界面语言不一致的问题(可在macOS
中引发菜单项布局及误操作问题);增加总是显示搜索建议选项(需求参考)。epwing
格式词典color chart
的处理;增加基于AutoHotkey
的对文字的选择或双击取词辅助程序(仅适用于Windows
平台,感谢debugfan);Add new OCR plugin using Apple’s Vision framework;修正对Forvo
发音查询时网络状态处理错误导致内容不被呈现的严重问题(自版本2A26
引入);修正词典编辑对话框的一处内存泄漏问题;dsl
格式词典: 词头计数错误修复(不影响词条列表和查询),修正文章内容中内建卡片链接的跳转问题(参考:Fix escaped brackets handling in inside card headwords by Abs62);适配macOS arm64 Monterey 12.3.1
(universal
版本,同时适用于版本从10.10
到12.3.1
的所有macOS
系统 — 原生支持运行于arm64
硬件上的新版macOS
)。macOS Monterey 12.3.1
(基于 Qt-5.15.3、QtWebkit-5.212.0-alpha4-patched);全文查询过程优化、针对epwing
、dsl
辞书的索引处理及查询过程优化(效率提升及更小的内存占用峰值);对epub
格式电子图书的(实验性)支持;针对Qt4
版本的迁移优化;针对全局快捷键处理的优化;修正在主界面通过Ctrl+V
查询剪切板内容使用的辞书群组可能为非预设群组的问题;增加搜索时忽略索引词两端的标点符号选项(默认不生效,不建议开启;开启后并不影响含有标点符号的关键字词的精确匹配):Close words
内容总是少一条(单条不显示)的问题;补全macOS
版本部分界面文字的翻译;添加配置项以使能Popup
窗口获取输入焦点(默认行为)(macOS
和Linux
系统效果不确定,需从配置文件中修改参数),禁用Popup
窗口辞书栏右键菜单的辞书词条
菜单项。参考讨论:New behavior of making window foreground if launched from shell。
收起序号大于...的文章
功能时,通过点击带锚点的链接或词典面板中的条目切换/跳转到的查询内容如在折叠状态则自动展开;当菜单栏不被隐藏时导航栏上的菜单按钮及其子菜单项不再常驻内存,因首选项配置或用户习惯而无效的界面元素不再常驻内存。启用
收起序号大于...的文章
功能,请参考:懒加载以提升 GoldenDict++ 查询速度。
dsl
hide or expand optional parts 和 Expand/Collapse article、当前文章状态切换的功能实现以节能增效;去除配置存取过程及并发索引线程中的异常处理,词典加载不再异常外溢;修正FFmpeg
引擎播放个别不规范的mp3/wav
音频时程序异常挂起(死锁)的问题;修正音视频目录类型词典的专辑属性被修改后词典不被重新索引的问题;xml
序列化优化,对读写接口做功能拆分以提升IO效率,对配置参数进行分区(分类):
preference
参数一类,词典配置一类,动态状态变量(非配置)参数一类……,各类参数间并无相互影响(可单独文件存储)。优点是修改首选项参数时不再对词典参数有影响,编辑词典参数时也不再影响首选项中的设置项,运行时的一些窗口或界面布局的状态量也不会与其它配置参数混淆,同时可提升首选项、词典编辑的响应速度。
注意:配置文件文档结构改变,升级前请先备份好配置文件config.nwx
,如不适用于创建基于目录(根)的群组,升级后用差异比对工具将备份的配置文件合并到新版的配置文件中去即可轻松还原词典分组和首选项等设置。
mutedDictionaries
总是被清掉的问题;收藏面板和历史面板不再常驻内存;修正当通过右键菜单隐藏查询面板后需点击两次查看菜单下的查询面板项才可以再次显示查询面板(如此多次操作还会生成多个查询工具条)的问题;配置变量: 参数更名,运行期的状态变量(非可以通过首选项设定的变量)由preferences
节点移至stats
节点;在音频目录的查询结果中针对专辑属性设置显示专辑或目录信息以区分曲目; 修正BASS
音频引擎不能正常播放DTS
格式音频的问题(简单修正未必通用,仅满足了个人曲库中绝大部分该格式曲目专辑的支持);修正语言标志图标错误(作为中国台湾省的地方语言,繁体中文 — 标识tw
不再有独立的图标)。==>
音视频目录): 修正portable
模式下添加多个目录时只有第一个目录被正常加载的问题,增加对视频文件的索引及播放支持,优化资源访问效率以提升对大体积音频文件的播放性能,增加专辑属性(类似音乐专辑)以支持对有声读物和音乐歌曲类音频文件分类目录的查询。gdvideo(==>gdmedia)
支持重新实现外置播放器功能(当不支持HTML5的source标签时不需要在查询时预先缓存视频资源到硬盘 — 仅在播放前按需缓存,含有的视频资源较大时查询效率提升明显;由系统以默认应用来播放视频,不再需要在首选项中设置相关的媒体播放器参数),统一zim
、mdx
、dsl
和epwing
格式词典对视频支持的处理;优化dsl
、lsa
、zip Sounds
词典和音频目录的查询处理以提升效率;去除不再有效的异常处理;修正全文检索开始后新的结果返回前显示的搜索到的词条数目可能不为0的问题;修正当回退到最后一个Web页面时视图可能空白(无任何内容的白板)的问题;修正词典太多时前进后退导航按钮状态更新不及时的问题;增加查询结果中文章数超过n
时折叠第n
部以后的文章内容(取代收起大于多少字符数折叠文章功能实现):将分组中常用的词典放前面,备参考词典放在后面,启用该设置仅正常显示常用的(备受关注的)词典 — 备参考词典的内容显示为折叠状态,
n
最小值为3,即查询结果中至少前3部辞书的内容是不被折叠的;启用该功能亦可缓解在较多数量(如几百部)的词典同时查询时因巨量HTML内容渲染较慢导致查询效率不高的问题 — BTW,对数百部词典同查结果有一百多部辞书内容且其中多部辞书内容包含有重型CSS和JavaScript的典型测试(开启构词法后查询单词gone、best等 — 仅HTML代码体积在5~10兆之间),内容渲染(css+js执行完毕)用时从未开启该功能时的4分钟左右缩减至不到10秒,效果显著。
mdx
、zim
等格式辞书资源文件的访问,特例优化mdx
词典的样式与脚本的访问。GLS
辞书查询结果不能正确反映文章的真实词头的问题;当未有选择任何辞书时,在查询结果中予以提示;优化候选词的检索效率和内存占用;优化读取词条链接索引信息的检索效率和内存占用;全文索引: 优化索引服务(按需调用 — 不再常驻内存),优化检索过程(服务按需调用,操作更顺畅;添加异常信息提示),修正查询结果中包含内嵌css
或js
内容的错误, 修正词典内容巨大时(如各种Wiki
内容的zim
辞书)查询性能很低的问题(性能提升明显 — 查询时间巨幅减少)和因内存占用过大导致的查询失败问题(查询过程中内存增量从先前数G
剧降至数M
— 几可不计),修正当查询结果记录中无词条时再次导入不会更新查询内容和条件设置的问题;针对HTML
内容组织及处理的大量优化;新增网络类型的辞书访问超时机制,默认为3秒
(可在辞书编辑中单独设置),超时则自动终止当前的访问请求。Web、Wik或服务器类型辞书的访问,受限于网络环境,适当的超时限制以避免程序长时间挂起 — 表现在网站不可达时,在连接超时返回前,程序界面操作不流畅或直接卡住 — 最坏的情况时所有其它辞书的结果都要在网络辞书的超时结束时才能展示出来。
FIFO
缓存IO机制抽象化为独立接口,重构FIFO
管道以灵活适配更多的数据类型,为二进制文件的访问适配FIFO
缓存机制(直接映射资源文件),为网络资源访问适配FIFO
缓存机制,同步更改所有辞书查询请求的实现。相较先前的实现,少了几层胶水,管道读写效率稍有提高,无锁操作 — 对缓存IO的优化进一步释放了查询效能。
复制为文本
项对个别HTML元素中的已选内容仍无效的问题;修正个别界面元素(简中、繁中)翻译缺失的问题;修正在线词典(Web或程序类型)内容可能导致词典列表被清空的问题;完善FIFO
缓存机制以加速对词典css
等资源文件的访问:对于使用了大量css样式的
zim
及mdx
等格式的词典,提速还是有一些的,特别是在硬件资源捉襟见肘的老旧PC上,优化后的提速效果很明显 — 从理论上推算,如继续完善对二进制资源文件的访问,速度还是能有再进一步的提升的 — 基本上可以满足GoldenDict++Server功能的并发访问效能要求。
Alt+B
快速移动到查询内容的最底部(查看最后一部辞书);修正当工具栏查询输入框中内容被清除时候选列表不自动隐藏的问题;整理并重新组织部分JavaScript
代码,优化个别变量的生命周期,添加JS对象方法在查询后内容加载完成前随时报告词典ID
以(动态或自动)更新查询面板
中的词典列表;完善FIFO
缓存机制(适配常用的容器类型,使用右值引用以提升性能),基于该机制重写DataRequest
、WordSearchRequest
(及基于它们的所有派生类)的定义及实现,同步更新(重写)依赖其功能的实现:
FIFO
缓存机制使得查询内容(特别是样式表
或脚本
内容)被及时的传输给Web前端,且页面加载结束前查询面板
中的词典列表内容既已完整,所以不再需要被动或定时去刷新,查询速度提升明显。
当前影响页面渲染速度的最大因素,应还是部分粗制滥造的mdict
词典中的css
和js
代码的低劣实现。
3E
,该版本的目标是完全重写(新实现)除UI
(界面)以外的所有的基础功能接口,词典格式解析部分以插件方式实现与发布,同步更新(重构或重写)UI
(界面)的交互部分的实现:3E0?版的目标是完全重写(重新实现)
GoldenDict++
的基础(关键)组件及接口,包括词典访问、查询请求、缓存管理等类及它们的接口定义,并同步更新(重写)以其为基础的功能实现。3E1?
版实现对词典格式解析的完整的插件化支持 — 基于GoldenDict++
已实现的插件机制和3E0?
已实现功能的词典解析模块的插件发布。
这个版本绝大部分的UI
及操作行为将继续保持与GoldenDict
一致。
FIFO
缓存机制(实验功能) — 查询内容直接引用(近乎零拷贝)以完全避免内存的频繁IO带来的能耗,减排提效并举 — 查询性能(速度)爆升(同时查询的辞书越多,词条内容越丰富,体验越明显)。Web
型辞书,修正鼠标右键菜单复制
和复制为文本
对查询内容无效的问题,修正文章视图高度可能失实的问题,增加右键菜单项以手动更新视图高度:对于静态网页内容,
iframe
初始高度适应内容 ,不再虚高(底部大量留白)或遮掩内容,查询可立即可见,但对于内容(使用Javascript)动态/异步更新的网站(如https://naob.no/ordbok/%GDWORD%),查询耗时不确定 — 可能在较长的一段时间后才能返回结果,导致页面一直空白(高度不会更新),因此(右键菜单)手动刷新页面高度是很有必要的。
可能的问题:文档横向伸展时iframe
高度不减(底部少量留白),但不影响内容显示。
WebKit
不支持HTML5
视频时参与编译;增加FMOD Engine
音频引擎插件(以改变macOS
系统中发音引擎单一的现状 — 主要还是因为ffmpeg
臃肿且构建更新过程不讨喜):
FMOD Engine
是Fmod Ex
的现代(持续维护)版本,同样适用于Linux
和Windows
平台。使用bass
或FMOD
引擎基本上可覆盖三个平台的常见音频格式的播放支持。
该插件仅限用于非商业非盈利性质的个人学习或教研工作;该插件使用的FMOD Engine Core API
需要您严格认同与遵守由Firelight Technologies公司发布的Licensing(Legal Information
);您在使用该插件过程中可能产生的任何侵犯Firelight Technologies公司商业权利的责任由您自行承担。
Linux
和macOS
版本启用应用完整性校验(防篡改)功能,部署脚本优化;修正macOS
系统中历史面板显隐热键无效的问题(改用Ctrl+Shift+H
);为视图View
菜单下的部分菜单项增加快捷方式(热键)支持。StarDict
词典在查询时导致程序崩溃的问题;修改词典中的视频外置播放器支持按钮的title
内容为词典中的资源路径(而非缓存文件路径),为播放按钮(img)增加css属性类gd_video
(以支持自定义样式),增强对外置应用播放视频的支持,为Qt4
版本增加外置应用播放视频支持。QStringLiteral
、QByteArrayLiteral
以提升运行(查询)效率;动态命名JS
对象类实例变量以彻底封堵JavaScript
提权漏洞。macOS
版本的二进制文件更新及打包功能优化;为Linux
版本在项目源文件集成打包功能。Linux
系统下开启关闭至系统托盘区选项时系统注销可能被应用取消的问题(参考)。HTML5
媒体播放功能有效时代码不参与编译),增加生成视频播放按钮html
内容的通用方法(以备为其它格式的词典添加视频支持),为视频播放按钮添加title
提示信息。js
接口优化;防恶意内容功能优化:典型的垃圾词典中的恶意脚本或内容对用户的侵扰一例,在此也提醒常在词典论坛逛游的学友:请从安全可靠的源获取学习资料。
js
接口: 支持zim
等格式词典内的视频文件,支持在线(http
、https
及ftp
地址)视频播放,也可为其它格式的辞书增加视频内容的支持,①为mdx
格式词典中的视频内容添加本地视频播放器支持,②为zim
格式词典中的视频内容添加本地视频播放器支持。Dark
主题文章滑动条配色与应用主题配色不搭的问题;隔离文章视图的JS
对象方法以防避用户词典中的恶意脚本对程序运行带来的安全问题:测试用批处理脚本文件(
UTF-8
无BOM
)内容如下:
@echo OFF
echo "<script>setTimeout(function() { articleview.setDisabled(true); articleview.statusBarMessage('测试setDisabled'); },2000);</script>"
echo "<script>setTimeout(function() { articleview.setHidden(true); articleview.statusBarMessage('测试setHidden'); },3000);</script>"
echo "<script>setTimeout(function() { articleview.setHidden(false); },5000);</script>"
echo "<script>setTimeout(function() { articleview.zoomOut(); articleview.statusBarMessage('测试zoomOut'); },6000);</script>"
echo "<script>setTimeout(function() { articleview.zoomIn(); articleview.statusBarMessage('测试zoomIn'); },7000);</script>"
echo "<script>setTimeout(function() { articleview.showDictsPane(); articleview.statusBarMessage('测试showDictsPane'); },8000);</script>"
echo "<script>setTimeout(function() { articleview.sendWordToHistory('测试历史记录'); articleview.statusBarMessage('测试sendWordToHistory'); },9000);</script>"
echo "<script>setTimeout(function() { articleview.statusBarMessage('测试完成了'); },9000);</script>"
echo "<script>setTimeout(function() { articleview.back(); articleview.statusBarMessage('测试back'); },10000);</script>"
echo 'test PageView issues.'
exit 0
在
GoldenDict
中将该脚本文件添加到程序型词典中去,类型选Html
,然后使用该词典查词即可还原问题 — 原则上只要是使用了js
脚本的词典(含类似脚本内容)在查询时均可触发问题。
该安全漏洞影响所有版本的GoldenDict
(含划词版)。
提醒:完全依赖HTML
(+css
+javascript
)技术是mdict
格式词典的优势,但由此生出的问题(质量良莠不齐,易被置入恶意脚本)也最多,强烈建议学友们使用来源安全可信的mdict
辞书文件。
portable
模式下对content
目录的强制索引;索引时检查对索引目录的读写及修改权限,无权限时使用缓存目录存放索引文件,以保证索引功能的完整性;索引词典结束时避免(可能的)重复对索引目录的清理操作;修正Modern
主题折叠状态的文章焦点切换引起文章高度改变(在文章较多文档较大时视图卡顿)的问题;优化Dark
主题文章的标题显示(字体、配色及布局微调)。从
2A3F
版本开始禁用了对content
目录的默认索引,导致portable
模式功能bug:当配置中未添加content
目录,或当程序存在于移动介质中且在不同的设备上content
目录的路径不同时,该目录不会被索引。不再在portable
目录下或非portable
模式下用户应用配置目录GoldenDict
下的特定index
文件夹中存放索引文件。
Dark
主题文章视图配色(与应用界面深度融合,用户词典样式表配色自适应);修正全文搜索匹配问题(详参问题反馈及修复 - Full text search: Fix search in “Wildcards” and “RegExp” modes)。mdx
格式词典查询结果中的视频播放支持(使用通用资源缓存接口。No such signal
Programs::RunInstance::finished(...)
(使用音频类型的程序词典可能内存泄漏)的问题;对文档html
的body
增加gdpp-group="分组名"
属性信息,以适用对不同分组的词典定制一致的css显示样式。对分组命名的格式约束要求:用
空格
、下划线(_
)或中划线(-
)来分割分组名称,名称中在首个分割符前面的字符(无分隔符时使用分组名称)即为gdpp-group="分组名"
中的分组名
。如某一分组的名称为ESLoxf_牛津系
,则gdpp-group="分组名"
中的分组名
为ESLoxf
;某一分组的名称为ZimWiki
,则gdpp-group="分组名"
中的分组名
为ZimWiki
。
使用帮助:在配置文件夹
中的styles
目录下,编辑article-style.css
,或编辑主题目录下的article-style.css
,以修改文档背景色为例:
body[gdpp-group="ESLoxf"] { background-color: yellow; }
body[gdpp-group="ZimWiki"] { background-color: red; }
虽然使用了相同的主题,但以上
css
代码为不同的两个词典分组的查询结果页面设定了不一样背景色。
Tooltip
的内容错误问题;修正.zips
音频档词典中无名文件(文件名为.后缀
)不被检索查询的问题,从索引中排除不含有未名文件的文件夹路径;修正.zips
音频档词典存在分类目录时,词条检索不到的问题;在帮助菜单下增加打开缓存目录菜单项(以便于用户查看或删除程序运行时生成的缓存文件);修正缓存目录
(在Linux平台)可能被系统自动删除的问题(使用标准接口获取应用的缓存目录);修正音频文件目录
(内的文件)有更新但索引不更新的问题;portable
模式下,morphology
目录无效时反馈建议的目录信息,修正如文件系统中不存在content
目录或某个自定义目录时依根目录的词典自动分组操作无效或结果错误的问题;portable
模式下废弃content
词典目录和portable
目录portable
模式下用户应用配置目录GoldenDict
文件夹下)特定的index
索引目录 — portable
目录(或用户应用配置目录GoldenDict
文件夹)下仅用于存储用户配置文件:非
portable
模式索引文件存储同portable
模式一样 — 但生成辞书ID
时使用绝对目录;非portable
模式下每个系统用户拥有自己的配置文件;在添加相同的自定义辞书目录时不会重复生成索引文件。
该索引机制的主要优点是,词典目录中的词典包括索引文件均可在网络用户或不同的本地用户间共享。
除索引文件命名机制不同外,在用户体验上已无portable
和非portable
模式的差异。
注意:如果程序对自定义辞书目录下的.gdindex
目录没有读取或写入权限,则在GoldenDict++
所使用的缓存(临时)目录下创建索引文件夹。升级到该版本后的首次运行,portable
模式时运行目录下content
文件夹中的辞书会被重新索引一次,portable
目录下或非portable
模式下用户应用配置目录GoldenDict
文件夹下的index
索引目录包括其中的文件已被弃用。.zips
音频档检索问题详见讨论 Is it possible support zipped sound dir? and how?:问题修正后所有文件均可被索引查询,压缩档中根目录下的无名文件对应的索引字头为/
,压缩档中特定路径下的无名文件对应的索引字头为路径/
,即可按单词或文件名
模糊检索,又可按所在目录路径/文件名
精准检索。
Windows Hook
(鼠标取词支持)等相关的代码);修正在Linux
系统下选中取词功能时Ctrl+C
触发取词的问题:问题描述:if scan pop-up is enabled, then ctrl+c of anything will be looked up in goldendict. For example, if you ctrl+c copy a file, the directory of the file will be looked up.
internalPlayerBackend
=>pronouncer
(受其影响,升级后须在首选项的音频页面重新选择一下音频播放引擎 — 默认仅需打开首选项对话框点击OK按钮即可);修正访问网络资源或Web
型词典时重定向url
为相对路径时跳转失败的问题;强化对不使用浏览器标志(UA)
的处理;修正mdx
格式词典一次查询返回多段文档(关联或构词的内容)时,前后两个词头文档内容的尾首可能粘合在一起(表现为衔接内容未分段)的问题;对网站型词典(未勾选作为链接)可能发生的重定向次数做限制(超10次则报错),同时修正返回内容的html头中含<meta http-equiv=refresh
content=“秒数;url=目标链接">
时目标链接内容不能正确加载(跳转失败)的问题:错误信息:
协议“gdlookup”是未知的
Failed to load URL
gdlookup://localhost/目标链接
.QtNetwork Error 301
。
当有自定义User-Agent
内容时,则用自定义内容完整替换NetworkRequest
的User-Agent
(伪装成其它浏览器),否则仅从NetworkRequest
的User-Agent
中删除软件应用标志(与官版GD兼容);注意:当前的不使用浏览器标志(UA)
及其自定义的User-Agent
的处理对MediaWiki
型词典和未勾选作为链接
的Web
网站型词典无效(适用范围同官版GD)。
portable
模式下自定义(外置)词典目录改变并重新添加后,其下词典被重新索引的问题:无论是查词还是全文搜索,真真正正的索引一次,随处可用!只要运行在
portable
模式即可!
影响:因改变了portable
模式运行时词典ID
的生成算法(使用词典文件相对于索引目录的相对路径),从低版本升级上来时,portable
模式下所有的本地(文件)词典(morphology
除外)的ID
会被重新生成,故词典都会被重新索引一次(在词典较多时首次启动耗时会较长);如在不同的自定义词典目录中存在相同文件名的词典,且每份词典相对于其所在自定义词典目录的位置均相同(相对路径均相同),则这些词典的ID
是一样的(尽管每一份词典的内容可能是不一致的,但均会被认为是同一部词典) — 仅有最先被索引的词典被认可(参与查询),如需避免这种情况,将同一词典的不同拷贝放置在不同的文件夹(路径)下或简单修改词典文件名即可。
mdx
格式词典mdd
资源文件中的未压缩数据在读取时将被直接引用;修正Favorites
栏自建文件夹下的词条不被判定为已收藏词条的问题(点不亮收藏按钮的蓝色标星);修正不同分辨率下Popup
窗体工具栏的搜索框
和群组框
高度违和(与工具栏上其它按钮高度不一致)的问题。在不同分辨率(+dpi)的显示器上工具栏的高度是不一样的,同一尺寸的显示器,分辨率越低工具栏看起来可能越
ugly
,这种情况,可根据显示参数,通过Qt
的自定义样式表去设定这个工具栏和其上按钮等界面元素的高度。mdd
中的资源文件,部分文件可能是未被压缩过的,如png
图形文件,在读取这些文件时不会再产生中间数据的拷贝;对含有未被压缩数据(如高分辨率的png
格式文件)的mdict
(图形)词典将有显著的效率提升。
#
锚点信息;增强对anchor跨页面(词条)#
锚点的处理;带#
锚点的链接词条与本页词条相同时,不再重新查询,而是直接页内跳转;调整zim
格式词典的内置样式表以修正最新的Wiki类型词典页面宽度不能满屏的问题;修正zim
格式词典的查询内容,点击带页面内锚点跳转出错的问题,同时增加对该格式词典的页面内锚点的支持;为Linux
版本开放bass
发音引擎;对文档html
的body
增加id="gdpp-theme-(主题标志)"
属性信息,以适应词典对不同主题定制与主题一致的css显示样式;消除js
脚本和css
样式文件在读取时的中间内容拷贝以减少查询时的时间和硬件资源消耗;起始页、帮助页和新建页(均无用户词典内容)中不再加载用户级别js
和css
文件内容;扩展原有的用户级别全局js
脚本功能为用户级全局HEAD
元素内容(User-level’s Html HEAD
Elements)文件:
user.gjs
文件的内容不再仅限于js
脚本,符合HTML
标准的head
元素均可。
如在此前版本中已使用全局user.gjs
功能,升级时需对该文件内容做一点儿小改:在起始插入<script>
,末尾追加</script>
即可。
修正锚跳错误:协议“gdlookup”是未知的
Failed to load URL
gdlookup://localhost/锚点词头#锚点
完美支持当前词头(锚点词头)页面内锚点的跳转,阅读zim
档案的Wiki系辞书内容(强烈推荐)越来越方便了;
注意:因多词典内容同时展示时相互间不能有效的隔离HTML元素及属性内容,GD++
(包括原版GD
)的页面内锚点的支持是不完美的,故对zim
格式现有的修订只能支持到锚点单词与当前文档词头相同的情况,当锚点词头与当前词头所查得的内容不同时,锚点的点击可能会是无效的。
xdxf
格式词典的文档处理过程中数据内容不再转换为中间编码UTF16
字串(直接处理utf8
)以提升效率;修正收起大于[…]字符的文章功能对mdx
格式词典无效的问题;下载或保存文章时的文件资源在保存时不再产生内容数据的临时拷贝、通过带入长度参数优化查询内容拼接过程中常量字符串的处理、优化查询内容拼接过程中临时变量的生命周期(适当外延、正则结果引用)、资源处理过程中mdx
等格式词典css
样式表的隔离处理不再产生中间内容(处理时引用源字符串中的子串)、全文搜索时查询结果的排序方法中不再生成中间内容(处理时引用词头字符串的子串)、显式优化Qt
的字符串拼接以提升查询结果(文档和文件内容)的处理效率:代码层面的优化:尽可能的使用已有内容的引用,通过容器再用来减少内存再分配的次数,定长内容在拼接时通过传入长度参数来减少拼接时间或中间变量的生成。在代码中直接调用
QStringBuilder
方法拼接字符串以避免歧义。查询效率提升显著 — 对离线词典,即便是词典较多,查询可以瞬间出结果(内容瞬时展现出来)。
GD++
的帮助导航内容(iframe
页内容);对常用到的字符串变量执行先期全局初始化以提高查询效率;规范并固化版本号机制;对自2A24
版本始添加的护学模块加入编译期配置参数,默认选项下对应的功能代码及库文件不再参与编译。固化
GD++
的帮助导航内容(iframe
页内容)功能:导航主用于快速访问GD++
的帮助网页和新版本检测,启动时首页显示,新建页面仅在当前GD++
有更新时显示。
全局初始化后的常用字符串变量,在运行时会被直接引用 — 不会再有或减少了临时的初始化或复制消耗,在提升效率的同时降低CPU
占用;在老旧配置的机器上会有较明显的查询体验提升。
js
脚本;剪裁掉tesseract-ocr
中的多余功能(提升效率同时减小体积和运行时内存占用),改用静态编译以提升划词插件运行效率;更新tesseract-ocr
以解决系统资源(信号量、互斥锁等的句柄/内存)泄露问题。UI
部分代码Review
,清理(注释/删除)无效/无意义/冗余代码,个别接口向Qt6
做兼容修订;当前为最新版本时新建页面中不再展示GD++
的帮助导航内容(iframe
页内容);Popoup
窗体初始化时不再加载Blank Page
初始内容及GD++
的帮助导航内容(iframe
页内容):
Popoup
窗体的WebView
仅创建一次,且在显示时几乎总是加载有查询内容,故初始页面内容对用户是不可见的,也不会如在主窗口中新建页面时带来明显的flicker
Popup
弹窗的当前词典分组中的已排除词典可能无效(已muted
词典仍然参与查询)的问题(确保Popup
弹窗的词典工具栏不显示时当前词典分组的已排除词典设定有效);提升Popup窗口查询速度(避免在快捷查询时不必要的词头匹配耗时及高CPU等硬件资源占用);增加文章视图操作快捷键Alt+T
以快速定位到文章顶部(定位到第一部辞书):与官方
Add an option
toavoid auto-scrolling
out of top dictionary
的设计思路和实现都不同 — (GD++中)不做过多的冗余实现(保留原有的默认定位到原文章中当前辞书的行为),在需要显示第一本辞书内容(定位到文章顶部)时,请按该组合快捷键。
在Popup
弹窗中支持对*、?、[、]
字符(通配符)的精确查找(同主窗口输入框的行为一致 — 需使用前置符\
来修饰),修改阅读模式右键菜单的Popup
查询、Ctrl+C+C
查询、监控剪切板查询、命令行输入查询的行为 — 精确查询粗略匹配(通配符被忽略)。
GD++
版本的程序文件!)。log
功能以提升运行效率;修正MediaWiki
词典查询结果中文章重复及oga
音频文件不被播放的问题(参考12);更新翻译文件(修正个别翻译错误);修正词典对话框中分组编辑的快捷键操作失效的问题;优化mdx
格式词典的视频缓存处理。参考《关于GoldenDict++查询性能提升的一点思考》,视频缓存改用异步任务 — 避免死锁问题又不影响查询效率;如有需要,抽象的文件缓存处理方式可以方便的添加到
slob
、zim
等支持视频内容的词典格式。
运行时参数--log-to-file
不再有效
Windows
版本的取词功能为单独的进程模块:
2A2E
为最后一个使用Windows``Hook
取词技术的版本。
原因之前已多次阐述,虽已取消过但后又加入,本次改造彻底将其独立为进程模块 — 删除了Windows划词使用的共享内存通道,与取词程序的信息交换使用原有的QtSingleApplication
已实现的通信机制。基于前述安全原因+取词对软件的适应性并不高,单独的取词进程模块不会随发布包分享(新发版本不携带取词进程,即不再有取词功能 — 可下载外置应用以支持该功能)。
xdxf
词典因空的元素标签导致文档结构错误的问题 — 个别词典未规范按照xdxf
格式组织数据引发渲染问题,完善xdxf词典对非标标签的兼容处理,修正查询内容不能联网发音的问题。测验样例来自瑞典语词典
删除了定时更新和通过帮助菜单下点击检查更新的检测新版本的方式,删除了由用户确认的升级包下载功能,改用启动后的首页或新建查询页中的导航页内容携带的版本号来完成升级校验,使用
GoldenDict
自身的状态提示功能(显示在界面左下方)来提醒新版本信息,由用户自行前往导航页中的升级下载页面获取基础包或升级文件。
首页或新建页面下的导航页主要用于划词版文档的主题索引,可快速链接到划词版的安装、使用等帮助说明文档。
Debian
中编译时X11
头文件与Qt
头文件定义内容冲突的问题;更新德语翻译文件并添加瑞士德文翻译文件de_CH.ts(qm)
;更新flash
插件文件(仅适用于Windows
版本);为Popup
窗口工具栏增加快捷划词按钮。Qt
组合框标题栏表现不一致(上下位置不对称)的问题;修正(通过延迟初始化来尽可能的避免)随Windows
系统启动时可能出现的卡死在启动界面的问题。为
GD++
增加--delay
参数 —GD++
在启动时会延迟5秒再继续执行;该参数仅对Windows系统有效。
进入首选项的界面页面,取消勾选随系统启动,点击OK
关闭对话框,然后打开首选项对话框重新勾选随系统启动后点击OK
关闭对话框,即可为GD++
的自启动项增加--delay
参数。
Web
网络的HTTP
访问支持自定义User-Agent
(来替换掉应用标志);辞书词条对话框和全文搜素对话框在打开时聚焦到文字输入框,调整界面元素的Tab
键响应顺序;为32
位Mingw
版本在编译期开启DEP
和ASLR
支持;增加深色主题。伪
User-Agent
仅针对因Web
请求(Web
、Wiki
型词典)发起的Get
,即便对网站有效,最终还是受限于WebKit
对Web
技术标准的支持。
Del
和Ctrl+C
键对已选中的历史记录和收藏记录面板中的词条失效的问题;为划词增加工具栏按钮和托盘区菜单项,点击按钮或托盘菜单项即可划屏取词(释放键盘)。Linux
和macOS
系统下报MainWindow
::scanEnableToggled
无效的问题(可能导致工具栏取词使能按钮无效);修正保存文章中部分anchor
的链接信息丢失(不能正确转码)的问题;Windows
版本重新使能鼠标悬浮取词功能,考虑将该功能独立到单独的进程以避免Hook
技术可能导致的程序或操作系统的不稳定问题;修正因mdx
词典一次查询结果中单部词典返回文档过多导致的WebView
渲染性能下降问题。Epwing
词典根目录(以使得对该类词典文件的访问行为与其它格式词典一致):注意:该变更导致生成的
Epwing
词典ID
变化 — 升级至该版本(包括更新版本)会使得Epwing
词典被重新索引一次。
portable
模式开放对音频文件目录的支持,索引文件存放在对应目录下;Fix around issue: Add minimize and maximize buttons on titlebar of EditDictionaries’ dialog;划屏可选静态截图(使用外置工具,命令行wingraber
);更稳妥的方式解决macOS
中退出时可能崩溃的问题。--log-to-file
日志输出功能;修正查询结果中存在dict server
词典但(因匹配不到词条)文章无内容的问题;解决macOS
中通过Dock
栏右键退出时可能发生的崩溃问题;修正从查询工具栏切换到查询面板后查词(匹配)导致程序崩溃的问题;重构Popup
窗口使其更方便于快捷查询操作:工具栏使用
Toolbar
组织 — 紧凑布局以缩减屏占空间;pin
状态不再显示标题栏以避免无用的屏占空间;非pin
状态可调整大小;工具栏左侧pin
按钮,最左侧关闭按钮,最右侧显隐词典栏按钮;工具栏中的标题区域可按下鼠标移动以改变窗体位置;词典栏强制右侧竖排显示且默认隐藏以缩减屏占空间;弹出窗口时鼠标尽可能的指向关闭按钮以便于快速隐藏窗体。
zim
格式词典source
标签的poster
属性的转换处理;为Qt4
版本增加对webp
、wbmp
图形格式的支持;同时DSL
词典避免(当后缀不包含.dz时)同一路径被测用两次的问题;修正弹窗查询输入框样式违和macOS
下尤为明显的问题;portable
模式下构词法可以放置到content
目录下;在首选项对话框中为触屏手势增加开关选项。zim
格式打包的最新wiki
词典文件信息的语言不被解析识别的问题(更新语言代码兼容 ISO 639-2/3/5);修正zim
文章内的部分链接跳转无效(查询失败)的问题;修正含有某些符号(如%、?、&等)的词头查询不到的问题;更快速更安全的读取索引数据;优化辞书词条对话框: 紧凑布局,加速访问同时解决词条过多时导致界面卡死的问题,加速过滤条件改变后的列表刷新;修正词典枚举过程中stack overflow
导致程序异常退出的问题(在程序启动或重新扫描文件时偶尔出现);增加.gdignored
魔法(扫描词典或索引时忽略目录);解决部分dsl
格式词典文件信息的语言不被解析识别的问题;进一步完善语言判据及匹配逻辑(更好的支持语言全称或别称匹配语言代码)。
.gdignored
:当有大量的资源文件(数量(百)万计)存在于资源文件夹中,但这个文件夹下没有任何词典文件却在扫描目录的设定范围内,启动GoldenDict
或扫描词典文件时,会在这个文件夹下耗费数十秒至数分钟。当目录中存在.gdignored
文件时,该目录的所有子目录在扫描时将被忽略,可以有效的提升索引效能。 占个坑:对语言判据信息使用自定义配置文件,来存放ISO 639-2/3/5
相关的代码定义信息及对应的语言旗标,ocr
也用这些个功能,需独立出来封装个库文件。
zim
格式解析src
和href
存在的问题,合并link的href
与image
、script
等的src
处理以提升效率;修正在词典编辑对话框中重新扫描词典后顺序调整及分组编辑的右键菜单功能失效的问题;为portable
模式开放对自定义词典目录的支持,在对应目录下创建.gdindex
目录来存放该目录(包括其子目录)下的所有词典的索引文件;划词设置界面调整;简化网络管理器对数据接收状态的转收(冗余)处理;bgl
词典索引和查询处理的细节优化以提升能效;针对aar
、bgl、dsl、zim、slob、sdict、xdxf、dictd、stardict、dict_server
格式(无外置样式表):统一处理词头和文档标签以便于样式的一致设定:使用全局标准的
css
样式:定义并使用了.gd_headword
和.gd_body
全局类,对于xdxf
、zim
、slob
、dictd
、aard
格式不添加额外的gd_headword
。
Qt5WebKit
不显示tif
格式图片的问题(在GoldenDict中无需再做额外的格式转换且不再直接依赖libtiff
等库文件);修正历史记录和收藏记录中的非英文词条可能乱码的问题;为分组编辑的操作按钮增加图标;收藏菜单中的添加菜单项的图标和文字状态与工具栏的收藏按钮的图标和文字状态保持一致;优化文章tab
页标签的右键菜单及其行为:当右键点击到非当前文章页面的标签(简称点选文章)时,弹出菜单项的关闭当前页面描述变更为关闭页面,其行为由关闭当前文章变更为关闭点选文章,关闭其它标签页的行为由关闭当前文章除外的所有文章变更为关闭点选文章除外的所有文章。
点击工具栏的朗读词条按钮:当前有音频正在播放时,则停止播放,否则执行词条朗读功能。鉴于词条朗读一般情况下时长较短,忽略增加停播后的恢复播放功能的需求。
Popup
窗口位置问题(确保Popup
窗体出现在鼠标所在的屏幕上),及在非主屏上划词幕布可能出现不会铺满屏幕的问题;修正主窗口最大化后,从最大化状态恢复时窗体位置错误的问题。For Security&Stability&Speed, Webkit is now extra feathered with css3 text, css3 text-line-break, mathml, xslt, netscape-plugin-api, modules, custom elements, custom scheme handle, no accelerated-2d canvas, no geolocation, no quota, no media source, no media capture, and no video — but embed video with flashplayer is still supported.
1
时作为链接的网站Web
类型辞书的页面内容显示
高度错误的问题;修正文章视图中水平滑动条与垂直滑动条样式表不一致的问题;修正Qt4
版本关于对话框中版本信息中文乱码的问题;修正全新部署(或升级前未删除旧的参数文件)参数的默认值可能不生效的问题,修正因部署目录变动导致的ocr
、划屏和音频引擎失效而必须在首选项对话框中重新配置的问题(2A18
引入)。无需重置配置文件既可从旧版本无缝顺滑的升级到新版本啦;配置文件中仅保存插件文件名 — 程序从与其同目录的
gdp
文件夹下寻找并加载同名插件;针对OCR
的数据目录设置,如果目录不再存在或没有手动重置过,则默认从程序所在目录下的tessdata
或nsocr
文件夹加载语言识别文件。
256
)时查询不到对应记录的问题。一本离线辞书中,关键字(长度)超
256
个字符的记录应该不多,即便有较多的存在,这种情况下以前256
个字符做索引关键字,关键字相同的概率应该也是较小的 — 即便有冲突比着野蛮的丢弃以至无法查询到对应词头的内容的影响也是好的。
Linux
版本缺失tts
引擎相关动态库的问题;Windows
版本删除原版中带有的取词功能(这个功能模块使用的技术容易被杀毒软件报毒 — 详细原因见前述);优化辞书索引和全文索引处理;规范Web
和辞书(epwing
和mdx
)缓存目录以便于管理;为mdx
格式辞书提速 — 优化查询处理,优化重复访问含有视频内容的词条的访问处理(避免重复刷新缓存文件);为Qt4
版本mdx
增加视频支持;对频繁访问的网络资源进行加速 — 使用缓存(参考);字符转码效率优化(类xml辞书内容加载到xml
文档中既已转码成utf8
,无需再次强制转换);修正在DictionaryBar
上快速频繁的点击辞书标签时导致程序崩溃的问题(重构程序类型辞书的查询处理,优化Wiki
和Web
辞书的处理);修正在词条列表匹配结束前关闭(退出)程序,会导致程序崩溃的问题;修正收藏夹中的文件夹的展开或收起状态可能不被保存的问题;修正打开首选项对话框然后点击取消按钮或直接关闭对话框后音频引擎失效的问题。Web
及Wiki
类型辞书时易出现)。Qt4
版本:修正开着 网页审查员 窗口关闭查词页面导致程序崩掉的问题。Qt4
版本:去除bgl
辞书的多余换行以优化显示效果,整合字体设置以支持音标等特殊字符的显示(辞书样例:En-En-Longman_Pronunciation_3rd_Ed.dsl),修正Epwing
辞书加载失败的问题,修正右键 审查元素 导致程序崩溃的问题,修正开启鼠标取词导致程序崩溃的问题,修正读取xdxf
辞书名称错误的问题,修正收起文章
和展开文章
图标全黑的问题,增加PhononPlayer
音频引擎,修正不支持非全英文路径名称的问题(扫描不到非全英文路径下的字典文件),修正欢迎页面乱码的问题,修正Splash
窗体背景虚黑(不透明)的问题;启用Qt4的directwrite
支持。Qt5
版本回退使用Qt-5.9.9
(该版本界面工具栏无不可逆的内存泄露);修正DictionaryBar的内存泄露(mingw+gcc
版完全有效,Qt-5.12
和Qt-5.15
待Qt
官方修正)。dpi
参数值来提高ocr
识别的精度;实现截图与ocr
功能分离(增强插件可用性及使用的灵活性),增加划屏插件,增加划屏OCR
助手,可以配置不同的划屏方案与ocr
方案的自由组合 — 以便于用户实现自己的ocr
插件(如腾讯、百度等在线接口的引入);界面 大修 | 逻辑优化: DictionaryBar
中标签高度优化(再也不会因为多国语言的辞书名称而导致的工具栏忽高忽低了);优化辞书群组列表、候选词列表、搜索框文字和Tab
页切换的联动实现(切换Tab
页不会丢失其上下文内容);优化主窗口和Popup
窗口的状态栏信息显示,当启用了系统托盘图标且系统支持托盘通知在主界面不可视时将状态信息输出至系统托盘;尽可能早的在界面初始化结束前启动辞书扫描加载工作,提高了程序启动时的速度和稳定性。Pop
窗口的最大历史记录数量(影响回退和前进),以限制在低配置硬件上的内存占用 — 最大数量限定为255
,值为0
时则不使用历史记录,内存占用最小;优化Linux
/Unix
系统划词体验 — 使用scrot
截图和xclip
传递图形数据(体验跟macOS
基本一致,速度上亦有保证),windows
系统仍使用内置截图(更换了鼠标样式);提升UCS-4
转utf8
字符串的效率;辞书群组编辑自动生成分组时保持当前分组页面;优化辞书加载流程(在并发线程中执行针对dsl
和mdx
等格式辞书的自定义初始化处理,在程序启动时不中断并代理gui
线程的事件处理);修正重新扫描文件操作后搜索框失去输入焦点的问题;tesseract
划词ocr
引擎增加对SSE
和AVX
的检测支持。划词依赖:
macOS
系统需要screencapture
(系统内置)并启用剪切板访问权限;Unix
/Linux
系统需先安装scrot
和xclip
:
- Debian:apt-get install scrot xclip
- Fedora:yum install scrot xclip
- Arch:pacman -S scrot xclip
QComboCheckBox
,限定选中状态的改变仅在选择框范围内点选时有效,修正下拉列表不能收起的问题,优化ocr
识别语言配置;去除了aard
、epwing
、xdxf
格式辞书查询的关键字的h3
显示(样式不可控,有点儿违和);修正辞书生成的html
页面源码css
中错误的属性值;优化内置的主题样式表;简化用户样式表及脚本访问接口,并将用户自定义样式表限制在配置文件夹下的styles
目录下,将针对金山数据的stardict
辞书的样式映射文件sdct_k.style
设置到用户styles
目录下;解决xdxf
及sdct_x
格式辞书def
层级显示错乱及生成多余(多一个)<br />
的问题,修整xdxf
预定义css
— 显示更美观了;清除aar
格式辞书中的多余换行符;解决在辞书分组设置界面从分组删除多个辞书可能导致程序崩溃的问题;设置在流I/O
级别同时打开的最大文件数8192
(支持管理更多的辞书,如操作系统不支持则改为2048
);为linux
版本增加tts
引擎支持;解决在不同分辨率的显示器间切换时窗口可能显示在屏幕区域以外的问题;增加阅读模式。通过
ocr
识别语言下拉框,选择区域则该区域下所有选中状态的语言都参与ocr
识别,选择某一语言(不一定要在选中状态)则仅该语言参与ocr
识别,如所有区域中都没有被选中的语言,则使用英文识别。
使能阅读模式后,文章(查询结果)页面,右键菜单增加 在悬浮窗中打开链接 和 在悬浮窗中查询… 项,鼠标中键点击链接、鼠标选择内容后右键查询,按住功能键Ctrl
或Shift
的同时鼠标双击翻译词条或鼠标单击页面链接,将使用 悬浮窗口 显示查询结果;该模式下的查词使用联合辞书分组(悬浮窗使用的辞书组+主窗口当前文章(查询结果)页面的辞书组)查询。
加载样式表的顺序是:(内建通用样式表 -+> 内建主题样式表) -+>styles
目录下的(自定义样式表 -+> 自定义主题目录下的样式表)。
以辞书来源下的文件页面所添加的辞书文件所在目录为基础(根)目录,以其下级存在字典的子目录(不递归)名自动添加群组,如果基础(根)目录下存在辞书文件,自动添加以基础(根)目录名为名称的群组。
在启用屏幕取词,但未使能取词功能的情况下不加载对应的功能模块 — 降低了资源占用,在Windows中尽可能的规避了Hook对系统及其它程序的负面影响 — 见前述。
划词过程中的按键:鼠标右键 - 取消划词;待划屏状态(划取屏幕前) Esc按键- 取消划词;划屏过程中(按住鼠标左键未释放) Esc按键- 取消划取范围,释放鼠标左键后恢复待划屏状态。
在macOS平台上,因为QMediaPlayer的缺陷(无法从内存buf的io设备播放音频内容),Qt Multimedia引擎播放不了音频,故实际有效的发音引擎只有ffmpeg+ao。
关于tts引擎:如果tts组件为32位版本的,则只能为32位版本的程序加载使用,反之,64位的tts引擎组件则只能为64位版本的程序加载使用。
ocr划词可以较好的取代鼠标取词,如确实需要,将完全以插件程序的方式实现鼠标取词功能。当前鼠标取词存在的弊端:
- 功能的实现分两部分,既存在于程序内部,又需要一个外挂程序来配合,相对复杂,取词能力还受限(在很多软件中取不到词);
- 在程序UI(主线程)卡顿时会影响操作系统或其它应用程序的运行,表现为系统相关功能(开始菜单等)或其它应用卡顿或无响应;
- 程序存在获取不到全局鼠标或键盘消息的可能(其它进程Hook处理后未继续传递消息);
- 因为使用了Hook(监控鼠标键盘及其它应用的内存信息)及共享内存(进程间通信),会被部分严苛的杀毒软件判定为木马或病毒软件;
- Hook技术影响操作系统运行的稳定性。……
需要在配置文件目录下新建 user.gjs 文件,在其中添加javascript代码即可,代码对查词结果页面全局有效(每个辞书都可使用其中定义的变量和方法)。例,可以在 user.gjs 中加入jQuery的代码,这样各个辞书就不需要使用单独的jQuery脚本文件了。对查词结果的内存使用会有一定的影响(降低了内存占用),同时减少了文件io操作,对结果页面的解析效率应该也会有小幅度的提升。
路径
(目录+文件名)来排序的功能;剔除bgl格式辞书显示的多余换行;为mdx辞书添加对tiff
图片的支持;解决zim
和slob
格式辞书tiff
图片支持问题。下载并解压sdct_k.style.7z (275 字节) ,将解压出的文件放到GD的配置目录下(并按需编辑其中的标签对照表),在自定义的article-style.css添加对应标签的样式属性。
epwing
格式辞书时创建索引导致程序异常退出的问题(针对这格式的辞书创建索引同步进行以避免线程安全问题导致的异常退出);版本信息中添加编译时间;解决xdxf
格式辞书def标签的序号错乱问题。注意:今后将仅维护2A版本;2A01及后续版本可与之前的老版本并存(同时)运行(共享运行目录和配置/辞书/索引目录),但配置文件并不兼容且并不提供转换工具,使用2A01及后续版本您的所有关于GD偏好的个人设置(编辑菜单的辞书和首选项)都必须手动重新设置。