[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Big Bag o' Questions
From: |
Valeriy E. Ushakov |
Subject: |
Re: Big Bag o' Questions |
Date: |
Fri, 13 Aug 1999 03:20:15 +0400 |
On Thu, Aug 12, 1999 at 12:55:04PM -0400, Colin Klipsch wrote:
> > > (3) I want to propose that a collection of good quality freeware &
> > > shareware PostScript fonts be added to Lout, perhaps as a
> > > supplemental download package.
> >
> > This is so extremely easy to add new fonts, that it hardly worth a
> > separate download package. Adding them to the base distribution is
> > not very kosher either.
>
> I'm not sure I'd use the phrase "extremely easy". If you're just
> using pre-existing AFM files, then yes, it's quite easy to add the
> _fontdef_ declarations yourself. But, if you're embedding fonts
> into your PostScript output, then there's some trickery involved that
> took me a few weeks of experimentation to get right.
What trickery? You need and AFM to refer to in the fontdef and a PFA
to embed. PFB->PFA convertors are widely available. AFMs are usually
available too. What was the exact problems you encountered?
> Speaking of that ... why does @PrependGraphic complain if the file
> you're prepending doesn't start with a "%%BeginResource" line? This
> seems kvetchy to me.
DSC compliance.
> Also, "PrependGraphic", as a name, is a bit misleading; it really
> prepends _any_ chunk of PostScript code, not just images. Perhaps
> it should be renamed "PrependResource" or "PrependFile" or even just
> "Prepend".
Well, yes. But we have @Graphic to escape to PostScript and
@PrependGraphic escapes to PostScript prologue, so this rationalise
the name somewhat.
> Also, why does _fontdef_ require me to give it both the AFM file _and_
> the font's PostScript name? The font's name is _in_ the AFM file! If
> Lout is parsing the AFM file (to get the metric information I
> presume), then it should also go ahead and note the "FontName" line
> while doing so.
Hmm. Good point (though I can imagine a hack of using AFM file from
the painted font while actually using the outlined font constructed
with a simple chunk of code).
> However, I still think it makes sense to supply an _expansion_ set
> of fonts as a supplemental package
[...]
> Having done a lot of this work myself already, I'd like to share it
> with others. My feeling is that it would help "sell" Lout to a wider
> audience. Again, I'm not proposing to contaminate the base Lout
> distribution with oodles of extra fonts; I agree this wouldn't be
> kosher. The idea here is to provide an optional download package that
> users can take or ignore as desired.
You are welcome.
> > > (4) Along the same lines, I'd like to push for Multiple Master font
> > > support, specifically the use of "optical scaling" at different
> > > point sizes.
> > [...]
> > > I can imagine that adding this feature would mean major changes to
> > > Lout's internal workings.
>
> > Exactly.
>
> I'm inferring that that's a strong "NO". ;)
Rather that's a mild "not now" (or at least "I dont know who have time
and interest to do it"). ;-)
> > > It would be nice to have a text "wrap-around" feature ...
>
> > Generic flow-around (L-shaped paragraphs) is impossible in Lout, but
> > one can perhaps adapt @DropCap* symbols to do flowing semi-manually
> > (one will need to specify the size of the "window").
>
> That's unfortunate. What sort of impossibility is it do you think?
> Permanent or temporary?
As I promised, I'll write a seprate letter about this with all the
gory details. For really impatient here's my take at it (quick and
dirty). Note that the "height" is compulsory - it's the height of the
amount of text to flow to the left of the picture.
import @BasicSetup
def @Flow
left picture
named compulsory height @ {}
named omargin { 0f }
named imargin { 0.5f }
right flow
{
def @ParPlace { @Galley }
def @EndParPlace { @Galley }
def @LineList
{
@PAdjust @ParPlace
//1vx @LineList
}
def @ParGalley horizontally into { @ParPlace&&preceding }
right x
{
x
}
def @EndPar force into { @EndParPlace&&following } { @Null }
1w @VShift { ||omargin picture ||imargin }
| 1w @VShift height @High { //1rt @LineList }
// @ParGalley { flow & @EndPar &1rt }
//.8vx @LineList
// @EndParPlace
}
Example:
{ 4f @Font A } @Flow @{ 3v } { fter a while test test test test test
# more text here
}
SY, Uwe
--
address@hidden | Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/ | Ist zu Grunde gehen