(if (fix:< i1 n)
(let ((wb1 (get-wb i1)))
(cond ((select:extender wb1)
- (t1-!breaker wb0 i1 ctx))
+ (t1-!breaker (if (select:zwj wb0) wb1 wb0) i1 ctx))
((select:breaker wb1)
(t1-breaker wb1 i1 (break i1 ctx)))
(else
(define select:extender
(make-selector wb-names '(extend format zwj)))
+(define select:zwj
+ (make-selector wb-names '(zwj)))
+
(define wb-states
(make-vector (vector-length wb-names)
(lambda (wb1 wb2 k1 k2)
(#t #\x200D #t #\x1F3FB #t)
(#t #\x200D #f #\x0308 #t #\x1F3FB #t)
(#t #\x200D #f #\x2764 #t)
- ;; Not clear why this is correct:
- ;; (#t #\x200D #f #\x0308 #t #\x2764 #t)
+ (#t #\x200D #f #\x0308 #t #\x2764 #t)
(#t #\x200D #f #\x1F466 #t)
- ;; Not clear why this is correct:
- ;; (#t #\x200D #f #\x0308 #t #\x1F466 #t)
+ (#t #\x200D #f #\x0308 #t #\x1F466 #t)
(#t #\x200D #f #\x00AD #t)
(#t #\x200D #f #\x0308 #f #\x00AD #t)
(#t #\x200D #f #\x0300 #t)