;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313&\207" [require ps-print custom-declare-variable ps-multibyte-buffer funcall function #[0 "\300\207" [nil] 1 ""] "Specifies the multi-byte buffer handling.\n\nValid values are:\n\n  nil			  This is the value to use the default settings;\n			  by default, this only works to print buffers with\n			  only ASCII and Latin characters.   But this default\n			  setting can be changed by setting the variable\n			  `ps-mule-font-info-database-default' differently.\n			  The initial value of this variable is\n			  `ps-mule-font-info-database-latin' (see\n			  documentation).\n\n  `non-latin-printer'	  This is the value to use when you have a Japanese\n			  or Korean PostScript printer and want to print\n			  buffer with ASCII, Latin-1, Japanese (JISX0208 and\n			  JISX0201-Kana) and Korean characters.  At present,\n			  it was not tested with the Korean characters\n			  printing.  If you have a korean PostScript printer,\n			  please, test it.\n\n  `bdf-font'		  This is the value to use when you want to print\n			  buffer with BDF fonts.  BDF fonts include both latin\n			  and non-latin fonts.  BDF (Bitmap Distribution\n			  Format) is a format used for distributing X's font\n			  source file.  BDF fonts are included in\n			  `intlfonts-1.2' which is a collection of X11 fonts\n			  for all characters supported by Emacs.  In order to\n			  use this value, be sure to have installed\n			  `intlfonts-1.2' and set the variable\n			  `bdf-directory-list' appropriately (see ps-bdf.el for\n			  documentation of this variable).\n\n  `bdf-font-except-latin' This is like `bdf-font' except that it uses\n			  PostScript default fonts to print ASCII and Latin-1\n			  characters.  This is convenient when you want or\n			  need to use both latin and non-latin characters on\n			  the same buffer.  See `ps-font-family',\n			  `ps-header-font-family' and `ps-font-info-database'.\n\nAny other value is treated as nil." :type (choice (const non-latin-printer) (const bdf-font) (const bdf-font-except-latin) (const :tag "nil" nil)) :group ps-print-font] 8)#@1536 Alist of charsets with the corresponding font information.
Each element has the form:

	(CHARSET (FONT-TYPE FONT-SRC FONT-NAME ENCODING BYTES) ...)

Where

CHARSET is a charset (symbol) for this font family,

FONT-TYPE is a font type: normal, bold, italic, or bold-italic.

