gpt4 book ai didi

objective-c - 如何在 Mac 应用程序中显示字体预览?

转载 作者:行者123 更新时间:2023-12-03 16:38:39 26 4
gpt4 key购买 nike

我必须显示字体的字体预览。为此,我只是从字体复制了字符集,然后显示为预览。这是我的编码。

     NSString *fontName=@"aFontName";

CFStringRef CFFontName = (CFStringRef)fontName;
CTFontRef fontRef = CTFontCreateWithName(CFFontName, 0.0,NULL);

NSCharacterSet *characterset = (NSCharacterSet *) CTFontCopyCharacterSet (fontRef);
unichar idx;
NSString *str=[[NSString alloc]init];
for( idx = 0; idx < 65000; idx++ )
{
if ([characterset characterIsMember: idx])
{
if ( isprint(idx) ) {
NSString *str2 = [NSString stringWithFormat:@"%c",idx];
str=[str stringByAppendingString:str2];
}
else {
NSString *str1 = [NSString stringWithFormat:@"%C",idx];
str=[str stringByAppendingString:str1];
}
}


}

然后最后在 TextView 中,我将 str 中的字符串显示为字体预览。但是 str 有很多不需要的字符(对于印地语字体,它也显示英语字符)。我认为这不是显示字体预览的正确方法。有没有其他方法可以像 Mac 中的 FontBook 应用程序一样显示字体预览?

最佳答案

FontBook 使用私有(private)例程从字体中获取示例字符串。如果私有(private)例程适合您的应用程序,那么您可以简单地定义:

CFStringRef CTFontCopySampleString(CTFontRef font, int options);

并调用如下:

NSString* sample = (NSString *) CTFontCopySampleString(fontRef, 0); 

您将得到与 FontBook 显示的字符串相同的字符串。

关于objective-c - 如何在 Mac 应用程序中显示字体预览?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7006578/

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