繁体   English   中英

Motif 如何计算或检索字体像素大小?

[英]Motif How to calculate or retrieve the font pixel size?

我正在尝试在 Motif 中编写代码来更改对话框警告框以调整其大小,如果框不够宽。 宽度和高度始终由调用类设置,并且它并不总是足够宽以显示消息并且行尾被截断。 他们不想到处固定以使用自动调整大小(即宽度为 0 或根本不设置),而是想弄清楚对话框中字符的像素宽度大小是多少。 然后,他们可以乘以最长的线 X 像素宽度来获得以像素为单位的线长度。 然后我们将查看是否需要重置对话框声明的宽度以停止截断。 只有太短的对话框才会被更改(太宽的对话框不会被更改)。

然而; 我找不到任何关于如何在任何地方获取以像素为单位的字符宽度的示例。 我记得几年前我在一个项目中,他们创建了某种类型的小部件,在其中插入一个字符,然后执行 XtGetValues 来获取宽度和高度,所以我认为可以完成。 那么有人知道该怎么做吗?

那是很久以前的事了,但是如果 memory 服务,Xt 对 fonts 没有任何具体的支持,它依赖于普通的 libx11。 您将需要调用XQueryFontXLoadQueryFont来获取描述字体的XFontStruct ,然后通过per_char数组查找单个字形的范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM