bug-lilypond
[Top][All Lists]
Advanced

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

Re: improved lyrics handling


From: Werner LEMBERG
Subject: Re: improved lyrics handling
Date: Tue, 23 Jul 2002 12:05:37 +0200 (CEST)

> Ah! So you know how encodings work! You're the guy we've been
> waiting for.  Lily should really read the appropriate font tables,
> and look up the right Russian or Chinese dimension -- unfortunately,
> we don't know about the systems involved, and could hardly test if a
> system works well.

After some thinking I believe that your approach is doomed to fail,
and I already know that you don't like my answer :-)

Without a real text processing engine it is not possible to convert
input characters to output glyphs.  Well, Latin or Chinese is
something simple since one input character produces one output
character, but now consider Indic scripts which don't have this
property!  If you want LilyPond to become a real success, all
languages of this world should be supported, especially those which
don't have proper lyrics support yet.  Right now I'm only talking
about the input-output problem, not taking into account additional
typographic subtleties, e.g. no `fi' ligature in Turkish or Portuguese
-- how shall LilyPond know that?

In the (hopefully near) future, Omega will be the solution.  John
Plaice and others are working to convert this TeX extension into a
library which can then be linked to other programs.  Until this
project has become mature we really should ask TeX for the metrics of
the output strings.

You are already using a similar approach to process data from
metafont; I suggest the same for lyrics.  For example, this text

  "this is" a "\\textbf{test}"

should be converted to this input for LaTeX (omitting the preamble and
postamble):

  \def\getMetrics#1#2{%
    address@hidden
    \typeout{#1: address@hidden
                 address@hidden
                 address@hidden
    address@hidden@x
  }

  \getMetrics{1}{this is}
  \getMetrics{2}{a}
  \getMetrics{3}{\textbf{test}}

Result:

  1: w=26.22226pt d=0.0pt h=6.94444pt
  2: w=5.00002pt d=0.0pt h=4.30554pt
  3: w=18.75128pt d=0.0pt h=6.3492pt

this is then read by LilyPond.


    Werner



reply via email to

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