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