From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/41476 Path: news.gmane.org!not-for-mail From: "Wolfgang Schuster" Newsgroups: gmane.comp.tex.context Subject: Re: Howto fit text into a box Date: Mon, 9 Jun 2008 15:44:53 +0200 Message-ID: <115224fb0806090644x678fa78cua58230bb53ea999a@mail.gmail.com> References: <200806090306.39320.ml@koloro.de> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1213019232 27179 80.91.229.12 (9 Jun 2008 13:47:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 9 Jun 2008 13:47:12 +0000 (UTC) To: "mailing list for ConTeXt users" Original-X-From: ntg-context-bounces@ntg.nl Mon Jun 09 15:47:46 2008 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from ronja.vet.uu.nl ([131.211.172.88] helo=ronja.ntg.nl) by lo.gmane.org with esmtp (Exim 4.50) id 1K5hiQ-0007vT-Kd for gctc-ntg-context-518@m.gmane.org; Mon, 09 Jun 2008 15:47:18 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id F09CF1FDC6; Mon, 9 Jun 2008 15:46:24 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 05823-07-2; Mon, 9 Jun 2008 15:45:36 +0200 (CEST) Original-Received: from ronja.vet.uu.nl (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 7373C1FD40; Mon, 9 Jun 2008 15:45:36 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 66FD01FC43 for ; Mon, 9 Jun 2008 15:45:31 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 07211-01-2 for ; Mon, 9 Jun 2008 15:44:55 +0200 (CEST) Original-Received: from yx-out-1718.google.com (yx-out-1718.google.com [74.125.44.154]) by ronja.ntg.nl (Postfix) with ESMTP id 7E6A61FD54 for ; Mon, 9 Jun 2008 15:44:54 +0200 (CEST) Original-Received: by yx-out-1718.google.com with SMTP id 34so184959yxf.74 for ; Mon, 09 Jun 2008 06:44:53 -0700 (PDT) Original-Received: by 10.150.202.14 with SMTP id z14mr6358257ybf.95.1213019093471; Mon, 09 Jun 2008 06:44:53 -0700 (PDT) Original-Received: by 10.151.113.9 with HTTP; Mon, 9 Jun 2008 06:44:53 -0700 (PDT) In-Reply-To: <200806090306.39320.ml@koloro.de> Content-Disposition: inline X-Virus-Scanned: amavisd-new at ntg.nl X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.9 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl X-Virus-Scanned: amavisd-new at ntg.nl Xref: news.gmane.org gmane.comp.tex.context:41476 Archived-At: On Mon, Jun 9, 2008 at 3:06 AM, Uwe Koloska 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 ___________________________________________________________________________________