[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Many questions :)

From: David Kuehling
Subject: Re: Many questions :)
Date: 18 Apr 2004 12:14:52 +0200

>>>>> "Jeff" == Jeff Kingston <address@hidden> writes:

> On Tue, 13 Apr 2004 18:08:27 +0200 (MEST), "David K|hling" wrote:
>>  Hi everybody,
>> This is the point where I decided to look for alternatives, even
>> thinking about creating a custom PostScript typesetting system.
>> Well, lout seems to be capable of all the things that I need.  It's
>> remarkable what kind of features can be expressed in terms of the
>> simple concepts that lout uses.  Looking at /usr/share/lout reveals,
>> that there even exists a direct interface to PostScript, @Yield,
>> which would allow me to add japanese language support.

> Actually @Graphic.

Must have been some lines in `include/bsf' which made me think @Yield
would output PostScript.  I must admit I'm as new to PostScript as I'm
to Lout.

> I certainly couldn't recommend starting an operating system process on
> every character, which is what @Filter does.  I'm pretty sure that the
> only *realistic* way to do this is via built-in support for 16-bit
> fonts, which Lout does not have.  I suppose there is some chance of
> handling it by making every character into a Lout @Graphic, but it
> feels pretty horrible to me.  Might be just bearable
> computer-generated.

In the TeX world, everything used to be done without built-in support
:).  I started japanese typesetting with a macro-package called
CJK-LaTeX which did everything necessary for japanese character support
in plain TeX.  I guess I lost my sense for elegance in computer
typesetting systems a long time ago ;).

@Filter wouldn't need to be run once for every character.  It could be
run once for every section of japanese text.  I currently think that I
wouldn't actually need @Filter.  From include/bsf:

  def "''"       { @Char "quotedblright"      @OrIfPlain "''" }

If this is posible, I should be able to define something like

  def "\244\242"  { # code for Hiragana letter `A' ... }

for every euc-jp character.

Turning every character into a @Graphic might not be necessary.  The
approach used for CJK-LaTeX (and probably used generally for embedding
multibyte characters into PostScript) is to split the japanese font into
subfonts, each within the limits of the 128 (or whatever) chars a
TeX-font can handle.  This would, however interfere quite much with
Lout's font handling, especially if one needed more than one japanese

>>  * I didn't yet find any information in the Lout documentation about
>> doing simple calculations in Lout.  Eg calculate positions for blobs
>> in the margins, depending on first Letter of the dictionary entries
>> on a page.  Again, I suppose this could be done using @Filter.  Using
>> math with TeXs registers, you could do fancy things...

> Yes, Lout has no mathematics built in.  However, take a look at the
> @Place symbol (is it?), @LeftNote, @RightNote etc.  They do this kind
> of thing by utilizing PostScript's mathematical features.

I'll have a look at it.  Since I'm relying on a XML->TeX/lout/whatever
"preprocessing" step, most of the mathematics could actually be done
before Lout is run.  And if necessary, there's still M4 :).

> Note that calls to @Filter are given no access to the internal state
> of the Lout interpreter at the point of the call.  All they get is the
> sequence of characters enclosed in {} following the symbol.

Then the macro-expansion (or function-calling; don't yet quite
understand Lout's logic) is done *after* @Filter was run?  Any chance
around that?  It would be fun to have, via @Filter some function that
can be used like Tcl's `expr'.

Well, as I said, I'm a complete newbie to Lout and PostScript, and still
far from understanding the logic behind Lout.  I'll take some time to
study Lout in more detail, trying it out for some university-papers.  As
the dictionary still takes some years until completion, I guess I won't
start serious tinkering with japanese characters in Lout before

Thanks for your help,


David Kühling
GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40

reply via email to

[Prev in Thread] Current Thread [Next in Thread]