Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
Log in
Register
[技术贴] 写了个能识别常见象棋棋谱格式的MIME文件xiangqi.xml
Apps Section
1430
views ·
0
replies ·
To
floor
Go
字甲达宾
deepin
2017-01-27 19:11
Author
本帖最后由 nowave 于 2017-1-29 23:50 编辑
[技术贴] 写了个能识别常见象棋棋谱格式的MIME文件xiangqi.xml
2017.1.
作用:
* 能识别以下常见中国象棋棋谱格式。
---------------
PGN -- 便携式棋谱 (标准格式,广泛使用。实际内容为“纯文本文件”)
XQF -- 象棋演播室棋谱 (广泛使用)
CBL -- 象棋桥棋谱 (广泛使用)
CBR -- 象棋桥棋谱
CBF -- 象棋桥棋谱
MXQ -- 弈天棋谱
CHE -- QQ象棋/腾迅象棋/天天象棋棋谱
CHN -- 联众象棋棋谱
XQI -- 联众象棋棋谱
CCM -- 中游象棋棋谱
---------------
注1:即使去掉文件的扩展名,也能正确识别(通过读取文件头内容来实现)。
在 Linux 系统上,判断文件的实际格式,比起 Windows 上的单靠扩展名判定,要高明得多。
注2: 对于国际象棋的 PGN 文件, 和中国象棋的 PGN 文件(扩展名相同),能正确识别是哪一种。
(通过读取文件头内容来实现。)
注3:如果是其它类型的文件,更改扩展名进行冒充时,也不会误判;
2* 操作方法:
第1步: 以 root 用户身份,把文件 xiangqi.xml 的内容(见后面),保存为
/usr/share/mime/packages/xiangqi.xml 文件
(注:必须是 .xml 扩展名)
第2步: 以 root 用户身份,更新 MIME 数据库
sudo update-mime-database /usr/share/mime
Copy the Code
第3步:以 root 用户身份,修改 /usr/share/applications/gmchess.desktop 快捷方式文件
(修改后的完整内容见后面):
-------------
附:
文件1: xiangqi.xml
完整路径: /usr/share/mime/packages/xiangqi.xml
--------------------------
PGN Xiangqi game record/book
PGN 象棋对局/棋谱文件
PGN 象棋對局/棋譜檔案
PGN Xiangqi position
FEN 象棋棋子布局文件
CBL Ccbridge Xiangqi Book
CBL 象棋桥棋谱
CBF Ccbridge Xiangqi Book (XML format)
CBF 象棋桥棋谱(XML格式)
CBR Ccbridge Xiangqi Book
CBR 象棋桥棋谱
XQF XQStudio Book
XQF 象棋演播室棋谱
MXQ Movesky Xiangqi Book
MXQ 弈天象棋棋谱
QQ Xiangqi Book (CHE Format)
QQ象棋棋谱(CHE格式)
CCM Chinagames Xiangqi Book
CCM 中游象棋棋谱
CHN Ourgame Xiangqi Book
CHN 联众象棋棋谱
XQI Ourgame Xiangqi Book
XQI 联众象棋棋谱
Copy the Code
-----------------------
3* 其它:
修改了象棋游戏 Gmchess (天书棋谈) 的 gmchess.desktop (桌面快捷方式),
(完整路径: /usr/share/applications/gmchess.desktop ),
修改后的完整内容如下:
(注:主要是添加了 Mimetype 字段,这是能关联程序自动双击打开程序的重要数据):
[Desktop Entry]
Name=Chinese chess (with patch)
Name[zh_CN]=天书棋谈 (补丁版)
Comment=Play the popular chinese chess game
Comment[zh_CN]=玩流行的中国象棋游戏
Type=Application
MimeType=application/xiangqi-pgn;application/xiangqi-xqf;application/xiangqi-mxq;application/xiangqi-che;application/xiangqi-ccm;application/xiangqi-chn;application/xiangqi-xqi;
Exec=gmchess
Icon=gmchess
Terminal=false
Categories=GTK;Game;BoardGame;
StartupNotify=true
Copy the Code
4* 并添加了 相关的 xiangqi 图标文件,如:
/usr/share/icons/hicolor/48x48/mimetypes/
/usr/share/icons/hicolor/48x48/mimetypes/xiangqi-xqf.pgn
/usr/share/icons/hicolor/48x48/mimetypes/xiangqi-mxq.pgn
修改的目的(经测试,部分有效,部分无效,原因未知。还请高手指点!):
* 对所有指定扩展名 的象棋棋谱文件,都显示为新图标 xiangqi-某某某.png;
* 双击特定格式的棋谱文件(如 XQF, MXQ 格式)时,能直接用 gmchess 程序打开,而不需要手动选择 打开方式。
----------------------
5* 更新 desktop 快捷方式数据库:
以 root 运行
sudo update-desktop-database /usr/share/applications/
Copy the Code
6* 完毕。如果未生效,请注销用户,一般重新登陆后,就可以见效了。
----------------
7* 已知问题:
即使在 /usr/share/icons/hicolor/48x48/mimetypes/ 目录下有了对应文件名的 图片文件
(如 xiangqi-pgn.png, xiangqi-che.png, xiangqi-cbf.png .图片需要另外制作和复制,格式应为 PNG,48X48大小 。)
也无法以特定的图标显示以上几种棋谱格式(其实 PGN,CHE,CBF 文件都是简单的文本文件),原因还未确定。
8* 稍后会考虑制作一个 DEB 包,把对应的资源文件(如 xiangqi.xml, 修改后的 gmchess.desktop,以及多个 png 图片)
打包放在一起,直接安装就行,方便省事。
------------
注:呈上自己桌面上的几张效果图。立此存照!
Reply
Like 0
Favorite
View the author
All Replies
No replies yet
Please
sign
in first
New Thread
Popular Events
More
[技术贴] 写了个能识别常见象棋棋谱格式的MIME文件xiangqi.xml
2017.1.
作用:
* 能识别以下常见中国象棋棋谱格式。
---------------
PGN -- 便携式棋谱 (标准格式,广泛使用。实际内容为“纯文本文件”)
XQF -- 象棋演播室棋谱 (广泛使用)
CBL -- 象棋桥棋谱 (广泛使用)
CBR -- 象棋桥棋谱
CBF -- 象棋桥棋谱
MXQ -- 弈天棋谱
CHE -- QQ象棋/腾迅象棋/天天象棋棋谱
CHN -- 联众象棋棋谱
XQI -- 联众象棋棋谱
CCM -- 中游象棋棋谱
---------------
注1:即使去掉文件的扩展名,也能正确识别(通过读取文件头内容来实现)。
在 Linux 系统上,判断文件的实际格式,比起 Windows 上的单靠扩展名判定,要高明得多。
注2: 对于国际象棋的 PGN 文件, 和中国象棋的 PGN 文件(扩展名相同),能正确识别是哪一种。
(通过读取文件头内容来实现。)
注3:如果是其它类型的文件,更改扩展名进行冒充时,也不会误判;
2* 操作方法:
第1步: 以 root 用户身份,把文件 xiangqi.xml 的内容(见后面),保存为
/usr/share/mime/packages/xiangqi.xml 文件
(注:必须是 .xml 扩展名)
第2步: 以 root 用户身份,更新 MIME 数据库
第3步:以 root 用户身份,修改 /usr/share/applications/gmchess.desktop 快捷方式文件
(修改后的完整内容见后面):
-------------
附:
文件1: xiangqi.xml
完整路径: /usr/share/mime/packages/xiangqi.xml
--------------------------
-----------------------
3* 其它:
修改了象棋游戏 Gmchess (天书棋谈) 的 gmchess.desktop (桌面快捷方式),
(完整路径: /usr/share/applications/gmchess.desktop ),
修改后的完整内容如下:
(注:主要是添加了 Mimetype 字段,这是能关联程序自动双击打开程序的重要数据):
4* 并添加了 相关的 xiangqi 图标文件,如:
/usr/share/icons/hicolor/48x48/mimetypes/
/usr/share/icons/hicolor/48x48/mimetypes/xiangqi-xqf.pgn
/usr/share/icons/hicolor/48x48/mimetypes/xiangqi-mxq.pgn
修改的目的(经测试,部分有效,部分无效,原因未知。还请高手指点!):
* 对所有指定扩展名 的象棋棋谱文件,都显示为新图标 xiangqi-某某某.png;
* 双击特定格式的棋谱文件(如 XQF, MXQ 格式)时,能直接用 gmchess 程序打开,而不需要手动选择 打开方式。
----------------------
5* 更新 desktop 快捷方式数据库:
以 root 运行
----------------
7* 已知问题:
即使在 /usr/share/icons/hicolor/48x48/mimetypes/ 目录下有了对应文件名的 图片文件
(如 xiangqi-pgn.png, xiangqi-che.png, xiangqi-cbf.png .图片需要另外制作和复制,格式应为 PNG,48X48大小 。)
也无法以特定的图标显示以上几种棋谱格式(其实 PGN,CHE,CBF 文件都是简单的文本文件),原因还未确定。
8* 稍后会考虑制作一个 DEB 包,把对应的资源文件(如 xiangqi.xml, 修改后的 gmchess.desktop,以及多个 png 图片)
打包放在一起,直接安装就行,方便省事。
------------
注:呈上自己桌面上的几张效果图。立此存照!