GlyphWiki logo
내비게이션
도움말
검색

도구모음
그외의 언어
해설토론편집이력

GlyphWiki:进阶活用方法

출전 : 프리 글리프 데이터베이스[글리프위키(GlyphWiki)]

日本語 English 简体中文 繁體中文

此页面记载的内容面向高级用户。

关于获取所有字形数据

向字形维基提交的所有字形数据,每天会导出成一个归档文件发布。URL如下。

http://glyphwiki.org/dump.tar.gz

此归档文件包含两个数据文件:dump_newest_only.txt 及 dump_all_versions.txt。两个文件的格式相同,分为三栏:字形名称、关联字、字形数据。每一行都依次记载这些数据。dump_newest_only.txt仅包含最新版本的数据。dump_all_versions.txt包含各个字形所有版本的数据。但注意,两个文件都只包含有效的数据。

此外,以上数据也可以在下方的URL处(镜像)获取。

http://kage.osdn.jp/glyphwiki/

这些数据可以转换为供 KAGE/Engine 使用的汉字字形。

KAGE/engine介绍页面 http://kamichi.jp/engine.html

GitHub存储库 https://github.com/kamichikoichi/kage-engine

以JSON/JSONP格式获取单个字形

可以通过以下URL格式,以JSON/JSONP格式获取指定的单个字形。

 http://glyphwiki.org/json?name=[字形名称]{@[版本号]}{&callback=[回调函数名]}

http://glyphwiki.org/json?name=u4e00

http://glyphwiki.org/json?name=u4e00@2

http://glyphwiki.org/json?name=u4e00&callback=callback

可获取到的数据内容如下。

name字形名称
version版本号
related关联字(U+[码位])
dataKAGE数据

指定的字形名称无效时会返回空对象。指定的版本无效时,data和related字段的内容为null。回调函数名也有格式要求,名字的第一个字符可以为下划线或基础拉丁字符,之后的字符可以为下划线、阿拉伯数字、基础拉丁字符。指定的回调函数名无效时,视为指定回调函数名为callback。

【试行】API专用URL的相关设置与使用权限说明

以下URL格式返回结果的标头“Access-Control-Allow-Origin”设置为“*”。我们计划将来从上述URL迁移到以下URL。

 https://glyphwiki.org/api/glyph?name=[字形名称]{@[版本号]}{&callback=[回调函数名]}

https://glyphwiki.org/api/glyph?name=u4e00

https://glyphwiki.org/api/glyph?name=u4e00@2

https://glyphwiki.org/api/glyph?name=u4e00&callback=callback

(主要是将URL中的“json”改为“glyph”)

(需要使用HTTP连接时,请使用 non-ssl.glyphwiki.org )

【试行】关联字形批量获取API

 https://glyphwiki.org/api/related?code=[码位]}{&callback=[回调函数名]}

https://glyphwiki.org/api/related?code=4e00

https://glyphwiki.org/api/related?code=4e00&callback=callback

(需要使用HTTP连接时,请使用 non-ssl.glyphwiki.org )

码位大小写不敏感,需要为十六进制的四位或五位数。返回值是一个包含键“related”(截至最后一次编辑,键名实际为“related_glyphs”)的对象,值是一个不使用JSON格式的大字符串,每组字形用“,”分隔,别名字形列在第二个字形之后,用“=”分隔。可以在字形页面的“关联字形”段落获取指定码位的“关联字”中的一组字形的字形名称。

用作网络字体(Webfont)

可以将登记为组的字形(字表)或单个字形打包为网络字体(通过@font-face的CSS规则)使用。浏览器必须支持网络字体。

调用字表的字体

首先打开字表页面,确保字体已经生成。

在HTML的<head>标签内添加以下标签。

 <link rel="stylesheet" type="text/css" href="http://glyphwiki.org/style?page=(页面名)&label=(任意的label)">

举例如下。页面名处也可以指定版本号。label为60个字符以内的拉丁字符或阿拉伯数字。未指定label视作指定label为“glyphwiki”。

 <link rel="stylesheet" type="text/css" href="http://glyphwiki.org/style?page=Group:ウェブフォント&label=webfont">
 <link rel="stylesheet" type="text/css" href="http://glyphwiki.org/style?page=Group:ウェブフォント@1&label=webfont">
 <link rel="stylesheet" type="text/css" href="http://glyphwiki.org/style?page=Group:ウェブフォント">

以上标签会引用格式类似于下方的样式表(以第一个标签为例)。

 @font-face {
    font-family: webfont;
    src: url(http://glyphwiki.org/font/gw465758.ttf);
 }
 .webfont {
    font-family: webfont;
 }

之后,通过<span class="webfont">■</span> 这样的形式就可以使用该网络字体了。当然,也可以直接指定内联样式 style="font-family: webfont;" 。

可以通过指定不同的label来调用多个字表页面的字体。

调用单个字形

在HTML的<head>标签内添加以下标签。

 <link rel="stylesheet" type="text/css" href="http://glyphwiki.org/style?glyph=(字形名称)">

举例如下。

 <link rel="stylesheet" type="text/css" href="http://glyphwiki.org/style?glyph=sandbox">

单个字形无法指定版本号。此外,由于字形是分配给“〓”的,因此在要使用该字符的部分写入以下内容。label就是字形名称。

 <span class="sandbox">〓</span>

示例

参照示例

我们正在尝试让在字形维基的文档页面使用网络字体这件事变得更简单(目前正在测试)。参见GlyphWiki:フォント生成

无法在<head>内插入标签

博客平台等网站平台可能无法在<head>内自行插入标签。如果允许插入JavaScript脚本(也就是允许插入<script>标签)的话,可以使用Google Font API。使用以下代码同样可以调用字形维基的字形。

单字字体(例:sandbox)

 <script type="text/javascript">
 WebFontConfig = { custom: { urls: ['http://glyphwiki.org/style?glyph=sandbox'] } };
 </script>
 <script src="http://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js" type="text/javascript"></script>

具体显示文字的方法与上方使用<link>标签相同。

 <span class="sandbox">〓</span>

字表页面(例:Group:ウェブフォント)

 <script type="text/javascript">
 WebFontConfig = { custom: { urls: ['http://glyphwiki.org/style?page=Group:ウェブフォント'] } };
 </script>
 <script src="http://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js" type="text/javascript"></script>

具体显示文字的方法与上方使用<link>标签相同。

 <span class="glyphwiki">雨</span>

需要指定class的话

 WebFontConfig = { custom: { urls: ['http://glyphwiki.org/style?page=Group:ウェブフォント&label=(任意label)'] } };

将代码更改为上方这样,在调用字形时

 <span class="(任意label)">雨</span>

这样使用即可。