Unified · Split
| @@ -343,16 +343,20 @@ · 342 unmodified lines | |||
| 343 | {int16 glyphDataFormat unused (= 0)}) | 343 | {int16 glyphDataFormat unused (= 0)}) |
| 344 | #:tag "head") | 344 | #:tag "head") |
| 345 | 345 | ||
| 346 | (define record-fields | 346 | (mkcmplx TableMaxp |
| 347 | (list (cons 'field | 347 | (mkfields {Version16Dot16 version hex (= #x05000 #x10000)} |
| 348 | (list (~a "void *parsed;") (~a "void (*fprint)(int f, int indent, void *parsed);"))) | 348 | {uint16 numGlyphs} ; FIXME there are more fields here, depending on the version |
| 349 | (cons 'fprint | 349 | ) |
| 350 | (list (~a "if(v->fprint != nil && v->parsed != nil)") | 350 | #:tag "maxp") |
| 351 | (~a "\tv->fprint(f, indent+indentΔ, v->parsed);"))))) | ||
| 352 | 351 | ||
| 353 | (mkcmplx TableRecord | 352 | (mkcmplx TableRecord |
| 354 | (mkfields {Tag tableTag} {uint32 checksum hex} {Offset32 offset} {uint32 length}) | 353 | (mkfields {Tag tableTag} {uint32 checksum hex} {Offset32 offset} {uint32 length}) |
| 355 | #:extra record-fields) | 354 | #:extra (list (cons 'field |
| 355 | (list (~a "void *parsed;") | ||
| 356 | (~a "void (*fprint)(int f, int indent, void *parsed);"))) | ||
| 357 | (cons 'fprint | ||
| 358 | (list (~a "if(v->fprint != nil && v->parsed != nil)") | ||
| 359 | (~a "\tv->fprint(f, indent+indentΔ, v->parsed);"))))) | ||
| 356 | 360 | ||
| 357 | (define c-friendly-name identity) | 361 | (define c-friendly-name identity) |
| 358 | 362 | ||