summaryrefslogtreecommitdiff
path: root/lisp/ps-bdf.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/ps-bdf.el')
-rw-r--r--lisp/ps-bdf.el26
1 files changed, 14 insertions, 12 deletions
diff --git a/lisp/ps-bdf.el b/lisp/ps-bdf.el
index 056438a2bc5..6cc23f7bf6b 100644
--- a/lisp/ps-bdf.el
+++ b/lisp/ps-bdf.el
@@ -272,18 +272,20 @@ CODE, where N and CODE are in the following relation:
(while (search-forward "\nSTARTCHAR" nil t)
(setq offset (line-beginning-position))
(search-forward "\nENCODING")
- (setq code (read (current-buffer))
- code0 (lsh code -8)
- code1 (logand code 255)
- min-code (min min-code code)
- max-code (max max-code code)
- min-code0 (min min-code0 code0)
- max-code0 (max max-code0 code0)
- min-code1 (min min-code1 code1)
- max-code1 (max max-code1 code1))
- (search-forward "ENDCHAR")
- (setq maxlen (max maxlen (- (point) offset))
- glyph-list (cons (cons code offset) glyph-list)))
+ (setq code (read (current-buffer)))
+ (if (< code 0)
+ (search-forward "ENDCHAR")
+ (setq code0 (lsh code -8)
+ code1 (logand code 255)
+ min-code (min min-code code)
+ max-code (max max-code code)
+ min-code0 (min min-code0 code0)
+ max-code0 (max max-code0 code0)
+ min-code1 (min min-code1 code1)
+ max-code1 (max max-code1 code1))
+ (search-forward "ENDCHAR")
+ (setq maxlen (max maxlen (- (point) offset))
+ glyph-list (cons (cons code offset) glyph-list))))
(setq code-range
(vector min-code0 max-code0 min-code1 max-code1