- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 NSAttributedString
加载 UITextView
。我正在从富文本文件“.rtf
”加载 NSAttributedString
。
我的[NSBundle mainBundle]
中的文件名是My Text-HelveticaNeue.rtf
, My Text-TimesNewRomanPSMT.rtf
,和 My Text-MarkerFelt-Thin.rtf
这些文件都有正确的字体集。他们也有一些粗体文本。
这是我的代码:
NSString *resourseName = [NSString stringWithFormat:@"My Text-%@", self.currentFontName];
NSURL *rtfUrl = [[NSBundle mainBundle] URLForResource:resourseName withExtension:@".rtf"];
NSError *error;
NSAttributedString *myAttributedTextString = [[NSAttributedString alloc] initWithFileURL:rtfUrl options:nil documentAttributes:nil error:&error];
myTextView.attributedText = myAttributedTextString;
NSLog(@"%@", myAttributedTextString);
Helvetica Neue 文件保留所有格式,包括粗体文本。但是其他文件只保留它们的字体;他们不保留加粗的文本。我可能做错了什么?
编辑:
我听从了@Rob 的建议,这是我得到的输出。
Name:HelveticaNeue
Font:<UICTFont: 0xc1aab30> font-family: "Helvetica Neue"; font-weight: normal; font-style: normal; font-size: 13.00pt
Bold:<UICTFont: 0xc1af770> font-family: "Helvetica Neue"; font-weight: bold; font-style: normal; font-size: 13.00pt
Name:MarkerFelt-Thin
Font:<UICTFont: 0xfb16170> font-family: "MarkerFelt-Thin"; font-weight: normal; font-style: normal; font-size: 13.00pt
Bold:<UICTFont: 0xfb18c60> font-family: "MarkerFelt-Thin"; font-weight: normal; font-style: normal; font-size: 13.00pt
Name:TimesNewRomanPSMT
Font:<UICTFont: 0xc1cb730> font-family: "Times New Roman"; font-weight: normal; font-style: normal; font-size: 13.00pt
Bold:<UICTFont: 0xc1c9b30> font-family: "Times New Roman"; font-weight: normal; font-style: normal; font-size: 13.00pt
最佳答案
iOS 不提供粗体或斜体版本的 MarkerFelt-Thin,因此您无法显示它。
iOS 确实发布了 TimesNewRomanPS-BoldMT,但它似乎并不认为它是 TimesNewRomanPSMT 的粗体版本。 (我没有测试过,但根据你的评论,我假设 TimesNewRomanPS-ItalicMT 也是如此;它存在但不被视为斜体。)我可能会认为这是一个错误并打开雷达。
这里的一个关键点是您不要使用“粗体”或“斜体”字体。粗体和斜体本身就是完整的字体(由字体设计师单独设计并打包到自己的字体定义中)。他们只是与基本(“罗马”)版本具有象征性关系。如果没有安装粗体版本的字体,则请求粗体只会返回相同的字体。
您可以使用如下程序探索哪些字体可用,以及 iOS 将哪些字体视为另一种字体的粗体版本:
void LogFontNamed(NSString *name) {
UIFont *font = [UIFont fontWithName:name size:13];
UIFontDescriptor *boldFontDescriptor = [[font fontDescriptor] fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold];
UIFont *boldFont = [UIFont fontWithDescriptor:boldFontDescriptor size:13];
NSLog(@"=================");
NSLog(@"Name:%@", name);
NSLog(@"Font:%@", font);
NSLog(@"Bold:%@", boldFont);
NSLog(@"=================");
}
void printFonts() {
// uncomment if you want to explore the font lists
// NSLog(@"%@",[UIFont familyNames]);
// NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Times New Roman"]);
LogFontNamed(@"HelveticaNeue");
LogFontNamed(@"MarkerFelt-Thin");
LogFontNamed(@"TimesNewRomanPSMT");
LogFontNamed(@"TimesNewRomanPS-BoldMT");
}
关于ios - NSAttributedString 仅适用于 Helvetica Neue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19099621/
所以我决定开始优化我的网站并修复问题,这在 W3C 验证程序中出现了。 值错误:字体系列 "Neue"不是字体系列值:"Montserrat",Helvetica "Neue",Helvetica,A
UIFont 中使用的 Helvetica Neue Bold 的标识符是什么?我知道 @"Helvetica Neue" 是 Helvetica Neue 的正确标识符,但这就是 Helvetica
这是 Helvetica Neue 的一个小问题,但一直存在(不会发生在 Arial 上) 当文本的任何部分加粗时,完全垂直对齐的文本将略微向下移动。虽然这是一个很小的转变,但它会在并排混合粗体和非粗
我在垂直居中 Helvetica Neue 字体时遇到问题。我使用了三种不同的流行方法(行高等于容器、表格单元格、填充)这似乎适用于许多其他字体,但 Helvetica Neue 似乎比其他字体高。我
我正在尝试使用 Helvetica Neue 作为我网站各处的字体,所以我像这样应用到正文上 body { background-image: url("http://inauguralsea
我正在搜索 Helvetica Neue Ultralight 字体,因为我想使用 @font-face CSS 将它嵌入到我的网站中。我还希望能够使它比默认权重 100 更粗一点。我在哪里可以找到它
通常,我在某些网站上使用 "Helvetica Neue" 作为字体,尽管在查看其他网站时,我看到一些使用 "HelveticaNeue-Light"、"Helvetica Neue Light",
我经常看到使用“Helvetica Neue”字体的网站。这种字体可以安全使用吗,例如。宋体?还是浏览器无法渲染它,或者没有多少机器有这种字体?谢谢。 最佳答案 它是 Mac 上的默认字体,但在 PC
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我正在尝试使用 NSAttributedString 加载 UITextView。我正在从富文本文件“.rtf”加载 NSAttributedString。 我的[NSBundle mainBundl
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improve
我必须使用“helvetica neue”作为我的 asp.net 默认字体。在我的电脑上安装后,我可以将字体添加到我的 css 中,并且在本地运行 Web 应用程序时它可以工作。但是在我部署到服务器
我有一台 Mac,这意味着我在本地预装了 Helvetica Neue。我可以在我创建的网站模型上使用它,但是 600 Italic 和 300 Normal 不会在所述网站上呈现,而是分别简单地呈现
我正在尝试让 Bebas Neue 字体正常工作,我已经设法将我的字体转换为它们各自的类型,但是每当我在浏览器中加载字体时,我都会出错。 Firebug 抛出: 可下载字体:下载失败 Chrome 抛
我正在制作一个应用程序,我必须在其中使用 helvetica neue 字体作为文本,但问题是我不知道如何在 android 中使用 helvetica 字体。我的问题是 android 是否支持 h
我们正在为 iOS7 设计一个应用程序,我们的设计师想要使用非默认字体 (Avenir),但我不想失去动态类型功能。据我了解,动态类型只能与默认系统字体一起使用,即 Helvetica Neue。是否
令人惊讶的是,我似乎找不到关于此的其他问题...抱歉,如果我遗漏了一些明显的东西。 我正在尝试在我的 iPhone 应用程序中以编程方式使用 Helvetica Neue Light。系统似乎没有内置
Helvetica Neue 是 iOS 7/8 中的默认字体。在构建混合应用程序时,如何将 Helvetica Neue 作为字体? 好像不是免费字体。或者大多数混合应用程序开发人员是否从 CDN
有没有办法通过 userchrome.css、usercontent.css 或 user.js 将 firefox 中的字体“Helvetica Neue”替换为“Verdana”?我发现这种字体在
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve th
我是一名优秀的程序员,十分优秀!