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

concrete version, bug fixes, hebrew letters




After another round of hacking, here's the latest:

1. I've worked on integrating a Concrete version, including patches
   for the Makefiles. Hope, I didn't forget anything important.

2. I've noticed a Metafont problem in the Concrete versions of yma1000
   leading to broken versions of \lmoustache and \rmoustache delimiters.  
   This was relatively easy to fix by looking at the GFtoDVI output.
   You've simply had some of the z and z' points at the tips in the
   wrong order which didn't matter for CM, but does matter for CC.
   Patches are incldued below.

3. I've experimented with tuning the Hebrew letters (originally from
   CM and AMS) to be more consistent in the CM and CC versions.  Some
   experimental Metafont sources are included in a shar file below.
   I'd be happy for feedback on this matter.

That's it.

Cheers, Ulrik.



diff -c ./ORIG/Makefile ./Makefile
*** ./ORIG/Makefile	Tue Sep 30 04:22:36 1997
--- ./Makefile	Thu Oct  2 00:57:47 1997
***************
*** 40,46 ****
  XECB =	xecb0500.vf xecb0600.vf xecb0700.vf xecb0800.vf xecb0900.vf xecb1000.vf 
  BOLDEULERVFS = $(XEAB) $(XEBB) $(XEBR) $(XECB) $(XMDB) $(XMEB) $(XMFB) $(XMFR)
  
! VFS = $(NORMALVFS) $(BOLDVFS) $(EULERVFS) $(BOLDEULERVFS)
  
  all:	vffonts doc dist
  
--- 40,56 ----
  XECB =	xecb0500.vf xecb0600.vf xecb0700.vf xecb0800.vf xecb0900.vf xecb1000.vf 
  BOLDEULERVFS = $(XEAB) $(XEBB) $(XEBR) $(XECB) $(XMDB) $(XMEB) $(XMFB) $(XMFR)
  
! XCA = 	xca0500.vf xca0600.vf xca0700.vf xca0800.vf xca0900.vf xca1000.vf 
! XCB = 	# xmb0700.vf xmb0800.vf xmb0900.vf xmb1000.vf 
! XCBS =	# xmbs0700.vf xmbs0800.vf xmbs0900.vf xmbs1000.vf 
! XCC =	xcc0500.vf xcc0600.vf xcc0700.vf xcc0800.vf xcc0900.vf xcc1000.vf 
! XCD =	xcd0500.vf xcd0600.vf xcd0700.vf xcd0800.vf xcd0900.vf xcd1000.vf 
! XCE = 	xce0500.vf xce0600.vf xce0700.vf xce0800.vf xce0900.vf xce1000.vf 
! XCF =	# xmf0700.vf xmf0800.vf xmf0900.vf xmf1000.vf 
! XCFS =	# xmfs0700.vf xmfs0800.vf xmfs0900.vf xmfs1000.vf 
! CONCRETEVFS = $(XCA) $(XCB) $(XCBS) $(XCC) $(XCD) $(XCE) $(XCF) $(XCFS)
! 
! VFS = $(NORMALVFS) $(BOLDVFS) $(EULERVFS) $(BOLDEULERVFS) $(CONCRETEVFS)
  
  all:	vffonts doc dist
  
***************
*** 63,69 ****
  doc: 	charts.dvi testnormal.dvi testeuler.dvi arrows.dvi
  	cd etx; make doc
  
! vffonts:  normalpl boldpl eulerpl boldeulerpl $(VFS)
  
  normalvf: normalpl $(NORMALVFS)
  
--- 73,79 ----
  doc: 	charts.dvi testnormal.dvi testeuler.dvi arrows.dvi
  	cd etx; make doc
  
! vffonts:  normalpl boldpl eulerpl boldeulerpl concretepl $(VFS)
  
  normalvf: normalpl $(NORMALVFS)
  
***************
*** 73,78 ****
--- 83,90 ----
  
  boldeulervf: boldeulerpl $(BOLDEULERVFS)
  
+ concretevf: concretepl $(CONCRETEVFS)
+ 
  normalpl:
  	for i in $(PLDIRS); do cd $$i; make normalpl; cd ..; done	
  
***************
*** 85,91 ****
  boldeulerpl:
  	for i in $(PLDIRS); do cd $$i; make boldeulerpl; cd ..; done	
  
! pkfonts: normalpk boldpk eulerpk boldeulerpk
  
  normalpk:
  	for i in $(PKDIRS); do cd $$i; make normalpk; cd ..; done	
--- 97,106 ----
  boldeulerpl:
  	for i in $(PLDIRS); do cd $$i; make boldeulerpl; cd ..; done	
  
! concretepl:
! 	for i in $(PLDIRS); do cd $$i; make concretepl; cd ..; done	
! 
! pkfonts: normalpk boldpk eulerpk boldeulerpk concrtepk
  
  normalpk:
  	for i in $(PKDIRS); do cd $$i; make normalpk; cd ..; done	
***************
*** 99,104 ****
--- 114,122 ----
  boldeulerpk:
  	for i in $(PKDIRS); do cd $$i; make boldeulerpk; cd ..; done	
  
+ concretepk:
+ 	for i in $(PKDIRS); do cd $$i; make concretepk; cd ..; done	
+ 
  $(XMA:.vf=.vpl): XMA.log
  $(XMB:.vf=.vpl): XMB.log
  $(XMBS:.vf=.vpl): XMBS.log
***************
*** 126,131 ****
--- 144,158 ----
  $(XEBB:.vf=.vpl): XEBB.log
  $(XEBR:.vf=.vpl): XEBR.log
  $(XECB:.vf=.vpl): XECB.log
+ 
+ $(XCA:.vf=.vpl): XCA.log
+ # $(XCB:.vf=.vpl): XCB.log
+ # $(XCBS:.vf=.vpl): XCBS.log
+ $(XCC:.vf=.vpl): XCC.log
+ $(XCD:.vf=.vpl): XCD.log
+ $(XCE:.vf=.vpl): XCE.log
+ # $(XCF:.vf=.vpl): XCF.log
+ # $(XCFS:.vf=.vpl): XCFS.log
  
  
  distdirs: 
diff -c ./ORIG/Makefile.fontdirs ./Makefile.fontdirs
*** ./ORIG/Makefile.fontdirs	Thu Sep 25 20:03:35 1997
--- ./Makefile.fontdirs	Wed Oct  1 23:50:40 1997
***************
*** 20,25 ****
--- 20,27 ----
  
  boldeulerpk:	$(BOLDEULERTFMS)
  
+ concretepk:	$(CONCRETETFMS)
+ 
  pl:		$(TFMS:.tfm=.pl) 
  
  normalpl:	$(NORMALTFMS:.tfm=.pl) 
***************
*** 30,35 ****
--- 32,38 ----
  
  boldeulerpl:	$(BOLDEULERTFMS:.tfm=.pl) 
  
+ concretepl:	$(CONCRETETFMS:.tfm=.pl)
  
  clean:	
  	rm -f *.log *.*gf *.aux *.toc *.pl  
diff -c etx/ORIG/OT1italic.etx etx/OT1italic.etx
*** etx/ORIG/OT1italic.etx	Fri Aug 22 20:57:31 1997
--- etx/OT1italic.etx	Tue Sep 30 21:58:21 1997
***************
*** 4,10 ****
  
  \setcommand\greek#1{#1italic}
  \setcommand\lc#1#2{#2italic}
! \setcommand\uc#1#2{#1upright}
  \setcommand\lctop#1#2{#1small}
  \setcommand\uctop#1#2{#1}
  \setcommand\lclig#1#2{#1small}
