diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2008-01-17 07:06:10 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2008-01-17 07:06:10 +0000 |
commit | 3381981e76873304b171f7df900561dac681d2af (patch) | |
tree | f496d5a2006e8719b5783d5a8966a05858ed3014 /oox/workben | |
parent | 90e7bde2a1f3dd8c81e947578f14f40059961740 (diff) |
#i10000# Bring module to HEAD.
Diffstat (limited to 'oox/workben')
-rw-r--r-- | oox/workben/pagesize/excel_pagesize.txt | 66 | ||||
-rwxr-xr-x | oox/workben/pagesize/parsePageSize.py | 78 |
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() |