[page:Loader] →

# [name]

一个用于加载JSON格式的字体的类。。返回font, 返回值是表示字体的[page:Shape Shape]类型的数组。 其内部使用[page:FileLoader]来加载文件。
你可以使用[link:https://gero3.github.io/facetype.js/ facetype.js]来在线转换字体。

## 代码示例

`const loader = new FontLoader(); const font = loader.load( // 资源URL 'fonts/helvetiker_bold.typeface.json', // onLoad回调 function ( font ) { // do something with the font console.log( font ); }, // onProgress回调 function ( xhr ) { console.log( (xhr.loaded / xhr.total * 100) + '% loaded' ); }, // onError回调 function ( err ) { console.log( 'An error happened' ); } );`

## 例子

[example:webgl_geometry_text_shapes geometry / text / shapes ]
[example:webgl_geometry_text geometry / text ]

## 构造函数

### [name]( [param:LoadingManager manager] )

[page:LoadingManager manager] — 加载器所使用的[page:LoadingManager loadingManager]。默认值为[page:LoadingManager THREE.DefaultLoadingManager].
创建一个新的[name].

## 属性

共有属性请参见其基类[page:Loader]。

## 方法

共有方法请参见其基类[page:Loader]。

### [method:undefined load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )

[page:String url] — 文件的URL或者路径，也可以为 [link:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs Data URI]。
[page:Function onLoad] — 将在加载完成时调用。参数是将要被加载的font。
[page:Function onProgress] — 将在加载过程中调用。参数是包含[page:Integer total]和[page:Integer loaded]字节的XMLHttpRequest实例。如果server没有设置header的Content-Length，则[page:Integer total]值为0。
[page:Function onError] — 将在加载错误时调用。
开始加载url，并将加载的font传递给onLoad。

### [method:Font parse]( [param:Object json] )

[page:Object json] — 用于解析的JSON>格式的对象。
解析一个JSON>格式的对象，并返回一个font。

## 源

[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/FontLoader.js examples/jsm/loaders/FontLoader.js]