You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
698 B
Racket
22 lines
698 B
Racket
#lang debug racket
|
|
|
|
(provide (all-defined-out))
|
|
|
|
(struct ttf-font (port decoded-tables src directory ft-face hb-font hb-buf crc get-head-table-proc)
|
|
#:transparent #:mutable)
|
|
|
|
(define (ft-face this)
|
|
(or (force (ttf-font-ft-face this)) (error 'ft-face-not-available)))
|
|
|
|
(define (font-directory this)
|
|
(or (force (ttf-font-directory this)) (error 'directory-not-available)))
|
|
|
|
(define (hb-font this)
|
|
(or (force (ttf-font-hb-font this)) (error 'hb-font-not-available)))
|
|
|
|
(define (hb-buf this)
|
|
(or (force (ttf-font-hb-buf this)) (error 'hp-buf-not-available)))
|
|
|
|
(struct glyph (id codepoints font is-mark? is-ligature? metrics) #:transparent #:mutable)
|
|
|
|
(struct ttf-glyph glyph () #:transparent) |