Skip to content

Commit

Permalink
Doc: 更新文档 fix #34
Browse files Browse the repository at this point in the history
  • Loading branch information
yisibl committed Sep 6, 2019
1 parent 3bbc63f commit 4713100
Show file tree
Hide file tree
Showing 7 changed files with 74 additions and 66 deletions.
20 changes: 20 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
The MIT License (MIT)

Copyright 2013 Andrey Sitnik <andrey@sitnik.ru>

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
6 changes: 6 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 0.2.0 (2019-09-06)
* New: 支持配置 svg2ttf 的 options 参数
* Fix: 部分字体基线错位
* Fix: 升级 svgpath,修复 [arcs 解析错误](https://github.com/fontello/svgpath/issues/23)
* Update: 升级除 ttf2svg 以外的所有依赖
* Doc: 增加 MIT LICENSE,增加 changelog.md
23 changes: 7 additions & 16 deletions doc/api.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# API


## 生成一个字体

使用`fontCarrier.create(options)`生成一个空白字体对像
Expand All @@ -14,7 +13,7 @@

eg.

``` js
```js
// 创建空白字体
var font = fontCarrier.create()

Expand All @@ -24,32 +23,31 @@ var transFont = fontCarrier.transfer('./test/test.ttf')
// var buffer = fs.readFileSync('./test/test.ttf')
// var transFont = fontCarrier.transfer(buffer)
```

## 导出字体

一旦你拿到一个字体对象后,你可以选择导出它,默认会生成 svg,ttf,woff,eot 四种格式
一旦你拿到一个字体对象后,你可以选择导出它,默认会生成 svgttfwoff,woff2,eot 四种字体格式

`font.output(options)`

* options.path 可选。导出的文件路径,不需要后缀
* options.types 可选。导出的字体类型默认是 ['ttf','eot','woff','svg']
* options.types 可选。导出的字体类型默认是 ['ttf', 'eot', 'woff', woff2, 'svg']

返回一个对象,包含导出的所有字体的buffer

eg.

``` js
```js
font.output({
path: './iconfont',
types: [ttf]
})

```

## 相关对象

font-carrier 里面有三种对象 font,fontface,glyph。每个对象都有自己的构造参数包含一些初始化信息。所有的初始化参数后面都可以使用 `get(key)``set(key,value)` 来进行简单的操作。


### font 对象

一个 font 对象就表示解析后的字体对象,包含字体所有的信息
Expand All @@ -60,7 +58,6 @@ font-carrier 里面有三种对象 font,fontface,glyph。每个对象都有
* horizAdvX: 字体的水平画布大小,默认是 1024
* vertAdvY: 字体的垂直画布大小,默认是 1024


#### `font.getFontface()`
获取对应的 fontface 对象

Expand All @@ -86,7 +83,7 @@ font-carrier 里面有三种对象 font,fontface,glyph。每个对象都有
* key是对应的字,也可以是 unicode
* value是对应的svg图形
2. font.setSvg({key,value}) 可用于设置多个
key,value同上,主要可以使用object的方式一次性设置多个
* key,value 同上,主要可以使用 object 的方式一次性设置多个

#### `font.getGlyph(keys)`
获取指定文字(keys)的 glyph 对象。
Expand All @@ -95,7 +92,6 @@ font-carrier 里面有三种对象 font,fontface,glyph。每个对象都有

如果是单个字就返回一个 glyph 对象,否则返回一个 hash 对象,key 是 unicode,value 是对应的 glyph 对象


#### `font.setGlyph()`
用于针对字设置对应的 glyph 对象
有两种使用方式:
Expand All @@ -104,7 +100,7 @@ font-carrier 里面有三种对象 font,fontface,glyph。每个对象都有
* key 是对应的字,也可以是 unicode
* value 是对应的 glyph 对象,或者是一个 glyph 的构造参数对象
2. font.setGlyph({key,value}) 可用于设置多个
key,value 同上,主要可以使用 object 的方式一次性设置多个
* key,value 同上,主要可以使用 object 的方式一次性设置多个

#### `font.allGlyph()`
用于返回所有的字体对象集合
Expand Down Expand Up @@ -132,9 +128,6 @@ font-carrier 里面有三种对象 font,fontface,glyph。每个对象都有

返回一个对象,包含导出的所有字体的 buffer




### fontface 对象

fontface 对象包含了字体的一些特殊相关信息,参数如下:
Expand All @@ -144,7 +137,6 @@ fontface 对象包含了字体的一些特殊相关信息,参数如下:
* ascent: 字体的上偏移量,默认是 812
* descent: 字体的下偏移量,默认是 -212


### glyph 字形对象

glyph 字形对象代表了具体某个字的信息。包括下面这些参数:
Expand All @@ -165,7 +157,6 @@ glyph 字形对象代表了具体某个字的信息。包括下面这些参数
#### `glyph.setFont(font)`
设置当前 glyph 的字体,会按照新的字体做一系列的变换


#### `glyph.toSvg(path,options)`
导出当前字形对象的 SVG

Expand Down
12 changes: 3 additions & 9 deletions doc/example.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# EXAMPLE


## 案例一

使用 SVG 设置一些 icon
Expand All @@ -23,15 +22,13 @@ font.setSvg('&#xe601;', mail)
font.output({
path: './test'
})

```


## 案例二

从其他字体导出一些图标到自己的库里

``` js
```js
var transFont = fontCarrier.transfer('./test/test.ttf')

var gs = transFont2.getGlyph('我是方正')
Expand All @@ -42,20 +39,17 @@ font.setGlyph(gs)
font.output({
path: './test'
})


```

## 案例三

对中文字体精简

``` js
```js
// 使用上面的 transFont
// 会自动根据当前的输入的文字过滤精简字体
transFont.min('我是精简后的字体,我可以重复')
transFont.output({
path: './min'
})

```
```
4 changes: 2 additions & 2 deletions lib/class/font.js
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ var Font = Base.extend({
* 导出字体
* @param {object} options 导出参数
* @param {string} options.path 目标地址,没有后缀。可以不传,这样就会生成一个buffer对象,可以自己处置。
* @param {string} options.types 导出的字体格式,默认是 ['svg', 'ttf', 'eot', 'woff']
* @param {string} options.types 导出的字体格式,默认是 ['svg', 'ttf', 'eot', 'woff', 'woff2'],lib/helper/engine.js 中的 ALL_FONTS_TYPES
*
* @return {array} 字体buffer对象数组
*/
Expand All @@ -234,4 +234,4 @@ var Font = Base.extend({

})

module.exports = Font
module.exports = Font
29 changes: 21 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
{
"name": "font-carrier",
"version": "0.1.0",
"version": "0.2.0",
"description": "字体搬运工,中文字体解决方案,iconfont",
"main": "./lib/index.js",
"scripts": {
"test": "node ./test/index.js"
},
"keywords": [
"font",
"webfont",
"font-carrier"
],
"author": [
"purplebamboo <xhzhuweikang@163.com>",
"yisibl <percyley@qq.com>"
Expand All @@ -28,12 +23,30 @@
"ttf2woff2": "^3.0.0",
"xmldom": "^0.1.27"
},
"devDependencies": {},
"repository": {
"type": "git",
"url": "git://github.com/purplebamboo/font-carrier.git"
},
"devDependencies": {},
"engines": {
"node": ">= 0.4.x"
}
},
"keywords": [
"font",
"webfont",
"webfont",
"iconfont",
"font-cli",
"svg2ttf",
"ttf2eot",
"ttf2woff",
"ttf2svg",
"fontmin",
"font-mini",
"font subset",
"font subsetting",
"font converter",
"font-carrier"
],
"license": "MIT"
}
Loading

1 comment on commit 4713100

@chenyong
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Please sign in to comment.