--- 4,10 ----
  
  \setcommand\greek#1{#1italic}
  \setcommand\lc#1#2{#2italic}
! \setcommand\uc#1#2{#1italic}
  \setcommand\lctop#1#2{#1small}
  \setcommand\uctop#1#2{#1}
  \setcommand\lclig#1#2{#1small}
diff -c etx/ORIG/OT1upright.etx etx/OT1upright.etx
*** etx/ORIG/OT1upright.etx	Sat Aug 30 18:33:45 1997
--- etx/OT1upright.etx	Tue Sep 30 21:58:52 1997
***************
*** 9,15 ****
  \setcommand\uctop#1#2{#1uprightOT1}
  \setcommand\lclig#1#2{#1smalluprightOT1}
  \setcommand\uclig#1#2{#1spaceduprightOT1}
! \setcommand\digit#1{#1uprightOT1}
  
  \inputetx{OT1}
  
--- 9,15 ----
  \setcommand\uctop#1#2{#1uprightOT1}
  \setcommand\lclig#1#2{#1smalluprightOT1}
  \setcommand\uclig#1#2{#1spaceduprightOT1}
! \setcommand\digit#1{#1upright}
  
  \inputetx{OT1}
  
diff -c tex/ORIG/MCmtx.tex tex/MCmtx.tex
*** tex/ORIG/MCmtx.tex	Mon Sep 29 19:43:41 1997
--- tex/MCmtx.tex	Wed Oct  1 01:13:40 1997
***************
*** 1,20 ****
  \begin{filecontents}{MCextra.mtx}
  \relax
  \metrics
- \setglyph{hbar}
-   \push
-     \movert{100}
-     \glyph{barforh}{1000}
-   \pop
-   \glyph{h}{1000}
- \endsetglyph
- \setglyph{hslash}
-   \push
-     \movert{100}
-     \glyph{slashforh}{1000}
-   \pop
-   \glyph{h}{1000}
- \endsetglyph
  \missingglyph{beta1upright}
  \missingglyph{kappa1upright}
  \missingglyph{Chi1upright}
--- 1,6 ----
***************
*** 35,68 ****
  \setglyph{Vbar}
    \push
      \moveup{550}
!     \glyphrule{700}{10}
    \pop
    \glyph{Vupright}{1000}
  \endsetglyph
  \setglyph{Vbarslanted}
    \push
      \moveup{550}
!     \movert{150}
!     \glyphrule{700}{10}
    \pop
    \glyph{Vitalic}{1000}
  \endsetglyph
- \setglyph{lambdabar}
-   \push
-     \moveup{550}
-     \movert{-30}
-     \glyphrule{500}{10}
-   \pop
-   \glyph{lambda}{1000}
- \endsetglyph
- \setglyph{lambdabarupright}
-   \push
-     \moveup{550}
-     \movert{-50}
-     \glyphrule{500}{10}
-   \pop
-   \glyph{lambdaupright}{1000}
- \endsetglyph
  \controlglyph{GREEK}
  \replaceglyph{Alphaupright}{Aupright}
  \replaceglyph{Betaupright}{Bupright}
--- 21,38 ----
  \setglyph{Vbar}
    \push
      \moveup{550}
!     \glyphrule{700}{20}
    \pop
    \glyph{Vupright}{1000}
  \endsetglyph
  \setglyph{Vbarslanted}
    \push
      \moveup{550}
!     \movert{50}
!     \glyphrule{700}{20}
    \pop
    \glyph{Vitalic}{1000}
  \endsetglyph
  \controlglyph{GREEK}
  \replaceglyph{Alphaupright}{Aupright}
  \replaceglyph{Betaupright}{Bupright}
***************
*** 97,102 ****
--- 67,130 ----
  \replaceglyph{omikron}{oitalic}
  \endmetrics
  \end{filecontents}
+ \begin{filecontents}{MCmextra.mtx}
+ \relax
+ \metrics
+ \unsetglyph{eth}
+ \setglyph{eth}
+   \push
+     \moveup{50}
+     \movert{100}
+     \glyph{barforh}{1000}
+   \pop
+   \glyph{partialdiffupright}{1000}
+ \endsetglyph
+ \setglyph{hbar}
+   \push
+     \movert{100}
+     \glyph{slashforh}{1000}
+   \pop
+   \glyph{h}{1000}
+ \endsetglyph
+ \setglyph{hslash}
+   \push
+     \movert{100}
+     \glyph{barforh}{1000}
+   \pop
+   \glyph{h}{1000}
+ \endsetglyph
+ \setglyph{lambdabar}
+   \push
+     \movert{150}
+     \glyph{slashforh}{1000}
+   \pop
+   \glyph{lambda}{1000}
+ \endsetglyph
+ \setglyph{lambdabarupright}
+   \push
+     \movert{0}
+     \glyph{slashforh}{1000}
+   \pop
+   \glyph{lambdaupright}{1000}
+ \endsetglyph
+ \replaceglyph{Aitalic}{A}
+ \replaceglyph{Bitalic}{B}
+ \replaceglyph{Eitalic}{E}
+ \replaceglyph{Hitalic}{H}
+ \replaceglyph{Iitalic}{I}
+ \replaceglyph{Kitalic}{K}
+ \replaceglyph{Mitalic}{M}
+ \replaceglyph{Nitalic}{N}
+ \replaceglyph{Oitalic}{O}
+ \replaceglyph{Xitalic}{X}
+ \replaceglyph{Pitalic}{P}
+ \replaceglyph{Titalic}{T}
+ \replaceglyph{Vitalic}{V}
+ \replaceglyph{Yitalic}{Y}
+ \replaceglyph{Zitalic}{Z}
+ \replaceglyph{oitalic}{o}
+ \endmetrics
+ \end{filecontents}
  \begin{filecontents}{MCbextra.mtx}
  \relax
  \metrics
***************
*** 108,127 ****
  \begin{filecontents}{MCeextra.mtx}
  \relax
  \metrics
  \setglyph{hbar}
    \push
      \movert{80}
!     \glyph{barforh}{1000}
    \pop
    \glyph{h}{1000}
  \endsetglyph
  \setglyph{hslash}
    \push
      \movert{80}
!     \glyph{slashforh}{1000}
    \pop
    \glyph{h}{1000}
  \endsetglyph
  \replaceglyph{Aupright}{A}
  \replaceglyph{Bupright}{B}
  \replaceglyph{Eupright}{E}
--- 136,187 ----
  \begin{filecontents}{MCeextra.mtx}
  \relax
  \metrics
+ \unsetglyph{between}
+ \setglyph{between}
+   \glyph{parenleft}{1000}
+   \movert{-300}
+   \glyph{parenright}{1000} 
+ \endsetglyph
+ \unsetglyph{emptysetstress}
+ \setglyph{emptysetstress}
+   \push
+     \moveup{80}
+     \glyph{slash}{1000}
+   \pop
+   \glyph{zeroupright}{1000}
+ \endsetglyph
+ \unsetglyph{eth}
+ \setglyph{eth}
+   \push
+     \moveup{40}
+     \movert{160}
+     \glyph{barforh}{1000}
+   \pop
+   \glyph{partialdiffupright}{1000}
+ \endsetglyph
  \setglyph{hbar}
    \push
      \movert{80}
!     \glyph{slashforh}{1000}
    \pop
    \glyph{h}{1000}
  \endsetglyph
  \setglyph{hslash}
    \push
      \movert{80}
!     \glyph{barforh}{1000}
    \pop
    \glyph{h}{1000}
  \endsetglyph
