A MindGraph egyik alapveto kepessege az, hogy kitesz egy szovegdobozt egy nagy ures papirra. Egy erdekes problema, amivel ennek kapcsan szembesultem, az a szoveg tordelese es a szovegdoboz atmeretezese, amikor megvaltoztatjuk a szoveget benne.
Mivel ez igy magaban tul definialatlan, nehany dolgot leszogeztem:
- Olyan szovegdobozokat szeretnek, aminek a szelessege kozel masfelszerese a magassaganak
- A szovegdoboznak van egy minimum merete, aminel nem lesz kisebb, akkor sem, ha ures
- A szovegdoboz mindig tartalmazza a teljes szoveget
- Sort csak szavaknal torok
Innen elindulva jott a magic: A szoveg teljes hosszat es a betumagassagot ismerve ki lehet szamolni a sorok szamat. A teljes hosszbol es ebbol kijon a preferalt sorhossz, amivel meg lehet keresni, hogy melyik szonal elvagva a szoveget leszunk hozza legkozelebb; ne felejtsuk el persze, hogy a sor nyugodtan lehet hosszabb is. Minden sor utan a kumulativ hossz es a teljes hossz kulonbsegebol kiszamolhatjuk a kovetkezo sorokra a preferalt hosszot – hiszen a soraink ritkan lesznek pont olyan hosszuak, mint az elvart, es valahova tenni kell a folosleget – es ezzel mar meg is van, hogy melyik sor mit tartalmaz.
Nem allitom, hogy az erre irt kodomat kepes leszek megerteni harom honap mulva, foleg azert, mert olyan reszei is vannak, amivel peldaul a leghosszabb sorhosszt tartom nyilvan, hogy tudjam a vegen, mekkorara kell tenylegesen meretezni a szovegdobozt. Azt meg nem is kezelem, hogy mi tortenik akkor, ha van soremeles a szovegben, illetve az irasjelek is viselkedhetnek meg nagyon viccesen.
Azt is meg kell majd meg oldanom, hogy a szoveg fuggolegesen kozepre legyen helyezve, es gondolkozom azon is, hogy a rovidebb sorokat beljebb igazitsam, vagy balra.
Igy nez ki most:
