Subversion Repositories Scribus

Compare Revisions

Ignore whitespace Rev 1063 → Rev 1064

/trunk/Scribus/AUTHORS
8,6 → 8,7
 
Contributions from:
 
Craig Ringer craig@postnewspapers.com.au
Alessandro Rimoldi http://ideale.ch/contact
Jean-Jacques Sarton jj.sarton@t-online.de
Christian Töpp mr-ct@gmx.de
14,18 → 15,30
Alastair Robinson blackfive@fakenhamweb.co.uk
 
 
Documentation:
 
Peter Linnell scribusdocs@atlantictechsolutions.com
Official Documentation:
 
Peter Linnell mrdocs@gmail.com
Craig Bradney cbradney@zip.com.au
 
Doc Translators:
 
(DE)Johannes Rüscheljo.rueschel@gmx.de
(FR)Frédéric Dubuy effediwhy@gmail.com
 
 
Other documentation:
 
Yves Ceccone yves@yeccoe.org
Holger Reibold http://www.bomots.de/scribus/
Thomas Zastrow webmaster@thomas-zastrow.de
 
 
Webmasters:
 
Peter Linnell scribusdocs@atlantictechsolutions.com
Peter Linnell mrdocs@gmail.com
Craig Bradney cbradney@zip.com.au
 
Scribus Font Sampler Script
Steve Callcott
Steve Callcott stotte@ntlworld.com
/trunk/Scribus/README
1,31 → 1,42
This is Scribus Version 1.2
The Scribus 1.2 version features a complete rewrite of the rendering Engine.
All rendering is now done via libart and freetype2.
This is Scribus Version 1.2.1
 
The Scribus 1.2.x versions feature a complete rewrite of the rendering engine.
All rendering is done via libart and freetype2.
This requires that libart_lgpl and freetype2 are installed.
 
Scribus 1.2.1 also has a new OpenOffice.org Writer and Draw importer. This
requires libxml2, preferably version 2.6.x+. The OpenOffice.org Writer importer
will import styles from the OpenOffice.org doc and will create similar styles
within your Scribus document.
 
 
Additionally Scribus uses now a different way to find fonts, sadly this gives
some changes in the font names Scribus uses. To convert old documents follow the
procedure below:
some changes in the font names Scribus uses. To convert old documents follow
the procedure below:
 
1) Create a document with the old Version of Scribus containing all your Fonts.
2) Open the new Scribus and go to the Font Substitution List.
3) Clear out all current Substitutions.
4) Open the Document created in 1) and substitute all the fonts with the correct new Fonts.
3) Clear out all current substitutions.
4) Open the Document created in 1) and substitute all the fonts with the
correct new fonts.
 
When you open now old Documents Scribus will convert all Font Names
When you now open old documents Scribus will convert all Font Names
automatically.
 
For Changes please see the ChangeLog.
 
To use Scribus in your native language be sure that the environment
variable LANG is set correctly.
To use Scribus in your native language be sure that the environment variable
LC_ALL, LC_MESSAGES, LANG, Qt locale, OR the command line option
of -l/--lang <lang> is set correctly.
 
The new EPS/PS import feature in 1.2 uses advanced features of Ghostscript. We recommend
ALL users update to the newest version of Ghostscript avialable for your distro.
The new EPS/PS import feature in 1.2.x uses advanced features of Ghostscript.
We recommend ALL users update to the newest version of Ghostscript available
for your distro. There are detailed hints on docs.scribus.net for installing
GS 8.x in parallel to the GS installed by your distro.
 
Special note for SuSE 8.1 users, you need the devel packages, at least
xdevel.rpm, qtdevel.rpm and tiffdevel.rpm. In the Standard-Install they
were not installed.
Activating Color Management *requires* installation of CMYK and RGB ICC
profiles. Please see the included help files and http://docs.scribus.net for
details.
 
Other notes/known issues at the time of release:
 
44,20 → 55,30
They are in the "Recommends" and will be installed by all sensible apt
front-ends.
 
For SuSE 9.0/9.1 Users.
For SuSE 9.x Users:
 
