做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: Thonburi
   Font name: Thonburi-Bold
   Font name: Thonburi
   Font name: Thonburi-Light
  Family name: Snell Roundhand
   Font name: SnellRoundhand-Black
   Font name: SnellRoundhand-Bold
   Font name: SnellRoundhand
  Family name: Academy Engraved LET
   Font name: AcademyEngravedLetPlain
  Family name: Marker Felt
   Font name: MarkerFelt-Thin
   Font name: MarkerFelt-Wide   ……   ……   Family name: Helvetica Neue
   Font name: HelveticaNeue-BoldItalic
   Font name: HelveticaNeue-Light
   Font name: HelveticaNeue-Italic
   Font name: HelveticaNeue-UltraLightItalic
   Font name: HelveticaNeue-CondensedBold
   Font name: HelveticaNeue-MediumItalic
   Font name: HelveticaNeue-Thin
   Font name: HelveticaNeue-Medium
   Font name: HelveticaNeue-Thin_Italic
   Font name: HelveticaNeue-LightItalic
   Font name: HelveticaNeue-UltraLight
   Font name: HelveticaNeue-Bold
   Font name: HelveticaNeue
   Font 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&szlig;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

iPhone设备字体详解的更多相关文章

  1. Linux DTS(Device Tree Source)设备树详解之二(dts匹配及发挥作用的流程篇)【转】

    转自:https://blog.csdn.net/radianceblau/article/details/74722395 版权声明:本文为博主原创文章,未经博主允许不得转载.如本文对您有帮助,欢迎 ...

  2. Linux dts 设备树详解(二) 动手编写设备树dts

    Linux dts 设备树详解(一) 基础知识 Linux dts 设备树详解(二) 动手编写设备树dts 文章目录 前言 硬件结构 设备树dts文件 前言 在简单了解概念之后,我们可以开始尝试写一个 ...

  3. Linux dts 设备树详解(一) 基础知识

    Linux dts 设备树详解(一) 基础知识 Linux dts 设备树详解(二) 动手编写设备树dts 文章目录 1 前言 2 概念 2.1 什么是设备树 dts(device tree)? 2. ...

  4. 23.Linux-块设备驱动(详解)

    通过上节的块设备驱动分析,本节便通过内存来模拟块设备驱动  参考内核自带的块设备驱动程序: drivers/block /xd.c drivers/block /z2ram.c 1.本节需要的结构体如 ...

  5. Linux下usb设备驱动详解

    USB驱动分为两块,一块是USB的bus驱动,这个东西,Linux内核已经做好了,我们可以不管,我们只需要了解它的功能.形象的说,USB的bus驱动相当于铺出一条路来,让所有的信息都可以通过这条USB ...

  6. Linux 设备树详解【转】

    转自:http://www.pianshen.com/article/428276673/;jsessionid=D90FC6B215155680E0B89A6D060892D4 本文基于天嵌E9V3 ...

  7. web字体详解@font-face

    一:字体的下载(http://www.dafont.com/new.php) 二:选择需要的字体并下载( Download ) 三:下载后并解压 四:获取@font-face所需要字体的格式.eot, ...

  8. 手把手教Linux驱动3-之字符设备架构详解,有这篇就够了

    一.Linux设备分类 Linux系统为了管理方便,将设备分成三种基本类型: 字符设备 块设备 网络设备 字符设备: 字符(char)设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程 ...

  9. Linux磁盘管理之设备文件详解04

    Linux一切接文件,除了普通文件和目录文件,还包括一些其它的特殊文件:块设备文件.字符设备文件.套接字文件.链接文件等.今天这里主要说一下常见的块设备文件和字符设备文件,这2类是最常见的设备文件类. ...

随机推荐

  1. NOIP 2015 信息传递

    kawayi 题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知道自己的 ...

  2. css多行文本省略号

    适用于内核为webkit的浏览器: display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflo ...

  3. 使用OpenCV3处理图像

    不同色彩空间的转换 当前,在计算机视觉中有三种常用的色彩空间:灰度.BGR.以及HSV(Hue,Saturation,Value) 灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处 ...

  4. 使用jsPlumb制作流程图设计器

    jsPlumb是一个比较强大的绘图组件,它提供了一种方法,主要用于连接网页上的元素.在现代浏览器中,它使用SVG或者Canvas技术,而对于IE8以下(含IE8)的古董浏览器,则使用VML技术. 项目 ...

  5. 搭建wordpress开发环境

    安装php PHP下载地址:http://windows.php.net/download/ 和MySQL一样,下载包是一个zip压缩包,只需解压缩即可.将它解压缩到 D:\WNMP\php-5.5. ...

  6. libevent (三) 事件注册与循环监听

    事件注册与循环监听 在libevent中为了监听某种事件的发生,设置事件触发后的回调函数,也就是说对该事件注册到当前的IO模型中. 事件注册 事件初始化 使用`event_new`函数来对事件进行初始 ...

  7. mongo(四)索引

    mongo(四)索引 根据这里http://www.cnblogs.com/huangxincheng/archive/2012/02/29/2372699.html   首先,需要构造一些数据,如下 ...

  8. java Unicode转UTF-8代码

    在做http请求时,有时候服务器传回的数据中会遇到传回数据为Unicode的情况,为此需要进行Unicode转UTF-8的转化,代码: public class StringTest { /** * ...

  9. Web开发者的六个代码调试平台

    代码调试平台是Web开发者进行开发.测试.分享.协作和交流的网络应用,它们支持实时的编辑.预览HTML.CSS和JavaScript的客户端代码.这些代码调试平台最值得称道的地方在于,它们中的大多数都 ...

  10. 啊哈C!思考快你一步——用编程轻松提升逻辑力

    啊哈C!思考快你一步——用编程轻松提升逻辑力(双色)(每个人都应该学习如何编程,因为它教会你如何思考.——史蒂夫.乔布斯) 啊哈磊著 ISBN 978-7-121-21336-6 2013年9月出版 ...