summaryrefslogtreecommitdiff
path: root/print/latex-cjk/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'print/latex-cjk/scripts')
-rw-r--r--print/latex-cjk/scripts/fddiff.sh64
-rw-r--r--print/latex-cjk/scripts/installt1enc.sh102
-rw-r--r--print/latex-cjk/scripts/installtfm.sh23
-rw-r--r--print/latex-cjk/scripts/post-install124
4 files changed, 189 insertions, 124 deletions
diff --git a/print/latex-cjk/scripts/fddiff.sh b/print/latex-cjk/scripts/fddiff.sh
new file mode 100644
index 000000000000..7e2defcc2e3b
--- /dev/null
+++ b/print/latex-cjk/scripts/fddiff.sh
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+PATH=/bin:/usr/bin:${LOCALBASE}/bin; export PATH
+
+generate()
+{
+ENCODING="$1"
+FONTTEXNAME="$2"
+FONTNAME="$3"
+
+if [ "$ENCODING" = "UTF8" ]; then
+ NFSSENC=70
+elif [ "$ENCODING" = "GB" ]; then
+ NFSSENC=10
+elif [ "$ENCODING" = "Bg5" ]; then
+ NFSSENC=00
+else
+ echo "Unknown encoding !"
+ exit 1
+fi
+
+FDDIR=texinput/${ENCODING}
+
+FDNAME=c${NFSSENC}${FONTTEXNAME}.fd
+
+mkdir -p ${FDDIR}
+
+cat > ${FDDIR}/${FDNAME} << EOF
+% This file is automatically generated by `basename $0`
+\\def\\fileversion{0.0.1}
+\\def\\filedate{`date +%Y/%m/%d`}
+\\ProvidesFile{${FDNAME}}[\\filedate\\space\\fileversion]
+
+\\DeclareFontFamily{C${NFSSENC}}{${FONTTEXNAME}}{\\hyphenchar \\font\\m@ne}
+
+\\DeclareFontShape{C${NFSSENC}}{${FONTTEXNAME}}{m}{n}{<-> CJK * ${FONTNAME}}{}
+\\DeclareFontShape{C${NFSSENC}}{${FONTTEXNAME}}{bx}{n}{<-> CJKb * ${FONTNAME}}{\\CJKbold}
+\\DeclareFontShape{C${NFSSENC}}{${FONTTEXNAME}}{m}{sl}{<-> CJK * ${FONTNAME}sl}{}
+\\DeclareFontShape{C${NFSSENC}}{${FONTTEXNAME}}{bx}{sl}{<-> CJKb * ${FONTNAME}sl}{\\CJKbold}
+\\DeclareFontShape{C${NFSSENC}}{${FONTTEXNAME}}{m}{it}{<-> CJK * ${FONTNAME}sl}{}
+\\DeclareFontShape{C${NFSSENC}}{${FONTTEXNAME}}{bx}{it}{<-> CJKb * ${FONTNAME}sl}{\\CJKbold}
+
+\\endinput
+EOF
+
+echo -n "" > ${FDDIR}/${FDNAME}.orig
+
+diff -u ${FDDIR}/${FDNAME}.orig ${FDDIR}/${FDNAME}
+
+}
+
+(
+ generate UTF8 b5song arb5sungu
+ generate UTF8 b5kai arb5kaiu
+ generate UTF8 gbsong argbsungu
+ generate UTF8 gbkai argbkaiu
+) > patch-texinput-UTF8-arphicfdfiles
+
+(
+ generate Bg5 t1song t1arb5sung
+ generate Bg5 t1kai t1arb5kai
+ generate GB t1song t1argbsung
+ generate GB t1kai t1argbkai
+) > patch-texinput-GBBg5-type1fdfiles
diff --git a/print/latex-cjk/scripts/installt1enc.sh b/print/latex-cjk/scripts/installt1enc.sh
new file mode 100644
index 000000000000..9452012eb144
--- /dev/null
+++ b/print/latex-cjk/scripts/installt1enc.sh
@@ -0,0 +1,102 @@
+#!/bin/sh
+#
+# Origin By Edward G.J. Lee 2001.11.25
+# http://www.study-area.org/tips/latex/pdftex.html
+# This code is Public Domain.
+#
+# Modified by intron@intron.ac, 2006.2.22
+#
+
+PATH=/bin:/usr/bin:${LOCALBASE}/bin; export PATH
+
+FONTNAME="$1"
+TTFFILE="$2"
+ENCODING="$3"
+
+if [ "$ENCODING" = "GB" ]; then
+ MAPFILE=cugb.map
+ PLANENUMSTART=1
+ PLANENUM=35
+elif [ "$ENCODING" = "GBK" ]; then
+ MAPFILE=cugbk.map
+ PLANENUMSTART=1
+ PLANENUM=94
+elif [ "$ENCODING" = "Bg5" ]; then
+ MAPFILE=cubig5.map
+ PLANENUMSTART=1
+ PLANENUM=55
+elif [ "$ENCODING" = "Bg5+" ]; then
+ MAPFILE=cubg5plus.map
+ PLANENUMSTART=1
+ PLANENUM=94
+elif [ "$ENCODING" = "UTF8" ]; then
+ # No map file for ttf2pt1
+ PLANENUMSTART=0
+ PLANENUM=255
+else
+ echo "Unknown encoding '$ENCODING' !"
+ exit 1
+fi
+
+
+TEXMFMAIN=`kpsexpand '$TEXMFMAIN'`
+
+MAPFILE=${LOCALBASE}/share/ttf2pt1/maps/${MAPFILE}
+
+CJKTTFDIR=${TEXMFMAIN}/fonts/truetype/CJK
+ENCDIR=${TEXMFMAIN}/fonts/enc/CJK/${FONTNAME}
+PFBDIR=${TEXMFMAIN}/fonts/type1/CJK/${FONTNAME}
+
+#This is a hack.
+UPDMAPCFG=`kpsewhich -format 'web2c files' updmap.cfg`
+TEXMFCNF=`kpsewhich -format 'web2c files' texmf.cnf`
+
+SLANT="0.3"
+
+INSTALL_DIR="install -d -m 0755 -o root -g wheel"
+INSTALL="install -m 0444 -o root -g wheel"
+
+n=${PLANENUMSTART}
+
+#Create directories
+${INSTALL_DIR} ${ENCDIR}
+${INSTALL_DIR} ${PFBDIR}
+
+echo "Generating Type 1 subfonts $FONTNAME from $TTFFILE [$ENCODING planes: $n-$PLANENUM]:"
+
+while [ $n -le $PLANENUM ]
+do
+ echo -n "[$n]"
+ if [ "$ENCODING" = "UTF8" ]; then
+ # Hexadecimal for Unicode
+ m=`printf %02x $n`
+ else
+ # Decimal
+ m=`printf %02d $n`
+ fi
+ SUBFONTNAME=t1${FONTNAME}${m}
+ SUBFONTNAMESLANT=t1${FONTNAME}sl${m}
+
+ # Generate *.pfb *.enc
+ if [ "$ENCODING" = "UTF8" ]; then
+ ttf2pt1 -b -GaEF -pft -Ohub -W0 -l plane+pid=3,eid=1,0x$m "${CJKTTFDIR}/$TTFFILE" ${SUBFONTNAME}
+ else
+ ttf2pt1 -b -GaEF -pft -Ohub -W0 -L $MAPFILE+$m "${CJKTTFDIR}/$TTFFILE" ${SUBFONTNAME}
+ fi
+
+ # Generate mapping files for updmap & PDFTeX
+ fontfullname=`head -n 1 ${SUBFONTNAME}.enc | sed -e 's,^/\(.*\)Encoding.*$,\1,'`
+ echo -n "${SUBFONTNAME} ${fontfullname} <${SUBFONTNAME}.pfb
+${SUBFONTNAMESLANT} ${fontfullname} \" ${SLANT} SlantFont \" <${SUBFONTNAME}.pfb
+" >> CJK-type1.map
+
+ echo -n "${FONTNAME}${m} ${fontfullname} <${SUBFONTNAME}.enc <${TTFFILE}
+" >> CJK-pdftex.map
+
+ ${INSTALL} ${SUBFONTNAME}.pfb ${PFBDIR}
+ ${INSTALL} ${SUBFONTNAME}.enc ${ENCDIR}
+
+ n=`expr $n + 1`
+done
+
+echo
diff --git a/print/latex-cjk/scripts/installtfm.sh b/print/latex-cjk/scripts/installtfm.sh
new file mode 100644
index 000000000000..ca1f113e31f7
--- /dev/null
+++ b/print/latex-cjk/scripts/installtfm.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+PATH=/bin:/usr/bin:${LOCALBASE}/bin; export PATH
+
+TFMNAME="$1"
+TTFNAME="$2"
+SFD="$3"
+
+TEXMFMAIN=`kpsexpand '$TEXMFMAIN'`
+SLANT=0.3
+INSTALL_DIR="/usr/bin/install -d -m 0755 -o root -g wheel"
+
+CJKTTFDIR=${TEXMFMAIN}/fonts/truetype/CJK
+TFMDIR=${TEXMFMAIN}/fonts/tfm/CJK/${TFMNAME}
+
+#Generate and install TFM files
+${INSTALL_DIR} ${TFMDIR}
+
+(
+ cd ${TFMDIR}
+ ttf2tfm ${CJKTTFDIR}/${TTFNAME} -q -P 3 -E 1 ${TFMNAME}@${TEXMFMAIN}/ttf2pk/${SFD}@
+ ttf2tfm ${CJKTTFDIR}/${TTFNAME} -q -P 3 -E 1 -s ${SLANT} ${TFMNAME}sl@${TEXMFMAIN}/ttf2pk/${SFD}@
+)
diff --git a/print/latex-cjk/scripts/post-install b/print/latex-cjk/scripts/post-install
deleted file mode 100644
index 01efc32732bd..000000000000
--- a/print/latex-cjk/scripts/post-install
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/bin/sh
-PATH=/bin:/usr/bin:/usr/local/bin
-
-TEXMFMAIN=`kpsexpand '$TEXMFMAIN'`
-
-# Some mktexpk incorrectly calls ttf2pk with -p option, delete it.
-if [ ! -z "`grep "ttf2pk -p" ${PREFIX}/bin/mktexpk`" ]
-then
- cp ${PREFIX}/bin/mktexpk ${PREFIX}/bin/mktexpk.CJK
- sed -e "s/ttf2pk -p/ttf2pk/" ${PREFIX}/bin/mktexpk.CJK > ${PREFIX}/bin/mktexpk
- rm ${PREFIX}/bin/mktexpk.CJK
-fi
-
-SPECIALMAP="${TEXMFMAIN}-dist/fonts/map/fontname/special.map"
-
-# fontname/special.map: add arb5kai/arb5sung/argbkai/argbsung entries.
-if [ -n "`grep arb5kai ${SPECIALMAP}`" ]
-then
- echo Seems arb5kai already in special.map, file untouched.
-else
- echo "@c Arphic BIG5 Kaiti TTF" >> ${SPECIALMAP}
- echo "arb5kai big5 arb5kai" >> ${SPECIALMAP}
-fi
-if [ -n "`grep arb5sung ${SPECIALMAP}`" ]
-then
- echo Seems arb5sung already in special.map, file untouched.
-else
- echo "@c Arphic BIG5 Mingti TTF" >> ${SPECIALMAP}
- echo "arb5sung big5 arb5sung" >> ${SPECIALMAP}
-fi
-if [ -n "`grep argbkai ${SPECIALMAP}`" ]
-then
- echo Seems argbkai already in special.map, file untouched.
-else
- echo "@c Arphic GB Kaiti TTF" >> ${SPECIALMAP}
- echo "argbkai gb argbkai" >> ${SPECIALMAP}
-fi
-if [ -n "`grep argbsung ${SPECIALMAP}`" ]
-then
- echo Seems argbsung already in special.map, file untouched.
-else
- echo "@c Arphic GB Sungti TTF" >> ${SPECIALMAP}
- echo "argbsung gb argbsung" >> ${SPECIALMAP}
-fi
-
-# ttf2pk/ttfonts.map: add arb5kai/arb5sung/argbkai/argbsung entries.
-if [ -n "`grep arb5kai ${TEXMFMAIN}/ttf2pk/ttfonts.map`" ]
-then
- echo Seems arb5kai already in ttfonts.map, file untouched.
-else
- echo "arb5kai@UBig5@ arb5_kai Pid=3 Eid=1" >> ${TEXMFMAIN}/ttf2pk/ttfonts.map
-fi
-if [ -n "`grep arb5sung ${TEXMFMAIN}/ttf2pk/ttfonts.map`" ]
-then
- echo Seems arb5sung already in ttfonts.map, file untouched.
-else
- echo "arb5sung@UBig5@ arb5_sung Pid=3 Eid=1" >> ${TEXMFMAIN}/ttf2pk/ttfonts.map
-fi
-if [ -n "`grep argbkai ${TEXMFMAIN}/ttf2pk/ttfonts.map`" ]
-then
- echo Seems argbkai already in ttfonts.map, file untouched.
-else
- echo "argbkai@UGB@ argb_kai Pid=3 Eid=1" >> ${TEXMFMAIN}/ttf2pk/ttfonts.map
-fi
-if [ -n "`grep argbsung ${TEXMFMAIN}/ttf2pk/ttfonts.map`" ]
-then
- echo Seems argbsung already in ttfonts.map, file untouched.
-else
- echo "argbsung@UGB@ argb_sung Pid=3 Eid=1" >> ${TEXMFMAIN}/ttf2pk/ttfonts.map
-fi
-
-# web2c/texmf.cnf
-if [ -n "`grep TTF2PKINPUTS ${TEXMFMAIN}/web2c/texmf.cnf`" ]
-then
- echo Seems TTF2PKINPUTS already set in texmf.cnf, file untouched.
-else
- echo "% ttf2pk data directory" >> ${TEXMFMAIN}/web2c/texmf.cnf
- echo "TTF2PKINPUTS = \$TEXMF/ttf2pk//" >> ${TEXMFMAIN}/web2c/texmf.cnf
-fi
-if [ -n "`grep TTF2TFMINPUTS ${TEXMFMAIN}/web2c/texmf.cnf`" ]
-then
- echo Seems TTF2TFMINPUTS already set in texmf.cnf, file untouched.
-else
- echo "% ttf2tfm data directory" >> ${TEXMFMAIN}/web2c/texmf.cnf
- echo "TTF2TFMINPUTS = \$TEXMF/ttf2tfm//" >> ${TEXMFMAIN}/web2c/texmf.cnf
-fi
-
-# Clean redundant files created during patch phase.
-rm -f ${TEXMFMAIN}/tex/latex/CJK/Bg5/c00kai.fd.orig
-rm -f ${TEXMFMAIN}/tex/latex/CJK/Bg5/c00song.fd.orig
-rm -f ${TEXMFMAIN}/tex/latex/CJK/GB/c10kai.fd.orig
-rm -f ${TEXMFMAIN}/tex/latex/CJK/GB/c10song.fd.orig
-
-# Generate tfm fonts for Arphic TTFs.
-rm -fr ${TEXMFMAIN}/fonts/tfm/arphic/arb5kai
-rm -fr ${TEXMFMAIN}/fonts/tfm/arphic/arb5sung
-rm -fr ${TEXMFMAIN}/fonts/tfm/arphic/argbkai
-rm -fr ${TEXMFMAIN}/fonts/tfm/arphic/argbsung
-mkdir -p ${TEXMFMAIN}/fonts/tfm/arphic/arb5kai ${TEXMFMAIN}/fonts/tfm/arphic/arb5sung ${TEXMFMAIN}/fonts/tfm/arphic/argbkai ${TEXMFMAIN}/fonts/tfm/arphic/argbsung
-(cd ${TEXMFMAIN}/fonts/tfm/arphic/arb5kai; ttf2tfm ${TEXMFMAIN}/fonts/truetype/arphic/arb5_kai -P 3 -E 1 arb5kai@${TEXMFMAIN}/ttf2pk/UBig5@)
-(cd ${TEXMFMAIN}/fonts/tfm/arphic/arb5sung; ttf2tfm ${TEXMFMAIN}/fonts/truetype/arphic/arb5_sung -P 3 -E 1 arb5sung@${TEXMFMAIN}/ttf2pk/UBig5@)
-(cd ${TEXMFMAIN}/fonts/tfm/arphic/argbkai; ttf2tfm ${TEXMFMAIN}/fonts/truetype/arphic/argb_kai -P 3 -E 1 argbkai@${TEXMFMAIN}/ttf2pk/UGB@)
-(cd ${TEXMFMAIN}/fonts/tfm/arphic/argbsung; ttf2tfm ${TEXMFMAIN}/fonts/truetype/arphic/argb_sung -P 3 -E 1 argbsung@${TEXMFMAIN}/ttf2pk/UGB@)
-
-# Update ls-R
-texconfig rehash
-
-# Messages to the user
-echo "-------------------------------------------------------------------------"
-echo "CJK is now installed. You may use bg5latex or gbklatex wrt"
-echo "BIG5 or GB encodings."
-echo
-echo If you want to install other TTF fonts, you have to manually edit:
-echo ${TEXMFMAIN}/fontname/special.map
-echo ${TEXMFMAIN}/ttf2pk/ttfonts.map
-echo ${TEXMFMAIN}/web2c/texmf.cnf
-echo ${TEXMFMAIN}/tex/latex/CJK/Bg5/c00kai.fd and
-echo ${TEXMFMAIN}/tex/latex/CJK/GB/c10kai.fd, for Kai family fonts.
-echo ${TEXMFMAIN}/tex/latex/CJK/Bg5/c00song.fd and
-echo ${TEXMFMAIN}/tex/latex/CJK/GB/c10song.fd, for Sung family fonts.
-echo Then use ttf2tfm to generate corresponding tfm fonts.
-echo
-echo "Happy CJKing!"
-echo "-------------------------------------------------------------------------"