gpt4 book ai didi

cocoa - 字体尺寸不正确

转载 作者:行者123 更新时间:2023-12-03 16:20:18 27 4
gpt4 key购买 nike

在 NSTextField 上,我设置了大小为 140 的自定义字体。文本设置为 @"28"。但正如您在图像上清楚地看到的那样,文本字段顶部有足够的空间。这只发生在某些类型的字体上,而不是所有的字体上。我的问题是字体中的哪些信息可能会影响最终裁剪文本的文本字段? (上升部分、上限高度?)。如果是这样,我可以修改字体文件来修复它吗?

enter image description here

最佳答案

不同字体的基线会有所不同。此外,还有其他指标有所不同。您可以使用 NSAttributedString 解决此问题。您可以尝试改变 NSBaselineOffsetAttribute 以及段落内的 setMinimumLineHeight 和 setMaximumLineHeight。下面是一个例子。确保创建两个文本字段标签并连接它们的导出。

self.Label1.stringValue = @"Test Text";
//
// baseline is different for each font!
//
//self.Label2.stringValue = @"Test Text";

NSFont *otherFont = [NSFont fontWithName:@"MarkerFelt-Thin" size:40.0f];
NSNumber *baseline = [[NSNumber alloc] initWithFloat: 5.0f];

NSMutableParagraphStyle *paraStyle = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
[paraStyle setParagraphSpacingBefore:20.0f];
[paraStyle setMinimumLineHeight:30.0f];
[paraStyle setMaximumLineHeight:50.0f];

NSDictionary *otherFDict = [NSDictionary dictionaryWithObjectsAndKeys: paraStyle, NSParagraphStyleAttributeName,
otherFont, NSFontAttributeName, baseline, NSBaselineOffsetAttributeName, nil];

NSMutableAttributedString *otherText = [[NSMutableAttributedString alloc] initWithString:@"Test Text" attributes:otherFDict];

self.Label2.attributedStringValue = otherText;

关于cocoa - 字体尺寸不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18500462/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com