groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Groff] Euro symbol in groff -- final solution for PostScript


From: Werner LEMBERG
Subject: [Groff] Euro symbol in groff -- final solution for PostScript
Date: Fri, 14 Dec 2001 21:05:17 +0100 (CET)

Dear friends,


attached are a Makefile, a macro file, and a test document which
implement the Euro in groff (note: you need the current CVS version
for the \n[.fn] register).  Basically, the following steps are
necessary (this is a temporary Unix solution; if nobody detects
serious flaws, I'll integrate it into groff):

  . Get the eurofont.exe file from Adobe's webserver.  Put the file
    together with the attached Makefile into a subdirectory.
    Additionally, copy your `DESC' and `download' files from the devps
    directory to this place.

  . Say `make'.  This creates a subdirectory `eurofont'.  Copy
    everything in it to groff's devps directory.

  . Run the test file eurotest.tr with

      groff eurotest.tr > eurotest.ps

    It will automatically load euro.tmac.


That's all!  The disadvantage of my previous solution was that
.fspecial loads the font description files immediately which is not
what I want.  Using the new \.[fn] register, euro.tmac is fully
extensible and configurable, and the fonts are loaded on demand only.

Enjoy!


    Werner
# This Makefile adds PostScript support for the Euro symbol in groff.
#
# Copy eurofont.exe (from Adobe's host), DESC, and download (the latter two
# files from an installed groff) to the same directory as this Makefile. 
# Say `make' and everything will be built in a subdirectory called eurofont. 
# Finally, move all files in `eurofont' to groff's `devps' directory
# (overwriting `download').

all: clean \
     make-euromap \
     make-eurosymbolmap \
     extract \
     filter \
     rename \
     convert \
     metrics \
     make-download

clean:
        -rm -rf eurofont
        -rm euro.map
        -rm eurosymbol.map

make-euromap:
        echo "Euro.001 Eu" > euro.map

make-eurosymbolmap:
        echo "Euro eu" > eurosymbol.map
        echo "Euro.001 Eu" >> eurosymbol.map

extract:
        unzip -L eurofont.exe

filter:
        (cd eurofont; \
        rm *.inf; \
        rm *.pfm; \
        rm readme.wri)

rename:
        (cd eurofont; \
        mv _1______.afm zpeurs.afm; \
        mv _1b_____.afm zpeubs.afm; \
        mv _1i_____.afm zpeuris.afm; \
        mv _1bi____.afm zpeubis.afm; \
        mv _2______.afm zpeurt.afm; \
        mv _2b_____.afm zpeubt.afm; \
        mv _2i_____.afm zpeurit.afm; \
        mv _2bi____.afm zpeubit.afm; \
        mv _3______.afm zpeur.afm; \
        mv _3b_____.afm zpeub.afm; \
        mv _3i_____.afm zpeuri.afm; \
        mv _3bi____.afm zpeubi.afm; \
        mv _1______.pfb zpeurs.pfb; \
        mv _1b_____.pfb zpeubs.pfb; \
        mv _1i_____.pfb zpeuris.pfb; \
        mv _1bi____.pfb zpeubis.pfb; \
        mv _2______.pfb zpeurt.pfb; \
        mv _2b_____.pfb zpeubt.pfb; \
        mv _2i_____.pfb zpeurit.pfb; \
        mv _2bi____.pfb zpeubit.pfb; \
        mv _3______.pfb zpeur.pfb; \
        mv _3b_____.pfb zpeub.pfb; \
        mv _3i_____.pfb zpeuri.pfb; \
        mv _3bi____.pfb zpeubi.pfb)

convert:
        (cd eurofont; \
        pfbtops zpeurs.pfb > zpeurs.pfa; \
        pfbtops zpeubs.pfb > zpeubs.pfa; \
        pfbtops zpeuris.pfb > zpeuris.pfa; \
        pfbtops zpeubis.pfb > zpeubis.pfa; \
        pfbtops zpeurt.pfb > zpeurt.pfa; \
        pfbtops zpeubt.pfb > zpeubt.pfa; \
        pfbtops zpeurit.pfb > zpeurit.pfa; \
        pfbtops zpeubit.pfb > zpeubit.pfa; \
        pfbtops zpeur.pfb > zpeur.pfa; \
        pfbtops zpeub.pfb > zpeub.pfa; \
        pfbtops zpeuri.pfb > zpeuri.pfa; \
        pfbtops zpeubi.pfb > zpeubi.pfa; \
        rm *.pfb)

metrics:
        (cd eurofont; \
        afmtodit -d../DESC -s zpeurs.afm \
          ../eurosymbol.map EUROR; \
        afmtodit -d../DESC zpeubs.afm \
          ../euro.map EUROB; \
        afmtodit -d../DESC -i50 zpeuris.afm \
          ../euro.map EUROI; \
        afmtodit -d../DESC -i50 zpeubis.afm \
          ../euro.map EUROBI; \
        afmtodit -d../DESC zpeurt.afm \
          ../euro.map EUROMR; \
        afmtodit -d../DESC zpeubt.afm \
          ../euro.map EUROMB; \
        afmtodit -d../DESC -i50 zpeurit.afm \
          ../euro.map EUROMI; \
        afmtodit -d../DESC -i50 zpeubit.afm \
          ../euro.map EUROMBI; \
        afmtodit -d../DESC zpeur.afm \
          ../euro.map EUROSR; \
        afmtodit -d../DESC zpeub.afm \
          ../euro.map EUROSB; \
        afmtodit -d../DESC -i50 zpeuri.afm \
          ../euro.map EUROSI; \
        afmtodit -d../DESC -i50 zpeubi.afm \
          ../euro.map EUROSBI)

make-download:
        (cd eurofont; \
        cp ../download download; \
        echo "" >> download; \
        echo "EuroSans-Regular  zpeurs.pfa" >> download; \
        echo "EuroSans-Bold             zpeubs.pfa" >> download; \
        echo "EuroSans-Italic           zpeuris.pfa" >> download; \
        echo "EuroSans-BoldItalic       zpeubis.pfa" >> download; \
        echo "EuroSerif-Regular zpeur.pfa" >> download; \
        echo "EuroSerif-Bold            zpeub.pfa" >> download; \
        echo "EuroSerif-Italic  zpeuri.pfa" >> download; \
        echo "EuroSerif-BoldItalic      zpeubi.pfa" >> download; \
        echo "EuroMono-Regular  zpeurt.pfa" >> download; \
        echo "EuroMono-Bold             zpeubt.pfa" >> download; \
        echo "EuroMono-Italic           zpeurit.pfa" >> download; \
        echo "EuroMono-BoldItalic       zpeubit.pfa" >> download)
.\" euro.tmac
.
.special EUROR
.
.char \[Eu] \[Euro\\n[.fn]]
.
.char \[EuroAB]   \f[EUROB]\[Eu]
.char \[EuroABI]  \f[EUROBI]\[Eu]
.char \[EuroAI]   \f[EUROI]\[Eu]
.char \[EuroAR]   \f[EUROR]\[Eu]
.char \[EuroBMB]  \f[EUROSB]\[Eu]
.char \[EuroBMBI] \f[EUROSBI]\[Eu]
.char \[EuroBMI]  \f[EUROSI]\[Eu]
.char \[EuroBMR]  \f[EUROSR]\[Eu]
.char \[EuroCB]   \f[EUROMB]\[Eu]
.char \[EuroCBI]  \f[EUROMBI]\[Eu]
.char \[EuroCI]   \f[EUROMI]\[Eu]
.char \[EuroCR]   \f[EUROMR]\[Eu]
.char \[EuroHB]   \f[EUROB]\[Eu]
.char \[EuroHBI]  \f[EUROBI]\[Eu]
.char \[EuroHI]   \f[EUROI]\[Eu]
.char \[EuroHR]   \f[EUROR]\[Eu]
.char \[EuroHNB]  \f[EUROB]\[Eu]
.char \[EuroHNBI] \f[EUROBI]\[Eu]
.char \[EuroHNI]  \f[EUROI]\[Eu]
.char \[EuroHNR]  \f[EUROR]\[Eu]
.char \[EuroNB]   \f[EUROSB]\[Eu]
.char \[EuroNBI]  \f[EUROSBI]\[Eu]
.char \[EuroNI]   \f[EUROSI]\[Eu]
.char \[EuroNR]   \f[EUROSR]\[Eu]
.char \[EuroPB]   \f[EUROSB]\[Eu]
.char \[EuroPBI]  \f[EUROSBI]\[Eu]
.char \[EuroPI]   \f[EUROSI]\[Eu]
.char \[EuroPR]   \f[EUROSR]\[Eu]
.char \[EuroTB]   \f[EUROSB]\[Eu]
.char \[EuroTBI]  \f[EUROSBI]\[Eu]
.char \[EuroTI]   \f[EUROSI]\[Eu]
.char \[EuroTR]   \f[EUROSR]\[Eu]
.
.\" EOF
.so euro.tmac
This is a test with the \[Eu] sign.  Here is the `official' form: \[eu].
.br
.ft I
This is a test with the \[Eu] sign.  Here is the `official' form: \[eu].

reply via email to

[Prev in Thread] Current Thread [Next in Thread]