;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\303\304!\210\305\302\306\307\310\311\312\313&\210\314>\203 \315\316 \"C\303\207" [system-type installation-directory bdf-directory-list require ps-mule custom-declare-variable (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "List of directories to search for `BDF' font files.\nThe default value is (\"/usr/local/share/emacs/fonts/bdf\")." :type (repeat :tag "BDF font directory list" (directory :tag "BDF font directory")) :group ps-print-miscellany (ms-dos windows-nt) expand-file-name "fonts/bdf"] 8)
#@141 Return an absolute path name of a `BDF' font file BDFNAME.
It searches directories listed in the variable `bdf-directory-list'
for BDFNAME.
(defalias 'bdf-expand-file-name #[(bdfname) "\305!\203 \306!\2058 \207\30728 \310\211\2056 @\311\n\"\306\f!\203- \312\307\f\"\210)A\211\204 \310*0\207" [bdfname bdf-directory-list dir --dolist-tail-- absolute-path file-name-absolute-p file-readable-p tag nil expand-file-name throw] 4 (#$ . 1026)])
#@109 Return modification time of FILENAME.
The value is a list of integers in the same format as `current-time'.
(defalias 'bdf-file-mod-time #[(filename) "\301\302!8\207" [filename 5 file-attributes] 3 (#$ . 1486)])
(put 'bdf-file-mod-time 'byte-optimizer 'byte-compile-inline-expand)
#@156 Return non-nil if and only if FILENAME is newer than MOD-TIME.
MOD-TIME is a modification time as a list of integers in the same
format as `current-time'.
(defalias 'bdf-file-newer-than-time #[(filename mod-time) "\303\304!8)\305\n \")\207" [filename new-mod-time mod-time 5 file-attributes time-less-p] 3 (#$ . 1775)])
#@123 Return a buffer visiting a bdf file BDFNAME.
BDFNAME must be an absolute file name.
If BDFNAME doesn't exist, return nil.
(defalias 'bdf-find-file #[(bdfname) "\303!\205 \304\305!\306r\nq\210\307!\210\n+\207" [bdfname coding-system-for-read buf file-readable-p generate-new-buffer " *bdf-work*" no-conversion insert-file-contents] 2 (#$ . 2106)])
#@68 Name of cache file which contains information of `BDF' font files.
(defvar bdf-cache-file (locate-user-emacs-file "bdfcache.el" ".bdfcache.el") (#$ . 2464))
#@317 Cached information of `BDF' font files. It is a list of FONT-INFO.
FONT-INFO is a list of the following format:
(ABSOLUTE-FILE-NAME MOD-TIME SIZE FONT-BOUNDING-BOX
RELATIVE-COMPOSE BASELINE-OFFSET CODE-RANGE MAXLEN OFFSET-VECTOR)
See the documentation of the function `bdf-read-font-info' for more detail.
(defvar bdf-cache nil (#$ . 2628))
#@180 Return a cached information about `BDF' font files from a cache file.
The variable `bdf-cache-file' holds the cache file name.
If the cache file is not readable, this return nil.
(defalias 'bdf-read-cache #[nil "\302\3031 \304 !\205 \305 !\210<\203 \202 \302\2110\207\210\302\207" [bdf-cache bdf-cache-file nil (error) file-readable-p load-file] 2 (#$ . 2986)])
#@190 Write out cached information of `BDF' font file to a file.
The variable `bdf-cache-file' holds the cache file name.
The file is written if and only if the file already exists and writable.
(defalias 'bdf-write-cache #[nil "\205 \302 !\205 \303 !\205 \304\305\306\"\307 #\207" [bdf-cache bdf-cache-file file-exists-p file-writable-p write-region format "(setq bdf-cache '%S)\n" nil] 4 (#$ . 3363)])
#@307 Cache FONT-INFO as information about one `BDF' font file.
FONT-INFO is a list of the following format:
(ABSOLUTE-FILE-NAME MOD-TIME SIZE FONT-BOUNDING-BOX
RELATIVE-COMPOSE BASELINE-OFFSET CODE-RANGE MAXLEN OFFSET-VECTOR)
See the documentation of the function `bdf-read-font-info' for more detail.
(defalias 'bdf-set-cache #[(font-info) "\303@ \"\211\203 \nA\241\202 B\211)\207" [font-info bdf-cache slot assoc] 4 (#$ . 3773)])
#@27 Initialize `bdf' library.
(defalias 'bdf-initialize #[nil "\300 \205 \301\302\303\"\207" [bdf-read-cache add-hook kill-emacs-hook bdf-write-cache] 3 (#$ . 4223)])
(defalias 'bdf-compact-code #[(code code-range) " \302HW\204 \303HV\203 \304H\305\306\" \307HZ \310H \311HZT_\312\313\" \311HZ\\\207" [code code-range 4 5 6 lsh -8 0 3 2 logand 255] 4])
(defalias 'bdf-expand-code #[(code code-range) "\303H\304HZT\n \245\305H\\\306_\n \246\304H\\\\)\207" [code-range code0-range code 3 2 0 256] 4])
(defalias 'bdf-search-and-read #[(match limit) "eb\210\302 \303#\205 \304\225b\210\305p!\207" [match limit search-forward t 0 read] 4])
#@1422 Read `BDF' font file BDFNAME and return information (FONT-INFO) of the file.
BDFNAME must be an absolute file name.
FONT-INFO is a list of the following format:
(BDFFILE MOD-TIME FONT-BOUNDING-BOX
RELATIVE-COMPOSE BASELINE-OFFSET CODE-RANGE MAXLEN OFFSET-VECTOR)
MOD-TIME is last modification time as a list of integers in the
same format as `current-time'.
SIZE is a size of the font on 72 dpi device. This value is got
from SIZE record of the font.
FONT-BOUNDING-BOX is the font bounding box as a list of four integers,
BBX-WIDTH, BBX-HEIGHT, BBX-XOFF, and BBX-YOFF.
RELATIVE-COMPOSE is an integer value of the font's property
`_MULE_RELATIVE_COMPOSE'. If the font doesn't have this property, the
value is 0.
BASELINE-OFFSET is an integer value of the font's property
`_MULE_BASELINE_OFFSET'. If the font doesn't have this property, the
value is 0.
CODE-RANGE is a vector of minimum 1st byte, maximum 1st byte, minimum
2nd byte, maximum 2nd byte, minimum code, maximum code, and default
code. For 1-byte fonts, the first two elements are 0.
MAXLEN is a maximum bytes of one glyph information in the font file.
OFFSET-VECTOR is a vector of a file position which starts bitmap data
of the glyph in the font file.
Nth element of OFFSET-VECTOR is a file position for the glyph of code
CODE, where N and CODE are in the following relation:
(bdf-compact-code CODE) => N, (bdf-expand-code N) => CODE
(defalias 'bdf-read-font-info #[(bdfname) "\306!\307\310\307\311\2114\311\21156\311\21178 \203' \312\313\"\210\202, \314\315\"\210\316\216r q\210eb\210\317\320!\210\321\322p!\322p!\322p!\322p!$\2115\323H\307V\203b \324\325\"\203b 5\3235\323H[I\210eb\210\317\326!\210\327\330!\203x \331\332\333!!\202\260 \317\334!\210\322p!\324\335\"\203\227
5\333H\323\245X\203\227 5\333H\322p!\2114\307V\203\260 4\336U\204\260
4_\336\245\337\340\311\"6\317\341!\210\342y\210`9\337\3439\"\206\311 \310\337\3449\"\206\323 \307)\345\211\346\307\211\211\311\211\211\211\211\211:;<=>?@ABCDE\317\341\311\347#\203k\350 :\317\351!\210\322p!\211;\307W\203\317\352!\210\202\371 \353;\354\"=\355;\356\"<C;^C@;]@E=^EB=]BD<^DA<]A\317\352!\210\n`:Z];:B>B>\202\371 \321EBDAC@6\206C&7\357\360@7\"T\311\"8>\203\257>@?>A>8\360?@7\"?AI\210\202\217.\312\361\"\210\211F\362\363F!8)
5\f7\n8\257 .\n\207" [bdfname buf maxlen relative-compose baseline-offset size bdf-find-file 0 false nil message "Reading %s..." error "BDF file %s doesn't exist" #[nil "\301!\207" [buf kill-buffer] 2] search-forward "\nFONTBOUNDINGBOX" vector read 3 string-match "jiskan\\(16\\|24\\)" "\nFONT " looking-at "-[^-]*-[^-]*-[^-]*-[^-]*-[^-]*-[^-]*-\\([0-9]+\\)" string-to-number match-string 1 "\nSIZE " "jiskan" 72 bdf-search-and-read "\nDEFAULT_CHAR" "\nSTARTCHAR" -1 "\n_MULE_RELATIVE_COMPOSE" "\n_MULE_BASELINE_OFFSET" 256 65536 t line-beginning-position "\nENCODING" "ENDCHAR" lsh -8 logand 255 make-vector bdf-compact-code "Reading %s...done" 5 file-attributes dpi font-bounding-box default-char code-range offset-vector limit offset code code1 code0 glyph-list glyph max-code max-code1 max-code0 min-code min-code1 min-code0 filename] 13 (#$ . 4879)])
(defalias 'bdf-info-absolute-path #[(font-info) "@\207" [font-info] 1])
(put 'bdf-info-absolute-path 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'bdf-info-mod-time #[(font-info) "A@\207" [font-info] 1])
(put 'bdf-info-mod-time 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'bdf-info-size #[(font-info) "\3018\207" [font-info 2] 2])
(put 'bdf-info-size 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'bdf-info-font-bounding-box #[(font-info) "\3018\207" [font-info 3] 2])
(put 'bdf-info-font-bounding-box 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'bdf-info-relative-compose #[(font-info) "\3018\207" [font-info 4] 2])
(put 'bdf-info-relative-compose 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'bdf-info-baseline-offset #[(font-info) "\3018\207" [font-info 5] 2])
(put 'bdf-info-baseline-offset 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'bdf-info-code-range #[(font-info) "\3018\207" [font-info 6] 2])
(put 'bdf-info-code-range 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'bdf-info-maxlen #[(font-info) "\3018\207" [font-info 7] 2])
(put 'bdf-info-maxlen 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'bdf-info-offset-vector #[(font-info) "\3018\207" [font-info 8] 2])
(put 'bdf-info-offset-vector 'byte-optimizer 'byte-compile-inline-expand)
#@337 Return information about `BDF' font file BDFNAME.
BDFNAME must be an absolute file name.
The value FONT-INFO is a list of the following format:
(BDFNAME MOD-TIME SIZE FONT-BOUNDING-BOX
RELATIVE-COMPOSE BASELINE-OFFSET CODE-RANGE MAXLEN OFFSET-VECTOR)
See the documentation of the function `bdf-read-font-info' for more detail.
(defalias 'bdf-get-font-info #[(bdfname) "\204 \303 \210\304 \"\211\203\" |