diff options
author | Ying-Chieh Liao <ijliao@FreeBSD.org> | 2002-06-02 17:31:56 +0000 |
---|---|---|
committer | Ying-Chieh Liao <ijliao@FreeBSD.org> | 2002-06-02 17:31:56 +0000 |
commit | 5b81973fc84aa703ec81bfc2ef1ed04cf3c2648d (patch) | |
tree | 4bc0c12898839d8df57c570cf1b6dfc5e9b185a8 /chinese/ttfm | |
parent | Updated 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/Makefile | 6 | ||||
-rw-r--r-- | chinese/ttfm/files/patch-modules::gscjk.ttfm | 763 | ||||
-rw-r--r-- | chinese/ttfm/pkg-plist | 3 |
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 |