Skip site navigation (1)Skip section navigation (2)
Date:      Sun,  2 Jun 2002 03:53:18 +0800 (CST)
From:      Statue <statue@softwareliberty.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/38803: Update port: chinese/ttfm
Message-ID:  <20020601195318.ACAC5757E@softwareliberty.org>

next in thread | raw e-mail | index | archive | help
>Number:         38803
>Category:       ports
>Synopsis:       Update port: chinese/ttfm
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jun 01 13:00:02 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Statue
>Release:        FreeBSD 4.5-STABLE i386
>Organization:
>Environment:
System: FreeBSD freebsd.sinica.edu.tw 4.5-STABLE FreeBSD 4.5-STABLE #0: Thu Apr 25 11:32:54 CST 2002 ycheng@freebsd.sinica.edu.tw:/usr/src/sys/compile/FREEBSD i386


	
>Description:
add gscjk module
remove ghostscript6 module
	
>How-To-Repeat:
	
>Fix:

diff -ruN ttfm.orig/Makefile ttfm/Makefile
--- ttfm.orig/Makefile	Sun Jun  2 03:38:41 2002
+++ ttfm/Makefile	Sun Jun  2 03:46:23 2002
@@ -32,10 +32,10 @@
 .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 -ruN ttfm.orig/files/patch-modules::gscjk.ttfm ttfm/files/patch-modules::gscjk.ttfm
--- ttfm.orig/files/patch-modules::gscjk.ttfm	Thu Jan  1 08:00:00 1970
+++ ttfm/files/patch-modules::gscjk.ttfm	Sun Jun  2 03:41:03 2002
@@ -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 -ruN ttfm.orig/pkg-plist ttfm/pkg-plist
--- ttfm.orig/pkg-plist	Sun Jun  2 03:38:41 2002
+++ ttfm/pkg-plist	Sun Jun  2 03:46:41 2002
@@ -4,7 +4,8 @@
 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
	


>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020601195318.ACAC5757E>