lilypond-devel
[Top][All Lists]
Advanced

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

goal of current programming


From: Werner LEMBERG
Subject: goal of current programming
Date: Fri, 09 Apr 2004 15:49:37 +0200 (CEST)

Han-Wen, Janneke,


I see a lot of changes related to fonts, font encoding, input
encoding, etc., in the CVS.  What is the near-time goal of your
changes?

Reason for asking is support for Japanese -- I've written some Haiku,
and I would like to use lilypond for typesetting them.

There is still the question how to support non-Latin scripts in
general...

A few weeks ago we had this email exchange:

> > A first step could be this: Emit all text strings as a large LaTeX
> > document where the entries are put into \hboxes.  Then run LaTeX
> > on this file, writing the box dimensions into the aux file.
> > 
> > This would make two passes with LilyPond:
> > 
> >   lilypond --generate-latex-data foo.ly > foo.tex
> >   latex foo.tex
> >   lilypond --use-latex-data foo.ly
> > 
> > The --generate-latex-data option makes lilypond exit after parsing
> > the input file (and emitting the latex data).
> >   
> > I would like to see this anyway to have a chance to reliably
> > select non-cmr fonts for text strings in LilyPond; if you code the
> > lilypond part I'll provide the LaTeX part.
>
> This approach seems rather arcane to me. However, with Scheme
> functions, you can already achieve this: write the texts to a .tex
> file, run latex, read back the dimensions, store them in a table,
> and do
>
>   \override Lyrics #'X-extent-callback  = #(lambda (grob)
>      (lookup-latex-dimension the-dimension-table (ly:get-property grob 
> 'text)))

I don't fully understand what I shall do.  Can you give a real
example, please?  Assume that the words `foo', `bar', and `baz' are
used as a lied text.  Then lilypond could emit, say, this:

  \lilystring{foo}
  \lilystring{bar}
  \lilystring{baz}

What shall LaTeX write into an auxiliary file so that lilypond can
read it back easily?  If I know exactly what to do, I'll try to
implenent it.


    Werner




reply via email to

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