[英]Is there really no predefined dynamic 2d container in Smalltalk? Do I have to make my own?
[英]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.我使用错误的课程吗? 我不需要文本可编辑。
两种方式:
添加另一种字体大小: (TextStyle named: #BitstreamVeraSans) addNewFontSize: 200
并像以前一样使用常规文本变形。
使用可以任意缩放的“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.