在Emacs Lisp中包装可变宽度文本

时间:2008-10-31 05:41:14

标签: emacs elisp

我正在攻击emacs的标记应用程序。我有一个标签云/加权列表成功显示在缓冲区,但我遇到了障碍。我需要能够正确地自动换行缓冲区,但我不知道从哪里开始。

我使用的字体是可变宽度字体。最重要的是,每个标签将具有不同的大小,具体取决于它在缓冲区上显示的次数。最后,显示tagcloud的窗口可以位于200像素宽的窗口中,也可以是全屏宽度。

我真的不知道从哪里开始。我在tagcloud缓冲区上尝试了longlines模式,但是没有用。

源代码位于:http://emacswiki.org/cgi-bin/emacs/free-tagging.el

2 个答案:

答案 0 :(得分:3)

您可能希望在将标记放入缓冲区时跟踪posn-at-pointposn-at-x-y

答案 1 :(得分:0)

您可以使用(fill-paragraph)(fill-region)或类似内容吗?它们包裹在一列中,因此没有可变宽度的字体智能,但如果填充列很低,它们可能会毫不费力地工作。至少直到你得到一个像素完美的解决方案:-)(也许​​是YAGNI ......)