Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zhmakeindex:查找格式文件时开启 kpathsea 库支持 #1

Open
GoogleCodeExporter opened this issue Mar 13, 2015 · 0 comments
Open

Comments

@GoogleCodeExporter
Copy link

(此 issue 迁移自 
https://code.google.com/p/leoliu-tex-pkg/issues/detail?id=12)

查找如 gind.ist 这类格式文件时需要 kpathsea 宏支持。

可能的实现方式有:

1、使用 CGo 链接 kpathsea 库。整个 texk 
代码包很庞大,编译会比较麻烦,部署也需要附带对应版本的动态库文件。

2、Windows 下用 syscall.LoadDLL 直接读取 dll 文件,dll.FindProc 
取得文件名查找函数后执行。
Linux/Unix 下需要用 CGo 调用 dlopen 打开 .so 文件,dlsym 
取得查找函数后执行。
这种方法部署时可以直接使用 TeX Live 等发行版自带的 kpathsea 
动态库文件。但需要严格对应版本。也可以连带特定版本的 
kpathsea 动态库一起部署。

3、用 os/exec 包的 Output() 函数直接执行外部命令 
kpsewhich,找到对应的串。这样代码实现非常简单,兼容性也容易
达到。缺点是运行效率低,也可能不安全。


方案 1 编译和部署都太麻烦。考虑先实现 
3,然后在特定平台实现 2。

Original issue reported on code.google.com by LeoLiu....@gmail.com on 3 Dec 2014 at 6:03

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants