C语言 - 如何在Ncurses中改变字体大小?

8

有什么方法吗?我似乎找不到任何能做到这一点的功能。我尝试了搜索,但是没有找到任何结果。


2
根据其预期用途,我并不惊讶你找不到它。 - Jongware
1
请访问以下链接以了解有关Ncurses的更多信息:http://en.wikipedia.org/wiki/Ncurses(非移动设备用户) - DTSCode
1
不是使用ncurses,但可能有终端特定的解决方案:https://dev59.com/nWw05IYBdhLWcg3wsz3N - mafso
4个回答

6

我不认为这是可能的。终端并不适用于此类操作,它仅用于以时常变化的颜色显示文本内容。如果你想改变字体大小,你需要打开一个窗口并在其中绘制内容(或许这不完全正确,因为我的专业不是图形设计)。如果这是你想做的事情,我建议你研究一下sdl。它非常容易设置,并且易于使用(就我而言)。由于我知道stackoverflow并不喜欢争吵,我并不是说它是最好的,我相信也有很多同样好用的替代方案,只是我没有用过而已。


SDL,大概是和FreeType一起使用吧?如果你要建议库,我认为QT更适合。 - Jongware
我相信是这样的。我已经有一段时间没有使用SDL了。我建议他使用它是因为他在使用C语言。无论如何,SDL并不是一个坏库。你并不总是需要为所有东西都使用小部件。 - DTSCode

2
如果文本在xterm中显示,则可以更改其外观。 编辑.Xresources文件并添加以下内容(可能在顶部):
xterm*font: *-fixed-*-*-*-20-*
xterm*geometry: 80x24+5+5

这个设置指定了一个字体大小为20,位于显示屏左上角的80x24字符xterminal窗口(宽度x高度+x偏移量+y偏移量)。

我无法使用大于20的字体。我在Ubuntu 14.04上通过以下命令行从终端窗口启动应用程序,并使用XFCE GUI。

xterm -e my_c_app

2

如果你在Windows命令行窗口上运行,这是可以实现的。我曾尝试过。

Ncurses将使用你的控制台窗口设置:颜色、大小和字体。这种方式可以工作,但是它是一种相对基础的使用模式。如果需要,在初始化ncurses终端之前,甚至可以通过程序更改字符属性。

我尝试过等宽字体而没有遇到任何问题,即使是比例字体也可以。这种方式同样可行,但是由于ncurses保持等宽模式下间距的缘故,视觉效果会较差,有些字符会"纠缠"在一起。

我还没有(尝试)在"飞行"中更改字符模式,但我相信这是可能的。但我认为你只能在同一个屏幕上使用一种模式/大小,也就是说:不能混合使用不同的字体/大小。


我不是Windows用户 - 我非常感激这一点,但那是另外一回事 - 但你可以通过详细说明你在这些设置中所指的内容来改进你的答案。也许对于Windows用户来说这很明显,但我不知道。即使如此,这可能会改善答案。虽然我不使用Windows - 实际上完全相反 - 但我已经点赞了,因为你付出了努力,而且它也为那些实际上使用Windows的人提供了更多的可能性(尽管我猜这是你想要的用户)。 - Pryftan

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接