繁体   English   中英

相当于[NSFont fontWithName]的CoreText

CoreText equivalent for [NSFont fontWithName]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

在我们的应用程序中,我们将自定义对象的字体存储为包含字体名称(从字体面板中检索到)的字符串,并使用

+ (NSFont *)fontWithName:(NSString *)fontName

现在,当加载或导入文件时,我们要检查字体名称是否会在当前系统上实际解析。

由于某些设计限制,我们需要在普通的旧C / C ++中执行检查,即, 最近使用CoreText进行检查

但是,似乎不存在与fontWithName:类似的等效CoreText API调用:

  • CTFontCreateWithName 始终返回字体,因为它使用后备策略
  • CTFontCopyFullName似乎使用的名称不同于NSFont接受/使用的NSFont

所以基本上问题是:
我们如何使用CoreText功能检查字体在当前系统上是否存在,并且以后可以使用[NSFont fontWithName:]成功实例化该字体。

1 个回复

对于[NSFont fontWithName:]可以理解的任何字符串, CTFontCopyPostScriptName()总是会返回有效的结果,反之亦然。

至少在我的CTFontCopyPostScriptName()实验中,使用有效的和CTFontCopyPostScriptName()字体名称, CTFontCopyPostScriptName()的结果始终可以用来验证字体名称对于NSFont是否有效。

编辑#1
一些实验表明,最好还是添加带有CTFontCopyFamilyName()的后备CTFontCopyFamilyName() ,以确保安全。

1 Android相当于CoreText

我们有一个适用于iOS的应用程序,可呈现大量文本: http : //itunes.apple.com/br/app/biblia-sagrada/id370178518?mt=8 我们使用CoreText渲染文本,并使用户能够更改格式,字体大小和字体。 我们正在尝试将其移植到And ...

3 相当于rbindlist?

我需要循环查找SpatialPolygonDataFrames的负载。 这些是通过缓冲道路文件创建的。 但是,由于我的SpatialLinesDataFrame类的“ roads”文件长为15000行,因此rbind函数变得越来越慢。 如果它们是数据帧,我将使用rblindlist加快速度 ...

4 Scala Hoogle相当于?

Hoogle允许您通过函数名称或近似类型签名搜索许多标准Haskell库。 我发现它非常有用。 对于Scala有什么类似Hoogle的吗? 在ScalaDoc 2中搜索仅按名称查找类型和包。 ...

5 相当于CSS Zoom?

我有一个针对retina的img类(2x DPI),并且使用zoom:50%可以完美地工作。 但是,浏览器支持有限。 我尝试了transform: scale(0.5)但它做的不是相同的事情-它根据其所在的包装div(div宽度的50%)而不是图像宽度本身来缩放图像。 ...

6 CSS相当于

什么是<big>元素的CSS等价物? 如果我没有弄错,那么将文本包装在<big>元素中与设置更大的font-size 。 ...

7 相当于KineticJS clearRect

我现在进入Kinetic,这使我更容易在画布上绘画。 但是,构建游戏应用程序时,我需要在每个动画请求上清除矩形。 它们是由fps上限脚本控制的,但是每秒大约有50个更新。 Kinetic的.removeChildren()方法不仅清除画布,还从DOM中删除画布节点。 这样做不仅使DO ...

8 旺旺相当于?

在Perl中(我多么想念它),我可以检测函数的调用上下文,特别是告诉函数的返回值是被丢弃(void context)还是分配给标量或列表变量。 这允许一些非常优雅的表达。 在Powershell中是否存在等价物(我还没有找到)? ...

9 相当于DCMPLX?

使用众所周知的DCMPLX内在函数, gfortran -g -std=f2008 -Wall -Wextra -O2返回Warning: The intrinsic 'dcmplx' at (1) is not included in the selected standard but a G ...

2014-11-25 14:58:06 2 339   fortran
10 相当于RxJS toArray()

考虑以下情形:值数组应一个接一个地处理,并且在再次处理后,应返回单个数组值。 以下代码可以解决问题: 即将流分解为单个元素流,对值进行一些操作,并且toArray()会将其合并回数组响应。 停止进一步的处理,直到内部concatMap处理单个元素未完成为止。 问题是,如何在不使 ...

2018-05-17 09:07:28 3 852   rxjs
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM