|
|
|
@ -182,18 +182,16 @@
|
|
|
|
|
|
|
|
|
|
(define HB_FEATURE_GLOBAL_START 0)
|
|
|
|
|
(define HB_FEATURE_GLOBAL_END 4294967295)
|
|
|
|
|
(define (tag->hb-feature tag)
|
|
|
|
|
(define str (symbol->string tag))
|
|
|
|
|
(define bs (string->bytes/utf-8 str))
|
|
|
|
|
(unless (= (bytes-length bs) (string-length str))
|
|
|
|
|
(error 'invalid-tag-char))
|
|
|
|
|
(define (tag->hb-feature bs)
|
|
|
|
|
(unless (and (bytes? bs) (= (bytes-length bs) 4))
|
|
|
|
|
(raise-argument-error 'tag->hb-feature "4 bytes" bs))
|
|
|
|
|
(hb_feature_from_string bs))
|
|
|
|
|
|
|
|
|
|
(define liga_on (tag->hb-feature 'liga))
|
|
|
|
|
(define liga_on (tag->hb-feature #"liga"))
|
|
|
|
|
(define liga_off (make-hb_feature_t (->tag #"liga") 0 0 4294967295))
|
|
|
|
|
(define kern_on (tag->hb-feature 'kern))
|
|
|
|
|
(define kern_on (tag->hb-feature #"kern"))
|
|
|
|
|
(define kern_off (make-hb_feature_t (->tag #"kern") 0 0 4294967295))
|
|
|
|
|
(define onum_on (tag->hb-feature 'onum))
|
|
|
|
|
(define onum_on (tag->hb-feature #"onum"))
|
|
|
|
|
(define onum_off (make-hb_feature_t (->tag #"onum") 0 0 4294967295))
|
|
|
|
|
|
|
|
|
|
(define (shape font text [feats null])
|
|
|
|
|