+ \missingglyph{lambdabar}
+ \setglyph{lambdabarupright}
+   \push
+     \movert{120}
+     \glyph{slashforh}{1000}
+   \pop
+   \glyph{lambdaupright}{1000}
+ \endsetglyph
+ \missingglyph{Vbarslanted}
  \replaceglyph{Aupright}{A}
  \replaceglyph{Bupright}{B}
  \replaceglyph{Eupright}{E}
***************
*** 153,159 ****
  \missingglyph{Titalic}
  \missingglyph{Zitalic}
  \missingglyph{oitalic}
- \missingglyph{Vupright}
  \missingglyph{Vitalic}
  \missingglyph{Alpha}
  \missingglyph{Beta}
--- 213,218 ----
***************
*** 231,236 ****
--- 290,297 ----
  \endsetglyph
  \missingglyph{kappa1}
  \missingglyph{digamma}
+ \missingglyph{rho1upright}
+ \missingglyph{sigma1upright}
  \endmetrics
  \end{filecontents}
  \begin{filecontents}{MCkern.mtx}
diff -c tex/ORIG/XCA.tex tex/XCA.tex
*** tex/ORIG/XCA.tex	Wed Oct  1 22:45:59 1997
--- tex/XCA.tex	Wed Oct  1 23:57:48 1997
***************
*** 0 ****
--- 1,31 ----
+ \nofiles
+ \documentclass{minimal}
+ 
+ \usepackage{emfninst}
+ 
+ \input{extramtx}
+ \input{MCmtx}
+ \input{sizes}
+ 
+ \begin{document}
+ 
+ \installfonts
+ \installfamily{MC}{xca}{\skewchar\font0}
+ \installsizes{xca}{d\Size,MCtoMCin,yca\Size,
+   OT1toOT1upright,ccr\size,xccmi\size,OMStoOMScal,xccsy\size,
+   OMStoMSAM,xccam\size,OMStoMSBM,xccbm\size,
+   MCmextra,MCextra,MCkern}{MC}{MC}{xca}{m}{n}
+ \endinstallfonts
+ 
+ \end{document}
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
diff -c tex/ORIG/XCC.tex tex/XCC.tex
*** tex/ORIG/XCC.tex	Wed Oct  1 22:47:22 1997
--- tex/XCC.tex	Wed Oct  1 23:57:36 1997
***************
*** 0 ****
--- 1,19 ----
+ \nofiles
+ \documentclass{minimal}
+ 
+ \usepackage{emfninst}
+ 
+ \input{extramtx}
+ \input{MSPmtx}
+ \input{sizes}
+ 
+ \begin{document}
+ 
+ \installfonts
+ \installfamily{MSP}{xcc}{\skewchar\font0}
+ \installsizes{xcc}{d\Size,ycc\Size,lasy\size,xccmi\size,
+   OMStoOMScal,xccsy\size,OMStoMSAM,xccam\size,OMStoMSBM,xccbm\size,
+   OT1toOT1upright,ccr\size,MSPextra,MSPkern}{MSP}{MSP}{xcc}{m}{n}
+ \endinstallfonts
+ 
+ \end{document}
diff -c tex/ORIG/XCD.tex tex/XCD.tex
*** tex/ORIG/XCD.tex	Wed Oct  1 22:47:27 1997
--- tex/XCD.tex	Thu Oct  2 00:55:50 1997
***************
*** 0 ****
--- 1,25 ----
+ \nofiles
+ \documentclass{minimal}
+ 
+ \usepackage{emfninst}
+ 
+ \input{extramtx}
+ \input{MS1mtx}
+ \input{sizes}
+ 
+ \begin{document}
+ 
+ \installfonts
+ \installfamily{MS1}{xcd}{\skewchar\font0}
+ \installsizes{xcd}{d\Size,ymd\Size,bbm\size,xbb\Size,
+   OMStoMSAM,xccam\size,OMStoMSBM,xccbm\size,MS1extra}{MS1}{MS1}{xcd}{m}{n}
+ \endinstallfonts
+ 
+ \end{document}
+ 
+ 
+ 
+ 
+ 
+ 
+ 
diff -c tex/ORIG/XCE.tex tex/XCE.tex
*** tex/ORIG/XCE.tex	Wed Oct  1 22:47:32 1997
--- tex/XCE.tex	Thu Oct  2 00:56:16 1997
***************
*** 0 ****
--- 1,28 ----
+ \nofiles
+ \documentclass{minimal}
+ 
+ \usepackage{emfninst}
+ 
+ \input{extramtx}
+ \input{MS2mtx}
+ \input{sizes}
+ 
+ \begin{document}
+ 
+ \installfonts
+ \installfamily{MS2}{xce}{\skewchar\font0}
+ \installsizes{xce}{d\Size,yme\Size,eufmij\size,eufm\size,xccsy\size,
+   OMStoMSAM,xccam\size,OMStoMSBM,xccbm\size,MS2extra}{MS2}{MS2}{xce}{m}{n}
+ \endinstallfonts
+ 
+ \end{document}
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
diff -c tex/ORIG/XEA.tex tex/XEA.tex
*** tex/ORIG/XEA.tex	Mon Sep 29 19:52:45 1997
--- tex/XEA.tex	Tue Sep 30 23:22:28 1997
***************
*** 11,19 ****
  
  \installfonts
  \installfamily{MC}{xea}{\skewchar\font0}
! \installsizes{xea}{d\Size,eufm\size,eurm\size,eusm\size,MCebar,yea\Size,
!   yfa\Size,MCtoMCin,yma\Size,OMStoOMScal,cmsy\size,OMStoMSAM,msam\size,
!   OMStoMSBM,msbm\size,MCeextra,MCextra,MCekern}{MC}{MC}{xea}{m}{n}
  \endinstallfonts
  
  \end{document}
--- 11,20 ----
  
  \installfonts
  \installfamily{MC}{xea}{\skewchar\font0}
! \installsizes{xea}{d\Size,eufm\size,eurm\size,eusm\size,
!   MCebar,yea\Size,yfa\Size,MCtoMCin,yma\Size,
!   OMStoOMScal,cmsy\size,OMStoMSAM,msam\size,OMStoMSBM,msbm\size,
!   MCeextra,MCextra,MCekern}{MC}{MC}{xea}{m}{n}
  \endinstallfonts
  
  \end{document}
diff -c tex/ORIG/XEAB.tex tex/XEAB.tex
*** tex/ORIG/XEAB.tex	Mon Sep 29 19:52:58 1997
--- tex/XEAB.tex	Wed Oct  1 23:06:26 1997
***************
*** 11,19 ****
  
  \installfonts
  \installfamily{MC}{xea}{\skewchar\font0}
! \installsizes{xeab}{d\Size,eufb\size,eurb\size,eusb\size,MCebar,yeab\Size,
!   yfab\Size,MCtoMCin,ymab\Size,OMStoOMScal,cmbsy\size,OMStoMSAM,msam\size,
!   OMStoMSBM,msbm\size,MCeextra,MCbextra,MCextra,MCekern}{MC}{MC}{xea}{b}{n}
  \endinstallfonts
  
  \end{document}
--- 11,20 ----
  
  \installfonts
  \installfamily{MC}{xea}{\skewchar\font0}
! \installsizes{xeab}{d\Size,eufb\size,eurb\size,eusb\size,
!   MCebar,yeab\Size,yfab\Size,MCtoMCin,ymab\Size,
!   OMStoOMScal,cmbsy\size,OMStoMSAM,msam\size,OMStoMSBM,msbm\size,
!   MCeextra,MCbextra,MCextra,MCekern}{MC}{MC}{xea}{b}{n}
  \endinstallfonts
  
  \end{document}
