diff options
Diffstat (limited to 'info/symbols/comprehensive/source/makefakeboisik')
-rwxr-xr-x | info/symbols/comprehensive/source/makefakeboisik | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/info/symbols/comprehensive/source/makefakeboisik b/info/symbols/comprehensive/source/makefakeboisik new file mode 100755 index 0000000000..bdf313e3f7 --- /dev/null +++ b/info/symbols/comprehensive/source/makefakeboisik @@ -0,0 +1,86 @@ +#! /usr/bin/env perl + +# Convert boisik.sty to a faked version that does not require +# the definition of any additional math alphabets +# +# By Scott Pakin <scott.clsl@pakin.org> + +use POSIX; +use warnings; +use strict; + +# Output some header boilerplate. +print "\%" x 43, "\n"; +print "\% This is a generated file. DO NOT EDIT. \%\n"; +print "\%" x 43, "\n"; +print "\n"; + +# Read and process boisik.sty. +while (my $oneline = <>) { + chomp $oneline; + + # Output some package header information. + if ($oneline =~ /NeedsTeXFormat/o) { + print $oneline, "\n"; + next; + } + if ($oneline =~ /ProvidesPackage/o) { + $oneline =~ s/boisik/fakeboisik/; + $oneline =~ s/bsk/faked bsk/; + print $oneline, "\n\n"; + print <<'HEADER'; +\DeclareFontEncoding{LBL}{}{} +\DeclareFontFamily{LBL}{bskm}{\skewchar\font130 } +\DeclareFontShape{LBL}{bskm}{m}{it}{<->bskmi10}{} +\newcommand*{\BSKletterschar}[1]{{\usefont{LBL}{bskm}{m}{it}\char#1}} + +\DeclareFontEncoding{LBM}{}{} +\DeclareFontFamily{LBM}{bskms}{\skewchar\font130 } +\DeclareFontShape{LBM}{bskms}{m}{n}{<->bskms10}{} +\newcommand*{\BSKbsksymbolschar}[1]{{\usefont{LBM}{bskms}{m}{n}\char#1}} + +\DeclareFontEncoding{LBS}{}{} +\DeclareFontFamily{LBS}{bsk}{} +\DeclareFontShape{LBS}{bsk}{m}{n}{<->ssub*bsksy/m/n}{} +\newcommand*{\BSKsymbolschar}[1]{{\usefont{LBS}{bsk}{m}{n}\char#1}} + +\DeclareFontFamily{U}{bskarr}{} +\DeclareFontShape{U}{bskarr}{m}{n}{<->bskarr10}{} +\newcommand*{\BSKbskarrchar}[1]{{\usefont{U}{bskarr}{m}{n}\char#1}} + +\DeclareFontFamily{U}{bskma}{} +\DeclareFontShape{U}{bskma}{m}{n}{<->bskma10}{} +\newcommand*{\BSKbskaddchar}[1]{{\usefont{U}{bskma}{m}{n}\char#1}} + +\DeclareFontFamily{U}{bskex}{} +\DeclareFontShape{U}{bskex}{m}{n}{<->sfixed*bskex10}{} +\newcommand*{\BSKlargesymbolschar}[1]{{\usefont{U}{bskex}{m}{n}\char#1}} + +HEADER + ; + next; + } + + # Define most of boisik's symbols. + if ($oneline =~ /^\\DeclareMath(?:Symbol|Delimiter)\{\\([A-Za-z\@]+)\}.*\{(\w+)\}\s*\{(\"\w+)\}\s*$/o) { + my ($sym, $cat, $slot) = ($1, $2, $3); + print "\\DeclareRobustCommand{\\BSK$sym}{\\BSK${cat}char{$slot}}\n"; + } +} + +# Write some trailer boilerplate. +print <<'TRAILER'; + +\DeclareRobustCommand{\BSKmaltese}{\BSKbsksymbolschar{"EE}} +\DeclareRobustCommand{\BSKcheckmark}{\BSKbsksymbolschar{"EF}} +\DeclareRobustCommand{\BSKtintup}{\raisebox{2ex}{\BSKlargesymbolschar{"8A}}} +\DeclareRobustCommand{\BSKdintup}{\raisebox{3ex}{\BSKlargesymbolschar{"8B}}} + +\DeclareRobustCommand{\BSKvec}[1]{% + \mbox{#1}% + \llap{\makebox[\wd0]{\BSKletterschar{"81}}\hspace{4pt}}% +} + +\endinput +TRAILER +; |