summaryrefslogtreecommitdiff
path: root/chinese/ttfm
diff options
context:
space:
mode:
authorYing-Chieh Liao <ijliao@FreeBSD.org>2002-06-02 17:31:56 +0000
committerYing-Chieh Liao <ijliao@FreeBSD.org>2002-06-02 17:31:56 +0000
commit5b81973fc84aa703ec81bfc2ef1ed04cf3c2648d (patch)
tree4bc0c12898839d8df57c570cf1b6dfc5e9b185a8 /chinese/ttfm
parentUpdated to 1.1.1 (diff)
add gscjk module
remove ghostscript6 module bump portrevision PR: 38803 Submitted by: Statue <statue@softwareliberty.org>
Notes
Notes: svn path=/head/; revision=60475
Diffstat (limited to 'chinese/ttfm')
-rw-r--r--chinese/ttfm/Makefile6
-rw-r--r--chinese/ttfm/files/patch-modules::gscjk.ttfm763
-rw-r--r--chinese/ttfm/pkg-plist3
3 files changed, 768 insertions, 4 deletions
diff --git a/chinese/ttfm/Makefile b/chinese/ttfm/Makefile
index 7204fa1e7582..950e0bf86293 100644
--- a/chinese/ttfm/Makefile
+++ b/chinese/ttfm/Makefile
@@ -7,7 +7,7 @@
PORTNAME= ttfm
PORTVERSION= 0.9.3
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= chinese print
MASTER_SITES= ftp://freebsd.sinica.edu.tw/pub/keith/ttfm/
@@ -32,10 +32,10 @@ do-install:
.endfor
@${INSTALL_MAN} ${WRKSRC}/ttfm.sh.1 ${PREFIX}/man/man1
@${MKDIR} ${MODULESDIR}
-.for module in abiword.ttfm ghostscript6.ttfm xfreetype.ttfm xttfm.ttfm
+.for module in abiword.ttfm gscjk.ttfm xfreetype.ttfm xttfm.ttfm
@${INSTALL_SCRIPT} ${WRKSRC}/modules/${module} ${MODULESDIR}
.endfor
-.for module in chitex.ttfm ttf2pk.ttfm xttfm-tcl.ttfm
+.for module in chitex.ttfm ghostscript6.ttfm ttf2pk.ttfm xttfm-tcl.ttfm
@${INSTALL_SCRIPT} ${WRKSRC}/modules/${module} ${MODULESDIR}/${module}.nop
.endfor
@${MKDIR} ${FONTSDIR}
diff --git a/chinese/ttfm/files/patch-modules::gscjk.ttfm b/chinese/ttfm/files/patch-modules::gscjk.ttfm
new file mode 100644
index 000000000000..893ee02eb6e4
--- /dev/null
+++ b/chinese/ttfm/files/patch-modules::gscjk.ttfm
@@ -0,0 +1,763 @@
+--- modules/gscjk.ttfm.orig Sun Jun 2 03:40:13 2002
++++ modules/gscjk.ttfm Sun Jun 2 03:39:59 2002
+@@ -0,0 +1,760 @@
++#!/bin/sh
++#
++# TTFM module for Ghostscript 6.51 with GS-CJK
++#
++# This script is distributed under the revised BSD license.
++#
++# For any problem reports or suggestions, please contact
++# Chung-Yen Chang <candyz@linux.org.tw>,
++# Anthony Fok <anthony@thizlinux.org>
++# or the original author Jing-Tang Keith Jang <keith@FreeBSD.org>.
++#
++
++# This script can handle both CID and TrueType fonts.
++
++# Name & version
++export NAME; NAME="Ghostscript 7.05 TTF Font Manager"
++export VERSION; VERSION=1.0
++
++# Global constants
++
++export PREFIX; PREFIX=/usr/local
++export TTFINFOPath; TTFINFOPath="${PREFIX}/bin/ttfinfo"
++export GS6Path; GS6Path="${PREFIX}/share/ghostscript"
++export GS6CJKPath; GS6CJKPath="${GS6Path}/Resource"
++export CJKCMapPath; CJKCMapPath="${GS6CJKPath}/CMap"
++export CJKFontPath; CJKFontPath="${GS6CJKPath}/Font"
++export CJKCIDPath; CJKCIDPath="${GS6CJKPath}/CIDFont"
++# Not used
++# export CJKTTFPath; CJKTTFPath="${GS6CJKPath}/TrueType"
++export GS6LibPath; GS6LibPath="${GS6Path}/7.05/lib"
++export DefaultMing_Name; DefaultMing_Name="DEFAULT-MING"
++export DefaultKai_Name; DefaultKai_Name="DEFAULT-KAI"
++export TEMPFILE; TEMPFILE="`mktemp /tmp/ttfm.tmpXXXXXX`"
++
++# Encoding/Ordering table, used to convert the output of ttfinfo(encoding)
++# to CID font's ordering property, and vice versa. See guess_ttf_info()
++# below.
++#
++export eo_table; eo_table=\
++"Adobe CNS1,big5-0\n
++Adobe GB1,gb2312.1980-0\n
++Adobe Korea1,ksc5601.1987-0\n
++Adobe Japan1,jisx0208.1983-0\n
++Adobe Japan2,jisx0212.1990-0\n"
++
++# Postscript command to open TTFs, defined in gs_ttf.ps.
++# It needs gs_ttf.ps-cjkv-*.patch of http://www.aihara.co.jp/~taiji/tops/.
++export OpenTTFont; OpenTTFont=.openttcidfont
++
++# Who am I?
++print_name()
++{
++ echo "$NAME $VERSION"
++}
++
++
++# Usage
++Usage()
++{
++ echo
++ echo "$NAME $VERSION"
++ echo
++ echo "Usage: $NAME [option]"
++ echo
++ echo " --check check Ghostscript 7.05 settings"
++ echo " --add <file>... install CID font"
++ echo " --add [alias=]<file>... install TTF font"
++ echo " --remove <file>... remove font from the system"
++ echo " --list list all fonts on the system"
++ echo " --setdefault <file>"
++ echo " set default font to file"
++ echo " --setdefault_kai <file>"
++ echo " set default \kai font to file"
++ echo " --setdefault_ming <file>"
++ echo " set default \ming font to file"
++ echo " --help show this info"
++ echo
++}
++
++
++#
++# Check if CJK CMap files are correctly installed with Ghostscript 6.
++# Give a warning if Adobe CNS1/GB1/Identity/Japan1/Japan2/Korea1 is not found.
++#
++# We'll also check gs_res.ps & gs_ttf.ps.
++#
++check_gs6()
++{
++ if [ ! -x $TTFINFOPath ]; then
++ echo "ttfinfo not installed!"
++ exit 1
++ fi
++
++ if [ ! -d "${CJKCMapPath}" ]; then
++ echo "Error: You have no CMap files installed!"
++ exit 1
++ fi
++
++ # ac1
++ if [ -z "`grep -l "Adobe CNS1" ${CJKCMapPath}/*`" ]; then
++ echo "Warning: Adobe-CNS1-3 CMap files not installed!"
++ # ag1
++ elif [ -z "`grep -l "Adobe GB1" ${CJKCMapPath}/*`" ]; then
++ echo "Warning: Adobe-GB1-3 CMap files not installed!"
++ # aj1
++ elif [ -z "`grep -l "Adobe Japan1" ${CJKCMapPath}/*`" ]; then
++ echo "Warning: Adobe-Japan1-4 CMap files not installed!"
++ # aj2
++ elif [ -z "`grep -l "Adobe Japan2" ${CJKCMapPath}/*`" ]; then
++ echo "Warning: Adobe-Japan2-0 CMap files not installed!"
++ # ak1
++ elif [ -z "`grep -l "Adobe Korea1" ${CJKCMapPath}/*`" ]; then
++ echo "Warning: Adobe-Korea1-2 CMap files not installed!"
++ # I'm not sure if it's needed, so just a warning if not found.
++ elif [ -z "`grep -l "Adobe Identity" ${CJKCMapPath}/*`" ]; then
++ echo "Warning: Adobe Identity CMap files not installed!"
++ fi
++
++ # These two conditions are pretty weak. :-)
++ if [ -z "`grep -l "Taiji Yamada" ${GS6LibPath}/gs_ttf.ps`" ]; then
++ echo "Error: Your gs_ttf.ps is not patched."
++ echo "See http://www.aihara.co.jp/~taiji/tops/ for details."
++ exit 1
++ elif [ -n "`grep -l -e "/FontResourceDir (/Resource/Font/)\|/FontResourceDir (/Resource/Font/)" ${GS6LibPath}/gs_res.ps`" ]; then
++ echo "Error: Please modify FontResourceDir or FontResourceDir in gs_res.ps."
++ echo "See http://www.aihara.co.jp/~taiji/tops/ for details."
++ exit 1
++ fi
++
++ echo "No errors found."
++}
++
++
++# List all fonts installed in ${CJKFontPath}, cross-referenced with those
++# fonts installed in ${CJKCIDPath}.
++list_fonts()
++{
++ echo "Installed TTF fonts:"
++ for CIDFont in `ls ${CJKCIDPath}`; do
++ echo "${CIDFont}:"
++ cd ${CJKFontPath}; ls ${CIDFont}* 2>/dev/null
++ echo
++ done
++}
++
++
++# Remove fonts
++remove_fonts()
++{
++ for f in "$@"; do
++ targetname=`basename $f`
++
++ rm -f ${CJKCIDPath}/${targetname} ${CJKFontPath}/${targetname}*
++ done
++}
++
++
++#
++# guess_ttf_info <fontfile>, eg. guess_ttf_info bsmi00lp.ttf.
++#
++# Guess the alias of a ttf, and put it in $TTF_ALIAS.
++# Guess which index to use, and put it in $TTF_INDEX.
++# Guess which ordering a ttf should use, eg. "Adobe CNS1" for bsmi00lp.ttf.
++# Then put the ordering in $TTF_ORDERING.
++#
++# Simply put, we guess everything. :-)
++#
++guess_ttf_info()
++{
++ targetname=$1
++
++ eval `$TTFINFOPath -c ${targetname}`
++ # Set fontname from the filename if it's unknown.
++ # I assume there's no ttf filename like "-----.ttf".
++ unset HKSCS
++ ( echo $TTFINFO_FONT_NAME | grep -qi HKSCS ) && export HKSCS=1
++ if [ "$TTFINFO_FONT_NAME" = "unknown" ]; then
++ TTFINFO_FONT_NAME=`basename $targetname |cut -d "." -f 1 |sed -e "s/-//g"`
++ fi
++
++ # Extract slant/property/encoding, then install.
++ MAPNUM=1
++ while [ $MAPNUM -le $TTFINFO_MAPNUM ]; do
++ eval TTFINFO_FONTMAP=\$TTFINFO_FONTMAP${MAPNUM}
++ fontweight=`echo $TTFINFO_FONTMAP |cut -d "-" -f 4`
++ fontslant=`echo $TTFINFO_FONTMAP |cut -d "-" -f 5`
++ encoding1=`echo $TTFINFO_FONTMAP |cut -d "-" -f 14`
++ encoding2=`echo $TTFINFO_FONTMAP |cut -d "-" -f 15`
++ fontencoding=${encoding1}-${encoding2}
++
++ if [ -n "`echo ${fontencoding} |grep -i -e "big5\|cns\|gb\|ksc\|jis"`" ]; then
++ break
++ fi
++
++ MAPNUM=`expr $MAPNUM + 1`
++ done
++
++ if [ -z "`echo ${fontencoding} |grep -i -e "big5\|cns\|gb\|ksc\|jis"`" ]; then
++ echo "${targetname}" is not a CJK TTF!
++ exit 1
++ fi
++
++ # The first characters of foundry & font names should be uppercase.
++ i=`echo "$TTFINFO_FOUNDRY_NAME" |cut -b 1`
++ j=`echo $i |tr [:lower:] [:upper:]`
++ TTFINFO_FOUNDRY_NAME=`echo $TTFINFO_FOUNDRY_NAME |sed -e "s/^$i/$j/"`
++ i=`echo "$TTFINFO_FONT_NAME" |cut -b 1`
++ j=`echo $i |tr [:lower:] [:upper:]`
++ TTFINFO_FONT_NAME=`echo $TTFINFO_FONT_NAME |sed -e "s/^$i/$j/"`
++
++ # Alias property. The first two are in favor of Chinese TTFs.
++ # We'll also strip any spaces in foundry and font names.
++ TTFINFO_FOUNDRY_NAME="`echo $TTFINFO_FOUNDRY_NAME |sed -e "s/ //g"`"
++# if [ -n "`echo ${fontencoding} |grep -i "big5"`" ]; then
++# if [ -z "`echo $TTFINFO_FONT_NAME |grep " "`" ]; then
++# TTF_ALIAS="${TTFINFO_FOUNDRY_NAME}${TTFINFO_FONT_NAME}B5"
++# # The following two are hacks, in favor of Arphic TTF.
++# elif [ -n "`echo $TTFINFO_FONT_NAME |grep -i -e "kai"`" ]; then
++# TTF_ALIAS="${TTFINFO_FOUNDRY_NAME}KaiB5"
++# elif [ -n "`echo $TTFINFO_FONT_NAME |grep -i -e "ming"`" ]; then
++# TTF_ALIAS="${TTFINFO_FOUNDRY_NAME}MingB5"
++# else
++# TTF_ALIAS="${TTFINFO_FOUNDRY_NAME}`echo $TTFINFO_FONT_NAME |sed -e "s/ //g"`B5"
++# fi
++# elif [ -n "`echo ${fontencoding} |grep -i "gb"`" ]; then
++# if [ -z "`echo $TTFINFO_FONT_NAME |grep " "`" ]; then
++# TTF_ALIAS="${TTFINFO_FOUNDRY_NAME}${TTFINFO_FONT_NAME}GB"
++# # The following two are hacks, in favor of Arphic TTF.
++# elif [ -n "`echo $TTFINFO_FONT_NAME |grep -i -e "kai"`" ]; then
++# TTF_ALIAS="${TTFINFO_FOUNDRY_NAME}KaiGB"
++# elif [ -n "`echo $TTFINFO_FONT_NAME |grep -i -e "ming"`" ]; then
++# TTF_ALIAS="${TTFINFO_FOUNDRY_NAME}MingGB"
++# else
++# TTF_ALIAS="${TTFINFO_FOUNDRY_NAME}`echo $TTFINFO_FONT_NAME |sed -e "s/ //g"`GB"
++# fi
++# else
++# TTF_ALIAS=${TTFINFO_FOUNDRY_NAME}"`echo $TTFINFO_FONT_NAME |sed -e "s/ //g"`"
++# fi
++ TTF_ALIAS=$TTFINFO_FONT_PSNAME
++
++# case "$fontweight" in
++# 'bold')
++# TTF_ALIAS="${TTF_ALIAS}-Bold"
++# ;;
++# *)
++# TTF_ALIAS="${TTF_ALIAS}-Regular"
++# ;;
++# esac
++
++ # Index
++ TTF_INDEX=$MAPNUM
++ # Ordering property
++ TTF_ORDERING="`printf "$eo_table" |awk -F "," -v i=$fontencoding '{encoding[$2]=$1} END {print encoding[i]}'`"
++}
++
++
++#
++# install_ttf <alias> <filename>[,ttf_index] eg.
++# install_ttf Arphic-MingB5 /usr/share/fonts/ttf/bsmi00lp.ttf,1.
++#
++# Write CID info file of a TTF, so it can be used as a CID font afterwards.
++# Currently we'll always call install_ttf() with ttf_index.
++#
++install_ttf()
++{
++ alias=$1
++ filename=$2
++
++ TTE=""
++ case "$alias" in
++ *-Adobe-*[0-9])
++ TTE=' /'`echo "$alias" |sed -n -e "s/^.*-\(Adobe-.*[0-9]\)$/\1/p"`"-Unicode"
++ ;;
++ *,Adobe-*[0-9]-*)
++ TTE=' /'`echo "$alias" |sed -n -e "s/^\(.*\),\(Adobe-.*[0-9]-.*\)$/\2/p"`
++ alias=`echo "$alias" |sed -n -e "s/^\(.*\),\(Adobe-.*[0-9]-.*\)$/\1/p"`
++ ;;
++ esac
++
++ case "$filename" in
++ *.[Tt][Tt][CcFf],[0-9])
++ TTF=`echo "$filename" |sed -n -e "s/^\(.*\),\([0-9]\)$/\1/p"`
++ TTI=`echo "$filename" |sed -n -e "s/^\(.*\),\([0-9]\)$/\2/p"`
++ # Regular font
++ [ "$HKSCS" = "1" -o ! -f "$CJKCIDPath/$alias" ] && cat <<EOF > "$CJKCIDPath/$alias" && echo "+$alias=$TTF"
++%!PS-Adobe-3.0 Resource-CIDFont
++%%BeginResource: CIDFont ($FNN)
++/$alias
++($TTF) $TTI$TTE $OpenTTFont
++dup length dict begin {def} forall currentdict end
++/CIDFont defineresource pop
++%%EndResource
++%%EOF
++EOF
++ # Bold font
++ [ "$HKSCS" = "1" -o ! -f "$CJKCIDPath/$alias-Bold" ] && cat <<EOF > "$CJKCIDPath/$alias-Bold" && echo "+$alias=$TTF-Bold"
++%!PS-Adobe-3.0 Resource-CIDFont
++%%BeginResource: CIDFont ($FNN-Bold)
++/$alias-Bold
++/$alias /CIDFont findresource
++16 dict begin
++ /basecidfont exch def
++ /basefont-H /.basefont-H /Identity-H [ basecidfont ] composefont def
++ /basefont-V /.basefont-V /Identity-V [ basecidfont ] composefont def
++ /CIDFontName dup basecidfont exch get def
++ /CIDFontType 1 def
++ /CIDSystemInfo dup basecidfont exch get def
++ /FontInfo dup basecidfont exch get def
++ /FontMatrix [ 1 0 0 1 0 0 ] def
++ /FontBBox [
++ basecidfont /FontBBox get cvx exec
++ 4 2 roll basecidfont /FontMatrix get transform
++ 4 2 roll basecidfont /FontMatrix get transform
++ ] def
++ /cid 2 string def
++ /BuildGlyph {
++ gsave
++ exch begin
++ dup 256 idiv cid exch 0 exch put
++ 256 mod cid exch 1 exch put
++ rootfont /WMode known { rootfont /WMode get 1 eq } { false } ifelse
++ { basefont-V } { basefont-H } ifelse setfont
++ .03 setlinewidth 1 setlinejoin
++ newpath
++ 0 0 moveto cid false charpath stroke
++ 0 0 moveto cid show
++ currentpoint setcharwidth
++ end
++ grestore
++ } bind def
++ currentdict
++end
++/CIDFont defineresource pop
++%%EndResource
++%%EOF
++EOF
++ # Italic font
++ [ "$HKSCS" = "1" -o ! -f "$CJKCIDPath/$alias-Italic" ] && cat <<EOF > "$CJKCIDPath/$alias-Italic" && echo "+$alias=$TTF-Italic"
++%!PS-Adobe-3.0 Resource-CIDFont
++%%BeginResource: CIDFont ($FNN-Italic)
++/$alias-Italic
++/$alias /CIDFont findresource
++dup length dict begin { 1 index /FontMatrix eq { [1 0 .3 1 0 0] matrix concatmatrix def } { def } ifelse } forall currentdict end
++/CIDFont defineresource pop
++%%EndResource
++%%EOF
++EOF
++ # BoldItalic font
++ [ "$HKSCS" = "1" -o ! -f "$CJKCIDPath/$alias-BoldItalic" ] && cat <<EOF > "$CJKCIDPath/$alias-BoldItalic" && echo "+$alias=$TTF-BoldItalic"
++%!PS-Adobe-3.0 Resource-CIDFont
++%%BeginResource: CIDFont ($FNN-BoldItalic)
++/$alias-BoldItalic
++/$alias /CIDFont findresource
++16 dict begin
++ /basecidfont exch def
++ /basefont-H /.basefont-H /Identity-H [ basecidfont ] composefont def
++ /basefont-V /.basefont-V /Identity-V [ basecidfont ] composefont def
++ /CIDFontName dup basecidfont exch get def
++ /CIDFontType 1 def
++ /CIDSystemInfo dup basecidfont exch get def
++ /FontInfo dup basecidfont exch get def
++ /FontMatrix [ 1 0 0 1 0 0 ] def
++ /FontBBox [
++ basecidfont /FontBBox get cvx exec
++ 4 2 roll basecidfont /FontMatrix get transform
++ 4 2 roll basecidfont /FontMatrix get transform
++ ] def
++ /cid 2 string def
++ /BuildGlyph {
++ gsave
++ exch begin
++ dup 256 idiv cid exch 0 exch put
++ 256 mod cid exch 1 exch put
++ rootfont /WMode known { rootfont /WMode get 1 eq } { false } ifelse
++ { basefont-V } { basefont-H } ifelse setfont
++ .03 setlinewidth 1 setlinejoin
++ newpath
++ 0 0 moveto cid false charpath stroke
++ 0 0 moveto cid show
++ currentpoint setcharwidth
++ end
++ grestore
++ } bind def
++ currentdict
++end
++dup length dict begin { 1 index /FontMatrix eq { [1 0 .3 1 0 0] matrix concatmatrix def } { def } ifelse } forall currentdict end
++/CIDFont defineresource pop
++%%EndResource
++%%EOF
++EOF
++ ;;
++ *.[Tt][Tt][CcFf])
++ TTF="$filename"
++ # Regular Font
++ [ "$HKSCS" = "1" -o ! -f "$CJKCIDPath/$alias" ] && cat <<EOF > "$CJKCIDPath/$alias" && echo "+$alias=$TTF"
++%!PS-Adobe-3.0 Resource-CIDFont
++%%BeginResource: CIDFont ($FNN)
++/$alias
++($TTF)$TTE $OpenTTFont
++dup length dict begin {def} forall currentdict end
++/CIDFont defineresource pop
++%%EndResource
++%%EOF
++EOF
++ # Bold Font
++ [ "$HKSCS" = "1" -o ! -f "$CJKCIDPath/$alias-Bold" ] && cat <<EOF > "$CJKCIDPath/$alias-Bold" && echo "+$alias=$TTF-Bold"
++%!PS-Adobe-3.0 Resource-CIDFont
++%%BeginResource: CIDFont ($FNN-Bold)
++/$alias-Bold
++/$alias /CIDFont findresource
++16 dict begin
++ /basecidfont exch def
++ /basefont-H /.basefont-H /Identity-H [ basecidfont ] composefont def
++ /basefont-V /.basefont-V /Identity-V [ basecidfont ] composefont def
++ /CIDFontName dup basecidfont exch get def
++ /CIDFontType 1 def
++ /CIDSystemInfo dup basecidfont exch get def
++ /FontInfo dup basecidfont exch get def
++ /FontMatrix [ 1 0 0 1 0 0 ] def
++ /FontBBox [
++ basecidfont /FontBBox get cvx exec
++ 4 2 roll basecidfont /FontMatrix get transform
++ 4 2 roll basecidfont /FontMatrix get transform
++ ] def
++ /cid 2 string def
++ /BuildGlyph {
++ gsave
++ exch begin
++ dup 256 idiv cid exch 0 exch put
++ 256 mod cid exch 1 exch put
++ rootfont /WMode known { rootfont /WMode get 1 eq } { false } ifelse
++ { basefont-V } { basefont-H } ifelse setfont
++ .03 setlinewidth 1 setlinejoin
++ newpath
++ 0 0 moveto cid false charpath stroke
++ 0 0 moveto cid show
++ currentpoint setcharwidth
++ end
++ grestore
++ } bind def
++ currentdict
++end
++/CIDFont defineresource pop
++%%EndResource
++%%EOF
++EOF
++ # Italic Font
++ [ "$HKSCS" = "1" -o ! -f "$CJKCIDPath/$alias-Italic" ] && cat <<EOF > "$CJKCIDPath/$alias-Italic" && echo "+$alias=$TTF-Italic"
++%!PS-Adobe-3.0 Resource-CIDFont
++%%BeginResource: CIDFont ($FNN-Italic)
++/$alias-Italic
++/$alias /CIDFont findresource
++dup length dict begin { 1 index /FontMatrix eq { [1 0 .3 1 0 0] matrix concatmat
++rix def } { def } ifelse } forall currentdict end
++/CIDFont defineresource pop
++%%EndResource
++%%EOF
++EOF
++ # BoldItalic Font
++ [ "$HKSCS" = "1" -o ! -f "$CJKCIDPath/$alias-BoldItalic" ] && cat <<EOF > "$CJKCIDPath/$alias-BoldItalic" && echo "+$alias=$TTF-BoldItalic"
++%!PS-Adobe-3.0 Resource-CIDFont
++%%BeginResource: CIDFont ($FNN-BoldItalic)
++/$alias-BoldItalic
++/$alias /CIDFont findresource
++16 dict begin
++ /basecidfont exch def
++ /basefont-H /.basefont-H /Identity-H [ basecidfont ] composefont def
++ /basefont-V /.basefont-V /Identity-V [ basecidfont ] composefont def
++ /CIDFontName dup basecidfont exch get def
++ /CIDFontType 1 def
++ /CIDSystemInfo dup basecidfont exch get def
++ /FontInfo dup basecidfont exch get def
++ /FontMatrix [ 1 0 0 1 0 0 ] def
++ /FontBBox [
++ basecidfont /FontBBox get cvx exec
++ 4 2 roll basecidfont /FontMatrix get transform
++ 4 2 roll basecidfont /FontMatrix get transform
++ ] def
++ /cid 2 string def
++ /BuildGlyph {
++ gsave
++ exch begin
++ dup 256 idiv cid exch 0 exch put
++ 256 mod cid exch 1 exch put
++ rootfont /WMode known { rootfont /WMode get 1 eq } { false } ifelse
++ { basefont-V } { basefont-H } ifelse setfont
++ .03 setlinewidth 1 setlinejoin
++ newpath
++ 0 0 moveto cid false charpath stroke
++ 0 0 moveto cid show
++ currentpoint setcharwidth
++ end
++ grestore
++ } bind def
++ currentdict
++end
++dup length dict begin { 1 index /FontMatrix eq { [1 0 .3 1 0 0] matrix concatmat
++rix def } { def } ifelse } forall currentdict end
++/CIDFont defineresource pop
++%%EndResource
++%%EOF
++EOF
++ ;;
++ *)
++ [ "$HKSCS" = "1" -o ! -f "$CJKCIDPath/$alias" ] && cat <<EOF > "$CJKCIDPath/$alias" && echo "+$alias=$filename"
++%!PS-Adobe-3.0 Resource-CIDFont
++%%BeginResource: CIDFont ($FNN)
++/$alias
++/$filename /CIDFont findresource
++dup length dict begin {def} forall currentdict end
++/CIDFont defineresource pop
++%%EndResource
++%%EOF
++EOF
++ ;;
++ esac
++}
++
++
++#
++# install_cid <ordering> <fontname>, eg.
++# install_cid "Adobe CNS1" MOESung-Regular.
++#
++# Write all CID-related font files. It can be used to install TTF once
++# the CID info file of TTF is available.
++#
++install_cid()
++{
++ CID_ordering=$1
++ fontname=$2
++ CMaps=`cd $CJKCMapPath; grep -l -e "$CID_ordering\|Adobe Identity" *`
++
++ for cmap in $CMaps; do
++ if [ $cmap = 'Roman' -o $cmap = 'Katakana' -o $cmap = 'Hiragana' -o $cmap = 'Hankaku' ]; then
++ to='.'
++ else
++ to='-'
++ fi
++ for style in '' '-Bold' '-Italic' '-BoldItalic'; do
++ [ "$HKSCS" = "1" -o ! -f "$CJKFontPath/$fontname$style$to$cmap" ] && cat <<EOF > "$CJKFontPath/$fontname$style$to$cmap" && echo "+$fontname$style$to$cmap"
++%!PS-Adobe-3.0 Resource-Font
++%%DocumentNeededResources: $cmap (CMap)
++%%IncludeResource: $cmap (CMap)
++%%BeginResource: Font ($fontname$style$to$cmap)
++/$fontname$style$to$cmap
++/$cmap /CMap findresource
++[/$fontname$style /CIDFont findresource]
++composefont pop
++%%EndResource
++%%EOF
++EOF
++ done
++ done
++}
++
++
++#
++# Add fonts
++#
++add_fonts()
++{
++ ALIASES=$*
++ for alias in $ALIASES; do
++ case "$alias" in
++ ?*=?*) # We have alias & font filename.
++ FNN="`echo "$alias" |sed -n -e 's/^\(.*\)=\(.*\)$/\1/p'`"
++ fnn="`echo "$alias" |sed -n -e 's/^\(.*\)=\(.*\)$/\2/p'`"
++ if [ ! -f "$fnn" ]; then
++ echo "$fnn not found!"
++ fi
++ guess_ttf_info "$fnn"
++ TTF_ALIAS="$FNN"
++ install_ttf "$FNN" "$fnn",$TTF_INDEX
++ install_cid "$TTF_ORDERING" "$fnn"
++ ;;
++ ?*.[Tt][Tt][CcFf]) # We have to make up an alias.
++ if [ ! -f "$alias" ]; then
++ echo "$alias not found!"
++ fi
++ guess_ttf_info "$alias"
++ FNN=$TTF_ALIAS
++ install_ttf $TTF_ALIAS "$alias",$TTF_INDEX
++ install_cid "$TTF_ORDERING" $TTF_ALIAS
++ ;;
++ *) # CID font
++ if [ ! -f "$alias" ]; then
++ echo "$alias not found!"
++ fi
++ if [ ! -f "$CJKCIDPath/`basename $alias`" ]; then
++ ln -s "$alias" "$CJKCIDPath"
++ fi
++ cid_registry=`head -10 "$alias" |grep ^%%Title |cut -d " " -f 3`
++ cid_ordering=`head -10 "$alias" |grep ^%%Title |cut -d " " -f 4`
++ install_cid "$cid_registry $cid_ordering" "`basename "$alias"`"
++ ;;
++ esac
++ done
++}
++
++
++#
++# setdefault <face> <fontfile>, eg.
++# setdefault ming /usr/share/fonts/ttf/bsmi00lp.ttf.
++#
++# Set default font, accept kai or ming(default) only, all others will be
++# treated as ming.
++#
++# All aliases will be set to "Default<face><encoding>-<weight>", like
++# DefaultMingB5-Regular, or DefaultKaiGB-Regular.
++#
++# Currently we can't assign a CID font as default Kai/Ming. This is
++# because CID font has "/FontName" hard-coded. I'm not sure if there
++# are any safe ways to substitute this.
++#
++setdefault()
++{
++ face=$1
++ if [ "$face" != "Ming" -a "$face" != "Kai" ]; then
++ face="Ming"
++ fi
++ fontfile=$2
++ if [ -n "`echo "$fontfile" |grep '='`" ]; then # Ignore alias
++ fontfile="`echo "$fontfile" |sed -n -e 's/^\(.*\)=\(.*\)$/\2/p'`"
++ fi
++ if [ ! -f "$fontfile" ]; then
++ echo "$fontfile not found!"
++ fi
++
++ case "$fontfile" in
++ *.[Tt][Tt][CcFf])
++ guess_ttf_info "$fontfile"
++
++ case "$TTF_ORDERING" in
++ "Adobe CNS1")
++ TTF_ALIAS="Default${face}B5-`echo $TTF_ALIAS |cut -d '-' -f 2`"
++ ;;
++ "Adobe GB1")
++ TTF_ALIAS="Default${face}GB-`echo $TTF_ALIAS |cut -d '-' -f 2`"
++ ;;
++ *)
++ TTF_ALIAS="Default${face}-`echo $TTF_ALIAS |cut -d '-' -f 2`"
++ ;;
++ esac
++
++ install_ttf "$TTF_ALIAS" "$fontfile",$TTF_INDEX
++ install_cid "$TTF_ORDERING" "$TTF_ALIAS"
++ ;;
++ *) # CID font. Give a message and exit.
++ echo "CID fonts can't be used as default fonts."
++ echo "Please use TTF instead."
++ exit 1
++ ;;
++ esac
++}
++
++
++#
++# main program
++#
++
++if [ $# -lt 1 ]; then
++ Usage
++ exit 1
++fi
++
++ARG=$1
++shift 1
++
++case $ARG in
++--help)
++ Usage
++ ;;
++--name)
++ echo
++ echo "$NAME $VERSION"
++ echo
++ ;;
++--list)
++ list_fonts
++ ;;
++--check)
++ check_gs6
++ ;;
++--add)
++ if [ $# -lt 1 ]; then
++ echo "Missing font filename argument!"
++ Usage
++ exit 1
++ fi
++ add_fonts $@
++ echo "Done!"
++ ;;
++--remove)
++ if [ $# -lt 1 ]; then
++ echo "Missing font filename argument!"
++ Usage
++ exit 1
++ fi
++ remove_fonts $@
++ echo "Done!"
++ ;;
++--setdefault|--setdefault_ming)
++ if [ $# -lt 1 ]; then
++ echo "Missing font filename arguments!"
++ Usage
++ exit 1
++ elif [ $# -gt 1 ]; then
++ echo "Only need one font filename!"
++ Usage
++ exit 1
++ fi
++ setdefault "Ming" $1
++ echo "Done!"
++ ;;
++--setdefault_kai)
++ if [ $# -lt 1 ]; then
++ echo "Missing font filename arguments!"
++ Usage
++ exit 1
++ elif [ $# -gt 1 ]; then
++ echo "Only need one font filename!"
++ Usage
++ exit 1
++ fi
++ setdefault "Kai" $1
++ echo "Done!"
++ ;;
++*)
++ Usage
++ exit 1
++ ;;
++esac
++
++rm -f $TEMPFILE
++exit 0
++
++
++# ChangeLog
++#
++# * Sat Oct 18 2001 Chung-Yen Chang <candyz@linux.org.tw>
++# - add Italic fonts support
++#
++# * Tue Sep 4 2001 Anthony Fok <anthony@thizlinux.com>
++# - Use original PostScript font names instead of making them up :-)
++# - Added poorman's Bold font. Still needs to work on Italic.
++# - Gives HKSCS priority, e.g. kai00m.ttf (Big5&HKSCS) and bkai00mp.ttf
++# are both ZenKai-Medium; kai00m.ttf takes precedence.
++#
++# * Sat Dec 9 2000 Chung-Yen Chang <candyz@cle.linux.org.tw>
++# - Modified for Red Hat Linux
++#
++# $Log: gscjk.ttfm,v $
++# Revision 1.1 2001/12/14 15:21:26 candyz
++# add ttfm.sh.1 gscjk.ttfm
++#
++# Revision 1.1 2000/11/23 04:32:57 Keith
++# Log entry was added.
++#
++# * Thu Nov 23 2000 Jing-Tang Keith Jang <keith@FreeBSD.org>
++# - Initial version.
diff --git a/chinese/ttfm/pkg-plist b/chinese/ttfm/pkg-plist
index b79b5c0e6dbe..970ca1b7d7fa 100644
--- a/chinese/ttfm/pkg-plist
+++ b/chinese/ttfm/pkg-plist
@@ -4,7 +4,8 @@ share/doc/ttfm/README
share/doc/ttfm/USAGE
share/ttfm/abiword.ttfm
share/ttfm/chitex.ttfm.nop
-share/ttfm/ghostscript6.ttfm
+share/ttfm/ghostscript6.ttfm.nop
+share/ttfm/gscjk.ttfm
share/ttfm/ttf2pk.ttfm.nop
share/ttfm/xttfm-tcl.ttfm.nop
share/ttfm/xfreetype.ttfm