ttfm.sh man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

ttfm.sh(1)							    ttfm.sh(1)

NAME
       ttfm.sh - TrueType Font Manager

SYNOPSIS
       ttfm.sh command [ module ] [ font1 font2 ...  ]

DESCRIPTION
       TTFM  (TrueType	Font  Manager) consists of a TrueType font parser, and
       several modules that help managing TrueType fonts in  various  applica‐
       tions.	Users can then use ttfm.sh (which will call those modules), to
       execute simple commands like font adding, removing, list, and so on.

       command can be one of the followings:

       --add
	   Add fonts.  The command  accepts  multiple  fonts  specied  by  the
	   font's filename.

       --initm
	   Initial selected modules. (Deprecated)

       --list
	   List installed fonts.  No font arguments are needed.

       --modules
	   List all avaiable modules.  No font arguments are needed.

       --remove
	   Remove installed fonts.  Accepts multiple fonts.

       --setdefault
	   Set	the  following	font as the default font(Ming).	 Only one font
	   argument is allowed.

       --setdefault_kai
	   Set the following font as default font(Kai).	 Only one  font	 argu‐
	   ment is allowed.

AVAIABLE MODULES
       Currently these modules are available:

       abiword
	   For	AbiWord	 0.7.12	 and  above.   It  depends  on modules of both
	   XFree86 and Ghostscript.

       chitex
	   For ChiTeX, a TeX/LaTeX environment that can handle both  BIG5  and
	   GB encodings.  Broken in FreeBSD.

       ghostscript6
	   For Aladdin Ghostscript 6.50.  It can manage TrueType fonts and CID
	   fonts(limited functionalities).  Ghostscript must be patched to use
	   TrueType fonts. See the following for more details.

       ttf2pk
	   Generate  pk	 (packed raster) and tfm (TeX font metrics) files from
	   TrueType fonts.  These files can then be  used  in  the  CJK	 LaTeX
	   environment.	 Broken under FreeBSD.

       xfreetype
	   For XFree86's freetype backend, which is Xfsft in 3.x, and freetype
	   module in 4.x.

       xttfm-tcl
	   For XFree86 3.3.x X-TrueType server.	 Written in TCL.

       xttfm
	   For XFree86 X-TrueType server, both 3.3.x  or  4.x.	 Bourne	 shell
	   script.

