-
Notifications
You must be signed in to change notification settings - Fork 10
Assets 项目中使用基础数据
Ein Verne edited this page Mar 2, 2017
·
2 revisions
assets 分支 https://github.com/einverne/writing/tree/assets
包含项目使用到的信息,包括3057行汉字信息,601行部件信息,以及40个笔画信息。
整字的信息保存在表 zi_info
,该表中包含常用3057个汉字,包含以下字段:
CREATE TABLE IF NOT EXISTS `zi_info` (
`zi` text,
`code` text,
`unit_seq_ch` text,
`unit_seq` text,
`stroke_seq_ch` text,
`stroke_seq` text,
`xml` longtext
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中:
- zi 标识该汉字,使用简体汉字
- code 该汉字标识符,唯一
- unit_seq_ch 该汉字部件顺序,部件使用中文名表示,部件与部件之间使用“-”分割
- unit_seq 该汉字部件顺序,部件使用部件id来标识,部件与部件之间使用“-”分割
- stroke_seq_ch 该汉字笔画顺序,笔画使用中文表示,笔画与笔画之间使用“-”分割
- stroke_seq 该汉字笔画顺序,笔画使用笔画id来标识,笔画与笔画之间使用“-”分割
- xml 该汉字的具体信息包括点集,使用xml保存,具体字段下文解释
举例:
zi | code | unit_seq_ch | unit_seq | stroke_seq_ch | stroke_seq | xml |
---|---|---|---|---|---|---|
啊 | B0A1 | 口字-耳刀旁-可字- | 230010-220022-250062- | 竖-横折(折直)-横-横撇弯钩-竖-横-竖-横折(折直)-横-竖钩- | 110003-110018-110007-110027-110003-110007-110003... | <item name="啊" stroke_seq_id="110003-110018-1100... |
以“艾”字举例:
<item name="艾" stroke_seq_id="110007-110003-110003-110009-110014-" stroke_seq="横-竖-竖-撇-捺-" unit_seq_id="230057-220089-" unit_seq="草字头-交字底-" code="B0AC" pic="B0AC">
<outline>
<stroke name="横" newname="横" id="110007" code="01-D2BB-CDF5-CDF2" sample="一王万" id_old="110012" pic="110007">
<trunpoint x="82" y="122" status="0" smooth="0"/>
<trunpoint x="421" y="122" status="0" smooth="0"/>
</stroke>
<stroke name="竖" newname="竖" id="110003" code="01-C9CF-CFC2-D6D0" sample="上下中" id_old="110004-110018" pic="110003">
<trunpoint x="188" y="59" status="0" smooth="0"/>
<trunpoint x="188" y="179" status="0" smooth="0"/>
</stroke>
<stroke name="竖" newname="竖" id="110003" code="01-C9CF-CFC2-D6D0" sample="上下中" id_old="110004-110018" pic="110003">
<trunpoint x="299" y="59" status="0" smooth="0"/>
<trunpoint x="299" y="175" status="0" smooth="0"/>
</stroke>
<stroke name="撇" newname="撇" id="110009" code="01-CDF2-D5C9-BEAE" sample="万丈井" id_old="110014" pic="110009">
<trunpoint x="333" y="205" status="0" smooth="1"/>
<trunpoint x="307" y="259" status="0" smooth="1"/>
<trunpoint x="260" y="333" status="0" smooth="1"/>
<trunpoint x="190" y="388" status="0" smooth="1"/>
<trunpoint x="113" y="426" status="0" smooth="1"/>
<trunpoint x="66" y="441" status="0" smooth="1"/>
<trunpoint x="46" y="445" status="0" smooth="1"/>
</stroke>
<stroke name="捺" idtag="1" newname="捺" id="110014" code="01-D5C9-B8F6-C8CB" sample="丈个人" id_old="110026" pic="110014">
<trunpoint x="150" y="203" status="0" smooth="1"/>
<trunpoint x="176" y="262" status="0" smooth="1"/>
<trunpoint x="206" y="312" status="0" smooth="1"/>
<trunpoint x="272" y="378" status="0" smooth="1"/>
<trunpoint x="323" y="403" status="0" smooth="1"/>
<trunpoint x="385" y="428" status="0" smooth="1"/>
<trunpoint x="418" y="435" status="0" smooth="1"/>
</stroke>
</outline>
<view name="上下">
<sub1 num="3" name="横~1/竖~1/竖~1/" idtag="1" idx="0/3" autoname="p3_058" partname="p345" id="230057" old_id="" code="C0CD-C4BC-B0A5" newname="草字头" sample="劳募哎" pic="230057" seq_ch="横-竖-竖-" seq="110007-110003-110003-"/>
<sub1 num="5" name="撇~1/捺~1/" idtag="2" idx="3/5" autoname="p2_097" partname="n220" id="220089" old_id="" code="BDBB-B0A5-BDCA" newname="交字底" sample="交哎绞" pic="220089" seq_ch="撇-捺-" seq="110009-110014-"/>
</view>
<keyview num="1" rely="宽"/>
<tmpchecked>true</tmpchecked>
<structview struct="0/1/2~3/4~" structname=""/>
</item>
在艾字的 XML 信息中,标注了艾字的笔画信息,在 <outline>
标签中为每一个笔画的点信息。每一笔:
<stroke name="横" newname="横" id="110007" code="01-D2BB-CDF5-CDF2" sample="一王万" id_old="110012" pic="110007">
<trunpoint x="82" y="122" status="0" smooth="0"/>
<trunpoint x="421" y="122" status="0" smooth="0"/>
</stroke>
有名字属性,笔画编号,笔画 code,笔画字例,以及其他相关信息。在 trunpoint 标签中的为笔画的点信息,比如上面所显示的就为横笔画的首点和尾点信息。其中 status 表示当前点为拐点, smooth 表示该点在撇捺等斜笔画中。
部件信息保存在 unit_info
表中,该表包含601行部件信息,具体字段定义如下:
CREATE TABLE IF NOT EXISTS `unit_info` (
`id` int(11) NOT NULL,
`code` longtext,
`name` longtext,
`sample` longtext,
`seq_ch` longtext,
`seq` longtext,
`zi_include` longtext,
`xml` longtext
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中:
- id 表示部件id
- code 表示部件标识符
- name 表示部件的名字
- sample 包含该部件的简单例子
- seq_ch 组成该部件的笔画笔段组成,中文表示,笔段与笔段之间使用“-”分割
- seq 组成该部件的笔画组成序列,使用id来标识,笔段与笔段之间使用“-”分割
- zi_include 包含该部件的汉字, 比 sample 多,字与字之间使用“-”分割
- xml 部件的详细信息
部件信息保存在 zi_info
表中,该表包含40个笔画信息,具体字段定义如下:
CREATE TABLE IF NOT EXISTS `stroke_info` (
`id` int(10) NOT NULL,
`code` longtext,
`name` longtext,
`sample` longtext,
`unit_include` longtext,
`xml` longtext,
`bdnum` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中:
- id 标识该笔画id
- code 表示该笔画唯一
- name 该笔画的中文名字
- sample 包含该笔画的样例汉字
- unit_include 包含该笔画的部件,部件id组成,使用“-”分割
- xml 笔画的xml信息
- bdnum 数字,包含该笔画的笔段数量,例如横折,有两个笔段