From 75b63e7ef75565914fd00cbace2bcf1b3e826dd4 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 13 Jul 2017 10:46:04 +0900 Subject: add lucold --- texmf-dist/source/latex/lucold/makefd | 12 +++++ texmf-dist/source/latex/lucold/makefd.awk | 79 ++++++++++++++++++++++++++++++ texmf-dist/source/latex/lucold/maketfm | 26 ++++++++++ texmf-dist/source/latex/lucold/maketfm.awk | 40 +++++++++++++++ texmf-dist/source/latex/lucold/makevf | 42 ++++++++++++++++ texmf-dist/source/latex/lucold/makevf.awk | 71 +++++++++++++++++++++++++++ 6 files changed, 270 insertions(+) create mode 100644 texmf-dist/source/latex/lucold/makefd create mode 100644 texmf-dist/source/latex/lucold/makefd.awk create mode 100644 texmf-dist/source/latex/lucold/maketfm create mode 100644 texmf-dist/source/latex/lucold/maketfm.awk create mode 100644 texmf-dist/source/latex/lucold/makevf create mode 100644 texmf-dist/source/latex/lucold/makevf.awk (limited to 'texmf-dist/source') diff --git a/texmf-dist/source/latex/lucold/makefd b/texmf-dist/source/latex/lucold/makefd new file mode 100644 index 00000000..b9dc1834 --- /dev/null +++ b/texmf-dist/source/latex/lucold/makefd @@ -0,0 +1,12 @@ +#! /bin/bash + +# $Id: makefd,v 1.1 1999/05/25 12:16:26 loreti Exp $ + +cp $TETEXDIR/texmf/tex/latex/lucidabr/*t1hlh.fd . + +for infile in *.fd + do outfile="${infile%h.fd}os.fd" + awk >$outfile -f makefd.awk -v infile=$infile +done + +rm *t1hlh.fd diff --git a/texmf-dist/source/latex/lucold/makefd.awk b/texmf-dist/source/latex/lucold/makefd.awk new file mode 100644 index 00000000..ccfbbc37 --- /dev/null +++ b/texmf-dist/source/latex/lucold/makefd.awk @@ -0,0 +1,79 @@ +# File: makefd.awk +# $Id: makefd.awk,v 1.1 1999/05/25 12:16:26 loreti Exp $ +# +# Author: Maurizio Loreti, aka MLO or (HAM) I3NOO +# Work: University of Padova - Department of Physics +# Via F. Marzolo, 8 - 35131 PADOVA - Italy +# Phone: +39 (049) 827-7216 FAX: +39 (049) 827-7102 +# EMail: loreti@padova.infn.it +# WWW: http://wwwcdf.pd.infn.it/~loreti/mlo.html + +BEGIN { + FS="[{ ]"; + OFS="{"; + + # Converts the input file name to the output file name; + # e.g. t1hlh.fd --> t1hlos.fd . + + out = tolower(infile); + sub("hlh", "hlos", out); + + while (getline 0) { + if ($1 == "%Filename:") { + + # The first record: just a comment with the file name. + + print "%Filename: " out; + continue; + } else if ($1 == "%Created") { + + # Second and third records: comments, skipped. + + continue; + } else if ($1 == "\\ProvidesFile") { + + # The original (splitted in two lines) \ProvidesFile command + # is converted to an hard-wired one-line equivalent. + + print "\\ProvidesFile{" out "}[Lucida Bright with Old Style numerals]"; + if (getline 0) { + continue; + } else { + print >/dev/stderr "Corrupted file, " infile; + exit; + } + } else if ($1 == "\\DeclareFontFamily") { + + # The \DeclareFontFamily command: just convert "hlh" --> "hlos". + + $3 = "hlos}"; + } else if ($1 == "\\DeclareLucidaFontShape") { + + # In the \DeclareLucidaFontShape commands, in addition to the + # conversion "hlh" --> "hlos", we must change the file name --- + # but only for the upright shapes ("n"). I think it has no sense + # a conversion for italic or smallcaps numerals to Old Style ... + + $3 = "hlos}"; + flag = ($5 == "n}"); + print; + if (getline 0) { + if (flag) sub("hlh", "hlo"); + } else { + print >/dev/stderr "Corrupted file, " infile; + exit; + } + } else if ($1 == "\\DeclareFontShape") { + + # \DeclareFontShape: "hlh" --> "hlos"; hlh/b/n and hlh/bx/n are + # mapped to hlos/b/n and hlos/bx/n . + + if ($5 == "n}" && ($4 == "b}" || $4 == "bx}")) { + gsub("hlh", "hlos"); + } else { + sub("hlh", "hlos"); + } + } + print; + } +} diff --git a/texmf-dist/source/latex/lucold/maketfm b/texmf-dist/source/latex/lucold/maketfm new file mode 100644 index 00000000..2c4da27e --- /dev/null +++ b/texmf-dist/source/latex/lucold/maketfm @@ -0,0 +1,26 @@ +#! /bin/bash + +# $Id: maketfm,v 1.1 1999/05/25 12:16:26 loreti Exp $ + +cp $TETEXDIR/texmf/fonts/tfm/bh/lubright/hlh??t.tfm . +cp $TETEXDIR/texmf/fonts/tfm/bh/lumath/hlc?im*.tfm . + +for file in *.tfm + do tftopl $file ${file%tfm}pl +done + +awk >hlor7t.pl -f maketfm.awk \ + -v infile1=hlhr7t.pl -v infile2=hlcrima.pl +awk >hlob7t.pl -f maketfm.awk \ + -v infile1=hlhb7t.pl -v infile2=hlcdima.pl +awk >hlor8t.pl -f maketfm.awk \ + -v infile1=hlhr8t.pl -v infile2=hlcrima.pl +awk >hlob8t.pl -f maketfm.awk \ + -v infile1=hlhb8t.pl -v infile2=hlcdima.pl + +pltotf hlor7t.pl hlor7t.tfm +pltotf hlob7t.pl hlob7t.tfm +pltotf hlor8t.pl hlor8t.tfm +pltotf hlob8t.pl hlob8t.tfm + +rm hl???t.pl hlc?im*.tfm diff --git a/texmf-dist/source/latex/lucold/maketfm.awk b/texmf-dist/source/latex/lucold/maketfm.awk new file mode 100644 index 00000000..a02d5d68 --- /dev/null +++ b/texmf-dist/source/latex/lucold/maketfm.awk @@ -0,0 +1,40 @@ +# File: maketfm.awk +# $Id: maketfm.awk,v 1.1 1999/05/25 12:16:26 loreti Exp $ +# +# Author: Maurizio Loreti, aka MLO or (HAM) I3NOO +# Work: University of Padova - Department of Physics +# Via F. Marzolo, 8 - 35131 PADOVA - Italy +# Phone: +39 (049) 827-7216 FAX: +39 (049) 827-7102 +# EMail: loreti@padova.infn.it +# WWW: http://wwwcdf.pd.infn.it/~loreti/mlo.html +# +######################################################################### +# +# This awk procedure relies on the sequence (CHARACTER C 0 ...) ... +# (CHARACTER C 9 ...) being contiguous, and immediately followed by +# (CHARACTER O 72 ...) in every .pl file. It just reads from "infile1" +# until (CHARACTER C 0 ...), inserts the sequence (CHARACTER C 0 ...) ... +# (CHARACTER C 9 ...) from "infile2", then what follows starting from +# (CHARACTER O 72 ...) still from "infile1". + +BEGIN { + out = 1; + + while (getline 0) { + if ($1 == "(CHARACTER" && $2 == "O" && $3 == "72") out = 1; + if ($1 == "(CHARACTER" && $2 == "C" && $3 == "0") { + out = 0; + while (getline 0) { + if ($1 == "(CHARACTER" && $2 == "C" && $3 == "0") out = 1; + if ($1 == "(CHARACTER" && $2 == "O" && $3 == "72") { + close(infile2); + out = 0; + break; + } + if (out) print; + } + } + if (out) print; + } + close(infile1); +} diff --git a/texmf-dist/source/latex/lucold/makevf b/texmf-dist/source/latex/lucold/makevf new file mode 100644 index 00000000..6b40e0a4 --- /dev/null +++ b/texmf-dist/source/latex/lucold/makevf @@ -0,0 +1,42 @@ +#! /bin/bash + +# $Id: makevf,v 1.1 1999/05/25 12:16:26 loreti Exp $ + +cp $TETEXDIR/texmf/fonts/vf/bh/lubright/hlh??t.vf . + +for file in hlh??t.vf + do base="${file%vf}" + vftovp ${base}vf ${base}tfm ${base}vpl +done + +to="hlor7t"; from="hlhr7t.vpl"; mft="hlcrima" +ck="$(grep CHECKSUM ${mft}.pl | cut -d" " -f3 | sed 's/)//')" +awk >tmp -f maketfm.awk -v infile1=$from -v infile2=${mft}.pl +awk >${to}.vpl -f makevf.awk -v infile=tmp \ + -v mft=$mft -v ck=$ck +vptovf ${to}.vpl ${to}.vf ${to}.tfm +rm tmp + +to="hlob7t"; from="hlhb7t.vpl"; mft="hlcdima" +ck="$(grep CHECKSUM ${mft}.pl | cut -d" " -f3 | sed 's/)//')" +awk >tmp -f maketfm.awk -v infile1=$from -v infile2=${mft}.pl +awk >${to}.vpl -f makevf.awk -v infile=tmp \ + -v mft=$mft -v ck=$ck +vptovf ${to}.vpl ${to}.vf ${to}.tfm +rm tmp + +to="hlor8t"; from="hlhr8t.vpl"; mft="hlcrima" +ck="$(grep CHECKSUM ${mft}.pl | cut -d" " -f3 | sed 's/)//')" +awk >tmp -f maketfm.awk -v infile1=$from -v infile2=${mft}.pl +awk >${to}.vpl -f makevf.awk -v infile=tmp \ + -v mft=$mft -v ck=$ck +vptovf ${to}.vpl ${to}.vf ${to}.tfm +rm tmp + +to="hlob8t"; from="hlhb8t.vpl"; mft="hlcdima" +ck="$(grep CHECKSUM ${mft}.pl | cut -d" " -f3 | sed 's/)//')" +awk >tmp -f maketfm.awk -v infile1=$from -v infile2=${mft}.pl +awk >${to}.vpl -f makevf.awk -v infile=tmp \ + -v mft=$mft -v ck=$ck +vptovf ${to}.vpl ${to}.vf ${to}.tfm +rm tmp *.pl *.vpl hlh*.tfm hlh*.vf diff --git a/texmf-dist/source/latex/lucold/makevf.awk b/texmf-dist/source/latex/lucold/makevf.awk new file mode 100644 index 00000000..9ad3ab8e --- /dev/null +++ b/texmf-dist/source/latex/lucold/makevf.awk @@ -0,0 +1,71 @@ +# File: maketfm.awk +# $Id: makevf.awk,v 1.1 1999/05/25 12:16:26 loreti Exp $ +# +# Author: Maurizio Loreti, aka MLO or (HAM) I3NOO +# Work: University of Padova - Department of Physics +# Via F. Marzolo, 8 - 35131 PADOVA - Italy +# Phone: +39 (049) 827-7216 FAX: +39 (049) 827-7102 +# EMail: loreti@padova.infn.it +# WWW: http://wwwcdf.pd.infn.it/~loreti/mlo.html +# +######################################################################### +# +# This awk procedure relies on the sequence (CHARACTER C 0 ...) ... +# (CHARACTER C 9 ...) being contiguous and immediately followed by +# (CHARACTER O 72 ...) in every .vpl file. This GNU-awk program +# copies the .vpl file "infile" to stdout, remapping the numerical +# characters to another font: namely the file "mft" with checksum +# "ck". + +BEGIN { + numbers = "0123456789"; + + while (getline 0) { + if ($1 == "(VTITLE") { + print "(VTITLE )"; + } else if ($1 == "(LIGTABLE") { + + # Insert MAPFONT 1 before LIGTABLE (and after MAPFONT 0) + + print "(MAPFONT D 1"; + print " (FONTNAME " mft ")"; + print " (FONTCHECKSUM O " ck ")"; + print " (FONTAT R 1.0)"; + print " (FONTDSIZE R 10.0)"; + print " )"; + print; + } else if ($1 == "(CHARACTER" && + $2 == "C" && + index(numbers, $3) != 0) { + + # Switch all numerical characters to MAPFONT 1: skips to the + # closing parenthesis of the record, and insert an appropriate + # couple of SELECTFONT/SETCHAR statements before. The input + # has been processed from "maketfm.awk", and all the mapping + # information is missing (only for these characters). + + paren = 0; + save3 = $3; + while (1) { + for (i=1; i<=length(); i++) { + c = substr($0, i, 1); + if (c == "(") paren++; + if (c == ")") paren--; + } + if (paren == 0) break; + print; + if (getline /dev/stderr "Corrupted file, " infile; + exit; + } + } + print " (MAP"; + print " (SELECTFONT D 1)"; + print " (SETCHAR C " save3 ")"; + print " )"; + print; + } else { + print; + } + } +} -- cgit v1.2.3