9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] [RFC] fonts and unicode/utf [TeX]
@ 2011-06-16 12:17 tlaronde
  2011-06-16 16:49 ` Russ Cox
                   ` (3 more replies)
  0 siblings, 4 replies; 52+ messages in thread
From: tlaronde @ 2011-06-16 12:17 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Hello,

I'm currently exploring, for kerTeX, the area I have the least knowledge
till now: fonts.

It seems that the TeX community has spent a huge amount of time, and
produced a huge amount of tricks to try to use fonts that have glyphes
the Computer Modern have not, specially accented letters.

In 1990, D.E. Knuth wrote an article to explain the correct (both
simpler and most versatile) solution: virtual fonts.

But since people have spent a huge amount of time, it seems furthermore
that they were reluctant to throw everything away, and we are still
dragging tons of data and struggling with puzzling tricks just because
of human nature...

So, trying to give the easiest solution for now, and trying to think
about what can be done to use Plan9 established simplest way: utf, I'm
on the following tracks about this.

Adobe has published the AFM for the 35 standard base fonts for
PostScript (the fonts that are resident in a PS printer). Starting from
these AFM, kerTeX will produce the corresponding TFM, plus a virtual
font.

A virtual font can combine several distinct fonts, and furthermore can
map glyphes. Since TeX uses (for now) its input as a stream of octets,
the deal is to map this input encoding to the correct glyphes. One of
the great feature of the AFM is that a glyphe is described by an ascii
litteral name. The position of the glyphe, its index, in the font is not
of a great concern: the virtual font can take care of the mapping (while
the use directly of TFM will take the input encoding as the index).

I have so extended the encoding used to generate the virtual fonts so
that for the ASCII range it matches the Computer Modern expectations
(hence it is totally compatible with plain TeX), and so that the latin1
encoding used as input will give the correct glyphes. And the cryptic
names will be gone, because loading the (virtual) font will be defined
by calling latin1/the_font.

Why latin1? Not only because, as a French, I use it, but because it is
compatible with unicode.

First question: any feelings about this?

Second question: I'm trying to find if, in western languages, including
ligatures for ae and oe would be good since it is generally needed (one
can forbid ligatures by inserting "{}" between the letters), or if it's
not correct to set this by default for fonts (having the glyphes) since
some western languages use generally the ae or oe combinations without
knowing or expecting the substitution.

A futur step can be made in the following direction:

TeX is not limited to octet character, since for math, it uses indeed
positive wydes (2^15). The code is always mapped to [0..255], but the
whole number is used to switch between fonts (to simplify: see math
mode, \fam and so on).

Something like that could be done in the future, to use a TeX file
directly, encoded in utf, using the rune to select fonts or subfonts.

Cheers,
--
        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
                      http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C




^ permalink raw reply	[flat|nested] 52+ messages in thread

end of thread, other threads:[~2011-06-30 17:12 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-16 12:17 [9fans] [RFC] fonts and unicode/utf [TeX] tlaronde
2011-06-16 16:49 ` Russ Cox
2011-06-16 17:37   ` tlaronde
2011-06-16 18:43     ` Bakul Shah
2011-06-16 19:20       ` tlaronde
2011-06-16 17:43 ` tlaronde
2011-06-17 14:18 ` Joel C. Salomon
2011-06-17 15:37   ` tlaronde
2011-06-17 18:07     ` Joel C. Salomon
2011-06-17 18:37       ` tlaronde
2011-06-19 14:21     ` erik quanstrom
2011-06-19 14:07 ` erik quanstrom
2011-06-19 16:34   ` tlaronde
2011-06-19 18:01     ` tlaronde
2011-06-19 22:38     ` erik quanstrom
2011-06-20 11:18       ` tlaronde
2011-06-20 21:53         ` erik quanstrom
2011-06-21 10:56           ` tlaronde
2011-06-24 23:05             ` Mauricio CA
2011-06-25  6:50               ` tlaronde
2011-06-25 12:19                 ` erik quanstrom
2011-06-25 15:03                   ` tlaronde
2011-06-25 15:11                     ` erik quanstrom
2011-06-25 16:33                       ` tlaronde
2011-06-25 16:34                     ` Mauricio CA
2011-06-25 17:11                       ` tlaronde
2011-06-25 18:43                         ` Michael Kerpan
2011-06-26  7:57                           ` tlaronde
2011-06-27  1:01                             ` Michael Kerpan
2011-06-27 11:48                               ` tlaronde
2011-06-27 12:36                                 ` erik quanstrom
2011-06-27 14:38                                   ` Karljurgen Feuerherm
2011-06-27 17:20                                   ` tlaronde
2011-06-27 17:34                                     ` erik quanstrom
2011-06-27 18:01                                       ` tlaronde
2011-06-27 21:17                                         ` Michael Kerpan
2011-06-28 11:25                                           ` tlaronde
2011-06-27 23:45                                     ` Karljurgen Feuerherm
2011-06-27 23:48                                       ` erik quanstrom
2011-06-28 11:19                                       ` tlaronde
2011-06-28 11:32                                         ` tlaronde
2011-06-28 12:16                                         ` erik quanstrom
2011-06-29 23:43                                         ` Karljurgen Feuerherm
2011-06-30 13:02                                           ` tlaronde
2011-06-30 13:14                                             ` erik quanstrom
2011-06-30 13:47                                               ` tlaronde
2011-06-30 14:51                                             ` Karljurgen Feuerherm
2011-06-30 15:22                                               ` Michael Kerpan
2011-06-30 16:25                                               ` tlaronde
2011-06-30 16:31                                                 ` erik quanstrom
2011-06-30 17:00                                                   ` tlaronde
2011-06-30 17:12                                                     ` tlaronde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).