iPhone设备字体详解
做iPhone开发的同学一定对:UIFont systemFontOfSize、boldSystemFontOfSize、italicSystemFontOfSize很熟悉,但你们知道它们都是什么字体吗?这篇文章将会带大家认识一下iPhone的字体。
一、默认字体
首先我们用如下代码看看,我们的默认字体是什么:
NSLog(@%@\n, [UIFont systemFontOfSize:10]);NSLog(@"%@\n", [UIFont boldSystemFontOfSize:10]);NSLog(@"%@\n", [UIFont italicSystemFontOfSize:10]);<UICTFont: 0x8ca7700> font-family: ".HelveticaNeueInterface-M3"; font-weight: normal; font-style: normal; font-size: 10.00pt<UICTFont: 0x8b81b20> font-family: ".HelveticaNeueInterface-MediumP4"; font-weight: bold; font-style: normal; font-size: 10.00pt<UICTFont: 0x8ca9eb0> font-family: ".HelveticaNeueInterface-ItalicM3"; font-weight: normal; font-style: italic; font-size: 10.00pt我们能看到这样的字符串:".HelveticaNeueInterface"
我们再用下面这个代码看看系统到底支持哪些字体:
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; NSArray *fontNames; NSInteger indexFamily, indexFont;for (indexFamily = 0; indexFamily < [familyNames count]; ++indexFamily){NSLog(@"Family name: %@", [familyNames objectAtIndex:indexFamily]);fontNames = [[NSArray alloc] initWithArray:[UIFont fontNamesForFamilyName:[familyNames objectAtIndex:indexFamily]]];for (indexFont = 0; indexFont < [fontNames count]; ++indexFont){NSLog(@" Font name: %@", [fontNames objectAtIndex:indexFont]);} }Family name: ThonburiFont name: Thonburi-BoldFont name: ThonburiFont name: Thonburi-LightFamily name: Snell RoundhandFont name: SnellRoundhand-BlackFont name: SnellRoundhand-BoldFont name: SnellRoundhandFamily name: Academy Engraved LETFont name: AcademyEngravedLetPlainFamily name: Marker FeltFont name: MarkerFelt-ThinFont name: MarkerFelt-Wide…………Family name: Helvetica NeueFont name: HelveticaNeue-BoldItalicFont name: HelveticaNeue-LightFont name: HelveticaNeue-ItalicFont name: HelveticaNeue-UltraLightItalicFont name: HelveticaNeue-CondensedBoldFont name: HelveticaNeue-MediumItalicFont name: HelveticaNeue-ThinFont name: HelveticaNeue-MediumFont name: HelveticaNeue-Thin_ItalicFont name: HelveticaNeue-LightItalicFont name: HelveticaNeue-UltraLightFont name: HelveticaNeue-BoldFont name: HelveticaNeueFont name: HelveticaNeue-CondensedBlack…………
二、Helvetica字体详解
Helvetica是一种被广泛使用的的西文字体,于1957年由瑞士字体设计师爱德华德·霍夫曼(Eduard Hoffmann)和马克斯·米耶丁格(MaxMiedinger)设计。
Helvetica是由米耶丁格和爱德华德·霍夫曼在瑞士哈斯铸造所作为排版铅字制作的。当时人们熟悉的是“国际字体风格”(也称为“瑞士风格”),比如 Josef Muller-Brockmann 在1896年推广的 Akzidenz Grotesk 这类无衬线字体,而哈斯希望能设计一套新的无衬线字体能够与 Akzidenz Grotesk 在瑞士市场上竞争。最初的名称是“Neue Haas Grotesk”,意为“哈斯的新无衬线铅字”,后来曾考虑改为Helvetia(源自拉丁文的“瑞士”一词),不过最终改为 Helvetica,在拉丁文中意为“瑞士的”。
Helvetica被广泛用于全世界使用拉丁字母和西里尔字母的国家。同样的风格也被移植到希腊字母、希伯来字母和汉字。
历史
Helvetica是由米耶丁格和爱德华德·霍夫曼(Eduard Hoffmann)在瑞士哈斯铸造所(Haas’sche Schriftgießerei)作为排版铅字制作的。当时人们熟悉的是“国际字体风格”(也称为“瑞士风格”),比如 Josef Muller-Brockmann 在1896年推广 Akzidenz Grotesk 这类在50多年前制作的无衬线字体,并由德国铸造所 Berthold 持续进行市场推广。因此哈斯希望能设计一套新的无衬线字体能够与 Akzidenz Grotesk 在瑞士市场上竞争。最初的名称是“Neue Haas Grotesk”,意为“哈斯的新无衬线铅字”,后来哈斯的德国母公司斯滕佩尔(Stempel)在1960年曾考虑将名字改为Helvetia(源自拉丁文的“瑞士”一词),不过最终改为 Helvetica,在拉丁文中意为“瑞士的”,以使其更具有国际市场竞争力。现在,Helvetica由Linotype公司所拥有,Stempel是它的子公司。
应用
Helvetica被广泛用于全世界使用拉丁字母和西里尔字母的国家。同样的风格也被移植到希腊字母、希伯来字母和汉字。加拿大政府的联邦认证制度(corporate identity program)也使用了这个字体及其各种版本。Helvetica被大量使用在标志、电视、新闻标题以及无数的商标。 如3M、爱克发、BASF、美国航空、American Apparel、BMW、Crate & Barrel、Epson、德国汉莎航空公司、Fendi、J. C. Penney、Jeep、川崎重工业、Knoll、英特尔、无印良品、雀巢、松下、Microsoft、三菱电机、摩托罗拉、丰田、Parmalat、SAAB(Helvetica 83 粗体)、三星、渣打银行、Staples、Target、Texaco等数百间主要企业的标志都是使用Helvetica字体。
Helvetica是Mac OS系统的默认字体。Mac OS X系统中也包含Helvetica和Helvetica Neue字体。Nimbus Sans字体(GNU/Linux系统中的默认字体)也是基于Helvetica的,Bitstream公司的Swiss 721 BT字体也是一样(从这个字体名字就可以看出)。Helvetica在政府部门和公共机构中也获得广泛使用,例如美国华盛顿和波士顿的地铁和大众交通系统采用了该字体。新的纽约地铁也将标志字体从Akzidenz Grotesk体转为Helvetica字体。
Helvetica是苹果电脑的默认字体,微软常用的Arial字体也来自于它。2007年是helvetica诞生50年,作为在平面设计和商业上非常普及和成功的一款字体,英国导演Gary Hustwit专门为她拍摄了一部纪录片《Helvetica》。
三、添加自己的字体
1、要添加方正兰亭字体,首先需要一个ttf的字体库。
2、然后把这个文件添加到工程里面3、在plist里面添加
添加成功后就可以使用啦!
参考:
http://baike.baidu.com/view/1649051.htm
http://www.cocoachina.com/bbs/simple/?t10620.html
http://www.cocoachina.com/bbs/read.php?tid-71703.html
转载于:https://www.cnblogs.com/ydhliphonedev/p/3402160.html
iPhone设备字体详解相关推荐
- Android 驱动(12)---Linux DTS(Device Tree Source)设备树详解
Linux DTS(Device Tree Source)设备树详解 Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇) Linux DTS(Device Tr ...
- 苹果Ad_Hoc添加新设备UUID详解
苹果Ad_Hoc添加新设备UUID详解 登录苹果开发者中心 选择Certificates,Identifiers&Profiles 进入 选择设备栏目 右侧为测试可用列表设备 点击新增按钮 进 ...
- 高通平台msm8953 Linux DTS(Device Tree Source)设备树详解之二(DTS设备树匹配过程)
本系列导航: 高通平台8953 Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇) 高通平台8953 Linux DTS(Device Tree Source ...
- 高通平台8953 Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇)
本系列导航: 高通平台8953 Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇) 高通平台8953 Linux DTS(Device Tree Source ...
- imx6平台设备树详解
设备树详解 在Linux3.x版本后,arch/arm/plat-xxx和arch/arm/mach-xxx中,描述板级细节的代码(比如platform_device.i2c_board_info等) ...
- Linux字符设备驱动详解七(“插件“设备树实现RGB灯驱动)
文章目录 系列文章目录 前言 正文 Device Tree Overlays:"插件"设备树 传统设备树 "插件"设备树 使用前提 案例说明 设备树:foo.d ...
- Linux字符设备驱动详解四(使用自属的xbus驱动总线)
文章目录 系列文章目录 前言 驱动目录 正文 驱动总线 总线管理 总线注册 设备注册 驱动注册 代码示例 总结 系列文章目录 Linux字符设备驱动详解 Linux字符设备驱动详解二(使用设备驱动模型 ...
- Linux驱动开发_设备文件系统详解
目录 何为设备管理器? Linux下dev的作用 Devfs sysfs kobject udev proc 何为设备管理器? 设备管理器就是负责管理这台电脑上的外设,当我们通过电脑提供的USB口插入 ...
- 【Linux驱动开发】设备树详解(二)设备树语法详解
活动地址:CSDN21天学习挑战赛 [Linux驱动开发]设备树详解(一)设备树基础介绍 [Linux驱动开发]设备树详解(二)设备树语法详解 [Linux驱动开发]设备树详解(三)设备树Kern ...
- Linux设备树详解
Linux设备树详解 设备树小故事 设备树文件 使用设备树 修改设备树文件 编译设备树 异常处理 编写驱动文件 参考资料 设备树小故事 设备树(Device Tree),将这个词分开就是"设 ...
最新文章
- js在post后台接口的时候,一行代码完成删除对象中所有值为null、undefined或为空字符串““的属性
- 剑指offer_第2题_替换空格
- 一文看懂人脸识别技术发展脉络
- mysql互为主从复制配置笔记--未读,稍后学习
- in_array 判断问题的疑惑解决。
- linux--监控系统之Zabbix简介(二)
- C++中 引用与取地址的区别
- linux远程挽救模式,linux – 如何在远程重启Redhat后进入SSH并进入恢复模式?
- 03 CSS听课笔记
- 一个前端html模板处理引擎(javascript) - pure
- 程序员入门c语言还是java,先学java还是c语言?入门学哪种语言?
- JavaScript设计模式与开发实践 - 单例模式
- linux 下查看硬件信息
- 2010年年度 “中国智能建筑品牌奖”获奖名单
- MATLAB-Control System Toolbox™0.控制系统工具箱说明
- 【图像分割】基于matlab各向异性热扩散方程SAR图像分割【含Matlab源码 1879期】
- A Re-evaluation of Temporal Knowledge Graph Completion Models under a Unified Framework
- 四叶草python_标签:python - 四叶草
- 详解C++学习方向和就业方向!
- 输入两个正整数m和n,求出[m,n]区间的所有素数。