diff -c tex/ORIG/XMA.tex tex/XMA.tex
*** tex/ORIG/XMA.tex	Sat Sep 27 18:00:59 1997
--- tex/XMA.tex	Tue Sep 30 23:02:06 1997
***************
*** 11,19 ****
  
  \installfonts
  \installfamily{MC}{xma}{\skewchar\font0}
! \installsizes{xma}{d\Size,MCtoMCin,yma\Size,T1toT1upright,ecrm\Size,
!   T1toT1italic,ecti\Size, cmmi\size, OMStoOMScal,cmsy\size, OMStoMSAM,
!   msam\size,OMStoMSBM,msbm\size, MCextra,MCkern}{MC}{MC}{xma}{m}{n}
  \endinstallfonts
  
  \end{document}
--- 11,20 ----
  
  \installfonts
  \installfamily{MC}{xma}{\skewchar\font0}
! \installsizes{xma}{d\Size,MCtoMCin,yma\Size,
!   OT1toOT1upright,cmr\size,cmmi\size,OMStoOMScal,cmsy\size,
!   OMStoMSAM,msam\size,OMStoMSBM,msbm\size,
!   MCmextra,MCextra,MCkern}{MC}{MC}{xma}{m}{n}
  \endinstallfonts
  
  \end{document}
diff -c tex/ORIG/XMAB.tex tex/XMAB.tex
*** tex/ORIG/XMAB.tex	Sat Sep 27 22:45:08 1997
--- tex/XMAB.tex	Wed Oct  1 23:04:38 1997
***************
*** 11,19 ****
  
  \installfonts
  \installfamily{MC}{xma}{\skewchar\font0}
! \installsizes{xmab}{d\Size,MCtoMCin,ymab\Size,T1toT1upright,ecbx\Size,
!   T1toT1italic,ecbi\Size,cmmib\size,OMStoOMScal,cmbsy\size,OMStoMSAM,
!   msam\size,OMStoMSBM,msbm\size, MCbextra,MCextra,MCkern}{MC}{MC}{xma}{b}{n}
  \endinstallfonts
  
  \end{document}
--- 11,20 ----
  
  \installfonts
  \installfamily{MC}{xma}{\skewchar\font0}
! \installsizes{xmab}{d\Size,MCtoMCin,ymab\Size,
!   OT1toOT1upright,cmbx\size,cmmib\size,OMStoOMScal,cmbsy\size,
!   OMStoMSAM,msam\size,OMStoMSBM,msbm\size,
!   MCbextra,MCextra,MCkern}{MC}{MC}{xma}{b}{n}
  \endinstallfonts
  
  \end{document}
diff -c pl/ORIG/Makefile pl/Makefile
*** pl/ORIG/Makefile	Mon Sep 29 11:11:37 1997
--- pl/Makefile	Wed Oct  1 23:03:16 1997
***************
*** 2,26 ****
  FIND_TFM = kpsewhich
  
  NORMALPLS = \
! 	ecrm0500.pl ecrm0600.pl ecrm0700.pl ecrm0800.pl ecrm0900.pl ecrm1000.pl \
! 	ecti0500.pl ecti0600.pl ecti0700.pl ecti0800.pl ecti0900.pl ecti1000.pl \
  	cmr5.pl cmr6.pl cmr7.pl cmr8.pl cmr9.pl cmr10.pl \
  	cmmi5.pl cmmi6.pl cmmi7.pl cmmi8.pl cmmi9.pl cmmi10.pl \
  	cmsy5.pl cmsy6.pl cmsy7.pl cmsy8.pl cmsy9.pl cmsy10.pl \
  	lasy5.pl lasy6.pl lasy7.pl lasy8.pl lasy9.pl lasy10.pl \
  	msam5.pl msam6.pl msam7.pl msam8.pl msam9.pl msam10.pl \
  	msbm5.pl msbm6.pl msbm7.pl msbm8.pl msbm9.pl msbm10.pl \
! 	bbm5.pl bbm6.pl bbm7.pl bbm8.pl bbm9.pl bbm10.pl 
  
  BOLDPLS = \
! 	ecbx0500.pl ecbx0600.pl ecbx0700.pl ecbx0800.pl ecbx0900.pl ecbx1000.pl \
! 	ecbi0500.pl ecbi0600.pl ecbi0700.pl ecbi0800.pl ecbi0900.pl ecbi1000.pl \
  	cmbx5.pl cmbx6.pl cmbx7.pl cmbx8.pl cmbx9.pl cmbx10.pl \
  	cmmib5.pl cmmib6.pl cmmib7.pl cmmib8.pl cmmib9.pl cmmib10.pl \
  	cmbsy5.pl cmbsy6.pl cmbsy7.pl cmbsy8.pl cmbsy9.pl cmbsy10.pl \
  	bbmbx5.pl bbmbx6.pl bbmbx7.pl bbmbx8.pl bbmbx9.pl bbmbx10.pl \
  	msam5.pl msam6.pl msam7.pl msam8.pl msam9.pl msam10.pl \
! 	msbm5.pl msbm6.pl msbm7.pl msbm8.pl msbm9.pl msbm10.pl 
  
  EULERPLS = \
  	eurm5.pl eurm6.pl eurm7.pl eurm8.pl eurm9.pl eurm10.pl \
--- 2,28 ----
  FIND_TFM = kpsewhich
  
  NORMALPLS = \
! #	ecrm0500.pl ecrm0600.pl ecrm0700.pl ecrm0800.pl ecrm0900.pl ecrm1000.pl \
! #	ecti0500.pl ecti0600.pl ecti0700.pl ecti0800.pl ecti0900.pl ecti1000.pl \
  	cmr5.pl cmr6.pl cmr7.pl cmr8.pl cmr9.pl cmr10.pl \
  	cmmi5.pl cmmi6.pl cmmi7.pl cmmi8.pl cmmi9.pl cmmi10.pl \
  	cmsy5.pl cmsy6.pl cmsy7.pl cmsy8.pl cmsy9.pl cmsy10.pl \
  	lasy5.pl lasy6.pl lasy7.pl lasy8.pl lasy9.pl lasy10.pl \
  	msam5.pl msam6.pl msam7.pl msam8.pl msam9.pl msam10.pl \
  	msbm5.pl msbm6.pl msbm7.pl msbm8.pl msbm9.pl msbm10.pl \
! 	bbm5.pl bbm6.pl bbm7.pl bbm8.pl bbm9.pl bbm10.pl \
! 	eufm5.pl eufm6.pl eufm7.pl eufm8.pl eufm9.pl eufm10.pl
  
  BOLDPLS = \
! #	ecbx0500.pl ecbx0600.pl ecbx0700.pl ecbx0800.pl ecbx0900.pl ecbx1000.pl \
! #	ecbi0500.pl ecbi0600.pl ecbi0700.pl ecbi0800.pl ecbi0900.pl ecbi1000.pl \
  	cmbx5.pl cmbx6.pl cmbx7.pl cmbx8.pl cmbx9.pl cmbx10.pl \
  	cmmib5.pl cmmib6.pl cmmib7.pl cmmib8.pl cmmib9.pl cmmib10.pl \
  	cmbsy5.pl cmbsy6.pl cmbsy7.pl cmbsy8.pl cmbsy9.pl cmbsy10.pl \
  	bbmbx5.pl bbmbx6.pl bbmbx7.pl bbmbx8.pl bbmbx9.pl bbmbx10.pl \
  	msam5.pl msam6.pl msam7.pl msam8.pl msam9.pl msam10.pl \
