summaryrefslogtreecommitdiff
path: root/oox/workben
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2008-01-17 07:06:10 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2008-01-17 07:06:10 +0000
commit3381981e76873304b171f7df900561dac681d2af (patch)
treef496d5a2006e8719b5783d5a8966a05858ed3014 /oox/workben
parent90e7bde2a1f3dd8c81e947578f14f40059961740 (diff)
#i10000# Bring module to HEAD.
Diffstat (limited to 'oox/workben')
-rw-r--r--oox/workben/pagesize/excel_pagesize.txt66
-rwxr-xr-xoox/workben/pagesize/parsePageSize.py78
2 files changed, 144 insertions, 0 deletions
diff --git a/oox/workben/pagesize/excel_pagesize.txt b/oox/workben/pagesize/excel_pagesize.txt
new file mode 100644
index 000000000000..e6d8a05583cb
--- /dev/null
+++ b/oox/workben/pagesize/excel_pagesize.txt
@@ -0,0 +1,66 @@
+1 = Letter paper (8.5 in. by 11 in.)
+2 = Letter small paper (8.5 in. by 11 in.)
+3 = Tabloid paper (11 in. by 17 in.)
+4 = Ledger paper (17 in. by 11 in.)
+5 = Legal paper (8.5 in. by 14 in.)
+6 = Statement paper (5.5 in. by 8.5 in.)
+7 = Executive paper (7.25 in. by 10.5 in.)
+8 = A3 paper (297 mm by 420 mm)
+9 = A4 paper (210 mm by 297 mm)
+10 = A4 small paper (210 mm by 297 mm)
+11 = A5 paper (148 mm by 210 mm)
+12 = B4 paper (250 mm by 353 mm)
+13 = B5 paper (176 mm by 250 mm)
+14 = Folio paper (8.5 in. by 13 in.)
+15 = Quarto paper (215 mm by 275 mm)
+16 = Standard paper (10 in. by 14 in.)
+17 = Standard paper (11 in. by 17 in.)
+18 = Note paper (8.5 in. by 11 in.)
+19 = #9 envelope (3.875 in. by 8.875 in.)
+20 = #10 envelope (4.125 in. by 9.5 in.)
+21 = #11 envelope (4.5 in. by 10.375 in.)
+22 = #12 envelope (4.75 in. by 11 in.)
+23 = #14 envelope (5 in. by 11.5 in.)
+24 = C paper (17 in. by 22 in.)
+25 = D paper (22 in. by 34 in.)
+26 = E paper (34 in. by 44 in.)
+27 = DL envelope (110 mm by 220 mm)
+28 = C5 envelope (162 mm by 229 mm)
+29 = C3 envelope (324 mm by 458 mm)
+30 = C4 envelope (229 mm by 324 mm)
+31 = C6 envelope (114 mm by 162 mm)
+32 = C65 envelope (114 mm by 229 mm)
+33 = B4 envelope (250 mm by 353 mm)
+34 = B5 envelope (176 mm by 250 mm)
+35 = B6 envelope (176 mm by 125 mm)
+36 = Italy envelope (110 mm by 230 mm)
+37 = Monarch envelope (3.875 in. by 7.5 in.).
+38 = 6 3/4 envelope (3.625 in. by 6.5 in.)
+39 = US standard fanfold (14.875 in. by 11 in.)
+40 = German standard fanfold (8.5 in. by 12 in.)
+41 = German legal fanfold (8.5 in. by 13 in.)
+42 = ISO B4 (250 mm by 353 mm)
+43 = Japanese double postcard (200 mm by 148 mm)
+44 = Standard paper (9 in. by 11 in.)
+45 = Standard paper (10 in. by 11 in.)
+46 = Standard paper (15 in. by 11 in.)
+47 = Invite envelope (220 mm by 220 mm)
+50 = Letter extra paper (9.275 in. by 12 in.)
+51 = Legal extra paper (9.275 in. by 15 in.)
+52 = Tabloid extra paper (11.69 in. by 18 in.)
+53 = A4 extra paper (236 mm by 322 mm)
+54 = Letter transverse paper (8.275 in. by 11 in.)
+55 = A4 transverse paper (210 mm by 297 mm)
+56 = Letter extra transverse paper (9.275 in. by 12 in.)
+57 = SuperA/SuperA/A4 paper (227 mm by 356 mm)
+58 = SuperB/SuperB/A3 paper (305 mm by 487 mm)
+59 = Letter plus paper (8.5 in. by 12.69 in.)
+60 = A4 plus paper (210 mm by 330 mm)
+61 = A5 transverse paper (148 mm by 210 mm)
+62 = JIS B5 transverse paper (182 mm by 257 mm)
+63 = A3 extra paper (322 mm by 445 mm)
+64 = A5 extra paper (174 mm by 235 mm)
+65 = ISO B5 extra paper (201 mm by 276 mm)
+66 = A2 paper (420 mm by 594 mm)
+67 = A3 transverse paper (297 mm by 420 mm)
+68 = A3 extra transverse paper (322 mm by 445 mm)
diff --git a/oox/workben/pagesize/parsePageSize.py b/oox/workben/pagesize/parsePageSize.py
new file mode 100755
index 000000000000..8b536baaeba4
--- /dev/null
+++ b/oox/workben/pagesize/parsePageSize.py
@@ -0,0 +1,78 @@
+#!/usr/bin/env python
+
+import sys
+
+class PageSize(object):
+ def __init__ (self):
+ self.index = 0
+ self.list = []
+
+ def parseLine (self, line):
+ lhs, rhs = line.split("=")
+ name, size = rhs.split("(")
+ index = int(lhs)
+ name = name.strip()
+ size = size[:size.rfind(")")]
+ words = size.split()
+ width, height = float(words[0]), float(words[3])
+ if words[1] != words[4]:
+ print "unit mismatch", words[1], words[4]
+ sys.exit(1)
+ unit = ''
+ if words[1] == 'mm':
+ unit = 'mm'
+ elif words[1] == 'in.':
+ unit = 'inches'
+ else:
+ print "unknown unit:", words[1]
+ sys.exit(1)
+
+ item = {'index': index, 'name': name, 'width': width, 'height': height, 'unit': unit}
+ self.list.append(item)
+
+ def output (self):
+ print "static const XmlPaperSize PaperSizeTable[] ="
+ print "{"
+ line = " { 0, 0 },"
+ while len(line) <= 60:
+ line += ' '
+ line += "// 0 - (undefined)"
+ print line
+ n = len(self.list)
+ for i in xrange(0, n):
+ if self.list[i]['unit'] == 'mm':
+ macro = 'MM2MM100'
+ elif self.list[i]['unit'] == 'inches':
+ macro = 'IN2MM100'
+ else:
+ print "unknown unit:", self.list[i]['unit']
+ sys.exit(1)
+ line = " "
+ line += '{ ' + macro + "( %g )"%self.list[i]['width'] + ','
+ while len(line) <= 28:
+ line += ' '
+ line += macro + "( %g )"%self.list[i]['height']
+ while len(line) <= 48:
+ line += ' '
+ line += '}'
+ if i != n - 1:
+ line += ","
+ while len(line) <= 60:
+ line += ' '
+ if self.list[i]['index'] < 10:
+ line += "// %d - "%self.list[i]['index'] + self.list[i]['name']
+ else:
+ line += "// %d - "%self.list[i]['index'] + self.list[i]['name']
+
+ print line
+ print "};"
+ return
+
+
+if len(sys.argv) < 2:
+ sys.exit(1)
+
+obj = PageSize()
+for line in open(sys.argv[1], 'r').readlines():
+ obj.parseLine(line)
+obj.output()