From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <20090709032141.e581a203.eekee57@fastmail.fm> Date: Wed, 15 Jul 2009 14:01:36 -0700 Message-ID: <3e1162e60907151401y4789a455x4abf87e4a04ca5e7@mail.gmail.com> From: David Leimbach To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=000e0cd3081e6373f0046ec4dc50 Subject: Re: [9fans] Fonts Topicbox-Message-UUID: 21e0db76-ead5-11e9-9d60-3106f5b1d025 --000e0cd3081e6373f0046ec4dc50 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Just tried this from the mercurial snapshot from last night. fontsrv appears to work but complains about fuse not being set up properly. Does this mean acme is not going to work? Should I be asking this on the plan9port mailing list? On Wed, Jul 8, 2009 at 10:25 PM, Russ Cox wrote: > This conversation reminded me that I have been > meaning to clean up a program I wrote a while back > and integrate it into plan9port. It generates Plan 9 > bitmap fonts on demand using the native window > system fonts. Right now it only works on OS X. > I would gladly accept X11 support and OS X bug fixes. > > > FONTSRV(4) FONTSRV(4) > > NAME > fontsrv - file system access to host fonts > > SYNOPSIS > fontsrv [ -m mtpt ] [ -s srvname ] > > fontsrv -p path > > DESCRIPTION > Fontsrv presents the host window system's fonts in the stan- > dard Plan 9 format (see font(7)). It serves a virtual direc- > tory tree mounted at mtpt (if the -m option is given) and > posted at srvname (default font). > > The -p option changes fontsrv's behavior: rather than serve > a file system, fontsrv prints to standard output the con- > tents of the named path. If path names a directory in the > served file system, fontsrv lists the directory's contents. > > The fonts are arranged in a two-level tree. The root con- > tains directories named for each system font. Each font > directory contains subdirectories named for a point size and > whether the subfonts are anti-aliased: 10 (bitmap) 10a > (anti-aliased greyscale) 12, 12a, and so on. The font > directory will synthesize additional sizes on demand: look- > ing up 19a will synthesize the 19-point anti-aliased size if > possible. Each size directory contains a font file and sub- > font files named x0000.bit, x0100.bit, and so on represent- > ing 256-character Unicode ranges. > > Openfont (see graphics(3)) recognizes font paths beginning > with /mnt/font and implements them by invoking fontsrv; it > need not be running already. > > EXAMPLES > List the fonts on the system: > > % fontsrv & > % 9p ls font > > or: > > % fontsrv -p . > > Run acme(1) using the operating system's Monaco as the > fixed-width font: > > % acme -F /mnt/font/Monaco/13a/font > > Run sam(1) using the same font: > > % font=/mnt/font/Monaco/13a/font sam > > SOURCE > /usr/local/plan9/src/cmd/fontsrv > > SEE ALSO > font(7) > > BUGS > Due to OS X restrictions, fontsrv does not fork itself into > the background when serving a user-level file system. > > Fontsrv has no support for X11 fonts; on X11 systems, it > will serve an empty top-level directory. > > On OS X, the anti-aliased bitmaps are not perfect. For > example, the lower case r in the subfont > Times-Roman/14a/x0000.bit appears truncated on the right and > too light overall. > > --000e0cd3081e6373f0046ec4dc50 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Just tried this from the mercurial snapshot from last night.

=
fontsrv appears to work but complains about fuse not being set up prop= erly.

Does this mean acme is not going to work?

Should I be asking this on the plan9port mailing list?= =A0

On Wed, Jul 8, 2009 at 10:25 PM, Russ= Cox <rsc@swtch.com> wrote:
This conversation reminded me that I have b= een
meaning to clean up a program I wrote a while back
and integrate it into plan9port. =A0It generates Plan 9
bitmap fonts on demand using the native window
system fonts. =A0Right now it only works on OS X.
I would gladly accept X11 support and OS X bug fixes.


=A0 =A0 FONTSRV(4) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 FONTSRV(4)

=A0 =A0 NAME
=A0 =A0 =A0 =A0 =A0fontsrv - file system access to host fonts

=A0 =A0 SYNOPSIS
=A0 =A0 =A0 =A0 =A0fontsrv [ -m mtpt ] [ -s srvname ]

=A0 =A0 =A0 =A0 =A0fontsrv -p path