EXAMPLES
       ttfm.sh --modules
	   List all available modules in system.

       ttfm.sh --add xttfm <path>/*.[TtTtCcFf]
	   Install all TrueType fonts in <path>, using xttfm module.

       ttfm.sh --setdefault xttfm <path>/good_ming.ttf
	   Set <path>/good_ming.ttf as xttfm module's default font(Ming).

       ttfm.sh --setdefault_kai xttfm <path>/good_kai.ttf
	   Set <path>/good_kai.ttf as xttfm module's default font(Kai).

       ttfm.sh --list xttfm
	   List all fonts installed by xttfm.ttfm module.

       ttfm.sh --remove xttfm.ttfm bkai00mp.ttf
	   Remove bkai00mp.ttf(from the above list), installed by xttfm.ttfm.

       ttfm.sh --add ghostscript6 /somewhere/bsmi00lp.ttf
	   Install  /somewhere/bsmi00lp.ttf in Ghostscript, using ghostscript6
	   module.

       ttfm.sh --remove ghostscript6 bsmi00lp.ttf
	   Remove bsmi00lp.ttf, using ghostscript6 module.

       ttfm.sh --remove ghostscript6 ArphicMingB5-Regular
	   Remove ArphicMingB5-Regular(which  is  equivalent  to  bsmi00lp.ttf
	   above,  obtained  from "ttfm.sh --list ghostscript6"), using ghost‐
	   script6 module.

       ttfm.sh --add abiword /WIN98/FONTS/MINGLIU.TTC
	   Install Windows 98's MINGLIU.TTC high  quality  font	 for  AbiWord.
	   This	 has  the chain effect that MINGLIU.TTC will be also installed
	   by xttfm and ghostscript6 modules, since a  fully  CJK  functioning
	   AbiWord  needs  both XFree86 and Ghostscript support.  See the fol‐
	   lowing for additional details.

       ttfm.sh --setdefault abiword /WIN98/FONTS/MINGLIU.TTC
	   Set MINGLIU.TTC as AbiWord's default font(Ming).  This also has the
	   chain  effect that MINGLIU.TTC will be also set as xttfm and ghost‐
	   script6 modules' default fonts(Ming).  See the following for	 addi‐
	   tional details.

       ttfm.sh --add <path>/*.ttf
	   Install  <path>/*.ttf,  using  every	 module.  However, usages like
	   "--add *.ttf" and "--remove *.ttf" are reserved only	 for  backward
	   compatibility.   Since  the	dependency between modules will become
	   more complex, whether  "--add  *.ttf"  has  chain  effects  totally
	   depends  on	individual applications.  It's strongly suggested that
	   users specify which module to invoke explicitly, rather than	 doing
	   a global installation/removal.

HOW TO WRITE A TTFM MODULE
       It's  straightforward  to make a new TTFM module.  A TTFM module can be
       in any format, ie. it could be a shell or Perl or Python	 script,  a  C
       program, or even an Assembly if you like.  Any program is a TTFM module
       as long as it accepts the following arguments:

	      --add [font ...]
	      --list
	      --remove [font ...]
	      --setdefault [font]
	      --setdefault_kai [font]

       The meanings should be clear by their names, and	 the  above  "DESCRIP‐
       TION"  section.	 The  ttfm.sh  will  call a TTFM module in only one of
       these forms.

       Note that there's no font format involved in this requirement,  meaning
       that  a	TTFM  module can have nothing to do with TrueType at all.  For
       example, an independent VFGhostscript's bdf manager can be  used	 as  a
       TTFM  module, once it accepts the above arguments(maybe as it own argu‐
       ments' subset).

       If a TTFM module tries to get information from a	 TrueType  font,  then
       ttfinfo(1)  should  be used.  Although it lacks some advanced features,
       like CJK entries, it's far better than most programs.

SEE ALSO
       AbiWord's CJK support:
	   http://www.hj.webprovider.com/develope/index.html, and
	   http://www.abisource.com/mailinglists/abiword-dev/00/Octo‐
	   ber/0398.html

       Adobe Technical Notes:
	   http://partners.adobe.com/asn/developer/technotes.html.
	   This	 page contains many excellent technical notes, specifications,
	   supplements, and errata for Adobe's font technology.

       ChiTeX
	   http://www.math.ncu.edu.tw/yih/

       cwTeX
	   http://ceiba.cc.ntu.edu.tw/tmwu/index.htm

       Ghostscript 6's TrueType patch:
	   http://www.aihara.co.jp/~taiji/tops/

       VFlib:
	   http://TypeHack.aial.hiroshima-u.ac.jp/VFlib/

       X-TrueType(For XFree86 3.3.x):
	   http://X-TT.dsl.gr.jp

       Xatm(For CID fonts used in X 3.3.x):
	   http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/Xatm/xatm_e.html

       XFree86 4.x:
	   See xc/programs/Xserver/hw/xfree86/doc/README.fonts.
	   It contains comprehensive instructions on how to  install  TrueType
	   fonts  for  X-TT  & X-FreeType backend, and CID fonts under XFree86
	   4.x.

TODO
       About modules(in the order of precedence):

       vfghostscript55.ttfm
	   For VFlib + Ghostscript 5.5.

       Fix chitex.ttfm and ttf2pk.ttfm under FreeBSD.
	   It means making a FreeBSD port of ChiTeX,  and  modifying  existing
	   CJK	port.	It's also possible that ChiTeX, CJK, cwTeX can all co-
	   exist.

       cwtex.ttfm
	   For cwTeX, a BIG5 TeX/LaTeX system of ultra-high quality.

       xcid.ttfm
	   Handling CID fonts under XFree86, which is Xatm in 3.3.x,  built-in
	   in 4.x.

       Clearer relationship between modules
	   With	 more  and  more  modules,  dependencies  between modules will
	   become a problem.  For example, which actions  have	chain  effects
	   (like AbiWord) should be clarified.

       About ttfinfo(also in the order of precedence):

       Use FreeType 2.
	   It supports more font types like OpenType or CID.

       Support CJK font entries
	   Although  TrueType  fonts can have CJK fontname entries, like in MS
	   Windows, TTFM cannot use this feature currently.  Since many	 indi‐
	   vidual  CJK	TrueType  fonts	 have  bogus  English  vendor and face
	   entries(like -misc-unknown- in XLFD), users can be easily  confused
	   with which font to use, if proper CJK font names are not given.

       GUI interface
	   It's	 simple to write a X client to have basic functions, since all
	   the dirty work are done by ttfm.sh or modules.  However,  it	 would
	   not	be trivial to manage CJK fonts simultaneously in a single ses‐
	   sion.

       Support CID
	   When TTFM supports FreeType 2, support for CID fonts would be triv‐
	   ial.	  However, all CID fonts available now as free are released by
	   Adobe, so this functionality probably won't be widely tested.

       L10N font face names
	   Currently, TTFM sets both Ming and Kai regardless the  encoding  of
	   TrueType  fonts.   But  usually  each country has its own face name
	   convention, eg. "Ming" in Taiwan,  "Song"  in  China,  "Mincho"  in
	   Japan,  and "Munhwa" in Korea.  TTFM's "--setdefault" and "--setde‐
	   fault_kai" should be localized to suite users' needs.

NOTES
       TODOs or BUGs that are not related to TTFM.

       BIG5-encoded TrueType fonts
	   Many applications can only handle modern  Unicode-encoded  TrueType
	   fonts,  eg.	 XFree86  (both 3.x and 4.x) has problems with certain
	   types of BIG5 TTFs, and Alladdin Ghostscript 6 can't read  them  at
	   all.	  Sometimes  the  problem may be just a wrong encoding ID, and
	   others are due to the lack of BIG5 tables.

	   The same may happen to other legacy fonts, but the author has  only
	   BIG5	 TTFs  at  hand.   If users encounter the same problem, either
	   switch to newer TTFs, or contact the author would be fine.

       CJK XLFD fields
	   XLFD (X Logical Font Description) is the standard X Window uses  to
	   identify	   fonts,	eg.	  -adobe-courier-medium-r-nor‐
	   mal--12-120-75-75-m-70-iso8859-1.   The  standard  says  that  each
	   field  allows ISO 8859-1 characters(except the '-' character, which
	   is used as field separater), so it's possible to use CJK characters
	   in  the  face  field, just like in MS Windows.  But it seems that X
	   protocol converts byte orders, maybe using the htonl() family, when
	   handling fonts.  It will be a great challenge to modify X libraries
	   to support multibyte XLFD.

AUTHORS
       Yuan-Chung Cheng <platin@linux.org.tw>
	   Main program, ttf2pk.ttfm, and xttfm-tcl.ttfm.

       Chih-Wei Huang <cwhuang@linux.org.tw>
	   ttfm.sh, chitex.ttfm, ttf2pk.ttfm, and xttfm-tcl.ttfm.   CLE	 main‐
	   tainer.

       Jing-Tang Keith Jang <keith@FreeBSD.org>
	   abiword.ttfm,  ghostscript6.ttfm,  xfreetype.ttfm,  and xttfm.ttfm.
	   FreeBSD maintainer.

								    ttfm.sh(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net