! 	msbm5.pl msbm6.pl msbm7.pl msbm8.pl msbm9.pl msbm10.pl \
! 	eufb5.pl eufb6.pl eufb7.pl eufb8.pl eufb9.pl eufb10.pl
  
  EULERPLS = \
  	eurm5.pl eurm6.pl eurm7.pl eurm8.pl eurm9.pl eurm10.pl \
***************
*** 32,38 ****
  	cmmi5.pl cmmi6.pl cmmi7.pl cmmi8.pl cmmi9.pl cmmi10.pl \
  	msam5.pl msam6.pl msam7.pl msam8.pl msam9.pl msam10.pl \
  	msbm5.pl msbm6.pl msbm7.pl msbm8.pl msbm9.pl msbm10.pl
! 	  
  BOLDEULERPLS = \
  	eurb5.pl eurb6.pl eurb7.pl eurb8.pl eurb9.pl eurb10.pl \
  	eufb5.pl eufb6.pl eufb7.pl eufb8.pl eufb9.pl eufb10.pl \
--- 34,40 ----
  	cmmi5.pl cmmi6.pl cmmi7.pl cmmi8.pl cmmi9.pl cmmi10.pl \
  	msam5.pl msam6.pl msam7.pl msam8.pl msam9.pl msam10.pl \
  	msbm5.pl msbm6.pl msbm7.pl msbm8.pl msbm9.pl msbm10.pl
! 
  BOLDEULERPLS = \
  	eurb5.pl eurb6.pl eurb7.pl eurb8.pl eurb9.pl eurb10.pl \
  	eufb5.pl eufb6.pl eufb7.pl eufb8.pl eufb9.pl eufb10.pl \
***************
*** 44,51 ****
  	msam5.pl msam6.pl msam7.pl msam8.pl msam9.pl msam10.pl \
  	msbm5.pl msbm6.pl msbm7.pl msbm8.pl msbm9.pl msbm10.pl 
  
  
! PLS = $(NORMALPLS) $(BOLDPLS) $(EULERPLS) $(BOLDEULERPLS)
  
  %.pl: 
  	if $(FIND_TFM) $*.tfm; then true; else MakeTeXTFM $*; fi
--- 46,63 ----
  	msam5.pl msam6.pl msam7.pl msam8.pl msam9.pl msam10.pl \
  	msbm5.pl msbm6.pl msbm7.pl msbm8.pl msbm9.pl msbm10.pl 
  
+ CONCRETEPLS = \
+ 	ccr5.pl ccr6.pl ccr7.pl ccr8.pl ccr9.pl ccr10.pl \
+ 	xccmi5.pl xccmi6.pl xccmi7.pl xccmi8.pl xccmi9.pl xccmi10.pl \
+ 	xccsy5.pl xccsy6.pl xccsy7.pl xccsy8.pl xccsy9.pl xccsy10.pl \
+ 	lasy5.pl lasy6.pl lasy7.pl lasy8.pl lasy9.pl lasy10.pl \
+ 	xccam5.pl xccam6.pl xccam7.pl xccam8.pl xccam9.pl xccam10.pl \
+ 	xccbm5.pl xccbm6.pl xccbm7.pl xccbm8.pl xccbm9.pl xccbm10.pl \
+ 	bbm5.pl bbm6.pl bbm7.pl bbm8.pl bbm9.pl bbm10.pl \
+ 	eufm5.pl eufm6.pl eufm7.pl eufm8.pl eufm9.pl eufm10.pl
+ 
  
! PLS = $(NORMALPLS) $(BOLDPLS) $(EULERPLS) $(BOLDEULERPLS) $(CONCRETEPLS)
  
  %.pl: 
  	if $(FIND_TFM) $*.tfm; then true; else MakeTeXTFM $*; fi
***************
*** 63,68 ****
--- 75,81 ----
  
  boldeulerpl:	$(BOLDEULERPLS) 
  
+ concretepl:	$(CONCRETEPLS)
  
  clean:	
  
diff -c yma/ORIG/Makefile yma/Makefile
*** yma/ORIG/Makefile	Mon Sep 29 20:14:59 1997
--- yma/Makefile	Wed Oct  1 22:58:39 1997
***************
*** 15,20 ****
--- 15,23 ----
  	yeab0500.tfm yeab0600.tfm yeab0700.tfm yeab0800.tfm yeab0900.tfm yeab1000.tfm \
  	yfab0500.tfm yfab0600.tfm yfab0700.tfm yfab0800.tfm yfab0900.tfm yfab1000.tfm 
  
+ CONCRETETFMS = \
+ 	yca0500.tfm yca0600.tfm yca0700.tfm yca0800.tfm yca0900.tfm yca1000.tfm
+ 
  
  include ../Makefile.fontdirs
  
diff -c yma/ORIG/yca0500.mf yma/yca0500.mf
*** yma/ORIG/yca0500.mf	Wed Oct  1 23:12:22 1997
--- yma/yca0500.mf	Wed Oct  1 23:14:49 1997
***************
*** 0 ****
--- 1,6 ----
+ if unknown cmbase: input cmbase fi
+ 
+ def generate suffix t= enddef;
+ input xccsy5;
+ 
+ input yma;
diff -c yma/ORIG/yca0600.mf yma/yca0600.mf
*** yma/ORIG/yca0600.mf	Wed Oct  1 23:12:24 1997
--- yma/yca0600.mf	Wed Oct  1 23:15:00 1997
***************
*** 0 ****
--- 1,6 ----
+ if unknown cmbase: input cmbase fi
+ 
+ def generate suffix t= enddef;
+ input xccsy6;
+ 
+ input yma;
diff -c yma/ORIG/yca0700.mf yma/yca0700.mf
*** yma/ORIG/yca0700.mf	Wed Oct  1 23:12:26 1997
--- yma/yca0700.mf	Wed Oct  1 23:15:09 1997
***************
*** 0 ****
--- 1,6 ----
+ if unknown cmbase: input cmbase fi
+ 
+ def generate suffix t= enddef;
+ input xccsy7;
+ 
+ input yma;
diff -c yma/ORIG/yca0800.mf yma/yca0800.mf
*** yma/ORIG/yca0800.mf	Wed Oct  1 23:12:28 1997
--- yma/yca0800.mf	Wed Oct  1 23:16:18 1997
***************
*** 0 ****
--- 1,6 ----
+ if unknown cmbase: input cmbase fi
+ 
+ def generate suffix t= enddef;
+ input xccsy8;
+ 
+ input yma;
diff -c yma/ORIG/yca0900.mf yma/yca0900.mf
*** yma/ORIG/yca0900.mf	Wed Oct  1 23:12:30 1997
--- yma/yca0900.mf	Wed Oct  1 23:15:36 1997
***************
*** 0 ****
--- 1,6 ----
+ if unknown cmbase: input cmbase fi
+ 
+ def generate suffix t= enddef;
+ input xccsy9;
+ 
+ input yma;
diff -c yma/ORIG/yca1000.mf yma/yca1000.mf
*** yma/ORIG/yca1000.mf	Wed Oct  1 23:12:33 1997
--- yma/yca1000.mf	Wed Oct  1 23:16:26 1997
***************
*** 0 ****
--- 1,8 ----
+ if unknown cmbase: input cmbase fi
+ 
+ def generate suffix t= enddef;
+ input xccsy10;
+ 
+ input yma;
+ 
+ 
diff -c yma/ORIG/ymadel.mf yma/ymadel.mf
*** yma/ORIG/ymadel.mf	Wed Aug 20 21:25:40 1997
--- yma/ymadel.mf	Thu Oct  2 00:31:52 1997
***************
*** 11,17 ****
  y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine;
  filldraw z1l{left}...z2l---z6l...{right}z7l
   --z7r--z7'r{left}...z6r---z2r...{right}z1'r--z1r--cycle;  % stroke
