标签: enscript

将源代码转换为语法高亮图像

背景

OpenOffice Writer无法链接到ASCII文本源文件,应用语法突出显示,将其包装在帧中,并在源文件更改时更新帧内容.但是,OpenOffice Writer可以链接到图像,并在更改时自动更新图像.

问题

图像需要是高分辨率(300 dpi或更高),语法着色适合白色背景(即打印页面).

如何从源代码文件自动创建高质量图像,例如:

  • SQL;
  • PostgreSQL函数;
  • Java的;
  • bash脚本; 和
  • R和PL/R?

尝试

大多数尝试都是以下主题的变体:

$ enscript --color -f Courier12 -B -1 --highlight=sql -h -o - source.sql |\
  convert - -trim -border 10 source.png
Run Code Online (Sandbox Code Playgroud)

这种方法存在一些问题:

  1. 决议缺乏(使用-resample并且-density没有改进).
  2. 语法高亮不适合白页(可能会改变enscript的颜色主题).
  3. 使用Courier100生成几个.png文件,需要将它们拼接在一起.
  4. -border 10意外更改背景颜色从白色到浅灰色.

手动解决方案

将源文件转换为PostScript - 完全避免使用ImageMagick - 然后将它们导入GIMP将产生所需的结果.不幸的是,该解决方案涉及一些手动工作,我的GIMP批处理编程经验几乎为零.

syntax-highlighting imagemagick openoffice-writer ghostscript enscript

5
推荐指数
1
解决办法
3831
查看次数

EM_ASM 中的 js 代码会发生什么?

在 Enscripten 中,EM_ASM 函数内部的代码会发生什么?我的意思是该代码是否在运行时被编译或解释?如果编译,那么它在浏览器中是否比本地解释的 js 运行得更快或更慢?

c++ enscript webassembly

1
推荐指数
1
解决办法
111
查看次数