方正字库SDK文档中心

方正字库云平台提供网页端SDK用字服务,Android端SDK用字服务和IOS端SDK用字服务,相关使用流程可查看具体文档

  • WEB SDK接入文档
  • Android SDK接入文档
  • IOS SDK接入文档

字体预览

方正粗金陵简体

方正粗金陵

方正有猫在简体

方正有猫在

该API以使用方正粗金陵简体和方正有猫在简体为例进行文档说明

第一步:JS调用

将以下代码添加到您网页的<head>标签之中

<script type="text/javascript" src="http://cdn1.foundertype.com/webfont/js/ftfont-init.js"></script>

第二步:设置标签和配置事件(备注:其中,配置事件为可选的,可根据用户的需求,自行进行配置)

将以下代码添加到您网页的</body>标签之前,紧挨着</body>

<script type="text/javascript"> var fontCfg = { p:'Ik0znAijQ7', fonts: [ { fontName: 'FZCuJinLJW' ,//(方正粗金陵简体的标识码), fontFamily: ['fontName11'], selecters: ['#id1','.class1','h1'], beforeLoad: function () { //console.log('可选的,这里可以配置该字体加载钱要执行的函数。用户可自己配置'); }, loading: function () { //console.log('可选的,这里可以配置该字体加载中要执行的函数。用户可自己配置'); }, loaded: function () { //console.log('可选的,这里可以配置该字体加载完成时要执行的内容,用户可自己配置'); }, onError: function () { //console.log('可选的,这里可以配置该字体加载出现错误时要执行的内容,用户可自己配置'); } }, { fontName: 'FZYouMaoZaiJ' ,//(方正有猫在简体的标识码)', selecters: ['#id2','.class2','.class3','h2'] }, /*{ ..... }*/ ], events: { beforeLoad: function () { //console.log('可选的,这里可以配置当所有字体加载前要执行的函数。用户可自己配置'); }, loading: function () { //console.log('可选的,这里可以配置当所有字体加载中要执行的函数。用户可自己配置'); }, loaded: function () { //console.log('可选的,这里可以配置当所有字体加载完成时要执行的函数。用户可自己配置'); } } }; var myFont = new FTFont(fontCfg); </script>

其中:myFont为一个抽象的对象;fontCfg 为一个json格式的数据集合,其中包括以下几项:

一、用户的唯一标识码 p,必填项; p的值在此为Ik0znAijQ7;

二、用户要应用的字体对应的配置数据集合fonts,必填项;fonts格式上为一个数组,包含要应用的不同字体对应的json对象;必须注意的是:每一个要应用的字体对应一个json对象,不可以将要应用的两个字体放入一个json数据格式中;

,每一个要应用字体对应的json对象,包括以下几个属性:

(一)fontName为必填项,fontName的值为要应用字体对应的标识码,例如方正粗金陵简体对应的标识码为FZCuJinLJW, 方正有猫在简体对应的标识码为FZYouMaoZaiJ;

(二)fontFamily为可选项,用户可自行配置要应用的字体最终的fontFamily属性对应的属性值;

(三)selecters为存放要应用的字体对应的标签,这包括:可存放标签的id名,标签的class(类)名,以及标签的标签名;

值得注意的是:当用户配置了fontFamily时,selecters为可选项,当用户没有配置fontFamily时,selecters为必填项;

在上面的代码中:"id1"和"class1"以及"h1"为要应用的方正粗金陵简体对应标签的id名字、class名字以及标签名; "id2"、"class2"以及"class3"和"h2"即为要应用的方正有猫在简体对应标签的id名字、class名字以及标签名;

粘贴后请自行替换为您页面上真实的标签id或class名字或者标签名;其中"h1"、"h2"即为要应用字体对应的标签名(非标签id名字与class名字),不需要设置标签的id名字或class名字,直接以标签名设置为引用标识。

(四)beforeLoad、loading、loaded、onError为可选项;该项为要应用的方正粗金陵简体对应的几类事件函数;下面分别介绍该类函数的用法和作用:

beforeLoad:为当要应用的方正粗金陵简体在加载前,要执行的事件函数,用户自行配置要执行的内容;

loading:为当要应用的方正粗金陵简体在加载中,要执行的事件函数,用户自行配置要执行的内容;

loaded:为当要应用的方正粗金陵简体在加载完成时,要执行的事件函数,用户自行配置要执行的内容;

onError:为当要应用的方正粗金陵简体在加载出现错误时,要执行的事件函数,用户自行配置要执行的内容;

三、用户要应用的所有字体对应的事件函数events,可选项;其中events包括beforeLoad、loading、loaded三个属性,下面介绍这几个属性的用法和作用:

beforeLoad:为当要应用的所有字体在加载前,要执行的事件函数,用户自行配置要执行的内容;

loading:为当要应用的所有字体在加载中,要执行的事件函数,用户自行配置要执行的内容;

loaded:为当要应用的所有字体在加载完成时,要执行的事件函数,用户自行配置要执行的内容;

值得注意的是:这个三个属性用户可根据自身的需求进行选择性配置,如用户只需配置当所有字体都加载完成时要执行的函数,那么用户只需配置loading中的内容即可;

本SDK为初版,如果遇到bug,请开发者及时反馈,我们会积极进行修改,改进.

一,申请APPID 和 APPKEY

1.请登录网站 :http://yun.foundertype.com/SDK下载

2.或 点击这里 联系客服

二,接入AndroidSDK

解压接入文件,含有

1共用的jars

org.apache.http.legacy.jar 网络通讯安全第三方库

FontSDK_V1.0.0_Pro.jar 方正字库SDK 库

2 Eclipse和AndroidStudio的Demo工程

FounderDemo 为接口接入功能调用Demo,界面展示简化

FounderShowDemo 含有更加细致的界面布局,便于开发者,借鉴界面的布局与SDK利用方式

三,AndroidManifest.xml

加入权限

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

四,导入jar包

1,Eclipse直接将FontSDK_V1.0.0_Pro.jar, org.apache.http.legacy.jar 复制粘贴到libs文件夹里即可

2,AndroidStudio直接将FontSDK_V1.0.0_Pro.jar, org.apache.http.legacy.jar 复制粘贴到app->libs文件夹里

选中两个jar包,鼠标右键,点击 Add As Library

jars导入完毕

五,方法介绍及使用

1,初始化,参数 Context context,String appKey,String appSecret

FontCenter.getInstance(this, "56842975", "58sr41f8").onInit(new FontCenterInitListener() { @Override public void onSuccess() { System.out.println("初始化成功!!"); } @Override public void onFailed(int errorCode, String message) { System.out.println("初始化失败!!"); } });

2,初始化成功之后可以调用,网络可用字体列表

参数介绍:Context context,回调接口

FontCenter.getInstance().getFondList(this,new FontCenterGetFontListListener() { @Override public void onSuccess(ArrayList arg0) { //得到可用字体列表 fontList = arg0; for(FounderFont font:fontList){ System.out.println(font.toString()); } } @Override public void onFailed(int arg0, String arg1) { // TODO Auto-generated method stub } });

3,获取到网络可用字体列表之后,可以进行单个字体文件下载

参数: Context context,从可用字体列表里获取字体的ID,回调接口

FontCenter.getInstance().downFont(this, font.getFontID(), new FontCenterDownFontListener() { @Override public void onSuccess() { System.out.println("下载完成"); //getVisableFontList(); } @Override public void onFailed() { // TODO Auto-generated method stub } @Override public void downloading(int arg0, int arg1) { // System.out.println("字体ID-->"+arg0+",进度-->"+arg1); } });

4,下载成功之后,可以从本地可用列表里获取到该字体,下次使用不用二次下载

查询本地可用字体列表

参数:回调接口

FontCenter.getInstance().getVisiableFontList(new FontCenterGetVisableFonts() { @Override public void onSuccess(ArrayList arg0) { ArrayList<FounderFont> visable = arg0; if(null != visable && !visable.isEmpty()){ System.out.println("获取可用列表--->"+visable.toString()); }else{ System.out.println("可用为空"); } } });

5,成功获取到本地可用列表之后,可以获取任何一个字体对应的Typeface对象

由于首次使用时,会由于手机的处理速度等问题,等待回调时,需要数秒钟的延迟

(如果二次打开的是上一次用过的字体,速度回明显提升)

参数: FounderFont font,TextView text(准备调用字体的TextView控件),回调接口

FontCenter.getInstance().getFont(font, (TextView)findViewById(R.id.result), new FontCenterGetFontListener() { @Override public void onSuccess(TextView arg0, Typeface arg1) { //获取到的 Typeface; arg0.setTypeface(arg1); arg0.setTextSize(60.0f); arg0.setText("测试字体"); } @Override public void onFailed() { // TODO Auto-generated method stub } });

本SDK为初版,如果遇到bug,请开发者及时反馈,我们会积极进行修改,改进.

一,申请APPID 和 APPKEY

1.请登录网站:http://yun.foundertype.com/SDK下载

2.或 点击这里 联系客服

二,接入FZFontsSDK

1、解压接入文件,含有将SDK包解压,解压:

Demo

方正字库iOS-FZFontsSDK接入文档-1.1

FontSDK:

  FZFontsSDK.a

  FontSDK:

    FZFont.h

    FontCenter.h

    Singleton.h

2、在XCode中选择“Add files to 'Your project name'...”,将整个FontSDK文件夹添加到到你的工程目录中

3、所需框架

第三方库:

AFNetworking 3.0及以上

SSZipArchive

系统库:

libz.dylib

三,功能集成

1、 加入白名单,配置Info.plist,适配http协议:

<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>http://api.foundertype.com/mt.php/Start/index</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSIncludesSubdomains</key> <true/> </dict> <key>http://api.foundertype.com/mt.php/SdkFontlist/index</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSIncludesSubdomains</key> <true/> </dict> <key>oss-cn-beijing.aliyuncs.com </key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSIncludesSubdomains</key> <true/> </dict> </dict> </dict>

2、添加后台任务权限

3、请求后台任务

在AppDelegate.m中添加后台任务权限

- (void)applicationDidEnterBackground:(UIApplication *)application { // 向操作系统申请后台运行的资格 UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{ // 当申请的后台运行时间已经结束(过期),就会调用这个block if (task) { [application endBackgroundTask:task]; } }]; }

4、设置FZFontCenter属性

在target Build Phases 中设置Complie Source 中的FZFontCenter.h 添加属性 -fno-objc-arc

5、 添加依赖库libz.tbd

四,方法介绍及使用

1,初始化,注册app

FZFontCenter *center = [FZFontCenter shareFZFontCenter];

[center setAppKey:@"*************" AndAppid”*******”];

2,获取网络字体列表

/**

* 获取网络字体列表

*

* @param page 获取分页 从0页开始?

* @param size 分页大小

* @param success 成功状态

* @param failed 失败错误

*

* @return 字体列表

*/

- (void) getFZFontsWithPage:(NSInteger)page WithPageSize:(NSInteger)size AndSuccess:(void (^)(NSMutableArray *fonts))success OrFailed:(void(^)(NSError *error))failed;

3,获取与本地已下载下列表比对之后,带有本地信息的网路地体列表

/**

* 结合本地字体列表反馈字体列表

*

* @param page 获取分页 从0页开始?

* @param size 分页大小

* @param success 成功状态

* @param failed 失败错误

*/

- (void) getFontsComparedLocalFontsWithPage:(NSInteger)page WithPageSize:(NSInteger)size AndSuccess:(void (^)(NSMutableArray<FZFont *> *fonts))success OrFailed:(void(^)(NSError *error))failed;

4,根据字体列表模型font下载字体

/**

* 下载选中字体

*

* @param font 选中字体

* @param percent 下载进度

* @param success 成功提示

* @param error 失败原因

*/

- (void) downLoadFont:(FZFont *)font percent:(void(^)(double percent))percent success:(void(^)(NSString *success))success error:(void(^)(NSError *error))error;

5、删除正在下载的某一字体

/**

* 删除正在下载的某个字体

*

* @param font 正在下载的字体

*/

- (void) deleteDownloadTask:(FZFont *)font;

6、使用已下载字体

/**

* 使用本地FZFont

*

* @param font 本地已下载FZFont

* @param size 字体大小

*/

- (UIFont *) useFont:(FZFont *)font withSize:(NSInteger)size;

7、查询本地可用字体列表

/**

* 获取本地字体集合

*

* @return 本地字体

*/

- (NSMutableArray *) getLocalFonts;

8,删除某一字体

/**

* 删除本地某一FZFont

*

* @param fount 本地已下载FZFont

*/

- (void) deleteFontWithFont:(FZFont *)font;

9.删除所有字体

/**

* 删除所有本地已下载的FZFont字体文件

*/

- (void) deleteAllLocalFZFont;

本SDK为初版,如果遇到bug,请开发者及时反馈,我们会积极进行修改,改进.