[Top][All Lists]
[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
- goal of current programming,
Werner LEMBERG <=