Improve fopxconf info
diff --git a/content/fop/trunk/fopxconf.mdtext b/content/fop/trunk/fopxconf.mdtext
index 788ce5e..0f9e3b2 100644
--- a/content/fop/trunk/fopxconf.mdtext
+++ b/content/fop/trunk/fopxconf.mdtext
@@ -60,7 +60,7 @@
- weight=string
- style=string
-### [AFPRendererOption](output.html#afp-configuration)
+### [AFPRendererConfig](output.html#afp-configuration)
- default-resource-levels=string
- images=string
@@ -90,7 +90,7 @@
- single-strip=true/false
- endianness=string
-### [BitmapRendererOption](output.html#bitmap-configuration)
+### [BitmapRendererConfig](output.html#bitmap-configuration)
- transparent-page-background=default: false
- background-color=string
@@ -105,16 +105,17 @@
- binary=string
- bi-level=string
-### [PSRendererOption](output.html#ps-configuration)
+### [PSRendererConfig](output.html#ps-configuration)
- auto-rotate-landscape=default: false
- language-level=string
-- optimize-resources=true/false
+- optimize-resources=default: false
- safe-set-page-device=default: false
- dsc-compliant=default: true
+- rendering=string
- acrobat-downsample=default: false
-### [PDFEncryptionOption](pdfencryption.html#embedded)
+### [PDFEncryptionConfig](pdfencryption.html#embedded)
- encryption-length=string
- noprinthq=string
@@ -130,8 +131,9 @@
- encrypt-metadata=default: true
- encryption-params=string
-### [PDFRendererOption](pdfa.html#fop-xconf)
+### [PDFRendererConfig](pdfa.html#fop-xconf)
+- filterList=string
- pdf-a-mode=string
- pdf-ua-mode=string
- pdf-x-mode=string
@@ -143,9 +145,12 @@
- form-xobject=default: false
- output-profile=string
-### [PCLRendererOption](output.html#pcl-configuration)
+### [PCLRendererConfig](output.html#pcl-configuration)
+- transparent-page-background=string
+- rendering=string
- text-rendering=true/false
- disable-pjl=true/false
+- optimize-resources=true/false
- color=true/false
diff --git a/generatefopxconf.py b/generatefopxconf.py
index 0160629..54a9357 100644
--- a/generatefopxconf.py
+++ b/generatefopxconf.py
@@ -7,9 +7,10 @@
args = parser.parse_args()
class Item:
- def __init__(self, name, parent):
+ def __init__(self, name, var, parent):
self.name = name
- self.parent = parent.replace('.java', '')
+ self.var = var
+ self.parent = parent
self.element = False
self.attrtype = 'string'
@@ -17,55 +18,74 @@
def getItem(parent, l):
tag = None
+ var = None
if '"' in l:
- tag = l.split('"')[1]
- if ' ' in tag or len(tag) < 2 or tag.lower() != tag or tag == 'true':
+ tag = findTag(l)
+ if '_' in l and '(' in l:
+ var = l.split('(')[0]
+ elif '_' in l and '=' in l:
+ var = l.split('=')[0].strip().split(' ')[-1].strip()
+ elif '(' in l and ')' in l and '_' in l:
+ var = l.split('(')[1].split(')')[0]
+ if '.' in var:
+ var = var.split('.')[0]
+ if ',' in var:
+ var = var.split(',')[0]
+ if '_' not in var or ' ' in var:
return None
- elif '(' in l:
- tag = l.split('(')[1].split(')')[0]
- if '_' not in tag or ' ' in tag or '.' in tag:
- return None
- tag = tag.lower().replace('_', '-')
else:
return None
+ parent = parent.replace('.java', '')
+ parent = parent.replace('Java2D', 'PCL')
+ parent = parent.replace('Option', 'Config')
for item in tags:
- if tag == item.name:
+ if parent == item.parent and ((tag and tag == item.name) or (var and var == item.var)):
return item
- item = Item(tag, parent)
+ item = Item(tag, var, parent)
tags.append(item)
return item
-for root, _, files in os.walk(args.fop):
- for name in files:
- if name.endswith('.java'):
- fn = os.path.join(root, name)
- f = open(fn)
- if name == 'Java2DRendererOption.java':
- name = 'PCLRendererOption.java'
- parser = name in ['FopConfParser.java', 'DefaultFontConfig.java']
- rendererConfigOption = False
- for l in f:
- l = l.strip()
- if 'implements RendererConfigOption' in l:
- rendererConfigOption = True
- if rendererConfigOption or parser:
- item = getItem(name, l)
- if item:
- if 'getChild' in l:
- item.element = True
- if 'Boolean' in l:
- item.attrtype = 'true/false'
- if 'Integer' in l:
- item.attrtype = 'integer'
- if 'Float' in l:
- item.attrtype = 'float'
- if 'Option' in name:
- if 'true' in l:
- item.attrtype = 'default: true'
- if 'false' in l:
- item.attrtype = 'default: false'
- f.close()
-
+def findTag(l):
+ if 'debug' not in l and '*' not in l:
+ exclude = ['true', 'false']
+ for tag in l.split('"'):
+ if tag.upper() != tag and '.' not in tag and ' ' not in tag and '(' not in tag and tag not in exclude and '[' not in tag:
+ return tag
+
+def scan(afilter):
+ for root, _, files in os.walk(args.fop):
+ for name in files:
+ if name.endswith('.java') and afilter in name:
+ fn = os.path.join(root, name)
+ f = open(fn)
+ parser = name in ['FopConfParser.java', 'DefaultFontConfig.java']
+ rendererConfigOption = False
+ for l in f:
+ l = l.strip()
+ if 'implements RendererConfigOption' in l:
+ rendererConfigOption = True
+ if rendererConfigOption or parser:
+ item = getItem(name, l)
+ if item:
+ if 'getChild' in l:
+ item.element = True
+ if 'Boolean' in l:
+ item.attrtype = 'true/false'
+ if 'Integer' in l:
+ item.attrtype = 'integer'
+ if 'Float' in l:
+ item.attrtype = 'float'
+ if 'Option' in name:
+ if 'true' in l:
+ item.attrtype = 'default: true'
+ if 'false' in l:
+ item.attrtype = 'default: false'
+ f.close()
+
+#scan('RendererOption')
+scan('')
+
+"""
def check(fn):
f = open(fn)
for l in f:
@@ -80,6 +100,7 @@
fn = os.path.join(root, name)
#check(fn)
#check(home + '/xmlgraphics-website/content/fop/fop-pdf-images.mdtext')
+"""
f = open(args.website + '/content/fop/trunk/fopxconf.mdtext', 'w')
@@ -89,26 +110,28 @@
links = {
'FopConfParser':'configuration.html',
'DefaultFontConfig': 'fonts.html#bulk',
-'PDFEncryptionOption': 'pdfencryption.html#embedded',
-'PDFRendererOption': 'pdfa.html#fop-xconf',
-'AFPRendererOption': 'output.html#afp-configuration',
-'PSRendererOption': 'output.html#ps-configuration',
+'PDFEncryptionConfig': 'pdfencryption.html#embedded',
+'PDFRendererConfig': 'pdfa.html#fop-xconf',
+'AFPRendererConfig': 'output.html#afp-configuration',
+'PSRendererConfig': 'output.html#ps-configuration',
'TxtRendererConfig': 'output.html#txt',
-'PCLRendererOption': 'output.html#pcl-configuration',
-'BitmapRendererOption': 'output.html#bitmap-configuration',
+'PCLRendererConfig': 'output.html#pcl-configuration',
+'BitmapRendererConfig': 'output.html#bitmap-configuration',
'TIFFRendererConfig': 'output.html#bitmap-configuration',
+'IFRendererConfig': ''
}
def printtags(tag, hasParent):
- if tag.element:
- if tag.attrtype != 'string':
- f.write('- <' + tag.name + '>' + tag.attrtype + '</' + tag.name + '>\n')
+ if tag.name:
+ if tag.element:
+ if tag.attrtype != 'string':
+ f.write('- <' + tag.name + '>' + tag.attrtype + '</' + tag.name + '>\n')
+ else:
+ f.write('- <' + tag.name + '/>\n')
else:
- f.write('- <' + tag.name + '/>\n')
- else:
- if hasParent:
- f.write(' ')
- f.write('- ' + tag.name + '=' + tag.attrtype + '\n')
+ if hasParent:
+ f.write(' ')
+ f.write('- ' + tag.name + '=' + tag.attrtype + '\n')
seen = []