for *.map files in case no map file is found in $TEXMF/fonts/map//<dviwarename>//. While map files should be separated in this manner to prevent updmap(1) from getting confused by difference in the file formats between dvips and dvipdfm, the current chinese/CJK package depends on the obsolete search path and files in $TEXMF/fonts/map/CJK at this moment. Rationale: TDS (standard TeX Directory Structure) 1.1[*] specifies a directory for font map files should be "fonts/map/<syntax>/<package>/..." and names like "fonts/map/<package>" are discouraged. Bump PORTREVISION, but there is no visible change for most people. Spotted by: rafan References: [*] http://tug.org/tds/tds.html
237 lines
6.8 KiB
Text
237 lines
6.8 KiB
Text
--- texk/tetex/updmap.orig Sat Feb 5 06:34:26 2005
|
|
+++ texk/tetex/updmap Sat Sep 9 19:19:14 2006
|
|
@@ -266,6 +266,7 @@
|
|
###############################################################################
|
|
catMaps()
|
|
{
|
|
+ type=$1; shift
|
|
rm -f $catMapsFailed
|
|
egrep "$1" "$cnfFile" \
|
|
| sed 's@#.*@@' \
|
|
@@ -275,14 +276,18 @@
|
|
| grep . > $tmp4
|
|
|
|
while read map; do
|
|
- file=`locateMap "$map"` || { touch $catMapsFailed; break; }
|
|
-
|
|
+ file=`locateMap ${type}_catmap "$map"` || \
|
|
+ { echo "NG" >> $catMapsFailed; break; }
|
|
+ set -- ${file}
|
|
+ posttype=$1
|
|
+ file=$2
|
|
+
|
|
# output the file; also output a newline, because the final newline
|
|
# might be missing in the map file; Empty lines are filtered out later,
|
|
# so it does not really hurt do do this here.
|
|
- test -n "$file" && { cat "$file"; echo; }
|
|
+ test -n "$file" && { cat "$file" | $posttype; echo; }
|
|
done < $tmp4
|
|
- if test -f $catMapsFailed; then
|
|
+ if test -s $catMapsFailed; then
|
|
false; return 1
|
|
else
|
|
true; return 0
|
|
@@ -579,11 +584,15 @@
|
|
###############################################################################
|
|
locateMap()
|
|
{
|
|
+ case $# in
|
|
+ 2) type=$1; shift ;;
|
|
+ *) type=map; ;;
|
|
+ esac
|
|
|
|
# Always use the "migration checking version". This might become
|
|
# consigurable, but for now, we always want to check.
|
|
if :; then
|
|
- locateMapMigrate "$@"
|
|
+ locateMapMigrate $type "$@"
|
|
return $?
|
|
fi
|
|
|
|
@@ -607,10 +616,47 @@
|
|
###############################################################################
|
|
locateMapMigrate()
|
|
{
|
|
+ type=$1; shift
|
|
+
|
|
for map
|
|
do
|
|
- # look up using the new search path
|
|
- file=`kpsewhich --format=map "$map"`
|
|
+ posttype=cat
|
|
+ case $type in
|
|
+ dvipdfm)
|
|
+ prog=dvipdfm
|
|
+ file=`kpsewhich --progname=tmpdvipdfm --format="other text files" "$map"`
|
|
+ if ! [ -f "${file}" ]; then
|
|
+ posttype=dvips2dvipdfm
|
|
+ file=`kpsewhich --progname=tmpdvips --format="other text files" "$map"`
|
|
+ fi
|
|
+ if ! [ -f "${file}" ]; then
|
|
+ posttype=dvips2dvipdfm
|
|
+ file=`kpsewhich --format=map "$map"`
|
|
+ fi
|
|
+ ;;
|
|
+ dvipdfm_catmap)
|
|
+ prog=dvipdfm
|
|
+ file=`kpsewhich --progname=tmpdvipdfm --format="other text files" "$map"`
|
|
+ if ! [ -f "${file}" ]; then
|
|
+ posttype=dvips2dvipdfm
|
|
+ file=`kpsewhich --progname=tmpdvips --format="other text files" "$map"`
|
|
+ fi
|
|
+ if ! [ -f "${file}" ]; then
|
|
+ posttype=dvips2dvipdfm
|
|
+ file=`kpsewhich --format=map "$map"`
|
|
+ fi
|
|
+ ;;
|
|
+ dvips*)
|
|
+ prog=dvips
|
|
+ file=`kpsewhich --progname=tmpdvips --format="other text files" "$map"`
|
|
+ if ! [ -f "${file}" ]; then
|
|
+ file=`kpsewhich --format=map "$map"`
|
|
+ fi
|
|
+ ;;
|
|
+ *)
|
|
+ prog=map
|
|
+ file=`kpsewhich --format=map "$map"` ;;
|
|
+ esac
|
|
|
|
# look up using the old search path
|
|
file2=`kpsewhich --format='dvips config' "$map"`
|
|
@@ -621,8 +667,11 @@
|
|
|
|
if test -f "$file"; then
|
|
|
|
- verboseMsg "$progname: using map file \`$file'"
|
|
- echo "$file"
|
|
+ verboseMsg "$progname: using map file \`$file' (for $prog)"
|
|
+ case ${type} in
|
|
+ *_catmap) echo "$posttype $file" ;;
|
|
+ *) echo "$file" ;;
|
|
+ esac
|
|
|
|
# we have found the file where we should. If we have additional
|
|
# ones: complain!
|
|
@@ -679,7 +728,7 @@
|
|
$3
|
|
Please, consider removing this file.
|
|
"
|
|
- touch $mapWarnCalled
|
|
+ echo "NG" >> $mapWarnCalled
|
|
;;
|
|
manualResolve)
|
|
warn "
|
|
@@ -694,7 +743,7 @@
|
|
content of the used map file. Additionally, consider removing the
|
|
obsolete file.
|
|
"
|
|
- touch $mapWarnCalled
|
|
+ echo "NG" >> $mapWarnCalled
|
|
;;
|
|
badLocation)
|
|
map=$2
|
|
@@ -761,7 +810,6 @@
|
|
|
|
trap 'cleanup' 1 2 3 7 13 15
|
|
needsCleanup=true
|
|
- mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'"
|
|
}
|
|
|
|
###############################################################################
|
|
@@ -1064,6 +1112,7 @@
|
|
###############################################################################
|
|
dvips2dvipdfm()
|
|
{
|
|
+ normalizeLines | \
|
|
sed -e 's@$@ %@' \
|
|
-e 's@^\(\([^ ]*\).*\)@\1\2@' \
|
|
-e 's@\(.*<\[* *\([^ ]*\)\.enc\(.*\)\)@\1 \2@' \
|
|
@@ -1150,13 +1199,14 @@
|
|
dvipdfm35=`locateMap dvipdfm35.map` || cleanup
|
|
ps2pk35=`locateMap ps2pk35.map` || cleanup
|
|
|
|
+ # for dvips maps
|
|
verboseMsg
|
|
verboseMsg "$progname: Scanning for MixedMap entries:"
|
|
- catMaps '^MixedMap' > $tmp1 || cleanup
|
|
+ catMaps dvips '^MixedMap' > $tmp1 || cleanup
|
|
|
|
verboseMsg
|
|
verboseMsg "$progname: Scanning for Map entries:"
|
|
- catMaps '^Map' > $tmp2 || cleanup
|
|
+ catMaps dvips '^Map' > $tmp2 || cleanup
|
|
verboseMsg
|
|
|
|
# files should be world-readable
|
|
@@ -1205,9 +1255,26 @@
|
|
<$tmp3 normalizeLines >> "$pdftexoutputdir/pdftex_ndl14.map"
|
|
<$tmp7 normalizeLines >> "$pdftexoutputdir/pdftex_dl14.map"
|
|
|
|
+ # for dvipdfm maps
|
|
+ verboseMsg
|
|
+ verboseMsg "$progname: Scanning for dvipdfm MixedMap entries:"
|
|
+ catMaps dvipdfm '^MixedMap' > $tmp1 || cleanup
|
|
+
|
|
+ verboseMsg
|
|
+ verboseMsg "$progname: Scanning for dvipdfm Map entries:"
|
|
+ catMaps dvipdfm '^Map' > $tmp2 || cleanup
|
|
+ verboseMsg
|
|
+
|
|
+ { transLW35 "$dvipdfm35" | normalizeLines | \
|
|
+ dvips2dvipdfm; cat $tmp1 $tmp2; } \
|
|
+ | grep -v PaintType | grep . > $tmp6
|
|
+ { transLW35 "$ps2pk35" | normalizeLines | \
|
|
+ dvips2dvipdfm; cat $tmp1 $tmp2; } \
|
|
+ | grep -v PaintType | grep . > $tmp7
|
|
+
|
|
verboseMsg "$progname: Generating output for dvipdfm..."
|
|
- <$tmp7 normalizeLines | dvips2dvipdfm | normalizeLines >> "$dvipdfmoutputdir/dvipdfm_dl14.map"
|
|
- <$tmp6 normalizeLines | dvips2dvipdfm | normalizeLines >> "$dvipdfmoutputdir/dvipdfm_ndl14.map"
|
|
+ <$tmp7 normalizeLines >> "$dvipdfmoutputdir/dvipdfm_dl14.map"
|
|
+ <$tmp6 normalizeLines >> "$dvipdfmoutputdir/dvipdfm_ndl14.map"
|
|
verboseMsg "$progname: All output generated!"
|
|
verboseMsg
|
|
|
|
@@ -1228,7 +1295,7 @@
|
|
| awk '{print $(NF-2), $(NF-1), $NF}' | verboseCat
|
|
verboseMsg
|
|
|
|
- if test -f $mapWarnCalled; then
|
|
+ if test -s $mapWarnCalled; then
|
|
m="
|
|
|
|
!!! NOTICE:
|
|
@@ -1281,18 +1348,22 @@
|
|
cnfFile=
|
|
dvipsoutputdir=; pdftexoutputdir=; dvipdfmoutputdir=
|
|
: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
|
|
+ TMPDVIPDFMINPUTS=`kpsewhich -var-value TEXFONTMAPS`"//dvipdfm//"
|
|
+ TMPDVIPSINPUTS=`kpsewhich -var-value TEXFONTMAPS`"//dvips//"
|
|
+ export TMPDVIPDFMINPUTS
|
|
+ export TMPDVIPSINPUTS
|
|
|
|
- tmpdir=${TMP-/tmp}/$progname.$$
|
|
- tmp1=$tmpdir/a
|
|
- tmp2=$tmpdir/b
|
|
- tmp3=$tmpdir/c
|
|
- tmp4=$tmpdir/d
|
|
- tmp5=$tmpdir/e
|
|
- tmp6=$tmpdir/f
|
|
- tmp7=$tmpdir/g
|
|
- tmp8=$tmpdir/h
|
|
- mapWarnCalled=$tmpdir/mapWarnCalled
|
|
- catMapsFailed=$tmpdir/catMapsFailed
|
|
+ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXXX`
|
|
+ tmp1=`mktemp $tmpdir/a.XXXXXX`
|
|
+ tmp2=`mktemp $tmpdir/b.XXXXXX`
|
|
+ tmp3=`mktemp $tmpdir/c.XXXXXX`
|
|
+ tmp4=`mktemp $tmpdir/d.XXXXXX`
|
|
+ tmp5=`mktemp $tmpdir/e.XXXXXX`
|
|
+ tmp6=`mktemp $tmpdir/f.XXXXXX`
|
|
+ tmp7=`mktemp $tmpdir/g.XXXXXX`
|
|
+ tmp8=`mktemp $tmpdir/h.XXXXXX`
|
|
+ mapWarnCalled=`mktemp $tmpdir/mapWarnCalled.XXXXXX`
|
|
+ catMapsFailed=`mktemp $tmpdir/catMapsFailed.XXXXXX`
|
|
|
|
processOptions ${1+"$@"}
|
|
|