在LTK中,我想在画布上写一个字符串,然后用一个矩形包围它。我可以将它设置为在给定的宽度(以像素为单位)上绕一圈,但是由于角化,我无法预测字符串将占用多少行,因此矩形应该有多高。我想使用单间距字体,这样我就可以预测程序中的高度,但是字体保持不变。如果我使用"FreeMono 32“而不是"FreeMono",它会相应地更改大小,但它忽略字体名称。我确实让字体FreeMono正常工作,就像在LibreOffice Writer中签入的那样。
我试过的代码:
(defun main ()
(ltk:with-ltk ()
(let ((c (make-instance 'ltk:canvas :width 500 :height 500)))
(ltk:pack c)
(let ((txt (ltk:create-text c 100 100 "lorem ipsum dolor sit amet consectetur adipiscing elit")))
(ltk:itemconfigure c txt :width 100)
(ltk:itemconfigure c txt :font "FreeMono")
(ltk:itemconfigure c txt :justify "center"))))) LTK手册:http://www.peter-herth.de/ltk/ltkdoc.pdf
发布于 2021-01-03 18:02:03
我们可以使用(遗憾的是没有文档化的)函数font-families打印可用的字体。
(ltk:with-ltk ()
(print (ltk:font-families)))FreeMono字体未被LTK识别。一种合适的单间距字体是NotoSans。新字体可以通过font-create或font-configure添加,但由于缺乏tcl/tk知识,我无法确认或解释。
https://stackoverflow.com/questions/63366642
复制相似问题