summaryrefslogtreecommitdiff
path: root/Master/xemtex/gslib/winmaps.ps
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2005-12-28 00:07:27 +0000
committerKarl Berry <karl@freefriends.org>2005-12-28 00:07:27 +0000
commit30dd9f517c9c093ff3319061647a4555264f7914 (patch)
tree0d7a349bf99be5a42cc9c5a80a30f3b7136c4ccd /Master/xemtex/gslib/winmaps.ps
parent08ab8dce83f53b0f915cb66a37bbc8478b22c307 (diff)
trunk
git-svn-id: svn://tug.org/texlive/trunk@9 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/xemtex/gslib/winmaps.ps')
-rw-r--r--Master/xemtex/gslib/winmaps.ps107
1 files changed, 107 insertions, 0 deletions
diff --git a/Master/xemtex/gslib/winmaps.ps b/Master/xemtex/gslib/winmaps.ps
new file mode 100644
index 00000000000..40939ce0282
--- /dev/null
+++ b/Master/xemtex/gslib/winmaps.ps
@@ -0,0 +1,107 @@
+% Copyright (C) 1993 Aladdin Enterprises. All rights reserved.
+%
+% This program is free software; you can redistribute it and/or modify it
+% under the terms of the GNU General Public License as published by the
+% Free Software Foundation; either version 2 of the License, or (at your
+% option) any later version.
+%
+% This program is distributed in the hope that it will be useful, but
+% WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+% Public License for more details.
+%
+% You should have received a copy of the GNU General Public License along
+% with this program; if not, write to the Free Software Foundation, Inc.,
+% 59 Temple Place, Suite 330, Boston, MA, 02111-1307.
+
+% $Id: winmaps.ps,v 1.2.6.1.2.1 2003/04/12 14:02:39 giles Exp $
+% winmaps.ps - make maps between PostScript encodings and Windows
+% character sets.
+
+% Define the two Windows encodings.
+
+/ANSIEncoding
+ ISOLatin1Encoding 256 array copy
+ dup 16#90 /.notdef put
+ 16#93 1 16#9f { 2 copy /.notdef put pop } for
+def
+
+/OEMEncoding [
+ /.notdef /.notdef /.notdef /heart /diamond /club /spade /bullet
+ 8 { /.notdef } repeat
+ /.notdef /.notdef /.notdef /.notdef /paragraph /section /.notdef /.notdef
+ /arrowup /arrowdown /arrowright /arrowleft /.notdef /arrowboth /.notdef /.notdef
+ StandardEncoding 32 96 getinterval aload pop
+ /Ccedilla /udieresis /eacute /acircumflex /adieresis /agrave /aring /ccedilla
+ /ecircumflex /edieresis /egrave /idieresis /igrave /Adieresis /Aring
+ /Eacute /ae /AE /ocircumflex /odieresis /ograve /ucircumflex /ugrave
+ /ydieresis /Odieresis /Udieresis /cent /sterling /yen /.notdef /florin
+ /aacute /iacute /oacute /uacute /ntilde /Ntilde /ordfeminine /ordmasculine
+ /questiondown /.notdef /logicalnot /onehalf /onequarter /exclamdown /guillemotleft /guillemotright
+ 48 { /.notdef } repeat
+ /alpha /beta /Gamma /Pi /Sigma /sigma /mu /tau
+ /Phi /Theta /Omega /delta /infinity /phi /element /intersection
+ /equivalence /plusminus /greaterequal /lessequal /integraltp /integralbt /divide /.notdef
+ /degree /dotmath /periodcentered /radical /.notdef /twosuperior /.notdef /.notdef
+] def
+
+% Utility procedures
+
+/invertencoding % <array> invertencoding <dict>
+ { 256 dict exch dup length 1 sub -1 0
+ { % stack: dict array index
+ 2 copy get /.notdef ne
+ { 2 copy get exch 3 index 3 1 roll put }
+ { pop }
+ ifelse
+ } for
+ pop
+ } def
+
+/pmarray 256 array def
+/printmap % <chars> <decode> printmap -
+ { mark 3 1 roll exch
+ { 2 copy known { 1 index exch get } { pop 0 } ifelse exch
+ }
+ forall pop
+ pmarray 0 counttomark 2 sub getinterval astore
+ ([) print dup length =only 0 exch (] = {\n ) exch
+ { exch print =only
+ 1 add 15 and dup 0 eq { (,\n ) } { (, ) } ifelse
+ }
+ forall pop pop (\n};\n) print pop
+ } def
+
+/decodeStd StandardEncoding invertencoding def
+/decodeISO ISOLatin1Encoding
+ % Remove the redundant characters
+ dup length array copy
+ [8#222 8#225 8#230 8#233 8#240] { 2 copy /.notdef put pop } forall
+invertencoding def
+/decodeSym SymbolEncoding invertencoding def
+
+/decodeANSI ANSIEncoding invertencoding def
+/decodeOEM OEMEncoding invertencoding def
+
+% Construct the map from Symbol to OEM.
+
+(\nprivate const byte far_data gs_map_symbol_to_oem) print
+SymbolEncoding decodeOEM printmap
+
+% Construct the map from ISOLatin1 to OEM.
+
+(\nprivate const byte far_data gs_map_iso_to_oem) print
+ISOLatin1Encoding decodeOEM printmap
+
+% Construct the map from Standard to ISOLatin1.
+
+(\nprivate const byte far_data gs_map_std_to_iso) print
+StandardEncoding decodeISO printmap
+
+% Construct the map from ISOLatin1 to Standard.
+% The Windows driver doesn't need this, but the X11 driver does.
+
+(\nprivate const byte far_data gs_map_iso_to_std) print
+ISOLatin1Encoding decodeStd printmap
+
+quit