Function: hebrew-font-get-precomposed
hebrew-font-get-precomposed is a byte-compiled function defined in
hebrew.el.gz.
Signature
(hebrew-font-get-precomposed FONT-OBJECT)
Source Code
;; Defined in /usr/src/emacs/lisp/language/hebrew.el.gz
;; Return a nested alist of Hebrew character sequences vs the
;; corresponding glyph of FONT-OBJECT.
(defun hebrew-font-get-precomposed (font-object)
(let ((precomposed (font-get font-object 'hebrew-precomposed))
;; Vector of Hebrew precomposed characters.
(chars [#xFB2A #xFB2B #xFB2C #xFB2D #xFB2E #xFB2F #xFB30 #xFB31
#xFB32 #xFB33 #xFB34 #xFB35 #xFB36 #xFB38 #xFB39 #xFB3A
#xFB3B #xFB3C #xFB3E #xFB40 #xFB41 #xFB43 #xFB44 #xFB46
#xFB47 #xFB48 #xFB49 #xFB4A #xFB4B #xFB4C #xFB4D #xFB4E])
;; Vector of decomposition character sequences corresponding
;; to the above vector.
(decomposed
[[#x05E9 #x05C1]
[#x05E9 #x05C2]
[#x05E9 #x05BC #x05C1]
[#x05E9 #x05BC #x05C2]
[#x05D0 #x05B7]
[#x05D0 #x05B8]
[#x05D0 #x05BC]
[#x05D1 #x05BC]
[#x05D2 #x05BC]
[#x05D3 #x05BC]
[#x05D4 #x05BC]
[#x05D5 #x05BC]
[#x05D6 #x05BC]
[#x05D8 #x05BC]
[#x05D9 #x05BC]
[#x05DA #x05BC]
[#x05DB #x05BC]
[#x05DC #x05BC]
[#x05DE #x05BC]
[#x05E0 #x05BC]
[#x05E1 #x05BC]
[#x05E3 #x05BC]
[#x05E4 #x05BC]
[#x05E6 #x05BC]
[#x05E7 #x05BC]
[#x05E8 #x05BC]
[#x05E9 #x05BC]
[#x05EA #x05BC]
[#x05D5 #x05B9]
[#x05D1 #x05BF]
[#x05DB #x05BF]
[#x05E4 #x05BF]]))
(unless precomposed
(setq precomposed (list t))
(let ((gvec (font-get-glyphs font-object 0 (length chars) chars)))
(dotimes (i (length chars))
(if (aref gvec i)
(set-nested-alist (aref decomposed i) (aref gvec i)
precomposed))))
;; Cache the result in FONT-OBJECT's property.
(font-put font-object 'hebrew-precomposed precomposed))
precomposed))