- WSF1 (feature author): the stroke source format, its checks, the pinned Q15 table of 64 unit vectors and the integer expansion into a polygon-only WOS1. - The ASCII stroke set, U+0020-U+007E, drawn here as integer centre lines; bundled as builtin::STROKE_ASCII with its SHA-256, which Annex B states. - The test repertoire: Arabic, Hebrew and Devanagari glyphs and a U+1F600 face, drawn here, with the joining table and the small shaper the corpus generator uses. - graphics-vector.md section 4, Annex A (WSF1, the table as bytes, the expansion) and Annex B (the digest). - vector-conformance: sources/, the two sets, the text group, and stroke-glyph members of runs and motion; the README's provenance line names the in-house sets. Co-Authored-By: Claude Opus 5.5 <[email protected]>
211 lines
6.1 KiB
JSON
211 lines
6.1 KiB
JSON
{
|
|
"header":{"magic":"WVG1","format":1,"tb":120000,"t0":0,"dur":240000,"design_w":320,"design_h":180,"n_sizes":1,"n_rates":1,"n_sets":1,"n_tables":1,"n_paints":5,"n_texts":5,"n_tracks":3,"n_paths":1,"n_items":8,"n_keys":7,"n_glyphs":71,"n_clusters":71,"path_contours":1,"path_points":4,"strings_len":81,"inline_len":0,"held_len":105523,"zero@72":[0,0,0,0,0,0,0,0]},
|
|
"sizes":[
|
|
{"w":320,"h":180,"cost":16863033}
|
|
],
|
|
"rates":[
|
|
{"num":25,"den":1}
|
|
],
|
|
"sets":[
|
|
{"carriage":0,"zero@1":[0,0,0],"length":105523,"sha256":"05476c4658ef7366c7700736487eac4c3c1b7d21264978c7d05bd4c7427736c9"}
|
|
],
|
|
"tables":[
|
|
[0,9000,17000,24000,30500,36000,41000,45500,49500,53000,56000,58500,60700,62500,64000,65000,65536]
|
|
],
|
|
"paints":[
|
|
[20,40,120,220],
|
|
[255,255,255,255],
|
|
[200,200,200,255],
|
|
[220,40,40,255],
|
|
[40,80,220,255]
|
|
],
|
|
"tracks":[
|
|
{"kind":2,"zero@1":0,"zero@2":0,"n_keys":2},
|
|
{"kind":1,"zero@1":0,"zero@2":0,"n_keys":3},
|
|
{"kind":2,"zero@1":0,"zero@2":0,"n_keys":2}
|
|
],
|
|
"keys":[
|
|
[0,-76800,2,[0,0,0]],
|
|
[48000,0,0,[0,0,0]],
|
|
[0,255,0,[0,0,0]],
|
|
[192000,255,1,[0,0,0]],
|
|
[240000,0,0,[0,0,0]],
|
|
[0,0,1,[0,0,0]],
|
|
[240000,-38400,0,[0,0,0]]
|
|
],
|
|
"paths":[
|
|
{"n_contours":1,"n_points":4,"zero@4":0,"xmin":12,"ymin":128,"xmax":236,"ymax":172}
|
|
],
|
|
"path_ends":[3],
|
|
"path_points":[
|
|
[12,128,0],
|
|
[236,128,0],
|
|
[236,172,0],
|
|
[12,172,0]
|
|
],
|
|
"texts":[
|
|
{"purpose":3,"dir":0,"lang_len":2,"mode":0,"group":1,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":10},
|
|
{"purpose":3,"dir":0,"lang_len":2,"mode":0,"group":1,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":28},
|
|
{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":14},
|
|
{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":7},
|
|
{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":12}
|
|
],
|
|
"items":[
|
|
{"kind":0,"rule":0,"zero@2":0,"ref":65535,"paint":65535,"text":65535,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":0,"t_off":240000,"unit_scale":0,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":0,"ty":65535,"op":1,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":2,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":65535,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":0,"t_off":240000,"unit_scale":16777216,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":1,"text":0,"zero@10":0,"n_glyphs":10,"n_clusters":10,"t_on":0,"t_off":240000,"unit_scale":196608,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":2,"text":1,"zero@10":0,"n_glyphs":28,"n_clusters":28,"t_on":0,"t_off":240000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":1,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":0,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":0,"t_off":0,"unit_scale":0,"m00":0,"m01":0,"m10":0,"m11":0,"tx":0,"ty":0,"op":0,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":1,"text":2,"zero@10":0,"n_glyphs":14,"n_clusters":14,"t_on":0,"t_off":240000,"unit_scale":196608,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":2,"op":65535,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":3,"text":3,"zero@10":0,"n_glyphs":7,"n_clusters":7,"t_on":0,"t_off":240000,"unit_scale":196608,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":2,"op":65535,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":4,"text":4,"zero@10":0,"n_glyphs":12,"n_clusters":12,"t_on":0,"t_off":240000,"unit_scale":196608,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":2,"op":65535,"zero@42":[0,0,0,0,0,0]}
|
|
],
|
|
"glyphs":[
|
|
[83,0,5120,37888],
|
|
[116,0,8570,37888],
|
|
[114,0,10730,37888],
|
|
[111,0,13010,37888],
|
|
[107,0,16370,37888],
|
|
[101,0,19370,37888],
|
|
[32,0,22610,37888],
|
|
[115,0,24410,37888],
|
|
[101,0,27230,37888],
|
|
[116,0,30470,37888],
|
|
[73,0,5120,41984],
|
|
[110,0,6160,41984],
|
|
[116,0,8400,41984],
|
|
[101,0,9840,41984],
|
|
[103,0,12000,41984],
|
|
[101,0,14200,41984],
|
|
[114,0,16360,41984],
|
|
[32,0,17880,41984],
|
|
[111,0,19080,41984],
|
|
[117,0,21320,41984],
|
|
[116,0,23560,41984],
|
|
[108,0,25000,41984],
|
|
[105,0,25960,41984],
|
|
[110,0,26920,41984],
|
|
[101,0,29160,41984],
|
|
[115,0,31320,41984],
|
|
[44,0,33200,41984],
|
|
[32,0,34080,41984],
|
|
[100,0,35280,41984],
|
|
[114,0,37520,41984],
|
|
[97,0,39040,41984],
|
|
[119,0,41200,41984],
|
|
[110,0,44200,41984],
|
|
[32,0,46440,41984],
|
|
[104,0,47640,41984],
|
|
[101,0,49880,41984],
|
|
[114,0,52040,41984],
|
|
[101,0,53560,41984],
|
|
[79,0,22270,23040],
|
|
[112,0,26530,23040],
|
|
[101,0,29890,23040],
|
|
[110,0,33130,23040],
|
|
[105,0,36490,23040],
|
|
[110,0,37930,23040],
|
|
[103,0,41290,23040],
|
|
[32,0,44590,23040],
|
|
[116,0,46390,23040],
|
|
[105,0,48550,23040],
|
|
[116,0,49990,23040],
|
|
[108,0,52150,23040],
|
|
[101,0,53590,23040],
|
|
[115,0,56830,23040],
|
|
[67,0,31360,31744],
|
|
[114,0,35260,31744],
|
|
[101,0,37540,31744],
|
|
[100,0,40780,31744],
|
|
[105,0,44140,31744],
|
|
[116,0,45580,31744],
|
|
[115,0,47740,31744],
|
|
[76,0,24085,40448],
|
|
[111,0,27235,40448],
|
|
[119,0,30595,40448],
|
|
[101,0,35095,40448],
|
|
[114,0,38335,40448],
|
|
[32,0,40615,40448],
|
|
[116,0,42415,40448],
|
|
[104,0,44575,40448],
|
|
[105,0,47935,40448],
|
|
[114,0,49375,40448],
|
|
[100,0,51655,40448],
|
|
[115,0,55015,40448]
|
|
],
|
|
"clusters":[
|
|
[1,0,0,1],
|
|
[1,0,1,1],
|
|
[1,0,2,1],
|
|
[1,0,3,1],
|
|
[1,0,4,1],
|
|
[1,0,5,1],
|
|
[1,0,6,1],
|
|
[1,0,7,1],
|
|
[1,0,8,1],
|
|
[1,0,9,1],
|
|
[1,0,0,1],
|
|
[1,0,1,1],
|
|
[1,0,2,1],
|
|
[1,0,3,1],
|
|
[1,0,4,1],
|
|
[1,0,5,1],
|
|
[1,0,6,1],
|
|
[1,0,7,1],
|
|
[1,0,8,1],
|
|
[1,0,9,1],
|
|
[1,0,10,1],
|
|
[1,0,11,1],
|
|
[1,0,12,1],
|
|
[1,0,13,1],
|
|
[1,0,14,1],
|
|
[1,0,15,1],
|
|
[1,0,16,1],
|
|
[1,0,17,1],
|
|
[1,0,18,1],
|
|
[1,0,19,1],
|
|
[1,0,20,1],
|
|
[1,0,21,1],
|
|
[1,0,22,1],
|
|
[1,0,23,1],
|
|
[1,0,24,1],
|
|
[1,0,25,1],
|
|
[1,0,26,1],
|
|
[1,0,27,1],
|
|
[1,0,0,1],
|
|
[1,0,1,1],
|
|
[1,0,2,1],
|
|
[1,0,3,1],
|
|
[1,0,4,1],
|
|
[1,0,5,1],
|
|
[1,0,6,1],
|
|
[1,0,7,1],
|
|
[1,0,8,1],
|
|
[1,0,9,1],
|
|
[1,0,10,1],
|
|
[1,0,11,1],
|
|
[1,0,12,1],
|
|
[1,0,13,1],
|
|
[1,0,0,1],
|
|
[1,0,1,1],
|
|
[1,0,2,1],
|
|
[1,0,3,1],
|
|
[1,0,4,1],
|
|
[1,0,5,1],
|
|
[1,0,6,1],
|
|
[1,0,0,1],
|
|
[1,0,1,1],
|
|
[1,0,2,1],
|
|
[1,0,3,1],
|
|
[1,0,4,1],
|
|
[1,0,5,1],
|
|
[1,0,6,1],
|
|
[1,0,7,1],
|
|
[1,0,8,1],
|
|
[1,0,9,1],
|
|
[1,0,10,1],
|
|
[1,0,11,1]
|
|
],
|
|
"strings":"enStroke setenInteger outlines, drawn hereenOpening titlesenCreditsenLower thirds",
|
|
"inline":""
|
|
}
|