9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Michael Kerpan <mjkerpan@kerpan.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] [RFC] fonts and unicode/utf [TeX]
Date: Mon, 27 Jun 2011 17:17:16 -0400	[thread overview]
Message-ID: <BANLkTik4RHyAvprdz5BZ-gzhrHBCgRxvQA@mail.gmail.com> (raw)
In-Reply-To: <20110627180153.GA1371@polynum.com>

On Mon, Jun 27, 2011 at 2:01 PM,  <tlaronde@polynum.com> wrote:
> On Mon, Jun 27, 2011 at 01:34:07PM -0400, erik quanstrom wrote:
>>
>> i don't even have an opinion on this.  i don't understand the conflation
>> of the input character set and tex's internal representations.  could
>> you explain why you are taking about them as the same?
>>
>> to be brutally honest, tex could internally use an array of monkeys
>> flinging poo to represent characters /internally/ and i would be much
>> happer than with a reasonable internal representation and a difficult
>> and incompatable external representation.  at least that way the monkeys
>> flinging poo are hermetically sealed within the program and not flinging
>> poo all over my system.  :-)
>
> In TeX there is, initially, a defined subset: ASCII. Because TeX is a
> compiler/interpreter and one needs to be able to send some
> "bootstrapping" commands. This can be rapidly overwritten (but starting
> with some ASCII like characters). This can be almost arbitrary.
>
> What people were precisely arguing is precisely that external business,
> and "state of the art" (that is soon to be "out of fashion") fonts and
> whatever mood "du jour" should lead to the rewrite of TeX internals.
>
> I precisely claim to let TeX internals alone. The majority of the work
> is external (the main being in the dvi drivers). If I want to use
> ligatures, I shall be able to do. If others want to put directly the
> code for the ligatured glyph, they can, but this is their problem and
> not a holy rule.

That's not how OpenType works, actually. It actually works more like
TeX, in that it allows for files to store text as basic
ASCII/Latin-1/8-bit UTF-8 subset format which an OpenType-enabled
renderer (such as XeTeX, InDesign or even Office 2010) then presents
(on screen or on page) as the correct ligature. Thus the big advantage
of OpenType over, say Type 1, is that it offers a featureset much
closer to Computer Modern's full set of ligatures, accents and
alternatives than Type 1 ever could (at least without serious
scripting to combine multiple Type 1 fonts containing all the needed
glyphs into a single "virtual font" as described in your first post)

> Unfortunately wrong. Read back the thread (if you really have
> nothing more interesting to do). I have explained this "256 subfonts"
> business in the first message, and immediately got answers that
> the "correct way" was teaching TeX "modern" fonts.

The subfont system works fine if you both have a complete Type 1 font
set including all the "expert fonts" including the extra glyphs and
the like AND are willing to put together a mapping for it. The problem
is that fonts haven't shipped (to consumers, at least) in that form
for about 10 years. Unless I fundamentally misunderstand the subfont
system (which I admit that I might), for  any font made within the
last 10 years or so, using the subfont/virtual font system would
entail the following steps:
1. Break the complete OpenType font down into a combination of PFBs
and AFMs containing the complete set of characters between them,
carefully remapping each glyph outside of 8-bit range into it so that
they remain accessible. This may break the license agreement for many
fonts and would almost certainly cause the loss of many kerning pairs,
hints and other metadata (I'm not sure how much of that TeX uses, so
that may not be as big a problem as it sounds)
2. Build the virtual font mappings as with a with a "real" Type 1 set
3. Hope for the best.

Given the complexity of the process involved, I would hope you can
understand why, as a USER, teaching TeX to play nice with modern fonts
looks like a good way to go ;)

Again, none of this is meant as a put-down of your quite impressive
work, but rather as a reminder of some areas where others might run
into problems with making USE of said work.

Mike



  reply	other threads:[~2011-06-27 21:17 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-16 12:17 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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BANLkTik4RHyAvprdz5BZ-gzhrHBCgRxvQA@mail.gmail.com \
    --to=mjkerpan@kerpan.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).