On Sunday 06 Jan 2013 18:46:39 Werner LEMBERG wrote:
> > Is there a way of detecting if a particular font exists before
> > setting up the \[Eu] definitions?
> 
> I've somehow missed this question.  Yes, there is, for example
> 
>   .do if F ABI \
>   .  do fschar ABI \[Eu] \f[EURO]\N'1'
> 
> This is the way to go I think (regardless of a fix for groff's
> `skip_line' problem).
> 
> >   Warning: line 28:
> >     Unable to locate font 'URWGothicL-Demi!a010015l.pfb' on the given
> >     path(s)
> > 
> > Are "correct" it is looking for either URWGothicL-Demi or
> > 
> >     a010015l.pfb
> 
> *I* fully understand that but Joe User might be irritated due to the
> exclamatation mark.  Maybe this can be improved to something like
> this:
> 
>   Warning: line 28:
>     Unable to locate font `URWGothicL-Demi' on the given path(s).
>       (searched font files: `URWGothicL-Demi.pfb', `a010015l.pfb')
> 
> 
>    Werner

Here's patches for europs and BuildFoundries.pl

BuildFoundries looks for either pfa OR pfb versions of the fonts, so I have 
left the extensions off the font names in the warning.

Cheers 

Deri
diff -ruNb a/font/devpdf/util/BuildFoundries.pl b/font/devpdf/util/BuildFoundries.pl
--- a/font/devpdf/util/BuildFoundries.pl	2012-12-30 08:40:30.000000000 +0000
+++ b/font/devpdf/util/BuildFoundries.pl	2013-01-06 23:33:54.336898925 +0000
@@ -105,7 +105,8 @@
 			if (uc($r[1]) ne 'Y')
 			{
 			    $gotf=0;
-			    Msg(0,"Unable to locate font '$r[5]' on the given path(s)");
+			    my $fns=join(',',split('!',$r[5]));
+			    Msg(0,"Unable to locate font(s) $fns on the given path(s)");
 			    unlink $gfont;	# Unable to find the postscript file for the font just created by afmtodit
 			}
 		    }
diff -ruNb a/tmac/europs.tmac b/tmac/europs.tmac
--- a/tmac/europs.tmac	2012-12-30 08:40:29.000000000 +0000
+++ b/tmac/europs.tmac	2013-01-06 18:39:16.208208840 +0000
@@ -2,37 +2,37 @@
 .
 .do char \[eu] \f[EURO]\N'0'
 .
-.do fschar AB   \[Eu] \f[EURO]\N'1'
-.do fschar ABI  \[Eu] \f[EURO]\N'3'
-.do fschar AI   \[Eu] \f[EURO]\N'2'
-.do fschar AR   \[Eu] \f[EURO]\N'0'
-.do fschar BMB  \[Eu] \f[EURO]\N'5'
-.do fschar BMBI \[Eu] \f[EURO]\N'7'
-.do fschar BMI  \[Eu] \f[EURO]\N'6'
-.do fschar BMR  \[Eu] \f[EURO]\N'4'
-.do fschar CB   \[Eu] \f[EURO]\N'13'
-.do fschar CBI  \[Eu] \f[EURO]\N'15'
-.do fschar CI   \[Eu] \f[EURO]\N'14'
-.do fschar CR   \[Eu] \f[EURO]\N'12'
-.do fschar HB   \[Eu] \f[EURO]\N'9'
-.do fschar HBI  \[Eu] \f[EURO]\N'11'
-.do fschar HI   \[Eu] \f[EURO]\N'10'
-.do fschar HR   \[Eu] \f[EURO]\N'8'
-.do fschar HNB  \[Eu] \f[EURO]\N'9'
-.do fschar HNBI \[Eu] \f[EURO]\N'11'
-.do fschar HNI  \[Eu] \f[EURO]\N'10'
-.do fschar HNR  \[Eu] \f[EURO]\N'8'
-.do fschar NB   \[Eu] \f[EURO]\N'5'
-.do fschar NBI  \[Eu] \f[EURO]\N'7'
-.do fschar NI   \[Eu] \f[EURO]\N'6'
-.do fschar NR   \[Eu] \f[EURO]\N'4'
-.do fschar PB   \[Eu] \f[EURO]\N'5'
-.do fschar PBI  \[Eu] \f[EURO]\N'7'
-.do fschar PI   \[Eu] \f[EURO]\N'6'
-.do fschar PR   \[Eu] \f[EURO]\N'4'
-.do fschar TB   \[Eu] \f[EURO]\N'5'
-.do fschar TBI  \[Eu] \f[EURO]\N'7'
-.do fschar TI   \[Eu] \f[EURO]\N'6'
-.do fschar TR   \[Eu] \f[EURO]\N'4'
+.do if F AB   .do fschar AB   \[Eu] \f[EURO]\N'1'
+.do if F ABI  .do fschar ABI  \[Eu] \f[EURO]\N'3'
+.do if F AI   .do fschar AI   \[Eu] \f[EURO]\N'2'
+.do if F AR   .do fschar AR   \[Eu] \f[EURO]\N'0'
+.do if F BMB  .do fschar BMB  \[Eu] \f[EURO]\N'5'
+.do if F BMBI .do fschar BMBI \[Eu] \f[EURO]\N'7'
+.do if F BMI  .do fschar BMI  \[Eu] \f[EURO]\N'6'
+.do if F BMR  .do fschar BMR  \[Eu] \f[EURO]\N'4'
+.do if F CB   .do fschar CB   \[Eu] \f[EURO]\N'13'
+.do if F CBI  .do fschar CBI  \[Eu] \f[EURO]\N'15'
+.do if F CI   .do fschar CI   \[Eu] \f[EURO]\N'14'
+.do if F CR   .do fschar CR   \[Eu] \f[EURO]\N'12'
+.do if F HB   .do fschar HB   \[Eu] \f[EURO]\N'9'
+.do if F HBI  .do fschar HBI  \[Eu] \f[EURO]\N'11'
+.do if F HI   .do fschar HI   \[Eu] \f[EURO]\N'10'
+.do if F HR   .do fschar HR   \[Eu] \f[EURO]\N'8'
+.do if F HNB  .do fschar HNB  \[Eu] \f[EURO]\N'9'
+.do if F HNBI .do fschar HNBI \[Eu] \f[EURO]\N'11'
+.do if F HNI  .do fschar HNI  \[Eu] \f[EURO]\N'10'
+.do if F HNR  .do fschar HNR  \[Eu] \f[EURO]\N'8'
+.do if F NB   .do fschar NB   \[Eu] \f[EURO]\N'5'
+.do if F NBI  .do fschar NBI  \[Eu] \f[EURO]\N'7'
+.do if F NI   .do fschar NI   \[Eu] \f[EURO]\N'6'
+.do if F NR   .do fschar NR   \[Eu] \f[EURO]\N'4'
+.do if F PB   .do fschar PB   \[Eu] \f[EURO]\N'5'
+.do if F PBI  .do fschar PBI  \[Eu] \f[EURO]\N'7'
+.do if F PI   .do fschar PI   \[Eu] \f[EURO]\N'6'
+.do if F PR   .do fschar PR   \[Eu] \f[EURO]\N'4'
+.do if F TB   .do fschar TB   \[Eu] \f[EURO]\N'5'
+.do if F TBI  .do fschar TBI  \[Eu] \f[EURO]\N'7'
+.do if F TI   .do fschar TI   \[Eu] \f[EURO]\N'6'
+.do if F TR   .do fschar TR   \[Eu] \f[EURO]\N'4'
 .
 .\" EOF
_______________________________________________
bug-groff mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-groff

Reply via email to