2

我安装了Squeak 中DejavuSansMono的字体。ttf我想在TranscriptCommandShell中使用它。

注意:只需下载 ttf 文件,然后通过 Squeak FileList 应用程序加载它。

现在,如果我在Transcript中选择一些文本,然后右键单击 -> SetFont。我可以将字体更改为DejavuSansMono但只能更改为 size : {9, 12, 15, 24, 36 }

我想要其他中间尺寸。可能吗?我对字体的了解很少,但我想是这样,因为在这个页面中我看到了尺寸:{10,14,18}

4

2 回答 2

3

您必须添加您想要的尺寸。

如果我想要一个字体大小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:您将找到一个(全局) Dictionary TextConstants

如果您检查TextConstants, 找到a TextStyle DejaVuSansMono实例。当您检查它时,您将看到详细信息。从那里我想检查一个TextStyle类。在那里我发现TextStyle>>#addNewFontSize:你可以用它来引入一个新的尺寸。

当你添加#DejaVuSansMono到 Squeak 时,你会得到一个This font does not have a kerning table消息,这意味着你不会在字符之间得到优化的规范。我建议阅读一些好的资料,了解更多字距。

于 2019-08-21T10:33:37.747 回答
1

我遵循@tucan 的指示,一切都很好。

为了完整起见,我在这里添加了一张图片,显示了我看到的默认值Bitmap DejaVu SansDejaVuSans ttf我从 Internet 获得的区别。

如果您仔细观察TextStyle单词中的“y”字符,就可以看到字距调整问题(?) 。

另外,我发现字母“t”和“n”在 中通常看起来更糟DejaVuSans,但这种字体可以随意调整大小。

字距调整示例

于 2019-08-21T18:14:16.773 回答