Fonts 在ltk中设置字体

Fonts 在ltk中设置字体,fonts,common-lisp,ltk,Fonts,Common Lisp,Ltk,在LTK中,我想在画布上写一个字符串,并用矩形包围它。我可以将其设置为以给定的宽度(以像素为单位)环绕,但由于紧排,我无法预测字符串将占用多少行,因此矩形应该有多高。我想使用单间距字体,以便预测程序中的高度,但字体保持不变。如果我使用“FreeMono 32”而不是“FreeMono”,它会相应地更改大小,但会忽略字体名称。我确实有字体FreeMono的工作,在LibreOffice Writer检查 我试过的代码: (defun main () (ltk:with-ltk () (

在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手册:

我们可以使用(不幸的是未记录)功能打印可用字体
字体系列

(ltk:with-ltk ()
  (print (ltk:font-families)))

LTK无法识别FreeMono字体。合适的单间距字体是NOTOSAN。可以通过
字体创建
字体配置
添加新字体,但由于缺乏tcl/tk知识,我无法确认或解释。

我们可以使用(可惜没有文档记录)功能打印可用字体
字体系列

(ltk:with-ltk ()
  (print (ltk:font-families)))
LTK无法识别FreeMono字体。合适的单间距字体是NOTOSAN。可能通过
font create
font configure
添加新字体,但由于缺乏tcl/tk知识,我无法确认或解释