summaryrefslogtreecommitdiff
path: root/texmf-dist/source
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2017-07-13 10:46:04 +0900
committerNorbert Preining <norbert@preining.info>2017-07-13 10:46:04 +0900
commit75b63e7ef75565914fd00cbace2bcf1b3e826dd4 (patch)
tree2b9ef94636895cc7d0d6dfa048ca328d2f9f84b7 /texmf-dist/source
parent7aee74c9077bc1745ff6e9e6279b7e2d3ba737a9 (diff)
add lucold
Diffstat (limited to 'texmf-dist/source')
-rw-r--r--texmf-dist/source/latex/lucold/makefd12
-rw-r--r--texmf-dist/source/latex/lucold/makefd.awk79
-rw-r--r--texmf-dist/source/latex/lucold/maketfm26
-rw-r--r--texmf-dist/source/latex/lucold/maketfm.awk40
-rw-r--r--texmf-dist/source/latex/lucold/makevf42
-rw-r--r--texmf-dist/source/latex/lucold/makevf.awk71
6 files changed, 270 insertions, 0 deletions
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 <infile >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 <infile >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 <infile >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 <infile1 >0) {
+ if ($1 == "(CHARACTER" && $2 == "O" && $3 == "72") out = 1;
+ if ($1 == "(CHARACTER" && $2 == "C" && $3 == "0") {
+ out = 0;
+ while (getline <infile2 >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 <infile >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 <infile <=0) {
+ print >/dev/stderr "Corrupted file, " infile;
+ exit;
+ }
+ }
+ print " (MAP";
+ print " (SELECTFONT D 1)";
+ print " (SETCHAR C " save3 ")";
+ print " )";
+ print;
+ } else {
+ print;
+ }
+ }
+}