FONT-SRC is a font source: builtin, bdf, vflib, or nil.

  If FONT-SRC is builtin, FONT-NAME is a built-in PostScript font name.

  If FONT-SRC is bdf, FONT-NAME is a BDF font file name, or a list of
  alternative font names.  To use this font, the external library `ps-bdf'
  is required.

  If FONT-SRC is vflib, FONT-NAME is the name of a font that VFlib knows.
  To use this font, the external library `vflib' is required.

  If FONT-SRC is nil, a proper ASCII font in the variable
  `ps-font-info-database' is used.  This is useful for Latin-1 characters.

ENCODING is a coding system to encode a string of characters of CHARSET into a
proper string matching an encoding of the specified font.  ENCODING may be a
function that does this encoding.  In this case, the function is called with
one argument, the string to encode, and it should return an encoded string.

BYTES specifies how many bytes each character has in the encoded byte
sequence; it should be 1 or 2.

All multi-byte characters are printed by fonts specified in this database
regardless of a font family of ASCII characters.  The exception is Latin-1
characters which are printed by the same font as ASCII characters, thus obey
font family.

See also the variable `ps-font-info-database'.
(defvar ps-mule-font-info-database nil (#$ . 2211))#@68 Sample setting of `ps-mule-font-info-database' to use latin fonts.
(defconst ps-mule-font-info-database-latin '((iso-8859-1 (normal nil nil))) (#$ . 3803))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable ps-mule-font-info-database-default funcall function #[0 "\207" [ps-mule-font-info-database-latin] 1 ""] "The default setting to use when `ps-multibyte-buffer' is nil." :type (alist :key-type symbol :tag "Charset" :value-type (list (list (choice :tag "Font type" (const normal) (const bold) (const italic) (const bold-italic)) (choice :tag "Font source" (const builtin) (const bdf) (const vflib) (const nil)) (choice :tag "Font name" (const nil) string (repeat :tag "List" string)) (choice :tag "Encoding" (const nil) coding-system function) (choice :tag "Bytes" (const nil) (const 1) (const 2))))) :group ps-print-font] 8)#@149 Sample setting of the `ps-mule-font-info-database' to use builtin PS font.

Currently, data for Japanese and Korean PostScript printers are listed.
(defconst ps-mule-font-info-database-ps '((katakana-jisx0201 (normal builtin "Ryumin-Light.Katakana") (bold builtin "GothicBBB-Medium.Katakana") (bold-italic builtin "GothicBBB-Medium.Katakana")) (latin-jisx0201 (normal builtin "Ryumin-Light.Hankaku") (bold builtin "GothicBBB-Medium.Hankaku")) (japanese-jisx0208 (normal builtin "Ryumin-Light-H") (bold builtin "GothicBBB-Medium-H")) (korean-ksc5601 (normal builtin "Munhwa-Regular-KSC-EUC-H") (bold builtin "Munhwa-Bold-KSC-EUC-H"))) (#$ . 4676))#@489 Sample setting of the `ps-mule-font-info-database' to use BDF fonts.
BDF (Bitmap Distribution Format) is a format used for distributing X's font
source file.

Current default value list for BDF fonts is included in `intlfonts-1.2'
which is a collection of X11 fonts for all characters supported by Emacs.

Using this list as default value to `ps-mule-font-info-database', all
characters including ASCII and Latin-1 are printed by BDF fonts.

See also `ps-mule-font-info-database-ps-bdf'.
(defconst ps-mule-font-info-database-bdf '((iso-8859-1 (normal bdf ("lt1-24-etl.bdf" "etl24-latin1.bdf")) (bold bdf ("lt1-16b-etl.bdf" "etl16b-latin1.bdf")) (italic bdf ("lt1-16i-etl.bdf" "etl16i-latin1.bdf")) (bold-italic bdf ("lt1-16bi-etl.bdf" "etl16bi-latin1.bdf"))) (iso-8859-2 (normal bdf ("lt2-24-etl.bdf" "etl24-latin2.bdf"))) (iso-8859-3 (normal bdf ("lt3-24-etl.bdf" "etl24-latin3.bdf"))) (iso-8859-4 (normal bdf ("lt4-24-etl.bdf" "etl24-latin4.bdf"))) (thai-tis620 (normal bdf ("thai24.bdf" "thai-24.bdf") iso-8859-11)) (greek-iso8859-7 (normal bdf ("grk24-etl.bdf" "etl24-greek.bdf") iso-8859-7)) (hebrew-iso8859-8 (normal bdf ("heb24-etl.bdf" "etl24-hebrew.bdf") iso-8859-8)) (jisx0201 (normal bdf "12x24rk.bdf" jisx0201)) (cyrillic-iso8859-5 (normal bdf ("cyr24-etl.bdf" "etl24-cyrillic.bdf") iso-8859-5)) (iso-8859-9 (normal bdf ("lt5-24-etl.bdf" "etl24-latin5.bdf") iso-8859-9)) (chinese-gb2312 (normal bdf "gb24st.bdf")) (japanese-jisx0208 (normal bdf "jiskan24.bdf")) (korean-ksc5601 (normal bdf "hanglm24.bdf")) (japanese-jisx0212 (normal bdf ("jksp40.bdf" "jisksp40.bdf"))) (chinese-cns11643-1 (normal bdf ("cns1-40.bdf" "cns-1-40.bdf"))) (chinese-cns11643-2 (normal bdf ("cns2-40.bdf" "cns-2-40.bdf"))) (big5 (normal bdf "taipei24.bdf")) (chinese-sisheng (normal bdf ("sish24-etl.bdf" "etl24-sisheng.bdf"))) (ipa (normal bdf ("ipa24-etl.bdf" "etl24-ipa.bdf") ipa)) (viscii (normal bdf ("visc24-etl.bdf" "etl24-viscii.bdf"))) (arabic-digit (normal bdf ("arab24-0-etl.bdf" "etl24-arabic0.bdf"))) (arabic-1-column (normal bdf ("arab24-1-etl.bdf" "etl24-arabic1.bdf"))) (lao (normal bdf ("lao24-mule.bdf" "mule-lao-24.bdf") ps-mule-encode-lao 1)) (arabic-2-column (normal bdf ("arab24-2-etl.bdf" "etl24-arabic2.bdf"))) (devanagari-cdac (normal bdf "dvsr0ntt-32.bdf")) (malayalam-cdac (normal bdf "mlkr0ntt-32.bdf")) (tamil-cdac (normal bdf "tmvl0ntt-32.bdf")) (indian-is13194 (normal bdf ("isci24-mule.bdf" "mule-iscii-24.bdf"))) (indian-1-column (normal bdf ("ind1c24-mule.bdf" "mule-indian-1col-24.bdf"))) (ethiopic (normal bdf ("ethio16f-uni.bdf" "ethiomx24f-uni.bdf") unicode-bmp)) (chinese-cns11643-3 (normal bdf ("cns3-40.bdf" "cns-3-40.bdf"))) (chinese-cns11643-4 (normal bdf ("cns4-40.bdf" "cns-4-40.bdf"))) (chinese-cns11643-5 (normal bdf ("cns5-40.bdf" "cns-5-40.bdf"))) (chinese-cns11643-6 (normal bdf ("cns6-40.bdf" "cns-6-40.bdf"))) (chinese-cns11643-7 (normal bdf ("cns7-40.bdf" "cns-7-40.bdf"))) (indian-2-column (normal bdf ("ind24-mule.bdf" "mule-indian-24.bdf"))) (tibetan (normal bdf ("tib24p-mule.bdf" "tib24-mule.bdf" "mule-tibmdx-24.bdf"))) (unicode-bmp (normal bdf "etl24-unicode.bdf"))) (#$ . 5329))#@528 Sample setting of the `ps-mule-font-info-database' to use BDF fonts.

Current default value list for BDF fonts is included in `intlfonts-1.2'
which is a collection of X11 fonts for all characters supported by Emacs.

Using this list as default value to `ps-mule-font-info-database', all
characters except ASCII and Latin-1 characters are printed with BDF fonts.
ASCII and Latin-1 characters are printed with PostScript font specified
by `ps-font-family' and `ps-header-font-family'.

See also `ps-mule-font-info-database-bdf'.
(defconst ps-mule-font-info-database-ps-bdf (byte-code "@	AAB\207" [ps-mule-font-info-database-latin ps-mule-font-info-database-bdf] 2) (#$ . 8464))#@18 

(fn FONT-SPEC)
(defalias 'ps-mule-font-spec-id #[257 "\211\300H\207" [0] 3 (#$ . 9146)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-id speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@18 

(fn FONT-SPEC)
(defalias 'ps-mule-font-spec-charset #[257 "\211\300H\207" [1] 3 (#$ . 9388)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-charset speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@18 

(fn FONT-SPEC)
(defalias 'ps-mule-font-spec-font-id #[257 "\211\300H\207" [2] 3 (#$ . 9640)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-font-id speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@18 

(fn FONT-SPEC)
(defalias 'ps-mule-font-spec-src #[257 "\211\300H\207" [3] 3 (#$ . 9892)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-src speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@18 

(fn FONT-SPEC)
(defalias 'ps-mule-font-spec-name #[257 "\211\300H\207" [4] 3 (#$ . 10136)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@23 

(fn FONT-SPEC NAME)
(defalias 'ps-mule-font-spec-set-name #[514 "\300I\207" [4] 5 (#$ . 10383)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-set-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@18 

(fn FONT-SPEC)
(defalias 'ps-mule-font-spec-encoding #[257 "\211\300H\207" [5] 3 (#$ . 10641)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-encoding speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@18 

(fn FONT-SPEC)
(defalias 'ps-mule-font-spec-bytes #[257 "\211\300H\207" [6] 3 (#$ . 10896)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-bytes speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@18 

(fn FONT-SPEC)
(defalias 'ps-mule-font-spec-extra #[257 "\211\300H\207" [7] 3 (#$ . 11145)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-extra speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@24 

(fn FONT-SPEC EXTRA)
(defalias 'ps-mule-font-spec-set-extra #[514 "\300I\207" [7] 5 (#$ . 11394)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-font-spec-set-extra speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@13 

(fn CHAR)
(defalias 'ps-mule-encode-lao #[257 "\211\300Z\207" [3552] 3 (#$ . 11655)])#@23 

(fn CHAR FONT-SPEC)
(defalias 'ps-mule-encode-char #[514 "\211\211\300H\262\301!\203 \302\"\207\303!\203 \211!\207\207" [5 charsetp encode-char fboundp] 6 (#$ . 11748)])
(defvar ps-mule-font-spec-tables nil)
(defconst ps-mule-font-number-to-type [0 1 2 3 1 0 0])#@235 Return a font spec for printing CHAR with FONT-SPEC-TABLE.

FONT-SPEC, if non-nil, is a font spec to try at first.

See the documentation of `ps-mule-font-spec-tables' for the
format of font spec.

(fn CHAR FONT-SPEC-TABLE FONT-SPEC)
(defalias 'ps-mule-get-font-spec #[771 "H\206W \211\300W\203 \301\302\"@A\206V \203+ \303\211\304H\262\"\203+ \206V \3052R \301\302\"\211\205O \211@\303@\"\203H \306\305A\"\210A\266\202\2023 \2620\206V \307I\207" [256 char-table-extra-slot 0 encode-char 1 tag throw t] 10 (#$ . 12028)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-get-font-spec speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@1276 Alist of external libraries information to support PostScript printing.
Each element has the form:

    (FONT-SRC FEATURE INITIALIZED-P PROLOGUE-FUNC
     CHECK-FUNC FONT-FUNC GLYPH-FUNC)

FONT-SRC is the font source: builtin, bdf, pcf, or vflib.

FEATURE is the feature that provide a facility to handle FONT-SRC.  Except for
`builtin' FONT-SRC, this feature is automatically `require'd before handling
FONT-SRC.  Currently, we only have the feature `ps-bdf'.

INITIALIZED-P indicates if this library is initialized or not.

PROLOGUE-FUNC is a function to generate PostScript code which define several
PostScript procedures that will be called by FONT-FUNC and GLYPHS-FUNC.  It is
called with no argument, and should return a list of strings.

CHECK-FUNC is a function to check if a font is available or not.
It is called with one argument FONT-SPEC, and should return non-nil if and
only if the font specified in FONT-SPEC is available.

FONT-FUNC is a function to generate PostScript code which define a new font.
It is called with one argument FONT-SPEC, and should return a list of strings.

GLYPH-FUNC is a function to generate PostScript code which define glyphs of
characters.  It is called with two arguments FONT-SPEC and CODE, and should
return a list of strings.
(defconst ps-mule-external-libraries '((builtin nil nil nil nil nil nil) (bdf ps-bdf nil bdf-generate-prologue bdf-check-font bdf-generate-font bdf-generate-glyph) (pcf nil nil pcf-generate-prologue pcf-check-font pcf-generate-font pcf-generate-glyph) (vflib nil nil vflib-generate-prologue vflib-check-font vflib-generate-font vflib-generate-glyphs)) (#$ . 12721))#@14 

(fn EXLIB)
(defalias 'ps-mule-exlib-feature #[257 "\211A@\207" [] 2 (#$ . 14367)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-exlib-feature speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@14 

(fn EXLIB)
(defalias 'ps-mule-exlib-initialized-p #[257 "\3008\207" [2] 3 (#$ . 14604)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-exlib-initialized-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@18 

(fn EXLIB VAL)
(defalias 'ps-mule-exlib-set-initialized-p #[514 "AA\240\207" [] 4 (#$ . 14854)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-exlib-set-initialized-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@14 

(fn EXLIB)
(defalias 'ps-mule-exlib-prologue #[257 "\3008\207" [3] 3 (#$ . 15117)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-exlib-prologue speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@14 

(fn EXLIB)
(defalias 'ps-mule-exlib-check #[257 "\3008\207" [4] 3 (#$ . 15357)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-exlib-check speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@14 

(fn EXLIB)
(defalias 'ps-mule-exlib-font #[257 "\3008\207" [5] 3 (#$ . 15591)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-exlib-font speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@14 

(fn EXLIB)
(defalias 'ps-mule-exlib-glyph #[257 "\3008\207" [6] 3 (#$ . 15823)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ps-mule-exlib-glyph speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@160 Initialize external library specified by EXLIB for PostScript printing.
See the documentation of `ps-mule-external-libraries' for EXLIB's meaning.

(fn EXLIB)
(defalias 'ps-mule-init-external-library #[257 "\211\3008\262\2062 \211\3018\262\211\203' \211A@\262\211\203! \302!\210\303 !\266\304AA\240\266\202\262\207" [2 3 require ps-output-prologue t] 6 (#$ . 16058)])
(defvar ps-mule-output-list nil)#@77 Check if a font specified in FONT-SPEC is available or not.

(fn FONT-SPEC)
(defalias 'ps-mule-check-font #[257 "\211\211\301H\262\211?\206& \211\236\302!\210\211\3038\262?\206$ \211\3038\262!\262\207" [ps-mule-external-libraries 3 ps-mule-init-external-library 4] 6 (#$ . 16477)])#@89 Generate PostScript codes defining a new font of FONT-SPEC for charset.

(fn FONT-SPEC)
(defalias 'ps-mule-prepare-font #[257 "\211\211\302H\262\211\236\211\303H\262\304\305\"\3068\262\307\203' !\262\202A \304\310	\211\311H\262\2065 \312#\262\313\314I\266\211\205I 	C\244\207" [ps-mule-external-libraries ps-mule-output-list 3 0 format "%02X" 5 nil "/F%s /%s findfont def\n" 4 "Courier" t 7] 13 (#$ . 16773)])#@237 Generate PostScript codes to print CHAR by FONT-SPEC.

If CHAR is a cons (FROM TO), generate codes for characters
specified by the character code range FROM and TO.

The generated code is inserted on prologue part.

(fn CHAR FONT-SPEC)
(defalias 'ps-mule-prepare-glyph #[514 "\301!\205\\ \211\211\302H\262\204 \303!\210\211\211\304H\262\236\3058\262\211\205Z \306\211\211:\2037 @\262A\262\202= \262\262X\205X \"\262\211\203Q \307!\210T\262\202= \266\203\262\207" [ps-mule-external-libraries vectorp 7 ps-mule-prepare-font 3 6 nil ps-output-prologue] 9 (#$ . 17212)])#@53 PostScript code for printing multi-byte characters.
(defconst ps-mule-prologue "%%%% Start of Mule Section\n\n/Latin1Encoding {	% newname fontname  |  font\n    findfont dup length dict begin\n	{ 1 index /FID ne { def } { pop pop } ifelse } forall\n        /Encoding ISOLatin1Encoding def\n	currentdict\n    end\n    definefont\n} bind def\n\n%% Redefine fonts for multiple charsets.\n/ReDefFont {		     % fontname encoding fdepvector size  |  -\n  20 dict begin\n  3 index findfont {\n    1 index /FID ne 2 index /UniqueID ne and {def} {pop pop} ifelse\n  } forall\n  /FontType 0 def\n  /FMapType 3 def\n  /EscChar 0 def\n  % FontMatrix ::= [ size 0 0 size 0 0 ]\n  /FontMatrix exch [ exch dup 0 exch 0 exch 0 0 ] def\n  /FDepVector exch def\n  /Encoding exch def\n  currentdict\n  end			% fontname dic\n  definefont pop\n} bind def\n" (#$ . 17811))
(defvar ps-mule-prologue-generated nil)
(defconst ps-mule-esc-char 0)
(defalias 'ps-mule-prologue-generated #[0 "?\205 \303	!\210\303\304\305\n\"!\210\306\211\207" [ps-mule-prologue-generated ps-mule-prologue ps-mule-esc-char ps-output-prologue format "\n/EscChar %d def\n\n%%%% End of Mule Section\n\n" t] 4])#@222 Generate PostScript code for plotting characters in the region FROM and TO.

FONT-SPEC-TABLE is 0, 1, 2, 3, 4, 5, or 6, each represents font tags f0, f1,
f2, f3, h0, h1, and H0 respectively.

(fn FROM TO FONT-SPEC-TABLE)
(defalias 'ps-mule-encode-region #[771 "\301\302\301b\210`W\2039g\211H\206g \211\303W\203' \304\302\"@A\206f \203; \305\211\306H\262\"\203; \206f \3072b \304\302\"\211\205_ \211@\305@\"\203X \310\307A\"\210A\266\202\202C \2620\206f \311I\266\203\301\312!\203{ \211\313H\262\262\202\345 \314\262\301H\206\331 \211\303W\203\231 \304\302\"@A\206\330 \203\255 \305\211\306H\262\"\203\255 \206\330 \3072\324 \304\302\"\211\205\321 \211@\305@\"\203\312 \310\307A\"\210A\266\202\202\265 \2620\206\330 \311I\266\203\262\211\313H\262\262U\204\370 \211\262B\262B\262\262\315W\203	B\262\2022\316\"\211\317H\262\306U\203#\211B\262\210\2022\211\303\245B\262\211\303\246B\262\210\306u\266\202 \320\321\237\"\207" [ps-mule-esc-char nil 0 256 char-table-extra-slot encode-char 1 tag throw t vectorp 2 63 128 ps-mule-encode-char 6 apply unibyte-string] 19 (#$ . 18982)])#@107 Generate PostScript code for plotting COMPOSITION with FONT-SPEC-TABLE.

(fn COMPOSITION FONT-SPEC-TABLE)
(defalias 'ps-mule-plot-composition #[514 "\301\302!\210\303\3048!\305G\306\211W\203~H\305:\203) \301\307\310\311!\"!\266\202wH\206\205 \211\312W\203E \313\306\"@A\206\204 \203Y \314\211\315H\262\"\203Y \206\204 \3162\200 \313\306\"\211\205} \211@\314@\"\203v \317\316A\"\210A\266\202\202a \2620\206\204 \320I\266\203\262\321!\204\362 \322\262H\206\356 \211\312W\203\256 \313\306\"@A\206\355 \203\302 \314\211\315H\262\"\203\302 \206\355 \3162\351 \313\306\"\211\205\346 \211@\314@\"\203\337 \317\316A\"\210A\266\202\202\312 \2620\206\355 \320I\266\203\262\211\262\211\323H\262\324\"\211\304H\262\325\306U\203\315\202\304\\\306\"\306U\203%\211\306I\210\202K\211\306I\210\211\315I\210\315U\203=\211\304I\210\202K\211\304\312\245I\210\211\326\312\246I\210\301\302!\210\327!\210\301	\211\326H\262\330=\203o\307\331\211\306H\262	#\202p\332!\210\301\333!\266\211T\262\202 \266\301\334\3268\203\214\335\202\215\336\337#\207" [ps-mule-esc-char ps-output "[" copy-sequence 2 nil 0 format " %d" encode-composition-rule 256 char-table-extra-slot encode-char 1 tag throw t vectorp 63 6 ps-mule-encode-char make-string 3 ps-output-string bdf "/C%02X-%X" "false" "]" " ] " "RLC" "RBC" "\n"] 18 (#$ . 20148)])#@287 Generate PostScript code for plotting characters in the region FROM and TO.

Optional argument BG-COLOR is ignored.

Returns the value:

	(ENDPOS . RUN-WIDTH)

Where ENDPOS is the end position of the sequence and RUN-WIDTH is the width of
the sequence.

(fn FROM TO &optional BG-COLOR)
(defalias 'ps-mule-plot-string #[770 "\304\211\305N\262`\306\307\310$\211\203  \311\3128\313H!\204  \211@\202! \313\307	\nHH\307\nb\210\204`Y\203\234 \nU\203D \262\202- \nW\203X \314\315\f`#!\210\316\317!\210\3208_\262\\W\203o \262\202- \321\"\210\\\262A@\262\nb\210\306`\307\310$\262\203\225 @\202\227 	\262\202- \322\323!\203\335 \313\225^`Z_\262\\W\203\321 \324Z\n\"\262\n_\\\262`\\\262\210\202- \\\262\211u\266\202- `W\203- \204- \325g!\262\\W\203\372 `\262\202\335 \\\262\326u\210\202\335 \nW\203\314\315\f#!\210\316\317!\210b\210B\207" [ps-mule-font-spec-tables ps-mule-font-number-to-type ps-current-font ps-width-remaining ps-font-for-text avg-char-width find-composition nil t vectorp 2 0 ps-output-string ps-mule-encode-region ps-output " S\n" 5 ps-mule-plot-composition looking-at "[ -ÿ]+" truncate char-width 1] 16 (#$ . 21557)])
(defvar ps-mule-composition-prologue-generated nil)#@53 PostScript code for printing character composition.
(defconst ps-mule-composition-prologue "%%%% Procedures for character composition.\n/RelativeCompositionSkip 0.4 def\n\n%% Get a bounding box (relative to currentpoint) of STR.\n/GetPathBox {			% [ str cname ]  |  -\n    dup 1 get dup false ne {\n	BitmapDict exch get /bmp exch def\n	%% bmp ::= [ DWIDTH WIDTH HEIGHT XOFF YOFF BITMAP RELATIVE-COMPOSE]\n	/LLY bmp 4 get def\n	/URY LLY bmp 2 get add def\n	/RelativeCompose bmp 6 get dup false ne {\n	    dup LLY le { pop 1 } { URY ge { -1 } { 0 } ifelse } ifelse\n	} {\n	    pop 0\n	} ifelse def\n	dup 0 get stringwidth pop dup /WIDTH exch def bmp 0 get div\n	dup LLY mul /LLY exch def\n	URY mul /URY exch def\n    } {\n	pop\n	dup 0 get stringwidth pop /WIDTH exch def\n	gsave 0 0 moveto\n	dup 0 get false charpath flattenpath pathbbox\n	/URY exch def pop /LLY exch def pop\n	grestore\n	/RelativeCompose 0 def\n    } ifelse\n} bind def\n\n%% Apply effects except for shadow and outline to the rectangle\n%% specified by TOP BOTTOM LEFT RIGHT.\n/SpecialEffect {		% --  |  --\n    currentpoint dup TOP add /yy exch def BOTTOM add /YY exch def\n    dup LEFT add /xx exch def RIGHT add /XX exch def\n    %% Adjust positions for future shadowing.\n    Effect 8 and 0 ne {\n	/yy yy Yshadow add def\n	/XX XX Xshadow add def\n    } if\n    Effect 1 and 0 ne { UnderlinePosition Hline } if	% underline\n    Effect 2 and 0 ne { StrikeoutPosition Hline } if	% strikeout\n    Effect 4 and 0 ne { OverlinePosition  Hline } if	% overline\n    bg {						% background\n	true\n	Effect 16 and 0 ne {SpaceBackground doBox} { xx yy XX YY doRect} ifelse\n    } if\n    Effect 16 and 0 ne { false 0 doBox } if		% box\n} def\n\n%% Draw COMPONENTS which has the form [ [str0 xoff0 yoff0] ... ] with\n%% effects shadow and outline.\n/ShowComponents {		% components  |  -\n    gsave\n    { 	gsave aload pop rmoveto\n	Effect 8 and 0 ne { dup doShadow } if\n	Effect 32 and 0 ne { true doOutline } { show } ifelse\n	grestore\n    } forall\n    grestore\n    RIGHT 0 rmoveto\n} def\n\n%% Show relative composition.\n/RLC {	       % [[str0 cname0] [str1 cname1] ... [strN cnameN]]  |  -\n    /components exch def\n    [ 				% push [str xoff yoff] one by one\n    [ components 0 get GetPathBox aload pop pop 0 0 ]\n    %% Bounding box of overall glyphs.\n    /LEFT 0 def\n    /RIGHT WIDTH def\n    /TOP URY def\n    /BOTTOM LLY def\n\n    1 1 components length 1 sub {\n	components exch get\n	[ exch\n	    GetPathBox\n	    aload pop pop				% str\n	    0						% xoff\n	    RelativeCompose 1 eq {	    % compose on TOP\n		TOP LLY sub RelativeCompositionSkip add	% yoff\n		/TOP TOP URY LLY sub add RelativeCompositionSkip add def\n	    } { RelativeCompose -1 eq {	% compose under BOTTOM\n		BOTTOM URY sub RelativeCompositionSkip sub % yoff\n		/BOTTOM BOTTOM URY LLY sub sub\n		RelativeCompositionSkip sub def\n	    } {\n		0					% yoff\n		URY TOP gt { /TOP URY def } if\n		LLY BOTTOM lt { /BOTTOM LLY def } if\n	    } ifelse } ifelse\n	]\n    } for\n    ]\n    SpecialEffect		% Reflect special effects.\n    ShowComponents		% Draw components.\n} def\n\n%% Show rule-base composition.\n/RBC { % [[str0 cname0] rule1 [str1 cname0] rule2 ... [strN cnameN]]  |  -\n    /components exch def\n    [ 				% push [str xoff yoff] one by one\n    [ components 0 get GetPathBox aload pop pop 0 0 ]\n    %% Bounding box of overall glyphs.\n    /LEFT 0 def\n    /RIGHT WIDTH def\n    /TOP URY def\n    /BOTTOM LLY def\n    1 1 components length 1 sub {\n	components exch get /elt exch def\n	elt type /integertype eq {			% rule\n	    %% Do the same RULE decoding as the macro\n	    %% COMPOSITION_DECODE_RULE in emacs/src/composite.h.\n	    elt 12 idiv dup 3 mod /grefx exch def 3 idiv /grefy exch def\n	    elt 12 mod dup 3 mod /nrefx exch def 3 idiv /nrefy exch def\n	} {						% other strings\n	    [\n	    elt GetPathBox\n	    aload pop pop\n	    /height URY LLY sub def\n	    /left LEFT [ 0 RIGHT LEFT sub dup 2 div exch ] grefx get add\n		[ 0 WIDTH 2 div WIDTH ] nrefx get sub def\n	    /bottom [ TOP 0 BOTTOM TOP BOTTOM add 2 div ] grefy get\n		[ height LLY neg 0 height 2 div ] nrefy get sub def\n	    %% Update bounding box\n	    left LEFT lt { /LEFT left def } if\n	    left WIDTH add RIGHT gt { /RIGHT left WIDTH add def } if\n	    bottom BOTTOM lt { /BOTTOM bottom def } if\n	    bottom height add TOP gt { /TOP bottom height add def } if\n	    left bottom LLY sub ]\n	} ifelse\n    } for\n    ]\n\n    LEFT 0 lt {			% Adjust xoff to the right.\n	dup { dup 1 get LEFT sub 1 exch put } forall\n	/RIGHT RIGHT LEFT sub def\n    } if\n\n    SpecialEffect		% Reflect special effects.\n    ShowComponents		% Draw components.\n} def\n\n%%%% End of procedures for character composition\n" (#$ . 22832))
(defalias 'ps-mule-composition-prologue-generated #[0 "?\205 \302 \210\303	!\210\304\211\207" [ps-mule-composition-prologue-generated ps-mule-composition-prologue ps-mule-prologue-generated ps-output-prologue t] 2])
(defvar ps-mule-bitmap-prologue-generated nil)
(defconst ps-mule-bitmap-prologue "%%%% Procedures for bitmap fonts.\n\n%% Create a base bitmap font.\n/NBF { % fontname fontsize relative-compose baseline-offset enc  |  --\n    11 dict begin\n    /FontType 3 def\n    /FontMatrix matrix def\n    /FontBBox [ 0 0 0 0 ] def\n    /Encoding exch def\n    /BaselineOffset exch def\n    /RelativeCompose exch def\n    /FontSize exch def\n    /FontMatrix [ 1 FontSize div 0 0 1 FontSize div 0 0 ] def\n    /BuildGlyph {		% fontdict charname  |  -\n	BitmapDict exch get /bmp exch def pop\n	%% bmp ::= [ DWIDTH WIDTH HEIGHT XOFF YOFF BITMAP RELATIVE-COMPOSE ]\n	/llx bmp 3 get def\n	/lly bmp 4 get def\n	/urx llx bmp 1 get add def\n	/ury lly bmp 2 get add def\n	bmp 0 get 0 llx lly urx ury setcachedevice\n	bmp 5 get length 0 gt {\n	    llx ury translate\n	    bmp 1 get bmp 2 get\n	    true [ 1 0 0 -1 0 0 ] { bmp 5 get } imagemask\n	} if\n    } bind def\n    /BuildChar { 		% fontdict byte  |  -\n	1 index /Encoding get exch get\n	1 index /BuildGlyph get exec\n    } bind def\n    dup currentdict end\n    definefont def\n} bind def\n\n%% Create a parent font of 8/8 mapping.\n/NPF {				% fontname encoding fdepvector  |  -\n    8 dict begin\n	/FontType 0 def\n	/FMapType 2 def\n	/FontMatrix matrix def\n	/FDepVector exch def\n	/Encoding exch def\n	dup currentdict\n    end\n    definefont def\n} bind def\n\n%%%% End of procedures for bitmap fonts.\n")
(defvar ps-mule-bitmap-dict-list nil)
(defvar ps-mule-bitmap-font-record nil)
(defalias 'ps-mule-generate-bitmap-prologue #[0 "?\205 \304\305\306\307\305\"C\207" [ps-mule-bitmap-prologue-generated ps-mule-bitmap-dict-list ps-mule-bitmap-font-record ps-mule-bitmap-prologue t nil make-vector 1024] 3])#@60 

(fn FONT-SPEC SIZE RELATIVE-COMPOSE BASELINE-OFFSET BBX)
(defalias 'ps-mule-generate-bitmap-font #[1285 "\211\302H\262\211\303H\262\304\305U\2035 \306\307\"\306\310\n\211\311H\262\"\306\312\n&E\262\202U \306\313\"C\306\314\"C\315\306\310\f\211\311H\262\"\306\316\211\211$\257\262\317\305U&I\210	\203m \207\320\321D\211B\207" [ps-mule-bitmap-font-record ps-mule-bitmap-dict-list 0 6 nil 1 format "/E%02X [ 0 1 255 {pop /.notdef} for ] def\n" "%%%% %s\n" 4 "/F%02X %f %S %d E%02X NBF\n" "/E%02X [ 0 1 255 { pop 0 } for ] def\n" "/V%02X [" " ] def\n" "/F%02X E%02X V%02X NPF\n" vector "/BitmapDict <<\n" ">> def\n"] 18 (#$ . 29562)])#@35 

(fn FONT-SPEC CHAR CODE BITMAP)
(defalias 'ps-mule-generate-bitmap-glyph #[1028 "\211\302H\262H\303\211\302H<\203\201 \304\245\304_\\\302H\236A\262\304\246\262\204v \305H@\305HA@\306\307\"\306\310\n\311H\312H\f\313H	&\306\314GS$E\262C\244\210\211\306\315\"C\244\210\302B	\302HBI\266\306\316\"\262\266\202\214 \305H\262\306\317\"\262	\306\320\n	$	AB\241\210\211\306\321	\f%AB\241\266\303\207" [ps-mule-bitmap-font-record ps-mule-bitmap-dict-list 0 nil 256 1 format "/E%04X [ 0 1 255 {pop /.notdef} for ] def\n" "/F%04X %f %S %d E%04X NBF\n" 2 3 4 "E%02X %d %d put\n" " F%04X" "%04X" "%02X" "/C%02X-%X %s\n" "E%s %d /C%02X-%X put\n"] 20 (#$ . 30242)])#@60 Initialize global data for printing multi-byte characters.
(defalias 'ps-mule-initialize #[0 "\304\211\304\305\306\"\207" [ps-mule-prologue-generated ps-mule-composition-prologue-generated ps-mule-bitmap-prologue-generated ps-mule-external-libraries nil mapcar #[257 "\211AA\300\240\207" [nil] 3 "\n\n(fn X)"]] 4 (#$ . 30959)])#@179 Generate PostScript code for plotting STRING by font FONTTAG.
FONTTAG should be a string "/h0", "/h1", "/L0", or "/H0".
Any other value is treated as "/H0".

(fn STRING FONTTAG)
(defalias 'ps-mule-encode-header-string #[514 "\302\303\304\"r\211q\210\305\306\"\216c\210\307ed	\310\267\202( \311\202) \312\202) \313\202) \314HH#*C\207" [ps-mule-font-spec-tables ps-mule-font-number-to-type generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] ps-mule-encode-region #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("/h0" 28 "/h1" 32 "/L0" 36)) 4 5 6 0] 10 (#$ . 31297)])#@151 Start printing job for multi-byte chars between FROM and TO.
It checks if all multi-byte characters in the region are printable or not.

(fn FROM TO)
(defalias 'ps-mule-begin-job #[514 "\306\"\204 \212b\210\307wU)\203 \310\311\211\207\312\313\n\314\267\2020 \2022 \f\2022 \2022 01\3151\236\204A \3161B1\317\320\321\"\322\211\321\323\3242\325\"!3\315\326\3153\"B\2113\211\203v \211@\2111\236\211\203n \211B\262\210A\266\202\202[ \2101\211\203\223 \211@\211@3>\204\214 \211B\262A\266\202\202y \210\211\237)\262\211\211\203\211@\317\320\321\"@\321\211\211A\211\203\211@\3278\262\3208\262\204\310 \262\330!\262\331\fA@\3328\n\n\206\336 \333\321&\262T\262\f\334!\203\n@\211\335\267\202\322\202\333\202\332\202\327\262I\210A\266\202\202\253 \210\322H\203v\327H\2044\327\333H\2062\332H\2062\322HI\210\333H\204B\333\322HI\210\332H\204P\332\333HI\210\322\211\320W\203pH	HBC\244I\210\211T\262\202Q\210T\262	\266A\266\202\202\232 \210\317\320\321\"4\336\337\340\333#\210\322\211\320W\203#\341\337!4I\210\342\322H#\210\322\211\343W\203\344\345H\321H\206	\211\346W\203\311\347\322\"@A\206\203\335\350\211\333H\262\"\203\335\206\3512\347\322\"\211\205\211@\350@\"\203\372\352\351A\"\210A\266\202\202\345\2620\206\353I\266\203!\204\354\355!\210\211T\262\202\246\266\211T\262\202\215\266\356 \210\306\"\2051\357 \207" [ps-basic-plot-string-function ps-encode-header-string-function ps-multibyte-buffer ps-mule-font-info-database-ps ps-mule-font-info-database-bdf ps-mule-font-info-database-ps-bdf find-composition " -" ps-basic-plot-string identity ps-mule-plot-string ps-mule-encode-header-string #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (non-latin-printer 36 bdf-font 40 bdf-font-except-latin 44)) iso-8859-1 (iso-8859-1 (normal nil nil)) make-vector 4 nil 0 copy-sequence get-language-info charset delq 3 charset-dimension vector 2 1 ps-mule-check-font #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (normal 248 bold 252 italic 256)) put font-spec-table char-table-extra-slots make-char-table set-char-table-extra-slot 12 vectorp " 0123456789/" 256 char-table-extra-slot encode-char tag throw t error "ASCII font not available" ps-mule-prologue-generated ps-mule-composition-prologue-generated ps-mule-font-info-database-default ps-mule-font-info-database current-language-environment charset-list ps-mule-font-spec-tables] 25 (#$ . 31975)])#@18 

(fn LIST TAIL)
(defalias 'ps-mule-restruct-output-list #[514 "\211\203' \211@\211<\203 \300\"\262\202  AB\241\210A\262A\266\202\202 \210\207" [ps-mule-restruct-output-list] 7 (#$ . 34567)])#@41 

(fn FONT-NUMBER FONTTAG SIZE PS-FONT)
(defalias 'ps-mule-redefine-font #[1028 "H\302	H\303\"\304@A\211\305H\262\203 \306\307#\202* \306\310	\211&\306\311\n\n%D!\207" [ps-mule-font-number-to-type ps-mule-font-spec-tables char-table-extra-slot 0 ps-output-prologue 3 format "/V%s VTOP%d def\n" "/V%s [ VTOP%d aload pop ] def\n\nV%s 0 /%s-latin1 /%s Latin1Encoding put\n" "/%s ETOP%d V%s %f ReDefFont\n"] 14 (#$ . 34776)])#@43 Finish printing job for multi-byte chars.
(defalias 'ps-mule-end-job #[0 "\306C\306C\307\211\310W\203 \311\312	H\"\210\211T\262\202 \210\313A\"\210\314A!)\266\307\211\310W\203\255 \315	H\307\"\316\211\211\203c \211@\211A\262\211\317H\262\203\\ \211\320H\262\211\307H\262BB\262A\266\202\2028 \210\237\262\314\321\322\"\321\323\"D!\210\307\211\203\225 \211@\314\321\324	@$!\210T\262A\266\202\202x \266\314\321\325\326\327\330##!\266\211T\262\202) \210\331\310\332\n\333\334\335\"$\210\331\336\337\333\334\340\"$\210\331\341\342\f\333\343\340\"$\210\344\211\345N\262\307\205\362 \331\321\346\"\333\344@@\"$\210A\262\211T\262\202\323 \207" [ps-mule-output-list ps-mule-font-spec-tables ps-header-title-font-size-internal ps-header-font-size-internal ps-footer-font-size-internal ps-font-size-internal t 0 4 map-char-table ps-mule-prepare-glyph ps-mule-restruct-output-list ps-output-prologue char-table-extra-slot nil 7 2 format "/ETOP%d 256 array def\n" "0 1 255 { ETOP%d exch 0 put } for\n" "ETOP%d %d %d put\n" "/VTOP%d [%s] def\n" mapconcat #[257 "\300\301A\"\207" [format "F%02X"] 4 "\n\n(fn X)"] " " ps-mule-redefine-font "h0" ps-font ps-font-for-header bold 5 "h1" normal 6 "H0" ps-font-for-footer ps-font-for-text fonts "f%d"] 13 (#$ . 35225)])
(provide 'ps-mule)
