home *** CD-ROM | disk | FTP | other *** search
- ;
- ; PostScript font substitution map
- ;
- ; This file currently defines all the fonts included with
- ; Adobe Type Manager for Windows, the Adobe Plus Pack,
- ; Adobe Font Pack 1, as well as the Linguist fonts distributed
- ; with AutoCAD.
- ;
- *fonts
- ;
- ; The first column is the base name of the shape, compiled shape,
- ; or Adobe Type 1 font definition. The second column is the official
- ; PostScript name of the font. Trailing underscores should be
- ; ignored. For example, the file containing the font "AvantGarde-Demi"
- ; might be called AGD_____.PFB; the entry in the first column would
- ; be "agd". Following the long name, there may be other flags; currently
- ; the only flag interpreted by AutoCAD is ISO, which means the font is
- ; already ISO-encoded and does not need further remapping.
- ;
- ;
- agd AvantGarde-Demi
- agdo AvantGarde-DemiOblique
- agw AvantGarde-Book
- agwo AvantGarde-BookOblique
- bdps Bodoni-Poster
- bkd Bookman-Demi
- bkdi Bookman-DemiItalic
- bkl Bookman-Light
- bkli Bookman-LightItalic
- c Cottonwood
- cibt CityBlueprint
- cob Courier-Bold
- cobo Courier-BoldOblique
- cobt CountryBlueprint
- com Courier
- coo Courier-Oblique
- eur EuroRoman
- euro EuroRoman-Oblique
- fs FreestyleScript
- ho Hobo
- hv Helvetica
- hvb Helvetica-Bold
- hvbo Helvetica-BoldOblique
- hvn Helvetica-Narrow
- hvnb Helvetica-Narrow-Bold
- hvnbo Helvetica-Narrow-BoldOblique
- hvno Helvetica-Narrow-Oblique
- hvo Helvetica-Oblique
- lx Linotext
- ncb NewCenturySchlbk-Bold
- ncbi NewCenturySchlbk-BoldItalic
- nci NewCenturySchlbk-Italic
- ncr NewCenturySchlbk-Roman
- par PanRoman
- pob Palatino-Bold
- pobi Palatino-BoldItalic
- poi Palatino-Italic
- por Palatino-Roman
- rom Romantic
- romb Romantic-Bold
- romi Romantic-Italic
- sas SansSerif
- sasb SansSerif-Bold
- sasbo SansSerif-BoldOblique
- saso SansSerif-Oblique
- suf SuperFrench
- sy Symbol
- te Technic
- teb Technic-Bold
- tel Technic-Light
- tib Times-Bold
- tibi Times-BoldItalic
- tii Times-Italic
- tir Times-Roman
- tjrg Trajan-Regular
- vrb VAGRounded-Bold
- zcmi ZapfChancery-MediumItalic
- zd ZapfDingbats
- ;
- ; Some additional font mappings. To use any of these fonts,
- ; just remove the semicolon from the beginning of the line.
- ; These have not been tested by Autodesk, and are included as
- ; a convenience only.
- ;
- ;akj AksarJhar ISO
- ;ar Armenian ISO
- ;arlvi AradLevelVI ISO
- ;ay Ayudhya ISO
- ;ayb AyudhyaBold ISO
- ;ba Bangkok ISO
- ;chm ChangMai ISO
- ;chmb ChiangMaiBold ISO
- ;gr Graeca ISO
- ;gro GraecaOblique ISO
- ;gu Gujarati ISO
- ;he Hebraica ISO
- ;higj HiGwangJu ISO
- ;hii HiInchon ISO
- ;his HindiSanskrit ISO
- ;ho Hobo ISO
- ;ipa IPAsans ISO
- ;ipak IPAKiel ISO
- ;ipakb IPAKiel-Bold ISO
- ;khk KhunKrit ISO
- ;khkb KhunKrit-Bold ISO
- ;khkbi KhunKrit-BoldItalic ISO
- ;khki KhunKrit-Italic ISO
- ;la Laotian ISO
- ;nah NaayHaang ISO
- ;nahb NaayHaang-Bold ISO
- ;nahbi NaayHaang-BoldItalic ISO
- ;nahi NaayHaang-Italic ISO
- ;nehp NewHiPusan ISO
- ;nej NewJeju ISO
- ;nes NewSeoul ISO
- ;ph Phatphong ISO
- ;phb Phatphong-Bold ISO
- ;phbi Phatphong-BoldItalic ISO
- ;phi Phatphong-Italic ISO
- ;ro Romance ISO
- ;rob RomanceBold ISO
- ;roi RomanceItalic ISO
- ;se Semitica ISO
- ;seb SemiticaBold ISO
- ;sei SemiticaItalic ISO
- ;su Sukanya ISO
- ;sub Sukanya-Bold ISO
- ;tbc TbilisiCaps ISO
- ;tbt TbilisiText ISO
- ;th Thonburi ISO
- ;ti Tibetan ISO
- ;trc TransCyrillic ISO
- ;trcb TransCyrillic-Bold ISO
- ;trcbi TransCyrillic-BoldItalic ISO
- ;trci TransCyrillic-Italic ISO
- ;trcs TransCyrillicSans ISO
- ;trcsb TransCyrillicSans-Bold ISO
- ;trcsbo TransCyrillicSans-BoldOblique ISO
- ;trcso TransCyrillicSans-Oblique ISO
- ;vib VinaBook ISO
- ;vic VinaChan ISO
- ;vip VinaPala ISO
- ;vir VinaRoman ISO
- ;vis VinaSans ISO
- ;
- ; Font mappings to avoid downloading.
- ; These mappings are not supported, and, in some cases, may not
- ; produce proper results; use at your own risk. These mappings are
- ; included as a convenience only. To activate these, comment out the
- ; corresponding mapping above by inserting a semicolon (;) at the
- ; beginning of the line.
- ;
- ; Note also that if you completely comment out all entries for a font,
- ; then PSOUT will not attempt to convert the text to PostScript text
- ; entities, and will instead output them as (unfilled) outlines. This
- ; will result in larger .eps files, but for certain fonts, in particular
- ; stroke fonts such as City Blueprint, will look the same.
- ;
- saso Helvetica-Oblique
- sas Helvetica
- sasb Helvetica-Bold
- sasbo Helvetica-BoldOblique
- rom Times-Roman
- romb Times-Bold
- romi Times-Italic
- ;
- ; PostScript figure inclusion procedures
- ;
- ; Taken from PostScript manual verbatim
- *figureprologue
- /IncludeFig {
- /b4_Inc_state save def
- /dict_count countdictstack def
- /op_count count 1 sub def
- userdict begin
- /showpage {} def
- 0 setgray 0 setlinecap
- 1 setlinewidth 0 setlinejoin
- 10 setmiterlimit [] 0 setdash newpath
- /languagelevel where
- {pop languagelevel
- 1 ne
- {false setstrokeadjust false setoverprint
- }if
- }if
- }bind def
-
- ;
- ; % Args are llx lly urx ury (in figure coordinates)
- ;
- ;/clipFig {
- ; currentpoint 6 2 roll
- ; newpath 4 copy
- ; 4 2 roll moveto
- ; 6 -1 roll exch lineto
- ; exch lineto
- ; exch lineto
- ; closepath clip
- ; moveto
- ; } def
- ;
- ; % doclip, if called, will always be just after a `startfig'
- ;
- ; /doclip { llx lly urx ury clipFig } def
-
- /EndIncludeFig {
- count op_count sub {pop} repeat
- countdictstack dict_count sub {end} repeat
- b4_Inc_state restore
- } bind def
- ;
- *sampleprolog
- ; Sample PSPROLOG. Many other methods of implementation are possible.
- ;
- ; This entire section (without full-line comments)
- ; gets inserted into the PSOUT file after the
- ; AutoCAD generated transformations. Thus, this section can contain code
- ; to globally rotate, translate, and otherwise transform the image.
- ;
- ; To rotate an image, an example (for 8.5" high paper), include the
- ; instructions
- ;
- ; 0 8.5 72 mul translate % 8.5 inches times 72 pts per inch
- ; -90 rotate % Positive means counterclockwise
- ;
- ; Three functions are prime candidates for redefinition:
- ;
- ; ACADColor
- ; i r g b ACADColor -
- ; gets called every time the color changes. r, g, b are values from 0 to 1,
- ; while i is number from 1 to 254, corresponding to the ACAD color number.
- ; The default implementation is:
- ;/ACADColor { setrgbcolor pop } def
- ;
- ;
- ; ACADLayer
- ; name ACADLayer -
- ; gets called when the layer changes. The layer name is presented as a string.
- ; The default is to do nothing with this information; the default
- ; implementation is
- ;
- ;/ACADLayer { pop } def
- ;
- ; ACADLtype
- ; name pattern alignment ACADLtype -
- ; gets called when the line type changes. "name" is the name of the linetype,
- ; and could be used as a key into a dictionary. "pattern" is an array consisting
- ; of what AutoCAD refers to as the "dash-n" fields. "alignment" is the AutoCAD
- ; alignment specification, which at present is always the string (A).
- ; The default implementation is quite complicated.
- ;
- ; An example set of redefinitions follow.
- ;
- ; First, define a local dictionary; userdict certainly won't have enough
- ; space for big tables of colors.
- ;
- /SamplePrologDict 300 dict def
- ;
- ; n tocname --
- ; create a name "colorN" for later lookup. This approach doesn't
- ; make particularly readable names, but it is compact.
- SamplePrologDict begin
- /tocname {
- 6 string dup 0 (color) putinterval dup 5 4 -1 roll put cvn
- } bind def
-
- ; n routine color --
- ; defines a color entry, putting it in mydict.
- /color { exch tocname exch bind def } bind def
- end
- ;
- ; Now, the lookup.
- ; Note that is is VITAL to clear the stack in called routines; ACADColor will
- ; only take the garbage off if there is not a special entry for this color
- ; Note that ACADColor must _not_ be in SamplePrologDict.
-
- ;
- ; Note that the linewidth is scaled along with everything else. This
- ; might not be what you want! But the color and linetype and such are
- ; declared before the geometry is declared -- so we have to do a little
- ; magick to get it _really_ the way we want it.
- ;
- ;
- SamplePrologDict begin
- /_ACADLayer { ACADLayer } bind def
- /_ACADLtype { ACADLtype } bind def
- /_ACADColor {
- SamplePrologDict begin
- 3 index tocname dup
- SamplePrologDict exch known
- { cvx exec }
- { pop defaultcolor }
- ifelse
- end
- } bind def
- /acad-layer-known false def
- /acad-color-known false def
- /acad-linetype-known false def
- end
-
- /ACADLayer {
- SamplePrologDict begin
- /acad-layer exch def
- /acad-layer-known true def
- end
- } bind def
- /ACADColor {
- SamplePrologDict begin
- 4 array astore /acad-color exch def
- /acad-color-known true def
- end
- } bind def
- /ACADLtype {
- SamplePrologDict begin
- 3 array astore /acad-ltype exch def
- /acad-linetype-known true def
- end
- } bind def
-
- ; Now some example color defs.
- ; Make sure to put them in SamplePrologDict
- SamplePrologDict begin
- /scaledown { matrix currentmatrix 0 get div } bind def
- ; Color 1 just wants nice thin green lines.
- 1 { pop pop pop pop 0 scaledown setlinewidth 0 1 0 setrgbcolor } color
- ; Color 2 wants 36 point red lines
- 2 { pop pop pop pop 36 scaledown setlinewidth 1 0 0 setrgbcolor } color
- ; Everything else gets thin self-colored lines.
- /defaultcolor { 0 setlinewidth setrgbcolor pop } bind def
- end
- ; The next line is to make sure line widths are controlled only from the
- ; color-setting code.
- /setlinewidth { pop } def
-
-
- ; Now we redefine "stroke" so that it calls our procedures first.
- ; Notice that /stroke includes "stroke" in the definition; this is so
- ; that the old definition of stroke is used in the new definition -- and
- ; the "bind" makes it so. We do the same to "fill".
-
- /prestroke {
- SamplePrologDict begin
- acad-color-known {
- /acad-color-known false def
- acad-color aload pop _ACADColor
- } if
- acad-layer-known {
- /acad-layer-known false def
- acad-layer _ACADLayer
- } if
- acad-linetype-known {
- /acad-linetype-known false def
- acad-ltype aload pop _ACADLtype
- } if
- end
- } bind def
- /stroke { prestroke stroke } bind def
- /fill { prestroke fill } bind def
- ;
- ;
- ; End of sample prolog.
- ;
- ;
- ; PostScript ISO font re-mapping procedure
- ;
- *isofontprologue
- /reencodedict 12 dict def
-
- /ReEncode {
- reencodedict begin
- /newcodesandnames exch def
- /newfontname exch def
- /basefontname exch def
- /basefontdict basefontname findfont def
- /newfont basefontdict maxlength dict def
- basefontdict {
- exch dup /FID ne
- {dup /Encoding eq
- { exch dup length array copy newfont 3 1 roll put }
- { exch newfont 3 1 roll put }
- ifelse
- }
- { pop pop }
- ifelse
- } forall
- newfont /FontName newfontname put
- newcodesandnames aload pop
- newcodesandnames length 2 idiv
- { newfont /Encoding get 3 1 roll put }
- repeat
- newfontname newfont definefont pop
- end
- } def
-
- /ISO [
- 127 /degree
- 128 /plusminus
- 129 /emptyset
-
- % ISO characters moved here to avoid SEAC conflicts
- 130 /Aacute
- 131 /Acircumflex
- 132 /Atilde
- 133 /Adieresis
- 134 /Aring
- 135 /AE
- 136 /Ccedilla
- 137 /Egrave
- 138 /Eacute
- 139 /Ecircumflex
- 140 /Edieresis
- 141 /Igrave
- 142 /Iacute
- 143 /Icircumflex
- 144 /Idieresis
- % End ISO characters moved
-
- 145 /quoteleft
- 146 /quoteright
-
- % ISO character moved here to avoid SEAC conflicts
- 147 /otilde
- % End ISO character moved
-
- 160 /space
- 161 /exclamdown
- 162 /cent
- 163 /sterling
- 164 /currency
- 165 /yen
- 166 /bar
- 167 /section
- 168 /dieresis
- 169 /copyright
- 170 /ordfeminine
- 171 /guillemotleft
- 172 /logicalnot
- 173 /minus
- 174 /registered
- 175 /hyphen
- 176 /ring
- 177 /plusminus
- 178 /twosuperior
- 179 /threesuperior
- 180 /acute
- 181 /mu
- 182 /paragraph
- 183 /periodcentered
- 184 /cedilla
- 185 /onesuperior
- 186 /ordmasculine
- 187 /guillemotright
- 188 /onequarter
- 189 /onehalf
- 190 /threequarters
- 191 /questiondown
- 192 /Agrave
- ; Following ISO characters moved to avoid SEAC conflicts
- ; 193 /Aacute
- ; 194 /Acircumflex
- ; 195 /Atilde
- ; 196 /Adieresis
- ; 197 /Aring
- ; 198 /AE
- ; 199 /Ccedilla
- ; 200 /Egrave
- ; 201 /Eacute
- ; 202 /Ecircumflex
- ; 203 /Edieresis
- ; 204 /Igrave
- ; 205 /Iacute
- ; 206 /Icircumflex
- ; 207 /Idieresis
- ; Preceding ISO characters moved to avoid SEAC conflicts
- 208 /Eth
- 209 /Ntilde
- 210 /Ograve
- 211 /Oacute
- 212 /Ocircumflex
- 213 /Otilde
- 214 /Odieresis
- 215 /multiply
- 216 /Oslash
- 217 /Ugrave
- 218 /Uacute
- 219 /Ucircumflex
- 220 /Udieresis
- 221 /Yacute
- 222 /Thorn
- 223 /germandbls
- 224 /agrave
- 225 /aacute
- 226 /acircumflex
- 227 /atilde
- 228 /adieresis
- 229 /aring
- 230 /ae
- 231 /ccedilla
- 232 /egrave
- 233 /eacute
- 234 /ecircumflex
- 235 /edieresis
- 236 /igrave
- 237 /iacute
- 238 /icircumflex
- 239 /idieresis
- 240 /eth
- 241 /ntilde
- 242 /ograve
- 243 /oacute
- 244 /ocircumflex
- ; Following ISO character moved to avoid SEAC conflicts
- ; 245 /otilde
- ; Preceding ISO character moved to avoid SEAC conflicts
- 246 /odieresis
- 247 /divide
- 248 /oslash
- 249 /ugrave
- 250 /uacute
- 251 /ucircumflex
- 252 /udieresis
- 253 /yacute
- 254 /thorn
- 255 /ydieresis
- ] def
- def
-
-