繁体   English   中英

如何在Smalltalk中制作非常大的文本?

[英]How do I make really large text in Smalltalk?

我正在尝试使用以下代码在Squeak Smalltalk中制作一个大文本横幅:

t := TextMorph new.
t string: 'You win!' fontName: 'BitstreamVeraSans' size: 400.
t extent: 600@100.
t center: Display center.
t openInWorld.

但文字大小似乎最多约为60.我使用错误的课程吗? 我不需要文本可编辑。

两种方式:

  1. 添加另一种字体大小: (TextStyle named: #BitstreamVeraSans) addNewFontSize: 200并像以前一样使用常规文本变形。

  2. 使用可以任意缩放的“Truetype banner”:从对象目录中获取一个,或者使用TTSampleStringMorph new initializeToStandAlone openInHand 查看initializeToStandAlone方法来创建自己的方法。

对于大型标题,我可能会使用

我认为这是因为Squeak使用位图字体作为标准。 包含在Squeak图像中的BitstreamVeraSans的最大大小似乎是36.因此,虽然您可以缩放变形,但文本本身不会变得更大。

在Pharo中,您可以在TextMorph中使用TrueType字体,如下所示:

|font textMorph text|
font := (TextFontReference toFont: (LogicalFont familyName: 'Cochin' pointSize: 99)).
text := 'You win!' asText addAttribute: font.
textMorph := TextMorph new.
textMorph contents: text.
textMorph openInWorld

在Squeak中也可能有类似的东西。 包含一些TrueType支持。

暂无
暂无

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

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