The first of these patches fixes a transposition error in the code
(I kept getting an assert when exporting to LaTeX or KWord, since we
don't have importers for these -- this was the reason)
[oh, and it adds a FIXME doc somewhere else]
The second of these patches adds a LOT of page sizes -- basically all
the metric page sizes (4A, 2A, A0-A10, 4B, 2B, B0-B10, C0-C10).
Also, B4 had the wrong dimensions in our code; this fixes it.
However, it
SHOULD NOT BE APPLIED
at present, since the `File->Page Setup...' dialog can't deal with
this many page sizes, at least not on GNOME.
This is because it presents them as simply a popup menu, which doesn't
work if you have 40-50 page sizes: in the case of GNOME, the menu
doesn't fit on the screen, at least with my settings, and the menu
doesn't scroll.
In any case, with this many page sizes, we need to rework the UI a
little, since a flat list becomes a little overwhelming.
I'd suggest something like MS Word's current (?) font list:
a scroll box, together with most common page sizes at the top.
The `most common' page sizes could be either:
recently used page sizes
locale-specific common page sizes
Maybe best would be `recently used', but seed the list with
locale-specific ones:
For the US, I'd suggest `Letter, Legal, (some common envelope sizes)';
for the rest of the world, I'd suggest `A4, B5, (some common envelopes: C5?)'
--
-pookie
Index: abi/src/text/ptbl/xp/pd_Document.cpp
===================================================================
RCS file: /cvsroot/abi/src/text/ptbl/xp/pd_Document.cpp,v
retrieving revision 1.127
diff -u -r1.127 pd_Document.cpp
--- abi/src/text/ptbl/xp/pd_Document.cpp 2001/07/17 14:40:20 1.127
+++ abi/src/text/ptbl/xp/pd_Document.cpp 2001/08/16 14:40:20
@@ -1340,9 +1340,9 @@
const char *szSuffixes;
if (bOpenedFromSaved)
- szSuffixes = IE_Exp::suffixesForFileType(m_lastSavedAsType);
- else
szSuffixes = IE_Imp::suffixesForFileType(m_lastOpenedType);
+ else
+ szSuffixes = IE_Exp::suffixesForFileType(m_lastSavedAsType);
// Pull first suffix from the file dialog pattern string
UT_String suffix;
Index: abi/src/wp/impexp/xp/ie_exp_LaTeX.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/impexp/xp/ie_exp_LaTeX.cpp,v
retrieving revision 1.31
diff -u -r1.31 ie_exp_LaTeX.cpp
--- abi/src/wp/impexp/xp/ie_exp_LaTeX.cpp 2001/07/18 17:46:01 1.31
+++ abi/src/wp/impexp/xp/ie_exp_LaTeX.cpp 2001/08/16 14:40:35
@@ -449,6 +449,7 @@
colors[i][2]=0;
}
setlocale (LC_NUMERIC, "C");
+ //FIXME: should use std_size_string here
sprintf (szDest, "%.3f,%.3f,%.3f",
strtol (&colors[0][0],NULL,16)/255.,
strtol (&colors[1][0],NULL,16)/255.,
Index: abi/src/text/fmt/xp/fp_PageSize.cpp
===================================================================
RCS file: /cvsroot/abi/src/text/fmt/xp/fp_PageSize.cpp,v
retrieving revision 1.17
diff -u -r1.17 fp_PageSize.cpp
--- abi/src/text/fmt/xp/fp_PageSize.cpp 2001/05/23 15:32:27 1.17
+++ abi/src/text/fmt/xp/fp_PageSize.cpp 2001/08/16 14:40:12
@@ -37,6 +37,10 @@
pagesizes[fp_PageSize::_last_predefined_pagesize_dont_use_] =
{
// the A sizes
+ {1682.0, 2378.0, fp_PageSize::mm, "4A",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ {1189.0, 1682.0, fp_PageSize::mm, "2A",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
{ 841.0, 1189.0, fp_PageSize::mm, "A0",
MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
{ 594.0, 841.0, fp_PageSize::mm, "A1",
@@ -48,8 +52,20 @@
{ 148.0, 210.0, fp_PageSize::mm, "A5", 28.0, 28.0, 28.0, 28.0 },
{ 105.0, 148.0, fp_PageSize::mm, "A6",
MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 74.0, 105.0, fp_PageSize::mm, "A7",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 52.0, 74.0, fp_PageSize::mm, "A8",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 37.0, 52.0, fp_PageSize::mm, "A9",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 26.0, 37.0, fp_PageSize::mm, "A10",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
// the B sizes
+ {2000.0, 2828.0, fp_PageSize::mm, "4B",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ {1414.0, 2000.0, fp_PageSize::mm, "2B",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
{1000.0, 1414.0, fp_PageSize::mm, "B0",
MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
{ 707.0, 1000.0, fp_PageSize::mm, "B1",
@@ -58,17 +74,53 @@
MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
{ 353.0, 500.0, fp_PageSize::mm, "B3",
MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
- { 258.0, 365.0, fp_PageSize::mm, "B4", 21.0, 21.0, 21.0, 21.0 },
+ { 250.0, 353.0, fp_PageSize::mm, "B4", 21.0, 21.0, 21.0, 21.0 },
{ 176.0, 250.0, fp_PageSize::mm, "B5", 28.0, 28.0, 28.0, 28.0 },
- { 182.0, 258.0, fp_PageSize::mm, "B5-Japan", 28.0, 28.0, 28.0, 28.0},
{ 125.0, 176.0, fp_PageSize::mm, "B6",
MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 88.0, 125.0, fp_PageSize::mm, "B7",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 62.0, 88.0, fp_PageSize::mm, "B8",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 44.0, 62.0, fp_PageSize::mm, "B9",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 31.0, 44.0, fp_PageSize::mm, "B10",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+
+ // the C sizes
+ { 917.0, 1297.0, fp_PageSize::mm, "C0",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 648.0, 917.0, fp_PageSize::mm, "C1",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 458.0, 648.0, fp_PageSize::mm, "C2",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 324.0, 458.0, fp_PageSize::mm, "C3",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 229.0, 324.0, fp_PageSize::mm, "C4",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ // FIXME: C5 is dealt with below, under envelopes
+ // FIXME: should prolly have C6/C5 here too, for completeness
+ { 114.0, 162.0, fp_PageSize::mm, "C6",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 81.0, 114.0, fp_PageSize::mm, "C7",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 57.0, 81.0, fp_PageSize::mm, "C8",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 40.0, 57.0, fp_PageSize::mm, "C9",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+ { 28.0, 40.0, fp_PageSize::mm, "C10",
+ MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN },
+
+ // Japanese B sizes
+ // FIXME: should prolly have the other Japanese sizes
+ { 182.0, 258.0, fp_PageSize::mm, "B5-Japan", 28.0, 28.0, 28.0, 28.0},
// the rest
{ 8.5, 14.0, fp_PageSize::inch, "Legal", 1.0, 1.0, 1.0, 1.0 },
{ 8.5, 13.0, fp_PageSize::inch, "Folio", 1.0, 1.0, 1.0, 1.0 },
{ 8.5, 11.0, fp_PageSize::inch, "Letter", 1.0, 1.0, 1.0, 1.0 },
{ 8.5, 5.5, fp_PageSize::inch, "Half-Letter", 1.0, 1.0, 1.0, 1.0 },
+ { 7.5, 10.0, fp_PageSize::inch, "Executive", 1.0, 1.0, 1.0, 1.0 },
{ 280.1, 267.0, fp_PageSize::mm, "Tabloid/Ledger", 25.4, 25.4, 25.4, 25.4},
{ 99.0, 191.0, fp_PageSize::mm, "Monarch", 3.5, 3.5, 3.5, 3.5},
{ 297.0, 433.0, fp_PageSize::mm, "SuperB", 28.2, 28.2, 28.2, 28.2},
Index: abi/src/text/fmt/xp/fp_PageSize.h
===================================================================
RCS file: /cvsroot/abi/src/text/fmt/xp/fp_PageSize.h,v
retrieving revision 1.11
diff -u -r1.11 fp_PageSize.h
--- abi/src/text/fmt/xp/fp_PageSize.h 2001/04/21 19:24:01 1.11
+++ abi/src/text/fmt/xp/fp_PageSize.h 2001/08/16 14:40:13
@@ -22,10 +22,15 @@
{
// If you append a predefined pagesize here, don't forget
// to update the cpp accordingly.
- A0, A1, A2, A3, A4, A5, A6,
- B0, B1, B2, B3, B4, B5, B5_Japan, B6,
- Legal, Folio, Letter, Half_Letter,
+ // Metric sizes, DIN 476
+ DIN_4A, DIN_2A, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
+ DIN_4B, DIN_2B, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10,
+ C0, C1, C2, C3, C4, C6, C7, C8, C9, C10,
+ // JIS P 0138-61 -- should call this JB5
+ B5_Japan,
+
+ Legal, Folio, Letter, Half_Letter, Executive,
Tabloid_Ledger, Monarch, SuperB,
Envelope_Commercial, Envelope_Monarch,
Envelope_DL, Envelope_C5, EuroPostcard,