! penlabels(1,2,6,7); endchar;
  
  cmchar "Right group bracket";
  beginchar(16,9u#,body_height#,paren_depth#);
--- 11,17 ----
  y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine;
  filldraw z1l{left}...z2l---z6l...{right}z7l
   --z7r--z7'r{left}...z6r---z2r...{right}z1'r--z1r--cycle;  % stroke
! penlabels(1,2,6,7,1',7'); endchar;
  
  cmchar "Right group bracket";
  beginchar(16,9u#,body_height#,paren_depth#);
***************
*** 25,31 ****
  y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine;
  filldraw z1r{right}...z2r---z6r...{left}z7r
   --z7l--z7'l{right}...z6l---z2l...{left}z1'l--z1l--cycle;  % stroke
! penlabels(1,2,6,7); endchar;
  
  cmchar "Left moustache bracket";
  beginchar(17,9u#,body_height#,paren_depth#);
--- 25,31 ----
  y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine;
  filldraw z1r{right}...z2r---z6r...{left}z7r
   --z7l--z7'l{right}...z6l---z2l...{left}z1'l--z1l--cycle;  % stroke
! penlabels(1,2,6,7,1',7'); endchar;
  
  cmchar "Left moustache bracket";
  beginchar(17,9u#,body_height#,paren_depth#);
***************
*** 39,47 ****
  y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine;
  y8=y7; y8'=y7';
  x6=.5[x7,x8]=.5[x7',x8'];
! filldraw z1l{left}...z2l---z6l...{left}z8l
!  --z8r--z8'r{right}...z6r---z2r...{right}z1'r--z1r--cycle;  % stroke
! penlabels(1,2,6,7,8); endchar;
  
  cmchar "Right moustache bracket";
  beginchar(18,9u#,body_height#,paren_depth#);
--- 39,47 ----
  y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine;
  y8=y7; y8'=y7';
  x6=.5[x7,x8]=.5[x7',x8'];
! filldraw z1l{left}...z2l---z6l...{left}z8'l
!  --z8l--z8r{right}...z6r---z2r...{right}z1'r--z1r--cycle;  % stroke
! penlabels(1,2,6,8,1',8'); endchar;
  
  cmchar "Right moustache bracket";
  beginchar(18,9u#,body_height#,paren_depth#);
***************
*** 55,63 ****
  y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine;
  y8=y7; y8'=y7';
  x6=.5[x7,x8]=.5[x7',x8'];
! filldraw z1r{right}...z2r---z6r...{right}z8r
!  --z8l--z8'l{left}...z6l---z2l...{left}z1'l--z1l--cycle;  % stroke
! penlabels(1,2,6,7,8); endchar;
  
  
  
--- 55,63 ----
  y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine;
  y8=y7; y8'=y7';
  x6=.5[x7,x8]=.5[x7',x8'];
! filldraw z1r{right}...z2r---z6r...{right}z8'r
!  --z8r--z8l{left}...z6l---z2l...{left}z1'l--z1l--cycle;  % stroke
! penlabels(1,2,6,8,1',8'); endchar;
  
  
  
diff -c ymc/ORIG/Makefile ymc/Makefile
*** ymc/ORIG/Makefile	Thu Sep 25 20:07:06 1997
--- ymc/Makefile	Wed Oct  1 23:00:39 1997
***************
*** 1,9 ****
  
  NORMALTFMS = ymc0500.tfm ymc0600.tfm ymc0700.tfm ymc0800.tfm ymc0900.tfm \
  	     ymc1000.tfm 
!          
  BOLDTFMS = ymcb0500.tfm ymcb0600.tfm ymcb0700.tfm ymcb0800.tfm ymcb0900.tfm \
  	   ymcb1000.tfm
  
  EULERTFMS = 
  
--- 1,12 ----
  
  NORMALTFMS = ymc0500.tfm ymc0600.tfm ymc0700.tfm ymc0800.tfm ymc0900.tfm \
  	     ymc1000.tfm 
! 
  BOLDTFMS = ymcb0500.tfm ymcb0600.tfm ymcb0700.tfm ymcb0800.tfm ymcb0900.tfm \
  	   ymcb1000.tfm
+ 
+ CONCRETETFMS = ycc0500.tfm ycc0600.tfm ycc0700.tfm ycc0800.tfm ycc0900.tfm \
+ 	       ycc1000.tfm 
  
  EULERTFMS = 
  
diff -c ymc/ORIG/ycc0500.mf ymc/ycc0500.mf
*** ymc/ORIG/ycc0500.mf	Wed Oct  1 23:17:49 1997
--- ymc/ycc0500.mf	Wed Oct  1 23:18:25 1997
***************
*** 0 ****
--- 1,4 ----
+ if unknown cmbase: input cmbase fi
+ def generate suffix t= enddef;
+ input xccsy5;
+ input ymc;
diff -c ymc/ORIG/ycc0600.mf ymc/ycc0600.mf
*** ymc/ORIG/ycc0600.mf	Wed Oct  1 23:17:49 1997
--- ymc/ycc0600.mf	Wed Oct  1 23:18:31 1997
***************
*** 0 ****
--- 1,4 ----
+ if unknown cmbase: input cmbase fi
+ def generate suffix t= enddef;
+ input xccsy6;
+ input ymc;
diff -c ymc/ORIG/ycc0700.mf ymc/ycc0700.mf
*** ymc/ORIG/ycc0700.mf	Wed Oct  1 23:17:49 1997
--- ymc/ycc0700.mf	Wed Oct  1 23:18:37 1997
***************
*** 0 ****
--- 1,4 ----
+ if unknown cmbase: input cmbase fi
+ def generate suffix t= enddef;
+ input xccsy7;
+ input ymc;
diff -c ymc/ORIG/ycc0800.mf ymc/ycc0800.mf
*** ymc/ORIG/ycc0800.mf	Wed Oct  1 23:17:49 1997
--- ymc/ycc0800.mf	Wed Oct  1 23:18:44 1997
***************
*** 0 ****
--- 1,4 ----
+ if unknown cmbase: input cmbase fi
+ def generate suffix t= enddef;
+ input xccsy8;
+ input ymc;
diff -c ymc/ORIG/ycc0900.mf ymc/ycc0900.mf
*** ymc/ORIG/ycc0900.mf	Wed Oct  1 23:17:49 1997
--- ymc/ycc0900.mf	Wed Oct  1 23:18:50 1997
***************
*** 0 ****
--- 1,4 ----
+ if unknown cmbase: input cmbase fi
+ def generate suffix t= enddef;
+ input xccsy9;
+ input ymc;
diff -c ymc/ORIG/ycc1000.mf ymc/ycc1000.mf
*** ymc/ORIG/ycc1000.mf	Wed Oct  1 23:17:49 1997
--- ymc/ycc1000.mf	Wed Oct  1 23:18:59 1997
***************
*** 0 ****
--- 1,5 ----
+ if unknown cmbase: input cmbase fi
+ def generate suffix t= enddef;
+ input xccsy10; 
+ input ymc;
+ 

#!/bin/sh
# This is a shell archive (produced by GNU sharut 4.2.1).
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Made on 1997-10-02 02:24 MET DST by <vieth@zarquon>.
# Source directory was `/home/vieth/misc/math-font/work.uv'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
# This format requires very little intelligence at unshar time.
# "if test", "echo", "mkdir", and "sed" may be needed.
#
# This shar contains:
# length mode       name
# ------ ---------- ------------------------------------------
#   4090 -rw-r--r-- hebrew.mf
#     96 -rw-r--r-- testcm10.mf
#     97 -rw-r--r-- testcc10.mf
#   3342 -rw-r--r-- testsy.mf
#
echo=echo
shar_tty= shar_n= shar_c='
'
mkdir _sh04032 || ( echo 'failed to create locking directory' '_sh04032'; exit 1 )
# ============= hebrew.mf ==============
if test -f 'hebrew.mf' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'hebrew.mf' '(file already exists)'
else
  $echo 'x -' extracting 'hebrew.mf' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'hebrew.mf' &&
X% Experimental changes for Hebrew letters from CM and AMS:
X%
X% by Ulrik Vieth, 1997/10/01
X%
X% Changes:
X%
X% Aleph:
X% - changed |cap_step| to |cap_curve| for diagonal strokes
X%
X% Beth:
X% - draw top slab and down stroke with one |filldraw| stroke
X%
X% Beth, Gimmel, Daleth:
X% - use |pickup fine.nib| for top slab and base strokes
X% - use |pickup rule.nib| for vertical strokes on the right
X
X
X% Hebrew letter Aleph (from CM symbol.mf)
X
Xiff known heb_aleph: cmchar "Hebrew letter Aleph";
Xbeginchar(heb_aleph, 11u#, asc_height#, 0);
Xadjust_fit(0,0); pickup fine.nib;
Xpos1(cap_curve,75); pos2(cap_curve,90); pos3(cap_curve,90); pos4(cap_curve,75);
Xlft x1l=hround u-eps; x2=2.5u=w-x3; rt x4r=hround(w-u)+eps;
Xtop y1r=h; bot y4l=0; z2=whatever[z1l,z4r]; z3=whatever[z1l,z4r];
Xfilldraw z1r{4(x1l-x1r),y1l-y1r}...{down}z1l...z2l
X ---z3l...{down}z4l{4(x4r-x4l),y4r-y4l}...{up}z4r...z3r
X ---z2r...{up}cycle; % long diagonal
Xpos5(cap_curve,75); pos6(cap_curve,90); pos7(cap_curve,75);
Xlft x5l=hround(w-4u)-eps; x6=.5[x5,x7]; x7=x4;
Xy5=y1; bot y7l=x_height-o; z6=whatever[z5l,z7r];
Xfilldraw z5r{4(x5l-x5r),y5l-y5r}...{down}z5l
X ...z6l{z7r-z5l}...{down}z7l{4(x7r-x7l),y7r-y7l}...{up}z7r
X ...z6r{z5l-z7l}...{up}cycle; % short diagonal
Xpos8(cap_hair,0); pos9(cap_hair,0); z8=z6; x9=x8-.75u; z9=whatever[z2,z3];
Xfilldraw stroke z8e{down}..{down}z9e;  % right stem
Xpos10(cap_hair,-30); pos11(stem,0);
Xpos12(cap_curve,0); pos13(cap_curve,0); pos14(vair,90);
Xlft x11l=hround 1.5u; x10=x12=.4[x11,.5w]; z10=whatever[z2,z3];
Xlft x13l=hround u; z13l=z14l; y11=.5y10; y12=.2[y14r,y11]; bot y13=0;
Xfilldraw stroke z10e{2(x11-x10),y11-y10}
X ...z11e{down}..{down}z12e; % left stem
Xfilldraw z12r{down}...z13r---z13l--z14r{right}...{up}z12l--cycle; % flourish
Xpenlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar;
X
X% Hebrew letters Beth, Gimel, Daleth (from AMS bsymbols.mf)
X
Xnumeric theta; theta=45;
Xiff known heb_beth: cmchar "Hebrew letter Beth";
Xbeginchar(heb_beth, 12u#, asc_height#, 0);
Xadjust_fit(0,0); 
Xpickup fine.nib; 
Xtop y0=1.1h; lft x0=u; 
Xpos1(cap_curve,90); x1=2.5u; y1r=h;
Xpos2(cap_curve,90); x2=w-x1; y2r=y1r;
Xpos3(cap_hair,0); pos4(cap_hair,0);
Xrt x3=w-u; y2l-y3=y0-y1r;
Xx4=x3;
X% now for the base.
Xpos12(cap_curve/cosd theta, theta); pos11(cap_curve/cosd theta, theta);
Xy11r=y12r=y4; y11l=0;
Xx12=u; x11=w-x12;
Xfilldraw z0{down}..tension.8..z1l{right}..{right}z2l..{down}z3l..{down}z4l
X  --z4r{up}..z3r{up}..tension.8..z2r{left}..{left}z1r..z0..cycle; % top
Xpickup fine.nib;
Xfilldraw stroke z11e{left}..{left}z12e;
Xpenlabels(0,1,2,3,4,11,12);
Xendchar;
X
Xiff known heb_gimel: cmchar "Hebrew letter Gimel";
Xbeginchar(heb_gimel, 8u#, asc_height#, 0);
Xadjust_fit(0,0); 
Xpickup fine.nib; 
Xtop y0=1.1h; lft x0=u; 
Xpos1(cap_curve,90); x1=2.5u; y1r=h;
Xpos2(cap_curve,90); x2=w-x1+.5u; y2r=y1r;
Xfilldraw z0{down}..tension.8..z1l{right}..{right}z2l..tension.8..{left}z2r
X  ..{left}z1r..z0..cycle; % top slab
Xz3=z2l;x4=x3+.2stem; y4=-o; x5=x4+.3stem; y5=y3c;
Xx3a=x3b=x3c=x3; y3a=.8h; y3b=.5h; y3c=cap_curve;
Xy5:=.5y5; % reset y5
Xpath p, q; p=(z3---z3c..z4); q=(z4{1,1}..z5..{-.005,1}z3); % vertical
Xpickup rule.nib; filldraw p&q&cycle;
X% now for the base.
Xpos12(cap_curve/cosd theta, theta); pos11(cap_curve/cosd theta, theta);
Xpos13(cap_curve/cosd theta, theta); y13=y12; x13=w;
X  % z13 is a dummy point for getting intersection
Xy11r=y12r; y11l=0;
Xx12=u; 
Xz10=p intersectionpoint (z12r--z13r); z11r=z10;
Xpickup fine.nib;
Xfilldraw stroke z11e{left}..{left}z12e;
Xpenlabels(0,1,2,3,3c,4,5,11,12);
Xendchar;
X
Xiff known heb_daleth: cmchar "Hebrew letter Daleth";
Xbeginchar(heb_daleth, 12u#, asc_height#, 0);
Xadjust_fit(0,0); 
Xpickup fine.nib; 
Xtop y0=1.1h; lft x0=u; 
Xpos1(cap_curve,90); x1=2.5u; y1r=h;
Xpos2(cap_curve,90); x2=w-x1+.5u; y2r=y1r;
Xfilldraw z0{down}..tension.8..z1l{right}..{right}z2l..tension.8..{left}z2r
X  ..{left}z1r..z0..cycle; % top slab
Xz3=z2l;x4=x3+.2stem; y4=-o; x5=x4+.3stem; y5=y3c;
Xx3a=x3b=x3c=x3; y3a=.8h; y3b=.5h; y3c=cap_curve;
Xy5:=.5y5; % reset y5
Xpath p, q; p=(z3---z3c..z4); q=(z4{1,1}..z5..{-.005,1}z3); % vertical
Xpickup rule.nib; filldraw p&q&cycle;
Xpenlabels(0,1,2,3,3c,4,5);
Xendchar;
X
SHAR_EOF
  : || $echo 'restore of' 'hebrew.mf' 'failed'
fi
# ============= testcm10.mf ==============
if test -f 'testcm10.mf' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'testcm10.mf' '(file already exists)'
else
  $echo 'x -' extracting 'testcm10.mf' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'testcm10.mf' &&
Xif unknown cmbase: input cmbase fi
Xdef generate suffix t= enddef;
Xinput cmsy10;
Xinput testsy;
X
X
SHAR_EOF
  : || $echo 'restore of' 'testcm10.mf' 'failed'
fi
# ============= testcc10.mf ==============
if test -f 'testcc10.mf' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'testcc10.mf' '(file already exists)'
else
  $echo 'x -' extracting 'testcc10.mf' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'testcc10.mf' &&
Xif unknown cmbase: input cmbase fi
Xdef generate suffix t= enddef;
Xinput xccsy10;
Xinput testsy;
X
X
SHAR_EOF
  : || $echo 'restore of' 'testcc10.mf' 'failed'
fi
# ============= testsy.mf ==============
if test -f 'testsy.mf' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'testsy.mf' '(file already exists)'
else
  $echo 'x -' extracting 'testsy.mf' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'testsy.mf' &&
Xfont_coding_scheme:="MATH CORE building blocks";
Xmode_setup; font_setup;
X
Xautorounding:=0;
X
Xfont_slant slant; font_x_height x_height#;
Xfont_quad 18u# if not monospace:+4letter_fit# fi;
X
X% input romanu;
X% input itall;
X
Xuc_alpha 	:=oct "201";
Xuc_beta  	:=oct "202";
Xuc_gamma 	:=oct "203";
Xuc_delta 	:=oct "204";
Xuc_epsilon	:=oct "205";
Xuc_zeta  	:=oct "206";
Xuc_eta   	:=oct "207";
Xuc_theta 	:=oct "210";
Xuc_iota  	:=oct "211";
Xuc_kappa 	:=oct "212";
Xuc_lambda	:=oct "213";
Xuc_mu    	:=oct "214";
Xuc_nu     	:=oct "215";
Xuc_xi    	:=oct "216";
Xuc_omicron	:=oct "217";
Xuc_pi    	:=oct "220";
Xuc_rho   	:=oct "221";
Xuc_sigma 	:=oct "222";
Xuc_tau   	:=oct "223";
Xuc_upsilon	:=oct "224";
Xuc_phi    	:=oct "225";
Xuc_chi   	:=oct "226";
Xuc_psi    	:=oct "227";
Xuc_omega	:=oct "230";
X
Xuc_varupsilon   :=oct "231";
X
Xlc_alpha 	:=oct "241";
Xlc_beta  	:=oct "242";
Xlc_gamma 	:=oct "243";
Xlc_delta 	:=oct "244";
Xlc_epsilon	:=oct "245";
Xlc_zeta  	:=oct "246";
Xlc_eta   	:=oct "247";
Xlc_theta 	:=oct "250";
Xlc_iota  	:=oct "251";
Xlc_kappa 	:=oct "252";
Xlc_lambda	:=oct "253";
Xlc_mu    	:=oct "254";
Xlc_nu     	:=oct "255";
Xlc_xi    	:=oct "256";
Xlc_omicron	:=oct "257";
Xlc_pi    	:=oct "260";
Xlc_rho   	:=oct "261";
Xlc_sigma 	:=oct "262";
Xlc_tau   	:=oct "263";
Xlc_upsilon	:=oct "264";
Xlc_phi    	:=oct "265";
Xlc_chi   	:=oct "266";
Xlc_psi    	:=oct "267";
Xlc_omega	:=oct "270";
X
Xlc_varepsilon	:=oct "271";
Xlc_vartheta  	:=oct "272";
Xlc_varkappa  	:=oct "273";
Xlc_varpi     	:=oct "274";
Xlc_varrho    	:=oct "275";
Xlc_varsigma  	:=oct "276";
Xlc_varphi    	:=oct "277";
X
X% input greeku;  
X% input greekl;
X
Xslant:=mono_charic#:=0;  % the remaining characters will not be slanted
Xcurrenttransform:=identity yscaled aspect_ratio scaled granularity;
X
Xuc_alpha 	:=oct "301";
Xuc_beta  	:=oct "302";
Xuc_gamma 	:=oct "303";
Xuc_delta 	:=oct "304";
Xuc_epsilon	:=oct "305";
Xuc_zeta  	:=oct "306";
Xuc_eta   	:=oct "307";
Xuc_theta 	:=oct "310";
Xuc_iota  	:=oct "311";
Xuc_kappa 	:=oct "312";
Xuc_lambda	:=oct "313";
Xuc_mu    	:=oct "314";
Xuc_nu     	:=oct "315";
Xuc_xi    	:=oct "316";
Xuc_omicron	:=oct "317";
Xuc_pi    	:=oct "320";
Xuc_rho   	:=oct "321";
Xuc_sigma 	:=oct "322";
Xuc_tau   	:=oct "323";
Xuc_upsilon	:=oct "324";
Xuc_phi    	:=oct "325";
Xuc_chi   	:=oct "326";
Xuc_psi    	:=oct "327";
Xuc_omega	:=oct "330";
X
Xuc_varupsilon   :=oct "331";
X
Xuc_inv_delta    :=oct "332";
Xuc_inv_pi       :=oct "333";
Xuc_inv_omega    :=oct "334";
X
Xlc_back_epsilon :=oct "337";
X
Xlc_alpha 	:=oct "341";
Xlc_beta  	:=oct "342";
Xlc_gamma 	:=oct "343";
Xlc_delta 	:=oct "344";
Xlc_epsilon	:=oct "345";
Xlc_zeta  	:=oct "346";
Xlc_eta   	:=oct "347";
Xlc_theta 	:=oct "350";
Xlc_iota  	:=oct "351";
Xlc_kappa 	:=oct "352";
Xlc_lambda	:=oct "353";
Xlc_mu    	:=oct "354";
Xlc_nu     	:=oct "355";
Xlc_xi    	:=oct "356";
Xlc_omicron	:=oct "357";
Xlc_pi    	:=oct "360";
Xlc_rho   	:=oct "361";
Xlc_sigma 	:=oct "362";
Xlc_tau   	:=oct "363";
Xlc_upsilon	:=oct "364";
Xlc_phi    	:=oct "365";
Xlc_chi   	:=oct "366";
Xlc_psi    	:=oct "367";
Xlc_omega	:=oct "370";
X
Xlc_varepsilon	:=oct "371";
Xlc_vartheta  	:=oct "372";
Xlc_varkappa  	:=oct "373";
Xlc_varpi     	:=oct "374";
Xlc_varrho    	:=oct "375";
Xlc_varsigma  	:=oct "376";
Xlc_varphi    	:=oct "377";
X
X% input greeku;  
X% input greekl;
X
Xheb_aleph	:=oct "232";
Xheb_beth 	:=oct "233";
Xheb_gimel	:=oct "234";
Xheb_daleth	:=oct "235";
X
Xinput hebrew;  
X
X
Xbye.
X
X
X
X
X
X
SHAR_EOF
  : || $echo 'restore of' 'testsy.mf' 'failed'
fi
$echo $shar_n 'x -' 'lock directory' '_sh04032:' $shar_c
if rm -fr _sh04032; then
  $echo 'removed'
else
  $echo 'failed to remove'
fi
exit 0