diff options
Diffstat (limited to 'print/latex-cjk/scripts')
-rw-r--r-- | print/latex-cjk/scripts/fddiff.sh | 64 | ||||
-rw-r--r-- | print/latex-cjk/scripts/installt1enc.sh | 102 | ||||
-rw-r--r-- | print/latex-cjk/scripts/installtfm.sh | 23 | ||||
-rw-r--r-- | print/latex-cjk/scripts/post-install | 124 |
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 "-------------------------------------------------------------------------" |