On Mon, Jun 9, 2008 at 3:06 AM, Uwe Koloska <[EMAIL PROTECTED]> wrote: > Hello, > > for a CD-Cover I have to fit a given text into a fixed box. I have tried to > achieve this with the help of mag-0010 "Good looking shapes" but was not > successful :-( > > Can you help me with this? > > The conditions: > - the text is of fixed length > - the area is of given size (has a given ratio) > - the text has to fit completely inside this area > - the last line must be justified, too > - the fontsize of the text is the variable that can be changed > - I have the current minimal context installation > > and as an addition: > - if possible the words should not be hyphenated at all or hyphenated > at an arbitrary character without a hyphenation mark (the text > consists of names) > > A possible algorithm (similar to the one from mag-0010) > 1 start with a small box with the given ratio > 2 fill the text into the box > 3 if all text fits in with a small penalty we are ready > 4 make the box a bit larger > 5 goto 2 > > Unfortunately, I'm not able to understand the code from the mag nor can I code > the algorithm in context ... > > I would appreciate any input on this problem! > > Thank you > Uwe Koloska
Not perfect but you could use it as a start. I used ruledvbox only to take a look at the boxsize. There is a parameter to disable the indenting for the last line but I don't know it's name without looking into a TeX book. \startbuffer[cover] \input ward \stopbuffer \definetwopasslist{cover} \newbox\cover \newdimen\coverheight \coverheight= 7cm \newdimen\coverwidth \coverwidth = 7cm \newdimen\coverfont \coverfont =12pt \newdimen\fontstep \fontstep = 1pt \starttext \definefont[Cover][Sans at \the\coverfont] \gettwopassdata{cover} \iftwopassdatafound \coverfont\twopassdata \definefont[Cover][Sans at \the\coverfont] \fi \setbox\cover\ruledvbox {\hsize\coverwidth \Cover\setupinterlinespace \setupalign[nothyphenated] \emergencystretch\maxdimen \getbuffer[cover]} \ifdim\ht\cover<\coverheight \advance\coverfont\fontstep \savetwopassdata{cover}{1}{\the\coverfont} \else \advance\coverfont-\fontstep \savetwopassdata{cover}{1}{\the\coverfont} \fi \ruledvbox to 7cm{\box\cover} \stoptext Wolfgang ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________