The littlecms libs 1.10, which shipped with 9.0 does not offer complete support
for all the the latest CMS features in Scribus 1.2. There are updated
SuSE 9.x RPM's available on the scribus.net site. We also recommend using the
latest version of lcms.
- The littlecms libs 1.10, which shipped with 9.0 does not offer complete
support for all the the latest CMS features in Scribus 1.2. There are updated
SuSE 9.x RPM's available on the Scribus.net site. We also recommend using the
latest version of lcms.
 
If you are using Qt 3.3.x, please ensure you are using the latest Qt 3.3.2-2+ rpms.
The -2+ versions have an important fix for drag and drop in Scribus.
- If you are using Qt 3.3.x, please ensure you are using the latest Qt 3.3.2-2+
rpms. The -2+ versions have an important fix for drag and drop in Scribus.
 
Many other hints and info are on the www.scribus.net site. Full compile, install and FAQ's
are available there.
- To enable direct CUPS support which recommend, make sure both cups-devel and
openssl-devel are installed. Suse enables ssl support in CUPS.
 
For Fedora/RH using Qt 3.3.2-6+ has the same fixes.
 
Many other hints and info are on the www.scribus.net and docs.scribus.net
sites. Full compile, install and FAQ's are available there.
 
There is a lively on-line community, both on IRC @ #scribus on irc.freenode.net
and the mailing list. Mailing list info can be found at:
http://nashi.altmuehlnet.de/mailman/listinfo/scribus
 
For the Scribus Team,
 
Franz Schmid
in August 2004
Peter Linnell
in January 2005
/trunk/Scribus/scribus.lsm
7,7 → 7,7
Author: franz.schmid@altmuehlnet.de Franz Schmid
Maintained-by: franz.schmid@altmuehlnet.de Franz Schmid
Primary-site: http://www.scribus.net
Alternate-site: http://web2.altmuehlnet.de/fschmid
Alternate-site: http://www.scribus.org.uk/
Original-site: http://web2.altmuehlnet.de/fschmid
Platforms: Linux and other Unices, MacOSX, Requires: Python >= 2.2, Qt >= 3.0.5+, libart_lgpl >= 2.3.11, freetype2 >=2.1.3
Copying-policy: GNU Public License
/trunk/Scribus/TODO
1,5 → 1,0
Plans for the next Release:
 