=A0 =A0 DESCRIPTION
=A0 =A0 =A0 =A0 =A0Fontsrv presents the host window system's fonts in = the stan-
=A0 =A0 =A0 =A0 =A0dard Plan 9 format (see font(7)). It serves a virtual d= irec-
=A0 =A0 =A0 =A0 =A0tory tree mounted at mtpt (if the -m option is given) a= nd
=A0 =A0 =A0 =A0 =A0posted at srvname (default font).

=A0 =A0 =A0 =A0 =A0The -p option changes fontsrv's behavior: rather th= an serve
=A0 =A0 =A0 =A0 =A0a file system, fontsrv prints to standard output the co= n-
=A0 =A0 =A0 =A0 =A0tents of the named path. If path names a directory in t= he
=A0 =A0 =A0 =A0 =A0served file system, fontsrv lists the directory's c= ontents.

=A0 =A0 =A0 =A0 =A0The fonts are arranged in a two-level tree. =A0The root= con-
=A0 =A0 =A0 =A0 =A0tains directories named for each system font. =A0Each f= ont
=A0 =A0 =A0 =A0 =A0directory contains subdirectories named for a point siz= e and
=A0 =A0 =A0 =A0 =A0whether the subfonts are anti-aliased: 10 (bitmap) 10a<= br> =A0 =A0 =A0 =A0 =A0(anti-aliased greyscale) 12, 12a, and so on. =A0The fon= t
=A0 =A0 =A0 =A0 =A0directory will synthesize additional sizes on demand: l= ook-
=A0 =A0 =A0 =A0 =A0ing up 19a will synthesize the 19-point anti-aliased si= ze if
=A0 =A0 =A0 =A0 =A0possible. =A0Each size directory contains a font file a= nd sub-
=A0 =A0 =A0 =A0 =A0font files named x0000.bit, x0100.bit, and so on repres= ent-
=A0 =A0 =A0 =A0 =A0ing 256-character Unicode ranges.

=A0 =A0 =A0 =A0 =A0Openfont (see graphics(3)) recognizes font paths beginn= ing
=A0 =A0 =A0 =A0 =A0with /mnt/font and implements them by invoking fontsrv;= it
=A0 =A0 =A0 =A0 =A0need not be running already.

=A0 =A0 EXAMPLES
=A0 =A0 =A0 =A0 =A0List the fonts on the system:

=A0 =A0 =A0 =A0 =A0 =A0 =A0 % fontsrv &
=A0 =A0 =A0 =A0 =A0 =A0 =A0 % 9p ls font

=A0 =A0 =A0 =A0 =A0or:

=A0 =A0 =A0 =A0 =A0 =A0 =A0 % fontsrv -p .

=A0 =A0 =A0 =A0 =A0Run acme(1) using the operating system's Monaco as = the
=A0 =A0 =A0 =A0 =A0fixed-width font:

=A0 =A0 =A0 =A0 =A0 =A0 =A0 % acme -F /mnt/font/Monaco/13a/font

=A0 =A0 =A0 =A0 =A0Run sam(1) using the same font:

=A0 =A0 =A0 =A0 =A0 =A0 =A0 % font=3D/mnt/font/Monaco/13a/font sam

=A0 =A0 SOURCE
=A0 =A0 =A0 =A0 =A0/usr/local/plan9/src/cmd/fontsrv

=A0 =A0 SEE ALSO
=A0 =A0 =A0 =A0 =A0font(7)

=A0 =A0 BUGS
=A0 =A0 =A0 =A0 =A0Due to OS X restrictions, fontsrv does not fork itself = into
=A0 =A0 =A0 =A0 =A0the background when serving a user-level file system.
=A0 =A0 =A0 =A0 =A0Fontsrv has no support for X11 fonts; on X11 systems, i= t
=A0 =A0 =A0 =A0 =A0will serve an empty top-level directory.

=A0 =A0 =A0 =A0 =A0On OS X, the anti-aliased bitmaps are not perfect. =A0F= or
=A0 =A0 =A0 =A0 =A0example, the lower case r in the subfont
=A0 =A0 =A0 =A0 =A0Times-Roman/14a/x0000.bit appears truncated on the righ= t and
=A0 =A0 =A0 =A0 =A0too light overall.


--000e0cd3081e6373f0046ec4dc50--