Metapost a prime vkladani .PFA?

Pavel Janik ml. Pavel.Janik at inet.cz
Wed Dec 29 23:32:13 CET 1999


Zdravim,

resim jeden zajimavy problem s MetaPostem. Ve sve diplomove praci mam pomerne
hodne obrazku a chtel bych pridavat dalsi. Vetsina z nich se sklada z nejakeho
znaku ci textu z nejakeho fontu (vetsinou Type1, pozdeji i TrueType) a
nekolika car kolem. Zatim jsem pouzival pouze font Times Roman, ktery muj TeX
rozpozna (posledni stabilni release teTeXu s csTeXem) a pouzivam tedy neco
jako (je to hodne zjednoduseno :-)):

prologues:=1;
beginfig(1);
  draw btex \font\velke=ptmr8r at 6cm \velke p etex withcolor .5 white;
endfig;
end

Po mpost soubor.mp mam EPS s krasnym p:

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 -37 86 78
%%Creator: MetaPost
%%CreationDate: 1999.11.20:1008
%%Pages: 1
%%DocumentFonts: Times-Roman
 /ptmr8r /Times-Roman def
/fshow {exch findfont exch scalefont setfont show}bind def
%%EndProlog
%%Page: 1 1
 0.5 setgray
0 0 moveto
(p) ptmr8r 170.07887 fshow
showpage
%%EOF

Ale radky

%%DocumentFonts: Times-Roman
 /ptmr8r /Times-Roman def
/fshow {exch findfont exch scalefont setfont show}bind def

jsou mi trnem v oku, protoze jiz neni zaruceno, ze zarizeni, na kterem budu
vysledny soubor zpracovavat tento font obsahuje. Hmm, jak se tak divam, tak
jsem zvolil dosti neilustrativni priklad, protoze Times Roman ma kazdy PS RIP,
ale predstavte si, ze bych chtel pouzit jiny
font. Napr. KunstlerschreibschD-Bol.

Cilem meho snazeni je dostat z Metapostu soubor s priponou .1, ktery by
obsahoval download fontu do PS RIPu. Proc to chci? Protoze bych chtel, aby
kompletni zdrojovy text me prace byl dostupny i se vsemi obrazky a nektere
fonty, ktere v ni pouzivam moc verejne nejsou, protoze je mam zakoupeny. Pokud
bych takovy font pouzil v nekterem z obrazku, byla by cela prace
nepouzitelna. Proto bych chtel se zdrojovym textem prace dodat i
predpripravene obrazky ve formatu EPS vcetne fontu.

Predpokladam, ze to dost rozumne nejde (ani bych se tomu nedivil :-) a tak se
budu muset vzdat sve myslenky mit vsechno krasne a prehledne napsano
v Metapostu a budu to muset delat rucne :-( Zatim na to pouzivam nasledujici
soubor:

--- cut here ---
FONT=$1
SIZE=$2
TEXT=$3
MOVETO=$4

echo Vytvarim soubor .pfa
pfb2pfa ${FONT}.pfb

echo -e Zjistuji FontName:
FONTNAME=`grep FontName ${FONT}.pfa|awk '{print $2}'`

echo ${FONTNAME}

echo Generuji .ps
cat ${FONT}.pfa >>${FONT}.ps

echo "
${FONTNAME} findfont
${SIZE} scalefont setfont
${MOVETO} moveto
(${TEXT}) show" >>${FONT}.ps

echo Generuji .eps
ps2epsi ${FONT}.ps ${FONT}.eps

echo Mazu nepotrebne soubory
rm -f ${FONT}.ps ${FONT}.pfa
--- cut here ---

Tento soubor zavolam napr. takto:

./GenerateEpsForFont KunstlerschreibschD-Bol 50 "Pokusny text" "10 10"

A pak se jen kocham vygenerovanym .eps, ktery je presne podle mych potreb:

%!PS-Adobe-2.0 EPSF-1.2
...
% Copyright URW Software, Copyright 1994 by URW
% URW Software, Copyright 1994 by URW
11 dict begin
/FontInfo 10 dict dup begin
/version (001.005) readonly def
/Notice (URW Software, Copyright 1994 by URW) readonly def
/Copyright (Copyright URW Software, Copyright 1994 by URW) readonly def
...
currentdict end
currentfile eexec
e98d09d760a3c22cf119f9dc699a22c35b5b35ed6aa23593c76d54cabb5e
...
0000000000000000000000000000000000000000000000000000000000000000
cleartomark

/KunstlerschreibschD-Bold findfont
50 scalefont setfont
10 10 moveto
(Pokusny text) show
...
%%EOF

Pomuzete mi, prosim, nebo se mam vzdat tak mocneho nastroje jakym Metapost je?
Nebo mate jine napady na reseni?

Diky za odpovedi.
--
Pavel Janík ml.
Pavel.Janik at inet.cz




More information about the csTeX mailing list