- Integrate a Spellchecker
- Provide an alternative Fontselector
- enhanche the Display
Plans for the next Release can be seen on www.scribus.net website on the roadmap document.
/trunk/Scribus/scribus/util.cpp
1344,6 → 1344,11
chmapCustom = u;
foundEncoding = true;
}
else if (face->charmaps[u]->encoding == FT_ENCODING_MS_SYMBOL)
{
chmapCustom = u;
foundEncoding = true;
}
}
if (countUniCode > 255)
FT_Set_Charmap(face, face->charmaps[chmapUniCode]);
/trunk/Scribus/scribus/page.cpp
3279,7 → 3279,11
double gx, gy, gh, gw, nx, ny, scx, scy;
getGroupRect(&gx, &gy, &gw, &gh);
double sc = doku->Scale;
QPoint np2 = QPoint(static_cast<int>(m->x()/sc), static_cast<int>(m->y()/sc));
QPoint np2;
if (m->state() & ControlButton)
np2 = QPoint(qRound(m->x()/sc), qRound(((gy+(gh * ((m->x()/sc-gx) / gw)))*sc)/sc));
else
np2 = QPoint(qRound(m->x()/sc), qRound(m->y()/sc));
nx = np2.x();
ny = np2.y();
if (!ApplyGuides(&nx, &ny))
4562,8 → 4566,8
case 1:
if (m->state() & ControlButton)
{
np2 = QPoint(m->x(), static_cast<int>((gy+(gh * ((newX-gx) / gw)))*sc));
QCursor::setPos(mapToGlobal(np2));
np2 = QPoint(m->x(), qRound((gy+(gh * ((newX-gx) / gw)))*sc));
// QCursor::setPos(mapToGlobal(np2));
np2 = QPoint(qRound(np2.x()/sc), qRound(np2.y()/sc));
}
else
4608,6 → 4612,7
b = SelItem.at(0);
if ((HowTo == 1) || (HowTo == 2))
{
double nh = b->Height;
switch (HowTo)
{
case 1:
4616,7 → 4621,10
if ((m->state() & ShiftButton) && (!(m->state() & ControlButton)))
{
mop = QPoint(m->x(), static_cast<int>((b->Ypos + (newX - b->Xpos)) * sc));
QCursor::setPos(mapToGlobal(mop));
nh = (m->x() / sc) - b->Xpos;
// QCursor::setPos(mapToGlobal(mop));
newX = mop.x();
newY = mop.y();
}
else
{
4623,7 → 4631,10
if ((m->state() & ControlButton) && (!(m->state() & ShiftButton)))
{
mop = QPoint(m->x(), static_cast<int>((b->Ypos + ((newX - b->Xpos) / b->OldB2 * b->OldH2)) * sc));
QCursor::setPos(mapToGlobal(mop));
nh = ((m->x() / sc) - b->Xpos) / b->OldB2 * b->OldH2;
// QCursor::setPos(mapToGlobal(mop));
newX = mop.x();
newY = mop.y();
}
else
mop = QPoint(m->x(), m->y());
4649,7 → 4660,10
nx -= b->Xpos;
ny -= b->Ypos;
}
erf = SizeItem(nx, ny, b->ItemNr);
if ((m->state() & ControlButton) || ((m->state() & ShiftButton)))
erf = SizeItem(nx, nh, b->ItemNr);
else
erf = SizeItem(nx, ny, b->ItemNr);
}
else
{
6198,6 → 6212,10
for (uint aa = 0; aa < SelItem.count(); ++aa)
{
PageItem *bb = SelItem.at(aa);
bb->OldB = bb->Width;
bb->OldH = bb->Height;
bb->OldB2 = bb->Width;
bb->OldH2 = bb->Height;
bb->paintObj();
}
setGroupRect();
6212,6 → 6230,10
{
EmitValues(b);
emit HaveSel(b->PType);
b->OldB = b->Width;
b->OldH = b->Height;
b->OldB2 = b->Width;
b->OldH2 = b->Height;
if (b->PType == 5)
emit ItemGeom(b->Width, b->Height);
}
9037,6 → 9059,10
b->Language = ScApp->GetLang(Buffer->Language);
b->Cols = Buffer->Cols;
b->ColGap = Buffer->ColGap;
b->OldB = b->Width;
b->OldH = b->Height;
b->OldB2 = b->Width;
b->OldH2 = b->Height;
if (Buffer->LayerNr != -1)
b->LayerNr = Buffer->LayerNr;
b->PoLine = Buffer->PoLine.copy();
/trunk/Scribus/scribus/annot.cpp
1027,8 → 1027,6
PushButton2 = new QPushButton( this, "PushButton2" );
PushButton2->setText( tr( "Cancel" ) );
Layout1_2->addWidget( PushButton2 );
QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
Layout1_2->addItem( spacer );
AnnotLayout->addLayout( Layout1_2 );
connect(PushButton1, SIGNAL(clicked()), this, SLOT(SetVals()));
connect(PushButton2, SIGNAL(clicked()), this, SLOT(reject()));
/trunk/Scribus/scribus/pageitem.cpp
886,7 → 886,11
{
CurY = asce+TExtra+lineCorr+1;
if (((a > 0) && (Ptext.at(a-1)->ch == QChar(13))) || (a == 0))
{
CurY += Doc->Vorlagen[hl->cab].Avor;
CurX += Doc->Vorlagen[hl->cab].First;
CurX += Doc->Vorlagen[hl->cab].Indent;
}
}
if (Doc->Vorlagen[hl->cab].BaseAdj)
{
906,9 → 910,22
{
fBorder = false;
if (StartOfCol)
{
if (((a > 0) && (Ptext.at(a-1)->ch == QChar(13))) || (a == 0))
{
CurX = ColBound.x();
CurX += Doc->Vorlagen[hl->cab].First;
CurX += Doc->Vorlagen[hl->cab].Indent;
}
else
CurX = ColBound.x();
CurY++;
}
else
{
CurY += Doc->Vorlagen[hl->cab].LineSpa;
CurX = ColBound.x();
}
if (Doc->Vorlagen[hl->cab].BaseAdj)
{
int ol1 = qRound((Ypos + CurY - Doc->BaseOffs) * 10000.0);
915,7 → 932,7
int ol2 = static_cast<int>(ol1 / Doc->BaseGrid);
CurY = ceil( ol2 / 10000.0 ) * Doc->BaseGrid + Doc->BaseOffs - Ypos;
}
CurX = ColBound.x();
// CurX = ColBound.x();
if (CurY+BExtra+lineCorr > Height)
{
StartOfCol = true;
1042,8 → 1059,19
hl->xp = CurX;
if ((TabCode == 4) && (RTab))
CurX += (wide+kernVal) / 2;
pt1 = QPoint(static_cast<int>(ceil(CurX+RExtra)), static_cast<int>(CurY+desc));
pt2 = QPoint(static_cast<int>(ceil(CurX+RExtra)), static_cast<int>(ceil(CurY-asce)));
if ((hl->cstyle & 128) || (hl->ch == "-"))
{
if ((HyphenCount < Doc->HyCount) || (Doc->HyCount == 0))
{
pt1 = QPoint(qRound(ceil(CurX+RExtra+Cwidth(Doc, hl->cfont, "-", hl->csize))), qRound(CurY+desc));
pt2 = QPoint(qRound(ceil(CurX+RExtra+Cwidth(Doc, hl->cfont, "-", hl->csize))), qRound(ceil(CurY-asce)));
}
}
else
{
pt1 = QPoint(qRound(ceil(CurX+RExtra)), qRound(CurY+desc));
pt2 = QPoint(qRound(ceil(CurX+RExtra)), qRound(ceil(CurY-asce)));
}
if ((!cl.contains(pf2.xForm(pt1))) || (!cl.contains(pf2.xForm(pt2))) || (CurX+RExtra+lineCorr > ColBound.y()))
outs = true;
if (CurY > (Height - BExtra - lineCorr))
1083,16 → 1111,16
}
}
if (((hl->cstyle & 128) || (hl->ch == "-")) && (!outs))
{
if ((HyphenCount < Doc->HyCount) || (Doc->HyCount == 0))
{
if ((HyphenCount < Doc->HyCount) || (Doc->HyCount == 0))
{
if (hl->ch == "-")
LastXp = CurX;
else
LastXp = CurX + Cwidth(Doc, hl->cfont, "-", hl->csize);
LastSP = BuPos;
}
}
}
LiList.append(Zli);
if (RTab)
{
/trunk/Scribus/scribus/bookmwin.cpp
290,7 → 290,8
if (DraggedI->Prev == 0)
{
ip = (BookMItem*)lv->nextSibling();
ip->Prev = 0;
if (ip)
ip->Prev = 0;
}
else
{
318,7 → 319,8
if (DraggedI->Prev == 0)
{
ip = (BookMItem*)lv;
ip->Prev = 0;
if (ip)
ip->Prev = 0;
}
QListViewItemIterator it2(this);
for ( ; it2.current(); ++it2)
/trunk/Scribus/scribus/scribus.cpp
5084,6 → 5084,7
}
else
{
slotSelect();
Npal->setDoc(doc);
Npal->MoveN();
Npal->HaveNode(false, false);
/trunk/Scribus/scribus/plugins/svgimplugin/svgplugin.cpp
530,14 → 530,6
mv.translate(viewTransformX, viewTransformY);
mv.scale(viewScaleX, viewScaleY);
ite->PoLine.map(mv);
QWMatrix mv1;
FPoint tp, tp2;
tp2 = Doku->ActPage->GetMinClipF(ite->PoLine);
tp = GetMaxClipF(ite->PoLine);
ite->PoLine.translate(-(tp.x() + tp2.x()) / 2.0, -(tp.y() + tp2.y()) / 2.0);
mv1.scale(0.8, 0.8);
ite->PoLine.map(mv1);
ite->PoLine.translate((tp.x() + tp2.x()) / 2.0, (tp.y() + tp2.y()) / 2.0);
}
ite->Pwidth = ite->Pwidth * ((mm.m11() + mm.m22()) / 2.0);
FPoint wh = GetMaxClipF(ite->PoLine);
/trunk/Scribus/NEWS
1,0 → 0,0
For detailed release notes, please see http://www.scribus.net