如何在 Squeak 中设置更多字体大小?
How to have more font sizes in Squeak?
我在 Squeak 中安装了 DejavuSansMono
字体 ttf
。我想在 Transcript 和 CommandShell 中使用它。
注意:只需下载 ttf 文件,然后通过 Squeak FileList 应用加载它。
现在,如果我 select 在 Transcript 中输入一些文本,然后 RightClick -> SetFont。我可以将字体更改为 DejavuSansMono
但只能更改为大小:{9, 12, 15, 24, 36 }
.
我想要其他中间尺寸。可能吗?我对字体的了解很少,但我想是的,因为在 this page 中我看到了大小:{10,14,18}
。
您必须添加您想要的尺码。
如果我想要字体大小 10
,我会按以下方式进行:
(TextStyle named: #DejaVuSansMono) addNewFontSize: 10
我假设您在安装新字体时得到的是最常见的尺寸。
您可以通过以下方式查看您的尺码:
TextStyle fontArrayForStyle: #DejaVuSansMono
你应该得到(添加字体大小 10 后):
{TTCFont(DejaVuSansMono 9 Book) . TTCFont(DejaVuSansMono 10 Book) . TTCFont(DejaVuSansMono 12 Book) . TTCFont(DejaVuSansMono 15 Book) . TTCFont(DejaVuSansMono 24 Book) . TTCFont(DejaVuSansMono 36 Book)}
编辑:我是怎么找到它的? (我不经常使用 Squeak)
在 TTCFontSet>>#familyName:pointSize:
中,您会找到一个(全局)词典 TextConstants
。
如果您检查 TextConstants
,找到 a TextStyle DejaVuSansMono
实例。当你检查它时,你会看到细节。从那里我想检查一个 TextStyle
class。我在那里找到了 TextStyle>>#addNewFontSize:
,您可以使用它来引入新尺寸。
当您将 #DejaVuSansMono
添加到 Squeak 时,您将收到 This font does not have a kerning table 消息,这意味着您不会优化字符之间的规范。我建议阅读一些好的资源 what is kerning 以了解更多信息。
我遵循了@tucan 的指示,一切都很好。
为了完整起见,我在此处添加了一张图片,显示了我在默认 Bitmap DejaVu Sans
和从 Internet 获得的 DejaVuSans
ttf
之间看到的差异。
如果您仔细观察 TextStyle 字中的 "y" 字符,就可以看出字距调整问题(?)。
此外,我发现字母 "t" 和 "n" 通常在 DejaVuSans
中看起来更差,但可以随意调整此字体的大小。
我在 Squeak 中安装了 DejavuSansMono
字体 ttf
。我想在 Transcript 和 CommandShell 中使用它。
注意:只需下载 ttf 文件,然后通过 Squeak FileList 应用加载它。
现在,如果我 select 在 Transcript 中输入一些文本,然后 RightClick -> SetFont。我可以将字体更改为 DejavuSansMono
但只能更改为大小:{9, 12, 15, 24, 36 }
.
我想要其他中间尺寸。可能吗?我对字体的了解很少,但我想是的,因为在 this page 中我看到了大小:{10,14,18}
。
您必须添加您想要的尺码。
如果我想要字体大小 10
,我会按以下方式进行:
(TextStyle named: #DejaVuSansMono) addNewFontSize: 10
我假设您在安装新字体时得到的是最常见的尺寸。 您可以通过以下方式查看您的尺码:
TextStyle fontArrayForStyle: #DejaVuSansMono
你应该得到(添加字体大小 10 后):
{TTCFont(DejaVuSansMono 9 Book) . TTCFont(DejaVuSansMono 10 Book) . TTCFont(DejaVuSansMono 12 Book) . TTCFont(DejaVuSansMono 15 Book) . TTCFont(DejaVuSansMono 24 Book) . TTCFont(DejaVuSansMono 36 Book)}
编辑:我是怎么找到它的? (我不经常使用 Squeak)
在 TTCFontSet>>#familyName:pointSize:
中,您会找到一个(全局)词典 TextConstants
。
如果您检查 TextConstants
,找到 a TextStyle DejaVuSansMono
实例。当你检查它时,你会看到细节。从那里我想检查一个 TextStyle
class。我在那里找到了 TextStyle>>#addNewFontSize:
,您可以使用它来引入新尺寸。
当您将 #DejaVuSansMono
添加到 Squeak 时,您将收到 This font does not have a kerning table 消息,这意味着您不会优化字符之间的规范。我建议阅读一些好的资源 what is kerning 以了解更多信息。
我遵循了@tucan 的指示,一切都很好。
为了完整起见,我在此处添加了一张图片,显示了我在默认 Bitmap DejaVu Sans
和从 Internet 获得的 DejaVuSans
ttf
之间看到的差异。
如果您仔细观察 TextStyle 字中的 "y" 字符,就可以看出字距调整问题(?)。
此外,我发现字母 "t" 和 "n" 通常在 DejaVuSans
中看起来更差,但可以随意调整此字体的大小。