【问题标题】:How to have more font sizes in Squeak?如何在 Squeak 中设置更多字体大小?
【发布时间】:2019-08-21 01:31:53
【问题描述】:

我在 Squeak 中安装了字体 DejavuSansMono,即 ttf。我想在 Transcript 和 CommandShell 中使用它。

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

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

我想要其他中间尺寸。是否可以?我对字体的了解很少,但我想是的,因为在this page 我看到了大小:{10,14,18}。

【问题讨论】:

    标签: fonts smalltalk squeak monospace


    【解决方案1】:

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

    如果我想要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 类。在那里我找到了TextStyle>>#addNewFontSize:,您可以使用它来引入新的尺寸。

    当您将#DejaVuSansMono 添加到 Squeak 时,您将收到 此字体没有字距调整表 消息,这意味着您不会在字符之间获得优化的规格。我建议阅读一些好的资源what is kerning 以了解更多信息。

    【讨论】:

    • 太棒了@tucan!从 Squeak 的第一天开始,我就一直在使用默认字体。当我选择增加/减少字体大小时,我的字体要么太小,要么太大,无法满足我的需要。现在我知道这也可以调整,所以它落后于 Monospace。我添加了一张图片来展示我得到了什么,并且可能说明了字距调整问题。
    • @NicolaMingotti 很高兴它对您有所帮助。我没有详细说明字距,因为那不是最初的问题。
    【解决方案2】:

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

    为了完整起见,我在此处添加了一张图片,显示了我从 Internet 获得的默认 Bitmap DejaVu Sans 和 DejaVuSans ttf 之间的区别。

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

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

    【讨论】:

    • 只对截图发表评论。在 smalltalk 中,您不需要显式键入数字序列。您可以通过以下“更多”smalltalk 方式进行操作:16 to: 20 do: [ :fontSize | (TextStyle named: #DejaVuSans) addNewFontSize: fontSize ]
    • 幸运的是,这是我已经知道的;) 这张照片有点夸张,它想要传达这样一种想法,即我必须进行几次手动尝试才能找到与原始照片一样大的 DejaVuSans BitmapDejaVuSans-17。最后我降落在维度 20.5。
    • 嗯,有了这些 cmets,未来可能的读者应该会更清楚。它还说明了 TTF 字体 DejaVuSans 在 Squeak 中一点也不差。考虑一下我在带有 Linux 仿真的 FreeBSD 下运行它。在此设置中拥有漂亮的字体并不是免费的。
    猜你喜欢
    • 2015-01-16
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多